1. Packages
  2. Opentelekomcloud Provider
  3. API Docs
  4. AsConfigurationV1
opentelekomcloud 1.36.37 published on Thursday, Apr 24, 2025 by opentelekomcloud

opentelekomcloud.AsConfigurationV1

Explore with Pulumi AI

opentelekomcloud logo
opentelekomcloud 1.36.37 published on Thursday, Apr 24, 2025 by opentelekomcloud

    Up-to-date reference of API arguments for AS configuration you can get at documentation portal

    Manages a V1 AS Configuration resource within OpenTelekomCloud.

    Example Usage

    Basic AS Configuration

    import * as pulumi from "@pulumi/pulumi";
    import * as fs from "fs";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const myAsConfig = new opentelekomcloud.AsConfigurationV1("myAsConfig", {
        scalingConfigurationName: "my_as_config",
        instanceConfig: {
            flavor: _var.flavor,
            image: _var.image_id,
            disks: [{
                size: 40,
                volumeType: "SATA",
                diskType: "SYS",
            }],
            keyName: _var.keyname,
            userData: fs.readFileSync("userdata.txt", "utf8"),
        },
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    my_as_config = opentelekomcloud.AsConfigurationV1("myAsConfig",
        scaling_configuration_name="my_as_config",
        instance_config={
            "flavor": var["flavor"],
            "image": var["image_id"],
            "disks": [{
                "size": 40,
                "volume_type": "SATA",
                "disk_type": "SYS",
            }],
            "key_name": var["keyname"],
            "user_data": (lambda path: open(path).read())("userdata.txt"),
        })
    
    package main
    
    import (
    	"os"
    
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func readFileOrPanic(path string) pulumi.StringPtrInput {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		panic(err.Error())
    	}
    	return pulumi.String(string(data))
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := opentelekomcloud.NewAsConfigurationV1(ctx, "myAsConfig", &opentelekomcloud.AsConfigurationV1Args{
    			ScalingConfigurationName: pulumi.String("my_as_config"),
    			InstanceConfig: &opentelekomcloud.AsConfigurationV1InstanceConfigArgs{
    				Flavor: pulumi.Any(_var.Flavor),
    				Image:  pulumi.Any(_var.Image_id),
    				Disks: opentelekomcloud.AsConfigurationV1InstanceConfigDiskArray{
    					&opentelekomcloud.AsConfigurationV1InstanceConfigDiskArgs{
    						Size:       pulumi.Float64(40),
    						VolumeType: pulumi.String("SATA"),
    						DiskType:   pulumi.String("SYS"),
    					},
    				},
    				KeyName:  pulumi.Any(_var.Keyname),
    				UserData: pulumi.String(readFileOrPanic("userdata.txt")),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using Pulumi;
    using Opentelekomcloud = Pulumi.Opentelekomcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var myAsConfig = new Opentelekomcloud.AsConfigurationV1("myAsConfig", new()
        {
            ScalingConfigurationName = "my_as_config",
            InstanceConfig = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigArgs
            {
                Flavor = @var.Flavor,
                Image = @var.Image_id,
                Disks = new[]
                {
                    new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigDiskArgs
                    {
                        Size = 40,
                        VolumeType = "SATA",
                        DiskType = "SYS",
                    },
                },
                KeyName = @var.Keyname,
                UserData = File.ReadAllText("userdata.txt"),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.AsConfigurationV1;
    import com.pulumi.opentelekomcloud.AsConfigurationV1Args;
    import com.pulumi.opentelekomcloud.inputs.AsConfigurationV1InstanceConfigArgs;
    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 myAsConfig = new AsConfigurationV1("myAsConfig", AsConfigurationV1Args.builder()
                .scalingConfigurationName("my_as_config")
                .instanceConfig(AsConfigurationV1InstanceConfigArgs.builder()
                    .flavor(var_.flavor())
                    .image(var_.image_id())
                    .disks(AsConfigurationV1InstanceConfigDiskArgs.builder()
                        .size(40)
                        .volumeType("SATA")
                        .diskType("SYS")
                        .build())
                    .keyName(var_.keyname())
                    .userData(Files.readString(Paths.get("userdata.txt")))
                    .build())
                .build());
    
        }
    }
    
    resources:
      myAsConfig:
        type: opentelekomcloud:AsConfigurationV1
        properties:
          scalingConfigurationName: my_as_config
          instanceConfig:
            flavor: ${var.flavor}
            image: ${var.image_id}
            disks:
              - size: 40
                volumeType: SATA
                diskType: SYS
            keyName: ${var.keyname}
            userData:
              fn::readFile: userdata.txt
    

    AS Configuration With Encrypted Data Disk

    import * as pulumi from "@pulumi/pulumi";
    import * as fs from "fs";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const myAsConfig = new opentelekomcloud.AsConfigurationV1("myAsConfig", {
        scalingConfigurationName: "my_as_config",
        instanceConfig: {
            flavor: _var.flavor,
            image: _var.image_id,
            disks: [
                {
                    size: 40,
                    volumeType: "SATA",
                    diskType: "SYS",
                },
                {
                    size: 100,
                    volumeType: "SATA",
                    diskType: "DATA",
                    kmsId: _var.kms_id,
                },
            ],
            keyName: _var.keyname,
            userData: fs.readFileSync("userdata.txt", "utf8"),
        },
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    my_as_config = opentelekomcloud.AsConfigurationV1("myAsConfig",
        scaling_configuration_name="my_as_config",
        instance_config={
            "flavor": var["flavor"],
            "image": var["image_id"],
            "disks": [
                {
                    "size": 40,
                    "volume_type": "SATA",
                    "disk_type": "SYS",
                },
                {
                    "size": 100,
                    "volume_type": "SATA",
                    "disk_type": "DATA",
                    "kms_id": var["kms_id"],
                },
            ],
            "key_name": var["keyname"],
            "user_data": (lambda path: open(path).read())("userdata.txt"),
        })
    
    package main
    
    import (
    	"os"
    
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func readFileOrPanic(path string) pulumi.StringPtrInput {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		panic(err.Error())
    	}
    	return pulumi.String(string(data))
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := opentelekomcloud.NewAsConfigurationV1(ctx, "myAsConfig", &opentelekomcloud.AsConfigurationV1Args{
    			ScalingConfigurationName: pulumi.String("my_as_config"),
    			InstanceConfig: &opentelekomcloud.AsConfigurationV1InstanceConfigArgs{
    				Flavor: pulumi.Any(_var.Flavor),
    				Image:  pulumi.Any(_var.Image_id),
    				Disks: opentelekomcloud.AsConfigurationV1InstanceConfigDiskArray{
    					&opentelekomcloud.AsConfigurationV1InstanceConfigDiskArgs{
    						Size:       pulumi.Float64(40),
    						VolumeType: pulumi.String("SATA"),
    						DiskType:   pulumi.String("SYS"),
    					},
    					&opentelekomcloud.AsConfigurationV1InstanceConfigDiskArgs{
    						Size:       pulumi.Float64(100),
    						VolumeType: pulumi.String("SATA"),
    						DiskType:   pulumi.String("DATA"),
    						KmsId:      pulumi.Any(_var.Kms_id),
    					},
    				},
    				KeyName:  pulumi.Any(_var.Keyname),
    				UserData: pulumi.String(readFileOrPanic("userdata.txt")),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using Pulumi;
    using Opentelekomcloud = Pulumi.Opentelekomcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var myAsConfig = new Opentelekomcloud.AsConfigurationV1("myAsConfig", new()
        {
            ScalingConfigurationName = "my_as_config",
            InstanceConfig = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigArgs
            {
                Flavor = @var.Flavor,
                Image = @var.Image_id,
                Disks = new[]
                {
                    new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigDiskArgs
                    {
                        Size = 40,
                        VolumeType = "SATA",
                        DiskType = "SYS",
                    },
                    new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigDiskArgs
                    {
                        Size = 100,
                        VolumeType = "SATA",
                        DiskType = "DATA",
                        KmsId = @var.Kms_id,
                    },
                },
                KeyName = @var.Keyname,
                UserData = File.ReadAllText("userdata.txt"),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.AsConfigurationV1;
    import com.pulumi.opentelekomcloud.AsConfigurationV1Args;
    import com.pulumi.opentelekomcloud.inputs.AsConfigurationV1InstanceConfigArgs;
    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 myAsConfig = new AsConfigurationV1("myAsConfig", AsConfigurationV1Args.builder()
                .scalingConfigurationName("my_as_config")
                .instanceConfig(AsConfigurationV1InstanceConfigArgs.builder()
                    .flavor(var_.flavor())
                    .image(var_.image_id())
                    .disks(                
                        AsConfigurationV1InstanceConfigDiskArgs.builder()
                            .size(40)
                            .volumeType("SATA")
                            .diskType("SYS")
                            .build(),
                        AsConfigurationV1InstanceConfigDiskArgs.builder()
                            .size(100)
                            .volumeType("SATA")
                            .diskType("DATA")
                            .kmsId(var_.kms_id())
                            .build())
                    .keyName(var_.keyname())
                    .userData(Files.readString(Paths.get("userdata.txt")))
                    .build())
                .build());
    
        }
    }
    
    resources:
      myAsConfig:
        type: opentelekomcloud:AsConfigurationV1
        properties:
          scalingConfigurationName: my_as_config
          instanceConfig:
            flavor: ${var.flavor}
            image: ${var.image_id}
            disks:
              - size: 40
                volumeType: SATA
                diskType: SYS
              - size: 100
                volumeType: SATA
                diskType: DATA
                kmsId: ${var.kms_id}
            keyName: ${var.keyname}
            userData:
              fn::readFile: userdata.txt
    

    AS Configuration With User Data and Metadata

    import * as pulumi from "@pulumi/pulumi";
    import * as fs from "fs";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const myAsConfig = new opentelekomcloud.AsConfigurationV1("myAsConfig", {
        scalingConfigurationName: "my_as_config",
        instanceConfig: {
            flavor: _var.flavor,
            image: _var.image_id,
            disks: [{
                size: 40,
                volumeType: "SATA",
                diskType: "SYS",
            }],
            keyName: _var.keyname,
            userData: fs.readFileSync("userdata.txt", "utf8"),
            metadata: {
                some_key: "some_value",
            },
        },
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    my_as_config = opentelekomcloud.AsConfigurationV1("myAsConfig",
        scaling_configuration_name="my_as_config",
        instance_config={
            "flavor": var["flavor"],
            "image": var["image_id"],
            "disks": [{
                "size": 40,
                "volume_type": "SATA",
                "disk_type": "SYS",
            }],
            "key_name": var["keyname"],
            "user_data": (lambda path: open(path).read())("userdata.txt"),
            "metadata": {
                "some_key": "some_value",
            },
        })
    
    package main
    
    import (
    	"os"
    
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func readFileOrPanic(path string) pulumi.StringPtrInput {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		panic(err.Error())
    	}
    	return pulumi.String(string(data))
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := opentelekomcloud.NewAsConfigurationV1(ctx, "myAsConfig", &opentelekomcloud.AsConfigurationV1Args{
    			ScalingConfigurationName: pulumi.String("my_as_config"),
    			InstanceConfig: &opentelekomcloud.AsConfigurationV1InstanceConfigArgs{
    				Flavor: pulumi.Any(_var.Flavor),
    				Image:  pulumi.Any(_var.Image_id),
    				Disks: opentelekomcloud.AsConfigurationV1InstanceConfigDiskArray{
    					&opentelekomcloud.AsConfigurationV1InstanceConfigDiskArgs{
    						Size:       pulumi.Float64(40),
    						VolumeType: pulumi.String("SATA"),
    						DiskType:   pulumi.String("SYS"),
    					},
    				},
    				KeyName:  pulumi.Any(_var.Keyname),
    				UserData: pulumi.String(readFileOrPanic("userdata.txt")),
    				Metadata: pulumi.StringMap{
    					"some_key": pulumi.String("some_value"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using Pulumi;
    using Opentelekomcloud = Pulumi.Opentelekomcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var myAsConfig = new Opentelekomcloud.AsConfigurationV1("myAsConfig", new()
        {
            ScalingConfigurationName = "my_as_config",
            InstanceConfig = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigArgs
            {
                Flavor = @var.Flavor,
                Image = @var.Image_id,
                Disks = new[]
                {
                    new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigDiskArgs
                    {
                        Size = 40,
                        VolumeType = "SATA",
                        DiskType = "SYS",
                    },
                },
                KeyName = @var.Keyname,
                UserData = File.ReadAllText("userdata.txt"),
                Metadata = 
                {
                    { "some_key", "some_value" },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.AsConfigurationV1;
    import com.pulumi.opentelekomcloud.AsConfigurationV1Args;
    import com.pulumi.opentelekomcloud.inputs.AsConfigurationV1InstanceConfigArgs;
    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 myAsConfig = new AsConfigurationV1("myAsConfig", AsConfigurationV1Args.builder()
                .scalingConfigurationName("my_as_config")
                .instanceConfig(AsConfigurationV1InstanceConfigArgs.builder()
                    .flavor(var_.flavor())
                    .image(var_.image_id())
                    .disks(AsConfigurationV1InstanceConfigDiskArgs.builder()
                        .size(40)
                        .volumeType("SATA")
                        .diskType("SYS")
                        .build())
                    .keyName(var_.keyname())
                    .userData(Files.readString(Paths.get("userdata.txt")))
                    .metadata(Map.of("some_key", "some_value"))
                    .build())
                .build());
    
        }
    }
    
    resources:
      myAsConfig:
        type: opentelekomcloud:AsConfigurationV1
        properties:
          scalingConfigurationName: my_as_config
          instanceConfig:
            flavor: ${var.flavor}
            image: ${var.image_id}
            disks:
              - size: 40
                volumeType: SATA
                diskType: SYS
            keyName: ${var.keyname}
            userData:
              fn::readFile: userdata.txt
            metadata:
              some_key: some_value
    

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

    AS Configuration uses the existing instance specifications as the template

    import * as pulumi from "@pulumi/pulumi";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const myAsConfig = new opentelekomcloud.AsConfigurationV1("myAsConfig", {
        scalingConfigurationName: "my_as_config",
        instanceConfig: {
            instanceId: "4579f2f5-cbe8-425a-8f32-53dcb9d9053a",
            keyName: _var.keyname,
        },
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    my_as_config = opentelekomcloud.AsConfigurationV1("myAsConfig",
        scaling_configuration_name="my_as_config",
        instance_config={
            "instance_id": "4579f2f5-cbe8-425a-8f32-53dcb9d9053a",
            "key_name": var["keyname"],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := opentelekomcloud.NewAsConfigurationV1(ctx, "myAsConfig", &opentelekomcloud.AsConfigurationV1Args{
    			ScalingConfigurationName: pulumi.String("my_as_config"),
    			InstanceConfig: &opentelekomcloud.AsConfigurationV1InstanceConfigArgs{
    				InstanceId: pulumi.String("4579f2f5-cbe8-425a-8f32-53dcb9d9053a"),
    				KeyName:    pulumi.Any(_var.Keyname),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Opentelekomcloud = Pulumi.Opentelekomcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var myAsConfig = new Opentelekomcloud.AsConfigurationV1("myAsConfig", new()
        {
            ScalingConfigurationName = "my_as_config",
            InstanceConfig = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigArgs
            {
                InstanceId = "4579f2f5-cbe8-425a-8f32-53dcb9d9053a",
                KeyName = @var.Keyname,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.AsConfigurationV1;
    import com.pulumi.opentelekomcloud.AsConfigurationV1Args;
    import com.pulumi.opentelekomcloud.inputs.AsConfigurationV1InstanceConfigArgs;
    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 myAsConfig = new AsConfigurationV1("myAsConfig", AsConfigurationV1Args.builder()
                .scalingConfigurationName("my_as_config")
                .instanceConfig(AsConfigurationV1InstanceConfigArgs.builder()
                    .instanceId("4579f2f5-cbe8-425a-8f32-53dcb9d9053a")
                    .keyName(var_.keyname())
                    .build())
                .build());
    
        }
    }
    
    resources:
      myAsConfig:
        type: opentelekomcloud:AsConfigurationV1
        properties:
          scalingConfigurationName: my_as_config
          instanceConfig:
            instanceId: 4579f2f5-cbe8-425a-8f32-53dcb9d9053a
            keyName: ${var.keyname}
    

    AS Configuration With Security Groups

    import * as pulumi from "@pulumi/pulumi";
    import * as fs from "fs";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const secgroup1 = new opentelekomcloud.ComputeSecgroupV2("secgroup1", {description: "Security group for AS config tf test"});
    const myAsConfig = new opentelekomcloud.AsConfigurationV1("myAsConfig", {
        scalingConfigurationName: "my_as_config",
        instanceConfig: {
            flavor: _var.flavor,
            image: _var.image_id,
            disks: [{
                size: 40,
                volumeType: "SATA",
                diskType: "SYS",
            }],
            keyName: _var.keyname,
            userData: fs.readFileSync("userdata.txt", "utf8"),
            securityGroups: [secgroup1.computeSecgroupV2Id],
        },
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    secgroup1 = opentelekomcloud.ComputeSecgroupV2("secgroup1", description="Security group for AS config tf test")
    my_as_config = opentelekomcloud.AsConfigurationV1("myAsConfig",
        scaling_configuration_name="my_as_config",
        instance_config={
            "flavor": var["flavor"],
            "image": var["image_id"],
            "disks": [{
                "size": 40,
                "volume_type": "SATA",
                "disk_type": "SYS",
            }],
            "key_name": var["keyname"],
            "user_data": (lambda path: open(path).read())("userdata.txt"),
            "security_groups": [secgroup1.compute_secgroup_v2_id],
        })
    
    package main
    
    import (
    	"os"
    
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/opentelekomcloud/opentelekomcloud"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func readFileOrPanic(path string) pulumi.StringPtrInput {
    	data, err := os.ReadFile(path)
    	if err != nil {
    		panic(err.Error())
    	}
    	return pulumi.String(string(data))
    }
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		secgroup1, err := opentelekomcloud.NewComputeSecgroupV2(ctx, "secgroup1", &opentelekomcloud.ComputeSecgroupV2Args{
    			Description: pulumi.String("Security group for AS config tf test"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = opentelekomcloud.NewAsConfigurationV1(ctx, "myAsConfig", &opentelekomcloud.AsConfigurationV1Args{
    			ScalingConfigurationName: pulumi.String("my_as_config"),
    			InstanceConfig: &opentelekomcloud.AsConfigurationV1InstanceConfigArgs{
    				Flavor: pulumi.Any(_var.Flavor),
    				Image:  pulumi.Any(_var.Image_id),
    				Disks: opentelekomcloud.AsConfigurationV1InstanceConfigDiskArray{
    					&opentelekomcloud.AsConfigurationV1InstanceConfigDiskArgs{
    						Size:       pulumi.Float64(40),
    						VolumeType: pulumi.String("SATA"),
    						DiskType:   pulumi.String("SYS"),
    					},
    				},
    				KeyName:  pulumi.Any(_var.Keyname),
    				UserData: pulumi.String(readFileOrPanic("userdata.txt")),
    				SecurityGroups: pulumi.StringArray{
    					secgroup1.ComputeSecgroupV2Id,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using Pulumi;
    using Opentelekomcloud = Pulumi.Opentelekomcloud;
    
    return await Deployment.RunAsync(() => 
    {
        var secgroup1 = new Opentelekomcloud.ComputeSecgroupV2("secgroup1", new()
        {
            Description = "Security group for AS config tf test",
        });
    
        var myAsConfig = new Opentelekomcloud.AsConfigurationV1("myAsConfig", new()
        {
            ScalingConfigurationName = "my_as_config",
            InstanceConfig = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigArgs
            {
                Flavor = @var.Flavor,
                Image = @var.Image_id,
                Disks = new[]
                {
                    new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigDiskArgs
                    {
                        Size = 40,
                        VolumeType = "SATA",
                        DiskType = "SYS",
                    },
                },
                KeyName = @var.Keyname,
                UserData = File.ReadAllText("userdata.txt"),
                SecurityGroups = new[]
                {
                    secgroup1.ComputeSecgroupV2Id,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.ComputeSecgroupV2;
    import com.pulumi.opentelekomcloud.ComputeSecgroupV2Args;
    import com.pulumi.opentelekomcloud.AsConfigurationV1;
    import com.pulumi.opentelekomcloud.AsConfigurationV1Args;
    import com.pulumi.opentelekomcloud.inputs.AsConfigurationV1InstanceConfigArgs;
    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 secgroup1 = new ComputeSecgroupV2("secgroup1", ComputeSecgroupV2Args.builder()
                .description("Security group for AS config tf test")
                .build());
    
            var myAsConfig = new AsConfigurationV1("myAsConfig", AsConfigurationV1Args.builder()
                .scalingConfigurationName("my_as_config")
                .instanceConfig(AsConfigurationV1InstanceConfigArgs.builder()
                    .flavor(var_.flavor())
                    .image(var_.image_id())
                    .disks(AsConfigurationV1InstanceConfigDiskArgs.builder()
                        .size(40)
                        .volumeType("SATA")
                        .diskType("SYS")
                        .build())
                    .keyName(var_.keyname())
                    .userData(Files.readString(Paths.get("userdata.txt")))
                    .securityGroups(secgroup1.computeSecgroupV2Id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      secgroup1:
        type: opentelekomcloud:ComputeSecgroupV2
        properties:
          description: Security group for AS config tf test
      myAsConfig:
        type: opentelekomcloud:AsConfigurationV1
        properties:
          scalingConfigurationName: my_as_config
          instanceConfig:
            flavor: ${var.flavor}
            image: ${var.image_id}
            disks:
              - size: 40
                volumeType: SATA
                diskType: SYS
            keyName: ${var.keyname}
            userData:
              fn::readFile: userdata.txt
            securityGroups:
              - ${secgroup1.computeSecgroupV2Id}
    

    Create AsConfigurationV1 Resource

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

    Constructor syntax

    new AsConfigurationV1(name: string, args: AsConfigurationV1Args, opts?: CustomResourceOptions);
    @overload
    def AsConfigurationV1(resource_name: str,
                          args: AsConfigurationV1Args,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def AsConfigurationV1(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          instance_config: Optional[AsConfigurationV1InstanceConfigArgs] = None,
                          scaling_configuration_name: Optional[str] = None,
                          as_configuration_v1_id: Optional[str] = None,
                          region: Optional[str] = None)
    func NewAsConfigurationV1(ctx *Context, name string, args AsConfigurationV1Args, opts ...ResourceOption) (*AsConfigurationV1, error)
    public AsConfigurationV1(string name, AsConfigurationV1Args args, CustomResourceOptions? opts = null)
    public AsConfigurationV1(String name, AsConfigurationV1Args args)
    public AsConfigurationV1(String name, AsConfigurationV1Args args, CustomResourceOptions options)
    
    type: opentelekomcloud:AsConfigurationV1
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args AsConfigurationV1Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args AsConfigurationV1Args
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args AsConfigurationV1Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args AsConfigurationV1Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args AsConfigurationV1Args
    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 asConfigurationV1Resource = new Opentelekomcloud.AsConfigurationV1("asConfigurationV1Resource", new()
    {
        InstanceConfig = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigArgs
        {
            KeyName = "string",
            Disks = new[]
            {
                new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigDiskArgs
                {
                    DiskType = "string",
                    Size = 0,
                    VolumeType = "string",
                    KmsId = "string",
                },
            },
            Flavor = "string",
            Image = "string",
            InstanceId = "string",
            Metadata = 
            {
                { "string", "string" },
            },
            Personalities = new[]
            {
                new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigPersonalityArgs
                {
                    Content = "string",
                    Path = "string",
                },
            },
            PublicIp = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigPublicIpArgs
            {
                Eip = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigPublicIpEipArgs
                {
                    Bandwidth = new Opentelekomcloud.Inputs.AsConfigurationV1InstanceConfigPublicIpEipBandwidthArgs
                    {
                        ChargingMode = "string",
                        ShareType = "string",
                        Size = 0,
                    },
                    IpType = "string",
                },
            },
            SecurityGroups = new[]
            {
                "string",
            },
            UserData = "string",
        },
        ScalingConfigurationName = "string",
        AsConfigurationV1Id = "string",
        Region = "string",
    });
    
    example, err := opentelekomcloud.NewAsConfigurationV1(ctx, "asConfigurationV1Resource", &opentelekomcloud.AsConfigurationV1Args{
    	InstanceConfig: &opentelekomcloud.AsConfigurationV1InstanceConfigArgs{
    		KeyName: pulumi.String("string"),
    		Disks: opentelekomcloud.AsConfigurationV1InstanceConfigDiskArray{
    			&opentelekomcloud.AsConfigurationV1InstanceConfigDiskArgs{
    				DiskType:   pulumi.String("string"),
    				Size:       pulumi.Float64(0),
    				VolumeType: pulumi.String("string"),
    				KmsId:      pulumi.String("string"),
    			},
    		},
    		Flavor:     pulumi.String("string"),
    		Image:      pulumi.String("string"),
    		InstanceId: pulumi.String("string"),
    		Metadata: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Personalities: opentelekomcloud.AsConfigurationV1InstanceConfigPersonalityArray{
    			&opentelekomcloud.AsConfigurationV1InstanceConfigPersonalityArgs{
    				Content: pulumi.String("string"),
    				Path:    pulumi.String("string"),
    			},
    		},
    		PublicIp: &opentelekomcloud.AsConfigurationV1InstanceConfigPublicIpArgs{
    			Eip: &opentelekomcloud.AsConfigurationV1InstanceConfigPublicIpEipArgs{
    				Bandwidth: &opentelekomcloud.AsConfigurationV1InstanceConfigPublicIpEipBandwidthArgs{
    					ChargingMode: pulumi.String("string"),
    					ShareType:    pulumi.String("string"),
    					Size:         pulumi.Float64(0),
    				},
    				IpType: pulumi.String("string"),
    			},
    		},
    		SecurityGroups: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		UserData: pulumi.String("string"),
    	},
    	ScalingConfigurationName: pulumi.String("string"),
    	AsConfigurationV1Id:      pulumi.String("string"),
    	Region:                   pulumi.String("string"),
    })
    
    var asConfigurationV1Resource = new AsConfigurationV1("asConfigurationV1Resource", AsConfigurationV1Args.builder()
        .instanceConfig(AsConfigurationV1InstanceConfigArgs.builder()
            .keyName("string")
            .disks(AsConfigurationV1InstanceConfigDiskArgs.builder()
                .diskType("string")
                .size(0)
                .volumeType("string")
                .kmsId("string")
                .build())
            .flavor("string")
            .image("string")
            .instanceId("string")
            .metadata(Map.of("string", "string"))
            .personalities(AsConfigurationV1InstanceConfigPersonalityArgs.builder()
                .content("string")
                .path("string")
                .build())
            .publicIp(AsConfigurationV1InstanceConfigPublicIpArgs.builder()
                .eip(AsConfigurationV1InstanceConfigPublicIpEipArgs.builder()
                    .bandwidth(AsConfigurationV1InstanceConfigPublicIpEipBandwidthArgs.builder()
                        .chargingMode("string")
                        .shareType("string")
                        .size(0)
                        .build())
                    .ipType("string")
                    .build())
                .build())
            .securityGroups("string")
            .userData("string")
            .build())
        .scalingConfigurationName("string")
        .asConfigurationV1Id("string")
        .region("string")
        .build());
    
    as_configuration_v1_resource = opentelekomcloud.AsConfigurationV1("asConfigurationV1Resource",
        instance_config={
            "key_name": "string",
            "disks": [{
                "disk_type": "string",
                "size": 0,
                "volume_type": "string",
                "kms_id": "string",
            }],
            "flavor": "string",
            "image": "string",
            "instance_id": "string",
            "metadata": {
                "string": "string",
            },
            "personalities": [{
                "content": "string",
                "path": "string",
            }],
            "public_ip": {
                "eip": {
                    "bandwidth": {
                        "charging_mode": "string",
                        "share_type": "string",
                        "size": 0,
                    },
                    "ip_type": "string",
                },
            },
            "security_groups": ["string"],
            "user_data": "string",
        },
        scaling_configuration_name="string",
        as_configuration_v1_id="string",
        region="string")
    
    const asConfigurationV1Resource = new opentelekomcloud.AsConfigurationV1("asConfigurationV1Resource", {
        instanceConfig: {
            keyName: "string",
            disks: [{
                diskType: "string",
                size: 0,
                volumeType: "string",
                kmsId: "string",
            }],
            flavor: "string",
            image: "string",
            instanceId: "string",
            metadata: {
                string: "string",
            },
            personalities: [{
                content: "string",
                path: "string",
            }],
            publicIp: {
                eip: {
                    bandwidth: {
                        chargingMode: "string",
                        shareType: "string",
                        size: 0,
                    },
                    ipType: "string",
                },
            },
            securityGroups: ["string"],
            userData: "string",
        },
        scalingConfigurationName: "string",
        asConfigurationV1Id: "string",
        region: "string",
    });
    
    type: opentelekomcloud:AsConfigurationV1
    properties:
        asConfigurationV1Id: string
        instanceConfig:
            disks:
                - diskType: string
                  kmsId: string
                  size: 0
                  volumeType: string
            flavor: string
            image: string
            instanceId: string
            keyName: string
            metadata:
                string: string
            personalities:
                - content: string
                  path: string
            publicIp:
                eip:
                    bandwidth:
                        chargingMode: string
                        shareType: string
                        size: 0
                    ipType: string
            securityGroups:
                - string
            userData: string
        region: string
        scalingConfigurationName: string
    

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

    InstanceConfig AsConfigurationV1InstanceConfig
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    ScalingConfigurationName string
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    AsConfigurationV1Id string
    Specifies the AS configuration ID.
    Region string
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    InstanceConfig AsConfigurationV1InstanceConfigArgs
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    ScalingConfigurationName string
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    AsConfigurationV1Id string
    Specifies the AS configuration ID.
    Region string
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    instanceConfig AsConfigurationV1InstanceConfig
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    scalingConfigurationName String
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    asConfigurationV1Id String
    Specifies the AS configuration ID.
    region String
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    instanceConfig AsConfigurationV1InstanceConfig
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    scalingConfigurationName string
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    asConfigurationV1Id string
    Specifies the AS configuration ID.
    region string
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    instance_config AsConfigurationV1InstanceConfigArgs
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    scaling_configuration_name str
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    as_configuration_v1_id str
    Specifies the AS configuration ID.
    region str
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    instanceConfig Property Map
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    scalingConfigurationName String
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    asConfigurationV1Id String
    Specifies the AS configuration ID.
    region String
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing AsConfigurationV1 Resource

    Get an existing AsConfigurationV1 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?: AsConfigurationV1State, opts?: CustomResourceOptions): AsConfigurationV1
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            as_configuration_v1_id: Optional[str] = None,
            instance_config: Optional[AsConfigurationV1InstanceConfigArgs] = None,
            region: Optional[str] = None,
            scaling_configuration_name: Optional[str] = None) -> AsConfigurationV1
    func GetAsConfigurationV1(ctx *Context, name string, id IDInput, state *AsConfigurationV1State, opts ...ResourceOption) (*AsConfigurationV1, error)
    public static AsConfigurationV1 Get(string name, Input<string> id, AsConfigurationV1State? state, CustomResourceOptions? opts = null)
    public static AsConfigurationV1 get(String name, Output<String> id, AsConfigurationV1State state, CustomResourceOptions options)
    resources:  _:    type: opentelekomcloud:AsConfigurationV1    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AsConfigurationV1Id string
    Specifies the AS configuration ID.
    InstanceConfig AsConfigurationV1InstanceConfig
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    Region string
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    ScalingConfigurationName string
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    AsConfigurationV1Id string
    Specifies the AS configuration ID.
    InstanceConfig AsConfigurationV1InstanceConfigArgs
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    Region string
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    ScalingConfigurationName string
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    asConfigurationV1Id String
    Specifies the AS configuration ID.
    instanceConfig AsConfigurationV1InstanceConfig
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    region String
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    scalingConfigurationName String
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    asConfigurationV1Id string
    Specifies the AS configuration ID.
    instanceConfig AsConfigurationV1InstanceConfig
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    region string
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    scalingConfigurationName string
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    as_configuration_v1_id str
    Specifies the AS configuration ID.
    instance_config AsConfigurationV1InstanceConfigArgs
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    region str
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    scaling_configuration_name str
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.
    asConfigurationV1Id String
    Specifies the AS configuration ID.
    instanceConfig Property Map
    The information about instance configurations. The instance_config dictionary data structure is documented below.
    region String
    The region in which to obtain the V1 AutoScaling client. If omitted, the region argument of the provider is used. Changing this creates a new group.
    scalingConfigurationName String
    The name of the AS configuration. The name can contain letters, digits, underscores(_), and hyphens(-), and cannot exceed 64 characters.

    Supporting Types

    AsConfigurationV1InstanceConfig, AsConfigurationV1InstanceConfigArgs

    KeyName string
    The name of the SSH key pair used to log in to the instance.
    Disks List<AsConfigurationV1InstanceConfigDisk>
    The disk group information. System disks are mandatory and data disks are optional. The dick structure is described below.
    Flavor string
    The flavor ID. By default, it tries to get from env by OS_FLAVOR_ID.
    Image string
    The image ID. By default, it tries to get from env by OS_IMAGE_ID.
    InstanceId string
    When using the existing instance specifications as the template to create AS configurations, specify this argument. In this case, flavor, image, and disk arguments do not take effect. If the instance_id argument is not specified, flavor, image, and disk arguments are mandatory.
    Metadata Dictionary<string, string>
    Metadata key/value pairs to make available from within the instance.
    Personalities List<AsConfigurationV1InstanceConfigPersonality>
    Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
    PublicIp AsConfigurationV1InstanceConfigPublicIp
    The elastic IP address of the instance. The public_ip structure is described below.
    SecurityGroups List<string>
    An array of one or more security group IDs to associate with the AS configuration.
    UserData string
    The user data to provide when launching the instance. The file content must be encoded with Base64.
    KeyName string
    The name of the SSH key pair used to log in to the instance.
    Disks []AsConfigurationV1InstanceConfigDisk
    The disk group information. System disks are mandatory and data disks are optional. The dick structure is described below.
    Flavor string
    The flavor ID. By default, it tries to get from env by OS_FLAVOR_ID.
    Image string
    The image ID. By default, it tries to get from env by OS_IMAGE_ID.
    InstanceId string
    When using the existing instance specifications as the template to create AS configurations, specify this argument. In this case, flavor, image, and disk arguments do not take effect. If the instance_id argument is not specified, flavor, image, and disk arguments are mandatory.
    Metadata map[string]string
    Metadata key/value pairs to make available from within the instance.
    Personalities []AsConfigurationV1InstanceConfigPersonality
    Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
    PublicIp AsConfigurationV1InstanceConfigPublicIp
    The elastic IP address of the instance. The public_ip structure is described below.
    SecurityGroups []string
    An array of one or more security group IDs to associate with the AS configuration.
    UserData string
    The user data to provide when launching the instance. The file content must be encoded with Base64.
    keyName String
    The name of the SSH key pair used to log in to the instance.
    disks List<AsConfigurationV1InstanceConfigDisk>
    The disk group information. System disks are mandatory and data disks are optional. The dick structure is described below.
    flavor String
    The flavor ID. By default, it tries to get from env by OS_FLAVOR_ID.
    image String
    The image ID. By default, it tries to get from env by OS_IMAGE_ID.
    instanceId String
    When using the existing instance specifications as the template to create AS configurations, specify this argument. In this case, flavor, image, and disk arguments do not take effect. If the instance_id argument is not specified, flavor, image, and disk arguments are mandatory.
    metadata Map<String,String>
    Metadata key/value pairs to make available from within the instance.
    personalities List<AsConfigurationV1InstanceConfigPersonality>
    Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
    publicIp AsConfigurationV1InstanceConfigPublicIp
    The elastic IP address of the instance. The public_ip structure is described below.
    securityGroups List<String>
    An array of one or more security group IDs to associate with the AS configuration.
    userData String
    The user data to provide when launching the instance. The file content must be encoded with Base64.
    keyName string
    The name of the SSH key pair used to log in to the instance.
    disks AsConfigurationV1InstanceConfigDisk[]
    The disk group information. System disks are mandatory and data disks are optional. The dick structure is described below.
    flavor string
    The flavor ID. By default, it tries to get from env by OS_FLAVOR_ID.
    image string
    The image ID. By default, it tries to get from env by OS_IMAGE_ID.
    instanceId string
    When using the existing instance specifications as the template to create AS configurations, specify this argument. In this case, flavor, image, and disk arguments do not take effect. If the instance_id argument is not specified, flavor, image, and disk arguments are mandatory.
    metadata {[key: string]: string}
    Metadata key/value pairs to make available from within the instance.
    personalities AsConfigurationV1InstanceConfigPersonality[]
    Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
    publicIp AsConfigurationV1InstanceConfigPublicIp
    The elastic IP address of the instance. The public_ip structure is described below.
    securityGroups string[]
    An array of one or more security group IDs to associate with the AS configuration.
    userData string
    The user data to provide when launching the instance. The file content must be encoded with Base64.
    key_name str
    The name of the SSH key pair used to log in to the instance.
    disks Sequence[AsConfigurationV1InstanceConfigDisk]
    The disk group information. System disks are mandatory and data disks are optional. The dick structure is described below.
    flavor str
    The flavor ID. By default, it tries to get from env by OS_FLAVOR_ID.
    image str
    The image ID. By default, it tries to get from env by OS_IMAGE_ID.
    instance_id str
    When using the existing instance specifications as the template to create AS configurations, specify this argument. In this case, flavor, image, and disk arguments do not take effect. If the instance_id argument is not specified, flavor, image, and disk arguments are mandatory.
    metadata Mapping[str, str]
    Metadata key/value pairs to make available from within the instance.
    personalities Sequence[AsConfigurationV1InstanceConfigPersonality]
    Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
    public_ip AsConfigurationV1InstanceConfigPublicIp
    The elastic IP address of the instance. The public_ip structure is described below.
    security_groups Sequence[str]
    An array of one or more security group IDs to associate with the AS configuration.
    user_data str
    The user data to provide when launching the instance. The file content must be encoded with Base64.
    keyName String
    The name of the SSH key pair used to log in to the instance.
    disks List<Property Map>
    The disk group information. System disks are mandatory and data disks are optional. The dick structure is described below.
    flavor String
    The flavor ID. By default, it tries to get from env by OS_FLAVOR_ID.
    image String
    The image ID. By default, it tries to get from env by OS_IMAGE_ID.
    instanceId String
    When using the existing instance specifications as the template to create AS configurations, specify this argument. In this case, flavor, image, and disk arguments do not take effect. If the instance_id argument is not specified, flavor, image, and disk arguments are mandatory.
    metadata Map<String>
    Metadata key/value pairs to make available from within the instance.
    personalities List<Property Map>
    Customize the personality of an instance by defining one or more files and their contents. The personality structure is described below.
    publicIp Property Map
    The elastic IP address of the instance. The public_ip structure is described below.
    securityGroups List<String>
    An array of one or more security group IDs to associate with the AS configuration.
    userData String
    The user data to provide when launching the instance. The file content must be encoded with Base64.

    AsConfigurationV1InstanceConfigDisk, AsConfigurationV1InstanceConfigDiskArgs

    DiskType string
    Specifies a disk type. The options are as follows:

    • DATA: indicates a data disk.
    • SYS: indicates a system disk.
    Size double
    The disk size. The unit is GB. The system disk size ranges from 4 to 32768 and must be greater than or equal to the minimum size (min_disk value) of the system disk specified in the image. The data disk size ranges from 10 to 32768.
    VolumeType string

    Specifies the ECS system disk type. The disk type must match the available disk type.

    • SATA: common I/O disk type.
    • SAS: high I/O disk type.
    • SSD: ultra-high I/O disk type.
    • co-p1: high I/O (performance-optimized I) disk type.
    • uh-l1: ultra-high I/O (latency-optimized) disk type.

    NOTE: Common I/O (SATA) will reach end of life, end of 2025.

    ->For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.

    KmsId string
    The Encryption KMS ID of the data disk.
    DiskType string
    Specifies a disk type. The options are as follows:

    • DATA: indicates a data disk.
    • SYS: indicates a system disk.
    Size float64
    The disk size. The unit is GB. The system disk size ranges from 4 to 32768 and must be greater than or equal to the minimum size (min_disk value) of the system disk specified in the image. The data disk size ranges from 10 to 32768.
    VolumeType string

    Specifies the ECS system disk type. The disk type must match the available disk type.

    • SATA: common I/O disk type.
    • SAS: high I/O disk type.
    • SSD: ultra-high I/O disk type.
    • co-p1: high I/O (performance-optimized I) disk type.
    • uh-l1: ultra-high I/O (latency-optimized) disk type.

    NOTE: Common I/O (SATA) will reach end of life, end of 2025.

    ->For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.

    KmsId string
    The Encryption KMS ID of the data disk.
    diskType String
    Specifies a disk type. The options are as follows:

    • DATA: indicates a data disk.
    • SYS: indicates a system disk.
    size Double
    The disk size. The unit is GB. The system disk size ranges from 4 to 32768 and must be greater than or equal to the minimum size (min_disk value) of the system disk specified in the image. The data disk size ranges from 10 to 32768.
    volumeType String

    Specifies the ECS system disk type. The disk type must match the available disk type.

    • SATA: common I/O disk type.
    • SAS: high I/O disk type.
    • SSD: ultra-high I/O disk type.
    • co-p1: high I/O (performance-optimized I) disk type.
    • uh-l1: ultra-high I/O (latency-optimized) disk type.

    NOTE: Common I/O (SATA) will reach end of life, end of 2025.

    ->For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.

    kmsId String
    The Encryption KMS ID of the data disk.
    diskType string
    Specifies a disk type. The options are as follows:

    • DATA: indicates a data disk.
    • SYS: indicates a system disk.
    size number
    The disk size. The unit is GB. The system disk size ranges from 4 to 32768 and must be greater than or equal to the minimum size (min_disk value) of the system disk specified in the image. The data disk size ranges from 10 to 32768.
    volumeType string

    Specifies the ECS system disk type. The disk type must match the available disk type.

    • SATA: common I/O disk type.
    • SAS: high I/O disk type.
    • SSD: ultra-high I/O disk type.
    • co-p1: high I/O (performance-optimized I) disk type.
    • uh-l1: ultra-high I/O (latency-optimized) disk type.

    NOTE: Common I/O (SATA) will reach end of life, end of 2025.

    ->For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.

    kmsId string
    The Encryption KMS ID of the data disk.
    disk_type str
    Specifies a disk type. The options are as follows:

    • DATA: indicates a data disk.
    • SYS: indicates a system disk.
    size float
    The disk size. The unit is GB. The system disk size ranges from 4 to 32768 and must be greater than or equal to the minimum size (min_disk value) of the system disk specified in the image. The data disk size ranges from 10 to 32768.
    volume_type str

    Specifies the ECS system disk type. The disk type must match the available disk type.

    • SATA: common I/O disk type.
    • SAS: high I/O disk type.
    • SSD: ultra-high I/O disk type.
    • co-p1: high I/O (performance-optimized I) disk type.
    • uh-l1: ultra-high I/O (latency-optimized) disk type.

    NOTE: Common I/O (SATA) will reach end of life, end of 2025.

    ->For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.

    kms_id str
    The Encryption KMS ID of the data disk.
    diskType String
    Specifies a disk type. The options are as follows:

    • DATA: indicates a data disk.
    • SYS: indicates a system disk.
    size Number
    The disk size. The unit is GB. The system disk size ranges from 4 to 32768 and must be greater than or equal to the minimum size (min_disk value) of the system disk specified in the image. The data disk size ranges from 10 to 32768.
    volumeType String

    Specifies the ECS system disk type. The disk type must match the available disk type.

    • SATA: common I/O disk type.
    • SAS: high I/O disk type.
    • SSD: ultra-high I/O disk type.
    • co-p1: high I/O (performance-optimized I) disk type.
    • uh-l1: ultra-high I/O (latency-optimized) disk type.

    NOTE: Common I/O (SATA) will reach end of life, end of 2025.

    ->For HANA, HL1, and HL2 ECSs, use co-p1 and uh-l1 disks. For other ECSs, do not use co-p1 or uh-l1 disks.

    kmsId String
    The Encryption KMS ID of the data disk.

    AsConfigurationV1InstanceConfigPersonality, AsConfigurationV1InstanceConfigPersonalityArgs

    Content string
    Path string
    The absolute path of the destination file.
    Content string
    Path string
    The absolute path of the destination file.
    content String
    path String
    The absolute path of the destination file.
    content string
    path string
    The absolute path of the destination file.
    content str
    path str
    The absolute path of the destination file.
    content String
    path String
    The absolute path of the destination file.

    AsConfigurationV1InstanceConfigPublicIp, AsConfigurationV1InstanceConfigPublicIpArgs

    Eip AsConfigurationV1InstanceConfigPublicIpEip
    The configuration parameter for creating an elastic IP address that will be automatically assigned to the instance. The eip structure is described below.
    Eip AsConfigurationV1InstanceConfigPublicIpEip
    The configuration parameter for creating an elastic IP address that will be automatically assigned to the instance. The eip structure is described below.
    eip AsConfigurationV1InstanceConfigPublicIpEip
    The configuration parameter for creating an elastic IP address that will be automatically assigned to the instance. The eip structure is described below.
    eip AsConfigurationV1InstanceConfigPublicIpEip
    The configuration parameter for creating an elastic IP address that will be automatically assigned to the instance. The eip structure is described below.
    eip AsConfigurationV1InstanceConfigPublicIpEip
    The configuration parameter for creating an elastic IP address that will be automatically assigned to the instance. The eip structure is described below.
    eip Property Map
    The configuration parameter for creating an elastic IP address that will be automatically assigned to the instance. The eip structure is described below.

    AsConfigurationV1InstanceConfigPublicIpEip, AsConfigurationV1InstanceConfigPublicIpEipArgs

    Bandwidth AsConfigurationV1InstanceConfigPublicIpEipBandwidth
    The bandwidth information. The structure is described below.
    IpType string
    The IP address type. The system only supports 5_bgp and 5_mailbgp.
    Bandwidth AsConfigurationV1InstanceConfigPublicIpEipBandwidth
    The bandwidth information. The structure is described below.
    IpType string
    The IP address type. The system only supports 5_bgp and 5_mailbgp.
    bandwidth AsConfigurationV1InstanceConfigPublicIpEipBandwidth
    The bandwidth information. The structure is described below.
    ipType String
    The IP address type. The system only supports 5_bgp and 5_mailbgp.
    bandwidth AsConfigurationV1InstanceConfigPublicIpEipBandwidth
    The bandwidth information. The structure is described below.
    ipType string
    The IP address type. The system only supports 5_bgp and 5_mailbgp.
    bandwidth AsConfigurationV1InstanceConfigPublicIpEipBandwidth
    The bandwidth information. The structure is described below.
    ip_type str
    The IP address type. The system only supports 5_bgp and 5_mailbgp.
    bandwidth Property Map
    The bandwidth information. The structure is described below.
    ipType String
    The IP address type. The system only supports 5_bgp and 5_mailbgp.

    AsConfigurationV1InstanceConfigPublicIpEipBandwidth, AsConfigurationV1InstanceConfigPublicIpEipBandwidthArgs

    ChargingMode string
    The bandwidth charging mode. The system only supports traffic.
    ShareType string
    The bandwidth sharing type. The system only supports PER.
    Size double

    The bandwidth (Mbit/s). The value range is 1 to 500.

    ->The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.

    ChargingMode string
    The bandwidth charging mode. The system only supports traffic.
    ShareType string
    The bandwidth sharing type. The system only supports PER.
    Size float64

    The bandwidth (Mbit/s). The value range is 1 to 500.

    ->The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.

    chargingMode String
    The bandwidth charging mode. The system only supports traffic.
    shareType String
    The bandwidth sharing type. The system only supports PER.
    size Double

    The bandwidth (Mbit/s). The value range is 1 to 500.

    ->The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.

    chargingMode string
    The bandwidth charging mode. The system only supports traffic.
    shareType string
    The bandwidth sharing type. The system only supports PER.
    size number

    The bandwidth (Mbit/s). The value range is 1 to 500.

    ->The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.

    charging_mode str
    The bandwidth charging mode. The system only supports traffic.
    share_type str
    The bandwidth sharing type. The system only supports PER.
    size float

    The bandwidth (Mbit/s). The value range is 1 to 500.

    ->The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.

    chargingMode String
    The bandwidth charging mode. The system only supports traffic.
    shareType String
    The bandwidth sharing type. The system only supports PER.
    size Number

    The bandwidth (Mbit/s). The value range is 1 to 500.

    ->The specific range may vary depending on the configuration in each region. You can see the bandwidth range of each region on the management console. The minimum unit is 1 Mbit/s if the allowed bandwidth size ranges from 0 to 300 Mbit/s. The minimum unit is 50 Mbit/s if the allowed bandwidth size ranges 300 Mbit/s to 500 Mbit/s.

    Package Details

    Repository
    opentelekomcloud opentelekomcloud/terraform-provider-opentelekomcloud
    License
    Notes
    This Pulumi package is based on the opentelekomcloud Terraform Provider.
    opentelekomcloud logo
    opentelekomcloud 1.36.37 published on Thursday, Apr 24, 2025 by opentelekomcloud