1. Packages
  2. Flexibleengine Provider
  3. API Docs
  4. ComputeInstanceV2
flexibleengine 1.46.0 published on Monday, Apr 14, 2025 by flexibleenginecloud

flexibleengine.ComputeInstanceV2

Explore with Pulumi AI

Manages a V2 VM instance resource within FlexibleEngine.

Example Usage

Basic Instance

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const basic = new flexibleengine.ComputeInstanceV2("basic", {
    imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    networks: [{
        uuid: flexibleengine_vpc_subnet_v1.example_subnet.id,
    }],
    tags: {
        foo: "bar",
        "this": "that",
    },
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

basic = flexibleengine.ComputeInstanceV2("basic",
    image_id="ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    networks=[{
        "uuid": flexibleengine_vpc_subnet_v1["example_subnet"]["id"],
    }],
    tags={
        "foo": "bar",
        "this": "that",
    })
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := flexibleengine.NewComputeInstanceV2(ctx, "basic", &flexibleengine.ComputeInstanceV2Args{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			Networks: flexibleengine.ComputeInstanceV2NetworkArray{
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet.Id),
				},
			},
			Tags: pulumi.StringMap{
				"foo":  pulumi.String("bar"),
				"this": pulumi.String("that"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var basic = new Flexibleengine.ComputeInstanceV2("basic", new()
    {
        ImageId = "ad091b52-742f-469e-8f3c-fd81cadf0743",
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        Networks = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet.Id,
            },
        },
        Tags = 
        {
            { "foo", "bar" },
            { "this", "that" },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2NetworkArgs;
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 basic = new ComputeInstanceV2("basic", ComputeInstanceV2Args.builder()
            .imageId("ad091b52-742f-469e-8f3c-fd81cadf0743")
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .networks(ComputeInstanceV2NetworkArgs.builder()
                .uuid(flexibleengine_vpc_subnet_v1.example_subnet().id())
                .build())
            .tags(Map.ofEntries(
                Map.entry("foo", "bar"),
                Map.entry("this", "that")
            ))
            .build());

    }
}
Copy
resources:
  basic:
    type: flexibleengine:ComputeInstanceV2
    properties:
      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      networks:
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet.id}
      tags:
        foo: bar
        this: that
Copy

Instance With Attached Volume

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const myvol = new flexibleengine.BlockstorageVolumeV2("myvol", {size: 1});
const myinstance = new flexibleengine.ComputeInstanceV2("myinstance", {
    imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    networks: [{
        uuid: flexibleengine_vpc_subnet_v1.example_subnet.id,
    }],
});
const attached = new flexibleengine.ComputeVolumeAttachV2("attached", {
    instanceId: myinstance.computeInstanceV2Id,
    volumeId: myvol.blockstorageVolumeV2Id,
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

myvol = flexibleengine.BlockstorageVolumeV2("myvol", size=1)
myinstance = flexibleengine.ComputeInstanceV2("myinstance",
    image_id="ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    networks=[{
        "uuid": flexibleengine_vpc_subnet_v1["example_subnet"]["id"],
    }])
attached = flexibleengine.ComputeVolumeAttachV2("attached",
    instance_id=myinstance.compute_instance_v2_id,
    volume_id=myvol.blockstorage_volume_v2_id)
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myvol, err := flexibleengine.NewBlockstorageVolumeV2(ctx, "myvol", &flexibleengine.BlockstorageVolumeV2Args{
			Size: pulumi.Float64(1),
		})
		if err != nil {
			return err
		}
		myinstance, err := flexibleengine.NewComputeInstanceV2(ctx, "myinstance", &flexibleengine.ComputeInstanceV2Args{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			Networks: flexibleengine.ComputeInstanceV2NetworkArray{
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = flexibleengine.NewComputeVolumeAttachV2(ctx, "attached", &flexibleengine.ComputeVolumeAttachV2Args{
			InstanceId: myinstance.ComputeInstanceV2Id,
			VolumeId:   myvol.BlockstorageVolumeV2Id,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var myvol = new Flexibleengine.BlockstorageVolumeV2("myvol", new()
    {
        Size = 1,
    });

    var myinstance = new Flexibleengine.ComputeInstanceV2("myinstance", new()
    {
        ImageId = "ad091b52-742f-469e-8f3c-fd81cadf0743",
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        Networks = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet.Id,
            },
        },
    });

    var attached = new Flexibleengine.ComputeVolumeAttachV2("attached", new()
    {
        InstanceId = myinstance.ComputeInstanceV2Id,
        VolumeId = myvol.BlockstorageVolumeV2Id,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.BlockstorageVolumeV2;
import com.pulumi.flexibleengine.BlockstorageVolumeV2Args;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2NetworkArgs;
import com.pulumi.flexibleengine.ComputeVolumeAttachV2;
import com.pulumi.flexibleengine.ComputeVolumeAttachV2Args;
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 myvol = new BlockstorageVolumeV2("myvol", BlockstorageVolumeV2Args.builder()
            .size(1)
            .build());

        var myinstance = new ComputeInstanceV2("myinstance", ComputeInstanceV2Args.builder()
            .imageId("ad091b52-742f-469e-8f3c-fd81cadf0743")
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .networks(ComputeInstanceV2NetworkArgs.builder()
                .uuid(flexibleengine_vpc_subnet_v1.example_subnet().id())
                .build())
            .build());

        var attached = new ComputeVolumeAttachV2("attached", ComputeVolumeAttachV2Args.builder()
            .instanceId(myinstance.computeInstanceV2Id())
            .volumeId(myvol.blockstorageVolumeV2Id())
            .build());

    }
}
Copy
resources:
  myvol:
    type: flexibleengine:BlockstorageVolumeV2
    properties:
      size: 1
  myinstance:
    type: flexibleengine:ComputeInstanceV2
    properties:
      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      networks:
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet.id}
  attached:
    type: flexibleengine:ComputeVolumeAttachV2
    properties:
      instanceId: ${myinstance.computeInstanceV2Id}
      volumeId: ${myvol.blockstorageVolumeV2Id}
Copy

Boot From Volume

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const boot_from_volume = new flexibleengine.ComputeInstanceV2("boot-from-volume", {
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    blockDevices: [{
        uuid: "<image-id>",
        sourceType: "image",
        volumeSize: 5,
        bootIndex: 0,
        destinationType: "volume",
        deleteOnTermination: true,
        volumeType: "SSD",
    }],
    networks: [{
        uuid: flexibleengine_vpc_subnet_v1.example_subnet.id,
    }],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

boot_from_volume = flexibleengine.ComputeInstanceV2("boot-from-volume",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    block_devices=[{
        "uuid": "<image-id>",
        "source_type": "image",
        "volume_size": 5,
        "boot_index": 0,
        "destination_type": "volume",
        "delete_on_termination": True,
        "volume_type": "SSD",
    }],
    networks=[{
        "uuid": flexibleengine_vpc_subnet_v1["example_subnet"]["id"],
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := flexibleengine.NewComputeInstanceV2(ctx, "boot-from-volume", &flexibleengine.ComputeInstanceV2Args{
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			BlockDevices: flexibleengine.ComputeInstanceV2BlockDeviceArray{
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					Uuid:                pulumi.String("<image-id>"),
					SourceType:          pulumi.String("image"),
					VolumeSize:          pulumi.Float64(5),
					BootIndex:           pulumi.Float64(0),
					DestinationType:     pulumi.String("volume"),
					DeleteOnTermination: pulumi.Bool(true),
					VolumeType:          pulumi.String("SSD"),
				},
			},
			Networks: flexibleengine.ComputeInstanceV2NetworkArray{
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var boot_from_volume = new Flexibleengine.ComputeInstanceV2("boot-from-volume", new()
    {
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        BlockDevices = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                Uuid = "<image-id>",
                SourceType = "image",
                VolumeSize = 5,
                BootIndex = 0,
                DestinationType = "volume",
                DeleteOnTermination = true,
                VolumeType = "SSD",
            },
        },
        Networks = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet.Id,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2BlockDeviceArgs;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2NetworkArgs;
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 boot_from_volume = new ComputeInstanceV2("boot-from-volume", ComputeInstanceV2Args.builder()
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .blockDevices(ComputeInstanceV2BlockDeviceArgs.builder()
                .uuid("<image-id>")
                .sourceType("image")
                .volumeSize(5)
                .bootIndex(0)
                .destinationType("volume")
                .deleteOnTermination(true)
                .volumeType("SSD")
                .build())
            .networks(ComputeInstanceV2NetworkArgs.builder()
                .uuid(flexibleengine_vpc_subnet_v1.example_subnet().id())
                .build())
            .build());

    }
}
Copy
resources:
  boot-from-volume:
    type: flexibleengine:ComputeInstanceV2
    properties:
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      blockDevices:
        - uuid: <image-id>
          sourceType: image
          volumeSize: 5
          bootIndex: 0
          destinationType: volume
          deleteOnTermination: true
          volumeType: SSD
      networks:
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet.id}
Copy

Boot From an Existing Volume

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const myvol = new flexibleengine.BlockstorageVolumeV2("myvol", {
    size: 5,
    imageId: "<image-id>",
});
const boot_from_volume = new flexibleengine.ComputeInstanceV2("boot-from-volume", {
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    blockDevices: [{
        uuid: myvol.blockstorageVolumeV2Id,
        sourceType: "volume",
        bootIndex: 0,
        destinationType: "volume",
        deleteOnTermination: true,
    }],
    networks: [{
        uuid: flexibleengine_vpc_subnet_v1.example_subnet.id,
    }],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

myvol = flexibleengine.BlockstorageVolumeV2("myvol",
    size=5,
    image_id="<image-id>")
boot_from_volume = flexibleengine.ComputeInstanceV2("boot-from-volume",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    block_devices=[{
        "uuid": myvol.blockstorage_volume_v2_id,
        "source_type": "volume",
        "boot_index": 0,
        "destination_type": "volume",
        "delete_on_termination": True,
    }],
    networks=[{
        "uuid": flexibleengine_vpc_subnet_v1["example_subnet"]["id"],
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myvol, err := flexibleengine.NewBlockstorageVolumeV2(ctx, "myvol", &flexibleengine.BlockstorageVolumeV2Args{
			Size:    pulumi.Float64(5),
			ImageId: pulumi.String("<image-id>"),
		})
		if err != nil {
			return err
		}
		_, err = flexibleengine.NewComputeInstanceV2(ctx, "boot-from-volume", &flexibleengine.ComputeInstanceV2Args{
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			BlockDevices: flexibleengine.ComputeInstanceV2BlockDeviceArray{
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					Uuid:                myvol.BlockstorageVolumeV2Id,
					SourceType:          pulumi.String("volume"),
					BootIndex:           pulumi.Float64(0),
					DestinationType:     pulumi.String("volume"),
					DeleteOnTermination: pulumi.Bool(true),
				},
			},
			Networks: flexibleengine.ComputeInstanceV2NetworkArray{
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var myvol = new Flexibleengine.BlockstorageVolumeV2("myvol", new()
    {
        Size = 5,
        ImageId = "<image-id>",
    });

    var boot_from_volume = new Flexibleengine.ComputeInstanceV2("boot-from-volume", new()
    {
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        BlockDevices = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                Uuid = myvol.BlockstorageVolumeV2Id,
                SourceType = "volume",
                BootIndex = 0,
                DestinationType = "volume",
                DeleteOnTermination = true,
            },
        },
        Networks = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet.Id,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.BlockstorageVolumeV2;
import com.pulumi.flexibleengine.BlockstorageVolumeV2Args;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2BlockDeviceArgs;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2NetworkArgs;
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 myvol = new BlockstorageVolumeV2("myvol", BlockstorageVolumeV2Args.builder()
            .size(5)
            .imageId("<image-id>")
            .build());

        var boot_from_volume = new ComputeInstanceV2("boot-from-volume", ComputeInstanceV2Args.builder()
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .blockDevices(ComputeInstanceV2BlockDeviceArgs.builder()
                .uuid(myvol.blockstorageVolumeV2Id())
                .sourceType("volume")
                .bootIndex(0)
                .destinationType("volume")
                .deleteOnTermination(true)
                .build())
            .networks(ComputeInstanceV2NetworkArgs.builder()
                .uuid(flexibleengine_vpc_subnet_v1.example_subnet().id())
                .build())
            .build());

    }
}
Copy
resources:
  myvol:
    type: flexibleengine:BlockstorageVolumeV2
    properties:
      size: 5
      imageId: <image-id>
  boot-from-volume:
    type: flexibleengine:ComputeInstanceV2
    properties:
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      blockDevices:
        - uuid: ${myvol.blockstorageVolumeV2Id}
          sourceType: volume
          bootIndex: 0
          destinationType: volume
          deleteOnTermination: true
      networks:
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet.id}
Copy

Boot Instance, Create Volume, and Attach Volume as a Block Device

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const instance1 = new flexibleengine.ComputeInstanceV2("instance1", {
    blockDevices: [
        {
            bootIndex: 0,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "image",
            uuid: "<image-id>",
        },
        {
            bootIndex: 1,
            deleteOnTermination: true,
            destinationType: "volume",
            sourceType: "blank",
            volumeSize: 1,
        },
    ],
    flavorId: "s3.large.2",
    imageId: "<image-id>",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

instance1 = flexibleengine.ComputeInstanceV2("instance1",
    block_devices=[
        {
            "boot_index": 0,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "image",
            "uuid": "<image-id>",
        },
        {
            "boot_index": 1,
            "delete_on_termination": True,
            "destination_type": "volume",
            "source_type": "blank",
            "volume_size": 1,
        },
    ],
    flavor_id="s3.large.2",
    image_id="<image-id>",
    key_pair="my_key_pair_name",
    security_groups=["default"])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := flexibleengine.NewComputeInstanceV2(ctx, "instance1", &flexibleengine.ComputeInstanceV2Args{
			BlockDevices: flexibleengine.ComputeInstanceV2BlockDeviceArray{
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(0),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("image"),
					Uuid:                pulumi.String("<image-id>"),
				},
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(1),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("volume"),
					SourceType:          pulumi.String("blank"),
					VolumeSize:          pulumi.Float64(1),
				},
			},
			FlavorId: pulumi.String("s3.large.2"),
			ImageId:  pulumi.String("<image-id>"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var instance1 = new Flexibleengine.ComputeInstanceV2("instance1", new()
    {
        BlockDevices = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = 0,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "image",
                Uuid = "<image-id>",
            },
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = 1,
                DeleteOnTermination = true,
                DestinationType = "volume",
                SourceType = "blank",
                VolumeSize = 1,
            },
        },
        FlavorId = "s3.large.2",
        ImageId = "<image-id>",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2BlockDeviceArgs;
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 instance1 = new ComputeInstanceV2("instance1", ComputeInstanceV2Args.builder()
            .blockDevices(            
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(0)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("image")
                    .uuid("<image-id>")
                    .build(),
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(1)
                    .deleteOnTermination(true)
                    .destinationType("volume")
                    .sourceType("blank")
                    .volumeSize(1)
                    .build())
            .flavorId("s3.large.2")
            .imageId("<image-id>")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .build());

    }
}
Copy
resources:
  instance1:
    type: flexibleengine:ComputeInstanceV2
    properties:
      blockDevices:
        - bootIndex: 0
          deleteOnTermination: true
          destinationType: local
          sourceType: image
          uuid: <image-id>
        - bootIndex: 1
          deleteOnTermination: true
          destinationType: volume
          sourceType: blank
          volumeSize: 1
      flavorId: s3.large.2
      imageId: <image-id>
      keyPair: my_key_pair_name
      securityGroups:
        - default
Copy

Boot Instance and Attach Existing Volume as a Block Device

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const volume1 = new flexibleengine.BlockstorageVolumeV2("volume1", {size: 1});
const instance1 = new flexibleengine.ComputeInstanceV2("instance1", {
    imageId: "<image-id>",
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    blockDevices: [
        {
            uuid: "<image-id>",
            sourceType: "image",
            destinationType: "local",
            bootIndex: 0,
            deleteOnTermination: true,
        },
        {
            uuid: volume1.blockstorageVolumeV2Id,
            sourceType: "volume",
            destinationType: "volume",
            bootIndex: 1,
            deleteOnTermination: true,
        },
    ],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

volume1 = flexibleengine.BlockstorageVolumeV2("volume1", size=1)
instance1 = flexibleengine.ComputeInstanceV2("instance1",
    image_id="<image-id>",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    block_devices=[
        {
            "uuid": "<image-id>",
            "source_type": "image",
            "destination_type": "local",
            "boot_index": 0,
            "delete_on_termination": True,
        },
        {
            "uuid": volume1.blockstorage_volume_v2_id,
            "source_type": "volume",
            "destination_type": "volume",
            "boot_index": 1,
            "delete_on_termination": True,
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		volume1, err := flexibleengine.NewBlockstorageVolumeV2(ctx, "volume1", &flexibleengine.BlockstorageVolumeV2Args{
			Size: pulumi.Float64(1),
		})
		if err != nil {
			return err
		}
		_, err = flexibleengine.NewComputeInstanceV2(ctx, "instance1", &flexibleengine.ComputeInstanceV2Args{
			ImageId:  pulumi.String("<image-id>"),
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			BlockDevices: flexibleengine.ComputeInstanceV2BlockDeviceArray{
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					Uuid:                pulumi.String("<image-id>"),
					SourceType:          pulumi.String("image"),
					DestinationType:     pulumi.String("local"),
					BootIndex:           pulumi.Float64(0),
					DeleteOnTermination: pulumi.Bool(true),
				},
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					Uuid:                volume1.BlockstorageVolumeV2Id,
					SourceType:          pulumi.String("volume"),
					DestinationType:     pulumi.String("volume"),
					BootIndex:           pulumi.Float64(1),
					DeleteOnTermination: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var volume1 = new Flexibleengine.BlockstorageVolumeV2("volume1", new()
    {
        Size = 1,
    });

    var instance1 = new Flexibleengine.ComputeInstanceV2("instance1", new()
    {
        ImageId = "<image-id>",
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        BlockDevices = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                Uuid = "<image-id>",
                SourceType = "image",
                DestinationType = "local",
                BootIndex = 0,
                DeleteOnTermination = true,
            },
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                Uuid = volume1.BlockstorageVolumeV2Id,
                SourceType = "volume",
                DestinationType = "volume",
                BootIndex = 1,
                DeleteOnTermination = true,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.BlockstorageVolumeV2;
import com.pulumi.flexibleengine.BlockstorageVolumeV2Args;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2BlockDeviceArgs;
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 volume1 = new BlockstorageVolumeV2("volume1", BlockstorageVolumeV2Args.builder()
            .size(1)
            .build());

        var instance1 = new ComputeInstanceV2("instance1", ComputeInstanceV2Args.builder()
            .imageId("<image-id>")
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .blockDevices(            
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .uuid("<image-id>")
                    .sourceType("image")
                    .destinationType("local")
                    .bootIndex(0)
                    .deleteOnTermination(true)
                    .build(),
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .uuid(volume1.blockstorageVolumeV2Id())
                    .sourceType("volume")
                    .destinationType("volume")
                    .bootIndex(1)
                    .deleteOnTermination(true)
                    .build())
            .build());

    }
}
Copy
resources:
  volume1:
    type: flexibleengine:BlockstorageVolumeV2
    properties:
      size: 1
  instance1:
    type: flexibleengine:ComputeInstanceV2
    properties:
      imageId: <image-id>
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      blockDevices:
        - uuid: <image-id>
          sourceType: image
          destinationType: local
          bootIndex: 0
          deleteOnTermination: true
        - uuid: ${volume1.blockstorageVolumeV2Id}
          sourceType: volume
          destinationType: volume
          bootIndex: 1
          deleteOnTermination: true
Copy

Instance With Multiple Networks

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const eip1 = new flexibleengine.VpcEip("eip1", {
    publicip: {
        type: "5_bgp",
    },
    bandwidth: {
        name: "test",
        size: 10,
        shareType: "PER",
    },
});
const multi_net = new flexibleengine.ComputeInstanceV2("multi-net", {
    imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    networks: [
        {
            uuid: flexibleengine_vpc_subnet_v1.example_subnet.id,
        },
        {
            uuid: flexibleengine_vpc_subnet_v1.example_subnet_2.id,
        },
    ],
});
const myip = new flexibleengine.ComputeFloatingipAssociateV2("myip", {
    floatingIp: eip1.publicip.apply(publicip => publicip.ipAddress),
    instanceId: multi_net.computeInstanceV2Id,
    fixedIp: multi_net.networks.apply(networks => networks?.[1]?.fixedIpV4),
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

eip1 = flexibleengine.VpcEip("eip1",
    publicip={
        "type": "5_bgp",
    },
    bandwidth={
        "name": "test",
        "size": 10,
        "share_type": "PER",
    })
multi_net = flexibleengine.ComputeInstanceV2("multi-net",
    image_id="ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    networks=[
        {
            "uuid": flexibleengine_vpc_subnet_v1["example_subnet"]["id"],
        },
        {
            "uuid": flexibleengine_vpc_subnet_v1["example_subnet_2"]["id"],
        },
    ])
myip = flexibleengine.ComputeFloatingipAssociateV2("myip",
    floating_ip=eip1.publicip.ip_address,
    instance_id=multi_net.compute_instance_v2_id,
    fixed_ip=multi_net.networks[1].fixed_ip_v4)
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		eip1, err := flexibleengine.NewVpcEip(ctx, "eip1", &flexibleengine.VpcEipArgs{
			Publicip: &flexibleengine.VpcEipPublicipArgs{
				Type: pulumi.String("5_bgp"),
			},
			Bandwidth: &flexibleengine.VpcEipBandwidthArgs{
				Name:      pulumi.String("test"),
				Size:      pulumi.Float64(10),
				ShareType: pulumi.String("PER"),
			},
		})
		if err != nil {
			return err
		}
		multi_net, err := flexibleengine.NewComputeInstanceV2(ctx, "multi-net", &flexibleengine.ComputeInstanceV2Args{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			Networks: flexibleengine.ComputeInstanceV2NetworkArray{
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet.Id),
				},
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet_2.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = flexibleengine.NewComputeFloatingipAssociateV2(ctx, "myip", &flexibleengine.ComputeFloatingipAssociateV2Args{
			FloatingIp: pulumi.String(eip1.Publicip.ApplyT(func(publicip flexibleengine.VpcEipPublicip) (*string, error) {
				return &publicip.IpAddress, nil
			}).(pulumi.StringPtrOutput)),
			InstanceId: multi_net.ComputeInstanceV2Id,
			FixedIp: pulumi.String(multi_net.Networks.ApplyT(func(networks []flexibleengine.ComputeInstanceV2Network) (*string, error) {
				return &networks[1].FixedIpV4, nil
			}).(pulumi.StringPtrOutput)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var eip1 = new Flexibleengine.VpcEip("eip1", new()
    {
        Publicip = new Flexibleengine.Inputs.VpcEipPublicipArgs
        {
            Type = "5_bgp",
        },
        Bandwidth = new Flexibleengine.Inputs.VpcEipBandwidthArgs
        {
            Name = "test",
            Size = 10,
            ShareType = "PER",
        },
    });

    var multi_net = new Flexibleengine.ComputeInstanceV2("multi-net", new()
    {
        ImageId = "ad091b52-742f-469e-8f3c-fd81cadf0743",
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        Networks = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet.Id,
            },
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet_2.Id,
            },
        },
    });

    var myip = new Flexibleengine.ComputeFloatingipAssociateV2("myip", new()
    {
        FloatingIp = eip1.Publicip.Apply(publicip => publicip.IpAddress),
        InstanceId = multi_net.ComputeInstanceV2Id,
        FixedIp = multi_net.Networks.Apply(networks => networks[1]?.FixedIpV4),
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.VpcEip;
import com.pulumi.flexibleengine.VpcEipArgs;
import com.pulumi.flexibleengine.inputs.VpcEipPublicipArgs;
import com.pulumi.flexibleengine.inputs.VpcEipBandwidthArgs;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2NetworkArgs;
import com.pulumi.flexibleengine.ComputeFloatingipAssociateV2;
import com.pulumi.flexibleengine.ComputeFloatingipAssociateV2Args;
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 eip1 = new VpcEip("eip1", VpcEipArgs.builder()
            .publicip(VpcEipPublicipArgs.builder()
                .type("5_bgp")
                .build())
            .bandwidth(VpcEipBandwidthArgs.builder()
                .name("test")
                .size(10)
                .shareType("PER")
                .build())
            .build());

        var multi_net = new ComputeInstanceV2("multi-net", ComputeInstanceV2Args.builder()
            .imageId("ad091b52-742f-469e-8f3c-fd81cadf0743")
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .networks(            
                ComputeInstanceV2NetworkArgs.builder()
                    .uuid(flexibleengine_vpc_subnet_v1.example_subnet().id())
                    .build(),
                ComputeInstanceV2NetworkArgs.builder()
                    .uuid(flexibleengine_vpc_subnet_v1.example_subnet_2().id())
                    .build())
            .build());

        var myip = new ComputeFloatingipAssociateV2("myip", ComputeFloatingipAssociateV2Args.builder()
            .floatingIp(eip1.publicip().applyValue(publicip -> publicip.ipAddress()))
            .instanceId(multi_net.computeInstanceV2Id())
            .fixedIp(multi_net.networks().applyValue(networks -> networks[1].fixedIpV4()))
            .build());

    }
}
Copy
resources:
  eip1:
    type: flexibleengine:VpcEip
    properties:
      publicip:
        type: 5_bgp
      bandwidth:
        name: test
        size: 10
        shareType: PER
  multi-net:
    type: flexibleengine:ComputeInstanceV2
    properties:
      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      networks:
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet.id}
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet_2.id}
  myip:
    type: flexibleengine:ComputeFloatingipAssociateV2
    properties:
      floatingIp: ${eip1.publicip.ipAddress}
      instanceId: ${["multi-net"].computeInstanceV2Id}
      fixedIp: ${["multi-net"].networks[1].fixedIpV4}
Copy

Instance with Multiple Ephemeral Disks

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const multi_eph = new flexibleengine.ComputeInstanceV2("multi-eph", {
    blockDevices: [
        {
            bootIndex: 0,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "image",
            uuid: "<image-id>",
        },
        {
            bootIndex: -1,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "blank",
            volumeSize: 1,
        },
        {
            bootIndex: -1,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "blank",
            volumeSize: 1,
        },
    ],
    flavorId: "s3.large.2",
    imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

multi_eph = flexibleengine.ComputeInstanceV2("multi-eph",
    block_devices=[
        {
            "boot_index": 0,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "image",
            "uuid": "<image-id>",
        },
        {
            "boot_index": -1,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "blank",
            "volume_size": 1,
        },
        {
            "boot_index": -1,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "blank",
            "volume_size": 1,
        },
    ],
    flavor_id="s3.large.2",
    image_id="ad091b52-742f-469e-8f3c-fd81cadf0743",
    key_pair="my_key_pair_name",
    security_groups=["default"])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := flexibleengine.NewComputeInstanceV2(ctx, "multi-eph", &flexibleengine.ComputeInstanceV2Args{
			BlockDevices: flexibleengine.ComputeInstanceV2BlockDeviceArray{
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(0),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("image"),
					Uuid:                pulumi.String("<image-id>"),
				},
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(-1),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("blank"),
					VolumeSize:          pulumi.Float64(1),
				},
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(-1),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("blank"),
					VolumeSize:          pulumi.Float64(1),
				},
			},
			FlavorId: pulumi.String("s3.large.2"),
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var multi_eph = new Flexibleengine.ComputeInstanceV2("multi-eph", new()
    {
        BlockDevices = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = 0,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "image",
                Uuid = "<image-id>",
            },
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = -1,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "blank",
                VolumeSize = 1,
            },
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = -1,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "blank",
                VolumeSize = 1,
            },
        },
        FlavorId = "s3.large.2",
        ImageId = "ad091b52-742f-469e-8f3c-fd81cadf0743",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2BlockDeviceArgs;
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 multi_eph = new ComputeInstanceV2("multi-eph", ComputeInstanceV2Args.builder()
            .blockDevices(            
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(0)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("image")
                    .uuid("<image-id>")
                    .build(),
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(-1)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("blank")
                    .volumeSize(1)
                    .build(),
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(-1)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("blank")
                    .volumeSize(1)
                    .build())
            .flavorId("s3.large.2")
            .imageId("ad091b52-742f-469e-8f3c-fd81cadf0743")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .build());

    }
}
Copy
resources:
  multi-eph:
    type: flexibleengine:ComputeInstanceV2
    properties:
      blockDevices:
        - bootIndex: 0
          deleteOnTermination: true
          destinationType: local
          sourceType: image
          uuid: <image-id>
        - bootIndex: -1
          deleteOnTermination: true
          destinationType: local
          sourceType: blank
          volumeSize: 1
        - bootIndex: -1
          deleteOnTermination: true
          destinationType: local
          sourceType: blank
          volumeSize: 1
      flavorId: s3.large.2
      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743
      keyPair: my_key_pair_name
      securityGroups:
        - default
Copy

Instance with User Data (cloud-init)

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const instance1 = new flexibleengine.ComputeInstanceV2("instance1", {
    imageId: "ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavorId: "s3.large.2",
    keyPair: "my_key_pair_name",
    securityGroups: ["default"],
    userData: `#cloud-config
hostname: instance_1.example.com
fqdn: instance_1.example.com`,
    networks: [{
        uuid: flexibleengine_vpc_subnet_v1.example_subnet.id,
    }],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

instance1 = flexibleengine.ComputeInstanceV2("instance1",
    image_id="ad091b52-742f-469e-8f3c-fd81cadf0743",
    flavor_id="s3.large.2",
    key_pair="my_key_pair_name",
    security_groups=["default"],
    user_data="""#cloud-config
hostname: instance_1.example.com
fqdn: instance_1.example.com""",
    networks=[{
        "uuid": flexibleengine_vpc_subnet_v1["example_subnet"]["id"],
    }])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := flexibleengine.NewComputeInstanceV2(ctx, "instance1", &flexibleengine.ComputeInstanceV2Args{
			ImageId:  pulumi.String("ad091b52-742f-469e-8f3c-fd81cadf0743"),
			FlavorId: pulumi.String("s3.large.2"),
			KeyPair:  pulumi.String("my_key_pair_name"),
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
			UserData: pulumi.String("#cloud-config\nhostname: instance_1.example.com\nfqdn: instance_1.example.com"),
			Networks: flexibleengine.ComputeInstanceV2NetworkArray{
				&flexibleengine.ComputeInstanceV2NetworkArgs{
					Uuid: pulumi.Any(flexibleengine_vpc_subnet_v1.Example_subnet.Id),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var instance1 = new Flexibleengine.ComputeInstanceV2("instance1", new()
    {
        ImageId = "ad091b52-742f-469e-8f3c-fd81cadf0743",
        FlavorId = "s3.large.2",
        KeyPair = "my_key_pair_name",
        SecurityGroups = new[]
        {
            "default",
        },
        UserData = @"#cloud-config
hostname: instance_1.example.com
fqdn: instance_1.example.com",
        Networks = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
            {
                Uuid = flexibleengine_vpc_subnet_v1.Example_subnet.Id,
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2NetworkArgs;
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 instance1 = new ComputeInstanceV2("instance1", ComputeInstanceV2Args.builder()
            .imageId("ad091b52-742f-469e-8f3c-fd81cadf0743")
            .flavorId("s3.large.2")
            .keyPair("my_key_pair_name")
            .securityGroups("default")
            .userData("""
#cloud-config
hostname: instance_1.example.com
fqdn: instance_1.example.com            """)
            .networks(ComputeInstanceV2NetworkArgs.builder()
                .uuid(flexibleengine_vpc_subnet_v1.example_subnet().id())
                .build())
            .build());

    }
}
Copy
resources:
  instance1:
    type: flexibleengine:ComputeInstanceV2
    properties:
      imageId: ad091b52-742f-469e-8f3c-fd81cadf0743
      flavorId: s3.large.2
      keyPair: my_key_pair_name
      securityGroups:
        - default
      userData: |-
        #cloud-config
        hostname: instance_1.example.com
        fqdn: instance_1.example.com        
      networks:
        - uuid: ${flexibleengine_vpc_subnet_v1.example_subnet.id}
Copy

user_data can come from a variety of sources: inline, read in from the file function, or the template_cloudinit_config resource.

Notes

Multiple Ephemeral Disks

It’s possible to specify multiple block_device entries to create an instance with multiple ephemeral (local) disks. In order to create multiple ephemeral disks, the sum of the total amount of ephemeral space must be less than or equal to what the chosen flavor supports.

The following example shows how to create an instance with multiple ephemeral disks:

import * as pulumi from "@pulumi/pulumi";
import * as flexibleengine from "@pulumi/flexibleengine";

const foo = new flexibleengine.ComputeInstanceV2("foo", {
    blockDevices: [
        {
            bootIndex: 0,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "image",
            uuid: "<image uuid>",
        },
        {
            bootIndex: -1,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "blank",
            volumeSize: 1,
        },
        {
            bootIndex: -1,
            deleteOnTermination: true,
            destinationType: "local",
            sourceType: "blank",
            volumeSize: 1,
        },
    ],
    securityGroups: ["default"],
});
Copy
import pulumi
import pulumi_flexibleengine as flexibleengine

foo = flexibleengine.ComputeInstanceV2("foo",
    block_devices=[
        {
            "boot_index": 0,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "image",
            "uuid": "<image uuid>",
        },
        {
            "boot_index": -1,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "blank",
            "volume_size": 1,
        },
        {
            "boot_index": -1,
            "delete_on_termination": True,
            "destination_type": "local",
            "source_type": "blank",
            "volume_size": 1,
        },
    ],
    security_groups=["default"])
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/flexibleengine/flexibleengine"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := flexibleengine.NewComputeInstanceV2(ctx, "foo", &flexibleengine.ComputeInstanceV2Args{
			BlockDevices: flexibleengine.ComputeInstanceV2BlockDeviceArray{
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(0),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("image"),
					Uuid:                pulumi.String("<image uuid>"),
				},
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(-1),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("blank"),
					VolumeSize:          pulumi.Float64(1),
				},
				&flexibleengine.ComputeInstanceV2BlockDeviceArgs{
					BootIndex:           pulumi.Float64(-1),
					DeleteOnTermination: pulumi.Bool(true),
					DestinationType:     pulumi.String("local"),
					SourceType:          pulumi.String("blank"),
					VolumeSize:          pulumi.Float64(1),
				},
			},
			SecurityGroups: pulumi.StringArray{
				pulumi.String("default"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Flexibleengine = Pulumi.Flexibleengine;

return await Deployment.RunAsync(() => 
{
    var foo = new Flexibleengine.ComputeInstanceV2("foo", new()
    {
        BlockDevices = new[]
        {
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = 0,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "image",
                Uuid = "<image uuid>",
            },
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = -1,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "blank",
                VolumeSize = 1,
            },
            new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
            {
                BootIndex = -1,
                DeleteOnTermination = true,
                DestinationType = "local",
                SourceType = "blank",
                VolumeSize = 1,
            },
        },
        SecurityGroups = new[]
        {
            "default",
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.flexibleengine.ComputeInstanceV2;
import com.pulumi.flexibleengine.ComputeInstanceV2Args;
import com.pulumi.flexibleengine.inputs.ComputeInstanceV2BlockDeviceArgs;
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 foo = new ComputeInstanceV2("foo", ComputeInstanceV2Args.builder()
            .blockDevices(            
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(0)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("image")
                    .uuid("<image uuid>")
                    .build(),
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(-1)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("blank")
                    .volumeSize(1)
                    .build(),
                ComputeInstanceV2BlockDeviceArgs.builder()
                    .bootIndex(-1)
                    .deleteOnTermination(true)
                    .destinationType("local")
                    .sourceType("blank")
                    .volumeSize(1)
                    .build())
            .securityGroups("default")
            .build());

    }
}
Copy
resources:
  foo:
    type: flexibleengine:ComputeInstanceV2
    properties:
      blockDevices:
        - bootIndex: 0
          deleteOnTermination: true
          destinationType: local
          sourceType: image
          uuid: <image uuid>
        - bootIndex: -1
          deleteOnTermination: true
          destinationType: local
          sourceType: blank
          volumeSize: 1
        - bootIndex: -1
          deleteOnTermination: true
          destinationType: local
          sourceType: blank
          volumeSize: 1
      securityGroups:
        - default
Copy

Create ComputeInstanceV2 Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new ComputeInstanceV2(name: string, args?: ComputeInstanceV2Args, opts?: CustomResourceOptions);
@overload
def ComputeInstanceV2(resource_name: str,
                      args: Optional[ComputeInstanceV2Args] = None,
                      opts: Optional[ResourceOptions] = None)

@overload
def ComputeInstanceV2(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      admin_pass: Optional[str] = None,
                      auto_recovery: Optional[bool] = None,
                      availability_zone: Optional[str] = None,
                      block_devices: Optional[Sequence[ComputeInstanceV2BlockDeviceArgs]] = None,
                      compute_instance_v2_id: Optional[str] = None,
                      config_drive: Optional[bool] = None,
                      flavor_id: Optional[str] = None,
                      flavor_name: Optional[str] = None,
                      image_id: Optional[str] = None,
                      image_name: Optional[str] = None,
                      key_pair: Optional[str] = None,
                      metadata: Optional[Mapping[str, str]] = None,
                      name: Optional[str] = None,
                      networks: Optional[Sequence[ComputeInstanceV2NetworkArgs]] = None,
                      personalities: Optional[Sequence[ComputeInstanceV2PersonalityArgs]] = None,
                      region: Optional[str] = None,
                      scheduler_hints: Optional[Sequence[ComputeInstanceV2SchedulerHintArgs]] = None,
                      security_groups: Optional[Sequence[str]] = None,
                      stop_before_destroy: Optional[bool] = None,
                      tags: Optional[Mapping[str, str]] = None,
                      timeouts: Optional[ComputeInstanceV2TimeoutsArgs] = None,
                      user_data: Optional[str] = None)
func NewComputeInstanceV2(ctx *Context, name string, args *ComputeInstanceV2Args, opts ...ResourceOption) (*ComputeInstanceV2, error)
public ComputeInstanceV2(string name, ComputeInstanceV2Args? args = null, CustomResourceOptions? opts = null)
public ComputeInstanceV2(String name, ComputeInstanceV2Args args)
public ComputeInstanceV2(String name, ComputeInstanceV2Args args, CustomResourceOptions options)
type: flexibleengine:ComputeInstanceV2
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args ComputeInstanceV2Args
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args ComputeInstanceV2Args
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args ComputeInstanceV2Args
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args ComputeInstanceV2Args
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ComputeInstanceV2Args
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 computeInstanceV2Resource = new Flexibleengine.ComputeInstanceV2("computeInstanceV2Resource", new()
{
    AdminPass = "string",
    AutoRecovery = false,
    AvailabilityZone = "string",
    BlockDevices = new[]
    {
        new Flexibleengine.Inputs.ComputeInstanceV2BlockDeviceArgs
        {
            SourceType = "string",
            BootIndex = 0,
            DeleteOnTermination = false,
            DestinationType = "string",
            DeviceName = "string",
            DeviceType = "string",
            DiskBus = "string",
            GuestFormat = "string",
            Uuid = "string",
            VolumeSize = 0,
            VolumeType = "string",
        },
    },
    ComputeInstanceV2Id = "string",
    ConfigDrive = false,
    FlavorId = "string",
    FlavorName = "string",
    ImageId = "string",
    ImageName = "string",
    KeyPair = "string",
    Metadata = 
    {
        { "string", "string" },
    },
    Name = "string",
    Networks = new[]
    {
        new Flexibleengine.Inputs.ComputeInstanceV2NetworkArgs
        {
            AccessNetwork = false,
            FixedIpV4 = "string",
            FixedIpV6 = "string",
            Mac = "string",
            Port = "string",
            Uuid = "string",
        },
    },
    Personalities = new[]
    {
        new Flexibleengine.Inputs.ComputeInstanceV2PersonalityArgs
        {
            Content = "string",
            File = "string",
        },
    },
    Region = "string",
    SchedulerHints = new[]
    {
        new Flexibleengine.Inputs.ComputeInstanceV2SchedulerHintArgs
        {
            DehId = "string",
            Group = "string",
            Tenancy = "string",
        },
    },
    SecurityGroups = new[]
    {
        "string",
    },
    StopBeforeDestroy = false,
    Tags = 
    {
        { "string", "string" },
    },
    Timeouts = new Flexibleengine.Inputs.ComputeInstanceV2TimeoutsArgs
    {
        Create = "string",
        Delete = "string",
        Update = "string",
    },
    UserData = "string",
});
Copy
example, err := flexibleengine.NewComputeInstanceV2(ctx, "computeInstanceV2Resource", &flexibleengine.ComputeInstanceV2Args{
AdminPass: pulumi.String("string"),
AutoRecovery: pulumi.Bool(false),
AvailabilityZone: pulumi.String("string"),
BlockDevices: .ComputeInstanceV2BlockDeviceArray{
&.ComputeInstanceV2BlockDeviceArgs{
SourceType: pulumi.String("string"),
BootIndex: pulumi.Float64(0),
DeleteOnTermination: pulumi.Bool(false),
DestinationType: pulumi.String("string"),
DeviceName: pulumi.String("string"),
DeviceType: pulumi.String("string"),
DiskBus: pulumi.String("string"),
GuestFormat: pulumi.String("string"),
Uuid: pulumi.String("string"),
VolumeSize: pulumi.Float64(0),
VolumeType: pulumi.String("string"),
},
},
ComputeInstanceV2Id: pulumi.String("string"),
ConfigDrive: pulumi.Bool(false),
FlavorId: pulumi.String("string"),
FlavorName: pulumi.String("string"),
ImageId: pulumi.String("string"),
ImageName: pulumi.String("string"),
KeyPair: pulumi.String("string"),
Metadata: pulumi.StringMap{
"string": pulumi.String("string"),
},
Name: pulumi.String("string"),
Networks: .ComputeInstanceV2NetworkArray{
&.ComputeInstanceV2NetworkArgs{
AccessNetwork: pulumi.Bool(false),
FixedIpV4: pulumi.String("string"),
FixedIpV6: pulumi.String("string"),
Mac: pulumi.String("string"),
Port: pulumi.String("string"),
Uuid: pulumi.String("string"),
},
},
Personalities: .ComputeInstanceV2PersonalityArray{
&.ComputeInstanceV2PersonalityArgs{
Content: pulumi.String("string"),
File: pulumi.String("string"),
},
},
Region: pulumi.String("string"),
SchedulerHints: .ComputeInstanceV2SchedulerHintArray{
&.ComputeInstanceV2SchedulerHintArgs{
DehId: pulumi.String("string"),
Group: pulumi.String("string"),
Tenancy: pulumi.String("string"),
},
},
SecurityGroups: pulumi.StringArray{
pulumi.String("string"),
},
StopBeforeDestroy: pulumi.Bool(false),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
Timeouts: &.ComputeInstanceV2TimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
UserData: pulumi.String("string"),
})
Copy
var computeInstanceV2Resource = new ComputeInstanceV2("computeInstanceV2Resource", ComputeInstanceV2Args.builder()
    .adminPass("string")
    .autoRecovery(false)
    .availabilityZone("string")
    .blockDevices(ComputeInstanceV2BlockDeviceArgs.builder()
        .sourceType("string")
        .bootIndex(0)
        .deleteOnTermination(false)
        .destinationType("string")
        .deviceName("string")
        .deviceType("string")
        .diskBus("string")
        .guestFormat("string")
        .uuid("string")
        .volumeSize(0)
        .volumeType("string")
        .build())
    .computeInstanceV2Id("string")
    .configDrive(false)
    .flavorId("string")
    .flavorName("string")
    .imageId("string")
    .imageName("string")
    .keyPair("string")
    .metadata(Map.of("string", "string"))
    .name("string")
    .networks(ComputeInstanceV2NetworkArgs.builder()
        .accessNetwork(false)
        .fixedIpV4("string")
        .fixedIpV6("string")
        .mac("string")
        .port("string")
        .uuid("string")
        .build())
    .personalities(ComputeInstanceV2PersonalityArgs.builder()
        .content("string")
        .file("string")
        .build())
    .region("string")
    .schedulerHints(ComputeInstanceV2SchedulerHintArgs.builder()
        .dehId("string")
        .group("string")
        .tenancy("string")
        .build())
    .securityGroups("string")
    .stopBeforeDestroy(false)
    .tags(Map.of("string", "string"))
    .timeouts(ComputeInstanceV2TimeoutsArgs.builder()
        .create("string")
        .delete("string")
        .update("string")
        .build())
    .userData("string")
    .build());
Copy
compute_instance_v2_resource = flexibleengine.ComputeInstanceV2("computeInstanceV2Resource",
    admin_pass="string",
    auto_recovery=False,
    availability_zone="string",
    block_devices=[{
        "source_type": "string",
        "boot_index": 0,
        "delete_on_termination": False,
        "destination_type": "string",
        "device_name": "string",
        "device_type": "string",
        "disk_bus": "string",
        "guest_format": "string",
        "uuid": "string",
        "volume_size": 0,
        "volume_type": "string",
    }],
    compute_instance_v2_id="string",
    config_drive=False,
    flavor_id="string",
    flavor_name="string",
    image_id="string",
    image_name="string",
    key_pair="string",
    metadata={
        "string": "string",
    },
    name="string",
    networks=[{
        "access_network": False,
        "fixed_ip_v4": "string",
        "fixed_ip_v6": "string",
        "mac": "string",
        "port": "string",
        "uuid": "string",
    }],
    personalities=[{
        "content": "string",
        "file": "string",
    }],
    region="string",
    scheduler_hints=[{
        "deh_id": "string",
        "group": "string",
        "tenancy": "string",
    }],
    security_groups=["string"],
    stop_before_destroy=False,
    tags={
        "string": "string",
    },
    timeouts={
        "create": "string",
        "delete": "string",
        "update": "string",
    },
    user_data="string")
Copy
const computeInstanceV2Resource = new flexibleengine.ComputeInstanceV2("computeInstanceV2Resource", {
    adminPass: "string",
    autoRecovery: false,
    availabilityZone: "string",
    blockDevices: [{
        sourceType: "string",
        bootIndex: 0,
        deleteOnTermination: false,
        destinationType: "string",
        deviceName: "string",
        deviceType: "string",
        diskBus: "string",
        guestFormat: "string",
        uuid: "string",
        volumeSize: 0,
        volumeType: "string",
    }],
    computeInstanceV2Id: "string",
    configDrive: false,
    flavorId: "string",
    flavorName: "string",
    imageId: "string",
    imageName: "string",
    keyPair: "string",
    metadata: {
        string: "string",
    },
    name: "string",
    networks: [{
        accessNetwork: false,
        fixedIpV4: "string",
        fixedIpV6: "string",
        mac: "string",
        port: "string",
        uuid: "string",
    }],
    personalities: [{
        content: "string",
        file: "string",
    }],
    region: "string",
    schedulerHints: [{
        dehId: "string",
        group: "string",
        tenancy: "string",
    }],
    securityGroups: ["string"],
    stopBeforeDestroy: false,
    tags: {
        string: "string",
    },
    timeouts: {
        create: "string",
        "delete": "string",
        update: "string",
    },
    userData: "string",
});
Copy
type: flexibleengine:ComputeInstanceV2
properties:
    adminPass: string
    autoRecovery: false
    availabilityZone: string
    blockDevices:
        - bootIndex: 0
          deleteOnTermination: false
          destinationType: string
          deviceName: string
          deviceType: string
          diskBus: string
          guestFormat: string
          sourceType: string
          uuid: string
          volumeSize: 0
          volumeType: string
    computeInstanceV2Id: string
    configDrive: false
    flavorId: string
    flavorName: string
    imageId: string
    imageName: string
    keyPair: string
    metadata:
        string: string
    name: string
    networks:
        - accessNetwork: false
          fixedIpV4: string
          fixedIpV6: string
          mac: string
          port: string
          uuid: string
    personalities:
        - content: string
          file: string
    region: string
    schedulerHints:
        - dehId: string
          group: string
          tenancy: string
    securityGroups:
        - string
    stopBeforeDestroy: false
    tags:
        string: string
    timeouts:
        create: string
        delete: string
        update: string
    userData: string
Copy

ComputeInstanceV2 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 ComputeInstanceV2 resource accepts the following input properties:

AdminPass string
The administrative password to assign to the server.
AutoRecovery bool
Configures or deletes automatic recovery of an instance
AvailabilityZone string
The availability zone in which to create the server. Changing this creates a new server.
BlockDevices List<ComputeInstanceV2BlockDevice>
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
ComputeInstanceV2Id string
ConfigDrive bool
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
FlavorId string
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
FlavorName string
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
ImageId string
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
ImageName string
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
KeyPair string
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
Metadata Dictionary<string, string>
The key/value pairs to associate with the instance.
Name string
A unique name for the resource.
Networks List<ComputeInstanceV2Network>
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
Personalities List<ComputeInstanceV2Personality>
Region string
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
SchedulerHints List<ComputeInstanceV2SchedulerHint>
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
SecurityGroups List<string>
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
StopBeforeDestroy bool
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
Tags Dictionary<string, string>

Specifies the key/value pairs to associate with the instance.

The network block supports:

Timeouts ComputeInstanceV2Timeouts
UserData string
The user data to provide when launching the instance. Changing this creates a new server.
AdminPass string
The administrative password to assign to the server.
AutoRecovery bool
Configures or deletes automatic recovery of an instance
AvailabilityZone string
The availability zone in which to create the server. Changing this creates a new server.
BlockDevices []ComputeInstanceV2BlockDeviceArgs
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
ComputeInstanceV2Id string
ConfigDrive bool
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
FlavorId string
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
FlavorName string
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
ImageId string
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
ImageName string
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
KeyPair string
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
Metadata map[string]string
The key/value pairs to associate with the instance.
Name string
A unique name for the resource.
Networks []ComputeInstanceV2NetworkArgs
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
Personalities []ComputeInstanceV2PersonalityArgs
Region string
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
SchedulerHints []ComputeInstanceV2SchedulerHintArgs
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
SecurityGroups []string
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
StopBeforeDestroy bool
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
Tags map[string]string

Specifies the key/value pairs to associate with the instance.

The network block supports:

Timeouts ComputeInstanceV2TimeoutsArgs
UserData string
The user data to provide when launching the instance. Changing this creates a new server.
adminPass String
The administrative password to assign to the server.
autoRecovery Boolean
Configures or deletes automatic recovery of an instance
availabilityZone String
The availability zone in which to create the server. Changing this creates a new server.
blockDevices List<ComputeInstanceV2BlockDevice>
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
computeInstanceV2Id String
configDrive Boolean
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavorId String
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavorName String
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
imageId String
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
imageName String
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
keyPair String
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata Map<String,String>
The key/value pairs to associate with the instance.
name String
A unique name for the resource.
networks List<ComputeInstanceV2Network>
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities List<ComputeInstanceV2Personality>
region String
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
schedulerHints List<ComputeInstanceV2SchedulerHint>
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
securityGroups List<String>
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
stopBeforeDestroy Boolean
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
tags Map<String,String>

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts ComputeInstanceV2Timeouts
userData String
The user data to provide when launching the instance. Changing this creates a new server.
adminPass string
The administrative password to assign to the server.
autoRecovery boolean
Configures or deletes automatic recovery of an instance
availabilityZone string
The availability zone in which to create the server. Changing this creates a new server.
blockDevices ComputeInstanceV2BlockDevice[]
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
computeInstanceV2Id string
configDrive boolean
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavorId string
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavorName string
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
imageId string
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
imageName string
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
keyPair string
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata {[key: string]: string}
The key/value pairs to associate with the instance.
name string
A unique name for the resource.
networks ComputeInstanceV2Network[]
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities ComputeInstanceV2Personality[]
region string
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
schedulerHints ComputeInstanceV2SchedulerHint[]
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
securityGroups string[]
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
stopBeforeDestroy boolean
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
tags {[key: string]: string}

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts ComputeInstanceV2Timeouts
userData string
The user data to provide when launching the instance. Changing this creates a new server.
admin_pass str
The administrative password to assign to the server.
auto_recovery bool
Configures or deletes automatic recovery of an instance
availability_zone str
The availability zone in which to create the server. Changing this creates a new server.
block_devices Sequence[ComputeInstanceV2BlockDeviceArgs]
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
compute_instance_v2_id str
config_drive bool
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavor_id str
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavor_name str
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
image_id str
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
image_name str
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
key_pair str
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata Mapping[str, str]
The key/value pairs to associate with the instance.
name str
A unique name for the resource.
networks Sequence[ComputeInstanceV2NetworkArgs]
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities Sequence[ComputeInstanceV2PersonalityArgs]
region str
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
scheduler_hints Sequence[ComputeInstanceV2SchedulerHintArgs]
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
security_groups Sequence[str]
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
stop_before_destroy bool
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
tags Mapping[str, str]

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts ComputeInstanceV2TimeoutsArgs
user_data str
The user data to provide when launching the instance. Changing this creates a new server.
adminPass String
The administrative password to assign to the server.
autoRecovery Boolean
Configures or deletes automatic recovery of an instance
availabilityZone String
The availability zone in which to create the server. Changing this creates a new server.
blockDevices List<Property Map>
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
computeInstanceV2Id String
configDrive Boolean
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavorId String
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavorName String
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
imageId String
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
imageName String
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
keyPair String
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata Map<String>
The key/value pairs to associate with the instance.
name String
A unique name for the resource.
networks List<Property Map>
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities List<Property Map>
region String
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
schedulerHints List<Property Map>
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
securityGroups List<String>
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
stopBeforeDestroy Boolean
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
tags Map<String>

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts Property Map
userData String
The user data to provide when launching the instance. Changing this creates a new server.

Outputs

All input properties are implicitly available as output properties. Additionally, the ComputeInstanceV2 resource produces the following output properties:

AccessIpV4 string
The first detected Fixed IPv4 address or the Floating IP.
AccessIpV6 string
The first detected Fixed IPv6 address.
AllMetadata Dictionary<string, string>
FloatingIp string
The EIP address that is associate to the instance.
Id string
The provider-assigned unique ID for this managed resource.
Status string
The status of the instance.
SystemDiskId string
The system disk volume ID.
VolumeAttacheds List<ComputeInstanceV2VolumeAttached>
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
AccessIpV4 string
The first detected Fixed IPv4 address or the Floating IP.
AccessIpV6 string
The first detected Fixed IPv6 address.
AllMetadata map[string]string
FloatingIp string
The EIP address that is associate to the instance.
Id string
The provider-assigned unique ID for this managed resource.
Status string
The status of the instance.
SystemDiskId string
The system disk volume ID.
VolumeAttacheds []ComputeInstanceV2VolumeAttached
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
accessIpV4 String
The first detected Fixed IPv4 address or the Floating IP.
accessIpV6 String
The first detected Fixed IPv6 address.
allMetadata Map<String,String>
floatingIp String
The EIP address that is associate to the instance.
id String
The provider-assigned unique ID for this managed resource.
status String
The status of the instance.
systemDiskId String
The system disk volume ID.
volumeAttacheds List<ComputeInstanceV2VolumeAttached>
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
accessIpV4 string
The first detected Fixed IPv4 address or the Floating IP.
accessIpV6 string
The first detected Fixed IPv6 address.
allMetadata {[key: string]: string}
floatingIp string
The EIP address that is associate to the instance.
id string
The provider-assigned unique ID for this managed resource.
status string
The status of the instance.
systemDiskId string
The system disk volume ID.
volumeAttacheds ComputeInstanceV2VolumeAttached[]
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
access_ip_v4 str
The first detected Fixed IPv4 address or the Floating IP.
access_ip_v6 str
The first detected Fixed IPv6 address.
all_metadata Mapping[str, str]
floating_ip str
The EIP address that is associate to the instance.
id str
The provider-assigned unique ID for this managed resource.
status str
The status of the instance.
system_disk_id str
The system disk volume ID.
volume_attacheds Sequence[ComputeInstanceV2VolumeAttached]
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
accessIpV4 String
The first detected Fixed IPv4 address or the Floating IP.
accessIpV6 String
The first detected Fixed IPv6 address.
allMetadata Map<String>
floatingIp String
The EIP address that is associate to the instance.
id String
The provider-assigned unique ID for this managed resource.
status String
The status of the instance.
systemDiskId String
The system disk volume ID.
volumeAttacheds List<Property Map>
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.

Look up Existing ComputeInstanceV2 Resource

Get an existing ComputeInstanceV2 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?: ComputeInstanceV2State, opts?: CustomResourceOptions): ComputeInstanceV2
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        access_ip_v4: Optional[str] = None,
        access_ip_v6: Optional[str] = None,
        admin_pass: Optional[str] = None,
        all_metadata: Optional[Mapping[str, str]] = None,
        auto_recovery: Optional[bool] = None,
        availability_zone: Optional[str] = None,
        block_devices: Optional[Sequence[ComputeInstanceV2BlockDeviceArgs]] = None,
        compute_instance_v2_id: Optional[str] = None,
        config_drive: Optional[bool] = None,
        flavor_id: Optional[str] = None,
        flavor_name: Optional[str] = None,
        floating_ip: Optional[str] = None,
        image_id: Optional[str] = None,
        image_name: Optional[str] = None,
        key_pair: Optional[str] = None,
        metadata: Optional[Mapping[str, str]] = None,
        name: Optional[str] = None,
        networks: Optional[Sequence[ComputeInstanceV2NetworkArgs]] = None,
        personalities: Optional[Sequence[ComputeInstanceV2PersonalityArgs]] = None,
        region: Optional[str] = None,
        scheduler_hints: Optional[Sequence[ComputeInstanceV2SchedulerHintArgs]] = None,
        security_groups: Optional[Sequence[str]] = None,
        status: Optional[str] = None,
        stop_before_destroy: Optional[bool] = None,
        system_disk_id: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        timeouts: Optional[ComputeInstanceV2TimeoutsArgs] = None,
        user_data: Optional[str] = None,
        volume_attacheds: Optional[Sequence[ComputeInstanceV2VolumeAttachedArgs]] = None) -> ComputeInstanceV2
func GetComputeInstanceV2(ctx *Context, name string, id IDInput, state *ComputeInstanceV2State, opts ...ResourceOption) (*ComputeInstanceV2, error)
public static ComputeInstanceV2 Get(string name, Input<string> id, ComputeInstanceV2State? state, CustomResourceOptions? opts = null)
public static ComputeInstanceV2 get(String name, Output<String> id, ComputeInstanceV2State state, CustomResourceOptions options)
resources:  _:    type: flexibleengine:ComputeInstanceV2    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.
The following state arguments are supported:
AccessIpV4 string
The first detected Fixed IPv4 address or the Floating IP.
AccessIpV6 string
The first detected Fixed IPv6 address.
AdminPass string
The administrative password to assign to the server.
AllMetadata Dictionary<string, string>
AutoRecovery bool
Configures or deletes automatic recovery of an instance
AvailabilityZone string
The availability zone in which to create the server. Changing this creates a new server.
BlockDevices List<ComputeInstanceV2BlockDevice>
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
ComputeInstanceV2Id string
ConfigDrive bool
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
FlavorId string
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
FlavorName string
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
FloatingIp string
The EIP address that is associate to the instance.
ImageId string
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
ImageName string
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
KeyPair string
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
Metadata Dictionary<string, string>
The key/value pairs to associate with the instance.
Name string
A unique name for the resource.
Networks List<ComputeInstanceV2Network>
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
Personalities List<ComputeInstanceV2Personality>
Region string
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
SchedulerHints List<ComputeInstanceV2SchedulerHint>
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
SecurityGroups List<string>
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
Status string
The status of the instance.
StopBeforeDestroy bool
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
SystemDiskId string
The system disk volume ID.
Tags Dictionary<string, string>

Specifies the key/value pairs to associate with the instance.

The network block supports:

Timeouts ComputeInstanceV2Timeouts
UserData string
The user data to provide when launching the instance. Changing this creates a new server.
VolumeAttacheds List<ComputeInstanceV2VolumeAttached>
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
AccessIpV4 string
The first detected Fixed IPv4 address or the Floating IP.
AccessIpV6 string
The first detected Fixed IPv6 address.
AdminPass string
The administrative password to assign to the server.
AllMetadata map[string]string
AutoRecovery bool
Configures or deletes automatic recovery of an instance
AvailabilityZone string
The availability zone in which to create the server. Changing this creates a new server.
BlockDevices []ComputeInstanceV2BlockDeviceArgs
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
ComputeInstanceV2Id string
ConfigDrive bool
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
FlavorId string
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
FlavorName string
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
FloatingIp string
The EIP address that is associate to the instance.
ImageId string
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
ImageName string
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
KeyPair string
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
Metadata map[string]string
The key/value pairs to associate with the instance.
Name string
A unique name for the resource.
Networks []ComputeInstanceV2NetworkArgs
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
Personalities []ComputeInstanceV2PersonalityArgs
Region string
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
SchedulerHints []ComputeInstanceV2SchedulerHintArgs
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
SecurityGroups []string
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
Status string
The status of the instance.
StopBeforeDestroy bool
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
SystemDiskId string
The system disk volume ID.
Tags map[string]string

Specifies the key/value pairs to associate with the instance.

The network block supports:

Timeouts ComputeInstanceV2TimeoutsArgs
UserData string
The user data to provide when launching the instance. Changing this creates a new server.
VolumeAttacheds []ComputeInstanceV2VolumeAttachedArgs
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
accessIpV4 String
The first detected Fixed IPv4 address or the Floating IP.
accessIpV6 String
The first detected Fixed IPv6 address.
adminPass String
The administrative password to assign to the server.
allMetadata Map<String,String>
autoRecovery Boolean
Configures or deletes automatic recovery of an instance
availabilityZone String
The availability zone in which to create the server. Changing this creates a new server.
blockDevices List<ComputeInstanceV2BlockDevice>
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
computeInstanceV2Id String
configDrive Boolean
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavorId String
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavorName String
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
floatingIp String
The EIP address that is associate to the instance.
imageId String
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
imageName String
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
keyPair String
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata Map<String,String>
The key/value pairs to associate with the instance.
name String
A unique name for the resource.
networks List<ComputeInstanceV2Network>
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities List<ComputeInstanceV2Personality>
region String
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
schedulerHints List<ComputeInstanceV2SchedulerHint>
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
securityGroups List<String>
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
status String
The status of the instance.
stopBeforeDestroy Boolean
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
systemDiskId String
The system disk volume ID.
tags Map<String,String>

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts ComputeInstanceV2Timeouts
userData String
The user data to provide when launching the instance. Changing this creates a new server.
volumeAttacheds List<ComputeInstanceV2VolumeAttached>
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
accessIpV4 string
The first detected Fixed IPv4 address or the Floating IP.
accessIpV6 string
The first detected Fixed IPv6 address.
adminPass string
The administrative password to assign to the server.
allMetadata {[key: string]: string}
autoRecovery boolean
Configures or deletes automatic recovery of an instance
availabilityZone string
The availability zone in which to create the server. Changing this creates a new server.
blockDevices ComputeInstanceV2BlockDevice[]
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
computeInstanceV2Id string
configDrive boolean
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavorId string
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavorName string
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
floatingIp string
The EIP address that is associate to the instance.
imageId string
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
imageName string
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
keyPair string
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata {[key: string]: string}
The key/value pairs to associate with the instance.
name string
A unique name for the resource.
networks ComputeInstanceV2Network[]
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities ComputeInstanceV2Personality[]
region string
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
schedulerHints ComputeInstanceV2SchedulerHint[]
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
securityGroups string[]
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
status string
The status of the instance.
stopBeforeDestroy boolean
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
systemDiskId string
The system disk volume ID.
tags {[key: string]: string}

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts ComputeInstanceV2Timeouts
userData string
The user data to provide when launching the instance. Changing this creates a new server.
volumeAttacheds ComputeInstanceV2VolumeAttached[]
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
access_ip_v4 str
The first detected Fixed IPv4 address or the Floating IP.
access_ip_v6 str
The first detected Fixed IPv6 address.
admin_pass str
The administrative password to assign to the server.
all_metadata Mapping[str, str]
auto_recovery bool
Configures or deletes automatic recovery of an instance
availability_zone str
The availability zone in which to create the server. Changing this creates a new server.
block_devices Sequence[ComputeInstanceV2BlockDeviceArgs]
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
compute_instance_v2_id str
config_drive bool
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavor_id str
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavor_name str
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
floating_ip str
The EIP address that is associate to the instance.
image_id str
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
image_name str
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
key_pair str
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata Mapping[str, str]
The key/value pairs to associate with the instance.
name str
A unique name for the resource.
networks Sequence[ComputeInstanceV2NetworkArgs]
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities Sequence[ComputeInstanceV2PersonalityArgs]
region str
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
scheduler_hints Sequence[ComputeInstanceV2SchedulerHintArgs]
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
security_groups Sequence[str]
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
status str
The status of the instance.
stop_before_destroy bool
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
system_disk_id str
The system disk volume ID.
tags Mapping[str, str]

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts ComputeInstanceV2TimeoutsArgs
user_data str
The user data to provide when launching the instance. Changing this creates a new server.
volume_attacheds Sequence[ComputeInstanceV2VolumeAttachedArgs]
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.
accessIpV4 String
The first detected Fixed IPv4 address or the Floating IP.
accessIpV6 String
The first detected Fixed IPv6 address.
adminPass String
The administrative password to assign to the server.
allMetadata Map<String>
autoRecovery Boolean
Configures or deletes automatic recovery of an instance
availabilityZone String
The availability zone in which to create the server. Changing this creates a new server.
blockDevices List<Property Map>
Configuration of block devices. The block_device object structure is documented below. You can specify multiple block devices which will create an instance with multiple disks. This configuration is very flexible, so please see the following reference for more information.
computeInstanceV2Id String
configDrive Boolean
Whether to use the config_drive feature to configure the instance. Changing this creates a new server.
flavorId String
The flavor ID of the desired flavor for the server. It is Required if flavor_name is empty. Changing this resizes the existing server.
flavorName String
The name of the desired flavor for the server. It is Required if flavor_id is empty. Changing this resizes the existing server.
floatingIp String
The EIP address that is associate to the instance.
imageId String
The image ID of the desired image for the server. It is Required if image_name is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
imageName String
The name of the desired image for the server. It is Required if image_id is empty and not booting from a volume. Do not specify if booting from a volume. Changing this creates a new server.
keyPair String
The name of a key pair to put on the server. The key pair must already be created and associated with the tenant's account. Changing this creates a new server.
metadata Map<String>
The key/value pairs to associate with the instance.
name String
A unique name for the resource.
networks List<Property Map>
An array of one or more networks to attach to the instance. The network object structure is documented below. Changing this creates a new server.
personalities List<Property Map>
region String
The region in which to create the server instance. If omitted, the region argument of the provider is used. Changing this creates a new server.
schedulerHints List<Property Map>
Provide the Nova scheduler with hints on how the instance should be launched. The scheduler_hints object structure is documented below.
securityGroups List<String>
An array of one or more security group names to associate with the server. Changing this results in adding/removing security groups from the existing server. Note: When attaching the instance to networks using Ports, place the security groups on the Port and not the instance.
status String
The status of the instance.
stopBeforeDestroy Boolean
Whether to try stop instance gracefully before destroying it, thus giving chance for guest OS daemons to stop correctly. If instance doesn't stop within timeout, it will be destroyed anyway.
systemDiskId String
The system disk volume ID.
tags Map<String>

Specifies the key/value pairs to associate with the instance.

The network block supports:

timeouts Property Map
userData String
The user data to provide when launching the instance. Changing this creates a new server.
volumeAttacheds List<Property Map>
An array of one or more disks to attach to the instance. The volume_attached object structure is documented below.

Supporting Types

ComputeInstanceV2BlockDevice
, ComputeInstanceV2BlockDeviceArgs

SourceType This property is required. string
The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.
BootIndex double
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
DeleteOnTermination bool
Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.
DestinationType string
The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.
DeviceName string
DeviceType string
DiskBus string

The low-level disk bus that will be used, for example, virtio, scsi. Most common thing is to leave this empty. Changing this creates a new server.

The scheduler_hints block supports:

GuestFormat string
Uuid string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
VolumeSize double
The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.
VolumeType string
Currently, the value can be SSD (ultra-I/O disk type), SAS (high I/O disk type), or SATA (common I/O disk type). Changing this creates a new server.
SourceType This property is required. string
The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.
BootIndex float64
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
DeleteOnTermination bool
Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.
DestinationType string
The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.
DeviceName string
DeviceType string
DiskBus string

The low-level disk bus that will be used, for example, virtio, scsi. Most common thing is to leave this empty. Changing this creates a new server.

The scheduler_hints block supports:

GuestFormat string
Uuid string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
VolumeSize float64
The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.
VolumeType string
Currently, the value can be SSD (ultra-I/O disk type), SAS (high I/O disk type), or SATA (common I/O disk type). Changing this creates a new server.
sourceType This property is required. String
The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.
bootIndex Double
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
deleteOnTermination Boolean
Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.
destinationType String
The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.
deviceName String
deviceType String
diskBus String

The low-level disk bus that will be used, for example, virtio, scsi. Most common thing is to leave this empty. Changing this creates a new server.

The scheduler_hints block supports:

guestFormat String
uuid String
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
volumeSize Double
The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.
volumeType String
Currently, the value can be SSD (ultra-I/O disk type), SAS (high I/O disk type), or SATA (common I/O disk type). Changing this creates a new server.
sourceType This property is required. string
The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.
bootIndex number
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
deleteOnTermination boolean
Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.
destinationType string
The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.
deviceName string
deviceType string
diskBus string

The low-level disk bus that will be used, for example, virtio, scsi. Most common thing is to leave this empty. Changing this creates a new server.

The scheduler_hints block supports:

guestFormat string
uuid string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
volumeSize number
The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.
volumeType string
Currently, the value can be SSD (ultra-I/O disk type), SAS (high I/O disk type), or SATA (common I/O disk type). Changing this creates a new server.
source_type This property is required. str
The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.
boot_index float
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
delete_on_termination bool
Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.
destination_type str
The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.
device_name str
device_type str
disk_bus str

The low-level disk bus that will be used, for example, virtio, scsi. Most common thing is to leave this empty. Changing this creates a new server.

The scheduler_hints block supports:

guest_format str
uuid str
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
volume_size float
The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.
volume_type str
Currently, the value can be SSD (ultra-I/O disk type), SAS (high I/O disk type), or SATA (common I/O disk type). Changing this creates a new server.
sourceType This property is required. String
The source type of the device. Must be one of "blank", "image", "volume", or "snapshot". Changing this creates a new server.
bootIndex Number
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
deleteOnTermination Boolean
Delete the volume / block device upon termination of the instance. Defaults to false. Changing this creates a new server.
destinationType String
The type that gets created. Possible values are "volume" and "local". Changing this creates a new server.
deviceName String
deviceType String
diskBus String

The low-level disk bus that will be used, for example, virtio, scsi. Most common thing is to leave this empty. Changing this creates a new server.

The scheduler_hints block supports:

guestFormat String
uuid String
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
volumeSize Number
The size of the volume to create (in gigabytes). Required in the following combinations: source=image and destination=volume, source=blank and destination=local, and source=blank and destination=volume. Changing this creates a new server.
volumeType String
Currently, the value can be SSD (ultra-I/O disk type), SAS (high I/O disk type), or SATA (common I/O disk type). Changing this creates a new server.

ComputeInstanceV2Network
, ComputeInstanceV2NetworkArgs

AccessNetwork bool

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

The block_device block supports:

FixedIpV4 string
Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.
FixedIpV6 string
Specifies a fixed IPv6 address to be used on this network. Changing this creates a new server.
Mac string
The MAC address of the NIC on that network.
Name string
A unique name for the resource.

Deprecated: Deprecated

Port string
The port UUID of a network to attach to the server. It is Required unless uuid is provided. Changing this creates a new server.
Uuid string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
AccessNetwork bool

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

The block_device block supports:

FixedIpV4 string
Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.
FixedIpV6 string
Specifies a fixed IPv6 address to be used on this network. Changing this creates a new server.
Mac string
The MAC address of the NIC on that network.
Name string
A unique name for the resource.

Deprecated: Deprecated

Port string
The port UUID of a network to attach to the server. It is Required unless uuid is provided. Changing this creates a new server.
Uuid string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
accessNetwork Boolean

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

The block_device block supports:

fixedIpV4 String
Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.
fixedIpV6 String
Specifies a fixed IPv6 address to be used on this network. Changing this creates a new server.
mac String
The MAC address of the NIC on that network.
name String
A unique name for the resource.

Deprecated: Deprecated

port String
The port UUID of a network to attach to the server. It is Required unless uuid is provided. Changing this creates a new server.
uuid String
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
accessNetwork boolean

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

The block_device block supports:

fixedIpV4 string
Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.
fixedIpV6 string
Specifies a fixed IPv6 address to be used on this network. Changing this creates a new server.
mac string
The MAC address of the NIC on that network.
name string
A unique name for the resource.

Deprecated: Deprecated

port string
The port UUID of a network to attach to the server. It is Required unless uuid is provided. Changing this creates a new server.
uuid string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
access_network bool

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

The block_device block supports:

fixed_ip_v4 str
Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.
fixed_ip_v6 str
Specifies a fixed IPv6 address to be used on this network. Changing this creates a new server.
mac str
The MAC address of the NIC on that network.
name str
A unique name for the resource.

Deprecated: Deprecated

port str
The port UUID of a network to attach to the server. It is Required unless uuid is provided. Changing this creates a new server.
uuid str
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
accessNetwork Boolean

Specifies if this network should be used for provisioning access. Accepts true or false. Defaults to false.

The block_device block supports:

fixedIpV4 String
Specifies a fixed IPv4 address to be used on this network. Changing this creates a new server.
fixedIpV6 String
Specifies a fixed IPv6 address to be used on this network. Changing this creates a new server.
mac String
The MAC address of the NIC on that network.
name String
A unique name for the resource.

Deprecated: Deprecated

port String
The port UUID of a network to attach to the server. It is Required unless uuid is provided. Changing this creates a new server.
uuid String
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.

ComputeInstanceV2Personality
, ComputeInstanceV2PersonalityArgs

Content This property is required. string
File This property is required. string
Content This property is required. string
File This property is required. string
content This property is required. String
file This property is required. String
content This property is required. string
file This property is required. string
content This property is required. str
file This property is required. str
content This property is required. String
file This property is required. String

ComputeInstanceV2SchedulerHint
, ComputeInstanceV2SchedulerHintArgs

BuildNearHostIp string

Deprecated: Deprecated

DehId string
Specifies the DeH ID.This parameter takes effect only when the value of tenancy is dedicated. If you do not specify this parameter, the system will automatically assign a DeH to you to deploy ECSs.
DifferentHosts List<string>

Deprecated: Deprecated

Group string
Specifies the anti-affinity group ID. The instance will be placed into that group. Changing this creates a new server.
Queries List<string>

Deprecated: Deprecated

SameHosts List<string>

Deprecated: Deprecated

TargetCell string

Deprecated: Deprecated

Tenancy string
Specifies whether the ECS is created on a Dedicated Host (DeH) or in a shared pool (default). The value can be shared or dedicated.
BuildNearHostIp string

Deprecated: Deprecated

DehId string
Specifies the DeH ID.This parameter takes effect only when the value of tenancy is dedicated. If you do not specify this parameter, the system will automatically assign a DeH to you to deploy ECSs.
DifferentHosts []string

Deprecated: Deprecated

Group string
Specifies the anti-affinity group ID. The instance will be placed into that group. Changing this creates a new server.
Queries []string

Deprecated: Deprecated

SameHosts []string

Deprecated: Deprecated

TargetCell string

Deprecated: Deprecated

Tenancy string
Specifies whether the ECS is created on a Dedicated Host (DeH) or in a shared pool (default). The value can be shared or dedicated.
buildNearHostIp String

Deprecated: Deprecated

dehId String
Specifies the DeH ID.This parameter takes effect only when the value of tenancy is dedicated. If you do not specify this parameter, the system will automatically assign a DeH to you to deploy ECSs.
differentHosts List<String>

Deprecated: Deprecated

group String
Specifies the anti-affinity group ID. The instance will be placed into that group. Changing this creates a new server.
queries List<String>

Deprecated: Deprecated

sameHosts List<String>

Deprecated: Deprecated

targetCell String

Deprecated: Deprecated

tenancy String
Specifies whether the ECS is created on a Dedicated Host (DeH) or in a shared pool (default). The value can be shared or dedicated.
buildNearHostIp string

Deprecated: Deprecated

dehId string
Specifies the DeH ID.This parameter takes effect only when the value of tenancy is dedicated. If you do not specify this parameter, the system will automatically assign a DeH to you to deploy ECSs.
differentHosts string[]

Deprecated: Deprecated

group string
Specifies the anti-affinity group ID. The instance will be placed into that group. Changing this creates a new server.
queries string[]

Deprecated: Deprecated

sameHosts string[]

Deprecated: Deprecated

targetCell string

Deprecated: Deprecated

tenancy string
Specifies whether the ECS is created on a Dedicated Host (DeH) or in a shared pool (default). The value can be shared or dedicated.
build_near_host_ip str

Deprecated: Deprecated

deh_id str
Specifies the DeH ID.This parameter takes effect only when the value of tenancy is dedicated. If you do not specify this parameter, the system will automatically assign a DeH to you to deploy ECSs.
different_hosts Sequence[str]

Deprecated: Deprecated

group str
Specifies the anti-affinity group ID. The instance will be placed into that group. Changing this creates a new server.
queries Sequence[str]

Deprecated: Deprecated

same_hosts Sequence[str]

Deprecated: Deprecated

target_cell str

Deprecated: Deprecated

tenancy str
Specifies whether the ECS is created on a Dedicated Host (DeH) or in a shared pool (default). The value can be shared or dedicated.
buildNearHostIp String

Deprecated: Deprecated

dehId String
Specifies the DeH ID.This parameter takes effect only when the value of tenancy is dedicated. If you do not specify this parameter, the system will automatically assign a DeH to you to deploy ECSs.
differentHosts List<String>

Deprecated: Deprecated

group String
Specifies the anti-affinity group ID. The instance will be placed into that group. Changing this creates a new server.
queries List<String>

Deprecated: Deprecated

sameHosts List<String>

Deprecated: Deprecated

targetCell String

Deprecated: Deprecated

tenancy String
Specifies whether the ECS is created on a Dedicated Host (DeH) or in a shared pool (default). The value can be shared or dedicated.

ComputeInstanceV2Timeouts
, ComputeInstanceV2TimeoutsArgs

Create string
Delete string
Update string
Create string
Delete string
Update string
create String
delete String
update String
create string
delete string
update string
create str
delete str
update str
create String
delete String
update String

ComputeInstanceV2VolumeAttached
, ComputeInstanceV2VolumeAttachedArgs

BootIndex This property is required. double
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
PciAddress This property is required. string
The volume pci address on that attachment.
Size This property is required. double
The volume size on that attachment.
Type This property is required. string
The volume type on that attachment.
Uuid This property is required. string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
BootIndex This property is required. float64
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
PciAddress This property is required. string
The volume pci address on that attachment.
Size This property is required. float64
The volume size on that attachment.
Type This property is required. string
The volume type on that attachment.
Uuid This property is required. string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
bootIndex This property is required. Double
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
pciAddress This property is required. String
The volume pci address on that attachment.
size This property is required. Double
The volume size on that attachment.
type This property is required. String
The volume type on that attachment.
uuid This property is required. String
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
bootIndex This property is required. number
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
pciAddress This property is required. string
The volume pci address on that attachment.
size This property is required. number
The volume size on that attachment.
type This property is required. string
The volume type on that attachment.
uuid This property is required. string
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
boot_index This property is required. float
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
pci_address This property is required. str
The volume pci address on that attachment.
size This property is required. float
The volume size on that attachment.
type This property is required. str
The volume type on that attachment.
uuid This property is required. str
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.
bootIndex This property is required. Number
The boot index of the volume. It defaults to 0, which indicates that it's a system disk. Changing this creates a new server.
pciAddress This property is required. String
The volume pci address on that attachment.
size This property is required. Number
The volume size on that attachment.
type This property is required. String
The volume type on that attachment.
uuid This property is required. String
The UUID of the image, volume, or snapshot. It is Required unless source_type is set to "blank". Changing this creates a new server.

Import

Instances can be imported by their id. For example,

$ pulumi import flexibleengine:index/computeInstanceV2:ComputeInstanceV2 my_instance b11b407c-e604-4e8d-8bc4-92398320b847
Copy

Note that the imported state may not be identical to your resource definition, due to some attrubutes

missing from the API response, security or some other reason. The missing attributes include:

admin_pass, config_drive, user_data, block_device, scheduler_hints, stop_before_destroy,

network/access_network and arguments for pre-paid. It is generally recommended running

pulumi preview after importing an instance. You can then decide if changes should

be applied to the instance, or the resource definition should be updated to align

with the instance. Also you can ignore changes as below.

hcl

resource “flexibleengine_compute_instance_v2” “my_instance” {

...

lifecycle {

ignore_changes = [

  user_data, block_device,

]

}

}

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
flexibleengine flexibleenginecloud/terraform-provider-flexibleengine
License
Notes
This Pulumi package is based on the flexibleengine Terraform Provider.