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

flexibleengine.DdmSchema

Explore with Pulumi AI

flexibleengine logo
flexibleengine 1.46.0 published on Monday, Apr 14, 2025 by flexibleenginecloud

    Manages a DDM schema resource within FlexibleEngine.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as flexibleengine from "@pulumi/flexibleengine";
    
    const testVpcV1 = new flexibleengine.VpcV1("testVpcV1", {cidr: "192.168.0.0/24"});
    const testVpcSubnetV1 = new flexibleengine.VpcSubnetV1("testVpcSubnetV1", {
        cidr: "192.168.0.0/24",
        gatewayIp: "192.168.0.1",
        vpcId: testVpcV1.vpcV1Id,
    });
    const testNetworkingSecgroupV2 = new flexibleengine.NetworkingSecgroupV2("testNetworkingSecgroupV2", {});
    const testNetworkingSecgroupRuleV2 = new flexibleengine.NetworkingSecgroupRuleV2("testNetworkingSecgroupRuleV2", {
        securityGroupId: testNetworkingSecgroupV2.networkingSecgroupV2Id,
        direction: "ingress",
        ethertype: "IPv4",
        remoteGroupId: testNetworkingSecgroupV2.networkingSecgroupV2Id,
    });
    const testAvailabilityZones = flexibleengine.getAvailabilityZones({});
    const testDdmEngines = flexibleengine.getDdmEngines({
        version: "3.0.8.5",
    });
    const testDdmFlavors = testDdmEngines.then(testDdmEngines => flexibleengine.getDdmFlavors({
        engineId: testDdmEngines.engines?.[0]?.id,
        cpuArch: "X86",
    }));
    const testDdmInstance = new flexibleengine.DdmInstance("testDdmInstance", {
        flavorId: testDdmFlavors.then(testDdmFlavors => testDdmFlavors.flavors?.[0]?.id),
        nodeNum: 2,
        engineId: testDdmEngines.then(testDdmEngines => testDdmEngines.engines?.[0]?.id),
        vpcId: testVpcV1.vpcV1Id,
        subnetId: testVpcSubnetV1.vpcSubnetV1Id,
        securityGroupId: testNetworkingSecgroupV2.networkingSecgroupV2Id,
        availabilityZones: [testAvailabilityZones.then(testAvailabilityZones => testAvailabilityZones.names?.[0])],
    });
    const testRdsFlavorsV3 = flexibleengine.getRdsFlavorsV3({
        dbType: "MySQL",
        dbVersion: "5.7",
        instanceMode: "single",
        vcpus: 2,
        memory: 4,
    });
    const testRdsInstanceV3 = new flexibleengine.RdsInstanceV3("testRdsInstanceV3", {
        flavor: testRdsFlavorsV3.then(testRdsFlavorsV3 => testRdsFlavorsV3.flavors?.[0]?.name),
        securityGroupId: testNetworkingSecgroupV2.networkingSecgroupV2Id,
        subnetId: testVpcSubnetV1.vpcSubnetV1Id,
        vpcId: testVpcV1.vpcV1Id,
        availabilityZones: [testAvailabilityZones.then(testAvailabilityZones => testAvailabilityZones.names?.[0])],
        db: {
            password: "test_password_123",
            type: "MySQL",
            version: "5.7",
            port: 3306,
        },
        volume: {
            type: "ULTRAHIGH",
            size: 40,
        },
    });
    const testDdmSchema = new flexibleengine.DdmSchema("testDdmSchema", {
        instanceId: testDdmInstance.ddmInstanceId,
        shardMode: "single",
        shardNumber: 1,
        dataNodes: [{
            id: testRdsInstanceV3.rdsInstanceV3Id,
            adminUser: "root",
            adminPassword: "test_password_123",
        }],
    });
    
    import pulumi
    import pulumi_flexibleengine as flexibleengine
    
    test_vpc_v1 = flexibleengine.VpcV1("testVpcV1", cidr="192.168.0.0/24")
    test_vpc_subnet_v1 = flexibleengine.VpcSubnetV1("testVpcSubnetV1",
        cidr="192.168.0.0/24",
        gateway_ip="192.168.0.1",
        vpc_id=test_vpc_v1.vpc_v1_id)
    test_networking_secgroup_v2 = flexibleengine.NetworkingSecgroupV2("testNetworkingSecgroupV2")
    test_networking_secgroup_rule_v2 = flexibleengine.NetworkingSecgroupRuleV2("testNetworkingSecgroupRuleV2",
        security_group_id=test_networking_secgroup_v2.networking_secgroup_v2_id,
        direction="ingress",
        ethertype="IPv4",
        remote_group_id=test_networking_secgroup_v2.networking_secgroup_v2_id)
    test_availability_zones = flexibleengine.get_availability_zones()
    test_ddm_engines = flexibleengine.get_ddm_engines(version="3.0.8.5")
    test_ddm_flavors = flexibleengine.get_ddm_flavors(engine_id=test_ddm_engines.engines[0].id,
        cpu_arch="X86")
    test_ddm_instance = flexibleengine.DdmInstance("testDdmInstance",
        flavor_id=test_ddm_flavors.flavors[0].id,
        node_num=2,
        engine_id=test_ddm_engines.engines[0].id,
        vpc_id=test_vpc_v1.vpc_v1_id,
        subnet_id=test_vpc_subnet_v1.vpc_subnet_v1_id,
        security_group_id=test_networking_secgroup_v2.networking_secgroup_v2_id,
        availability_zones=[test_availability_zones.names[0]])
    test_rds_flavors_v3 = flexibleengine.get_rds_flavors_v3(db_type="MySQL",
        db_version="5.7",
        instance_mode="single",
        vcpus=2,
        memory=4)
    test_rds_instance_v3 = flexibleengine.RdsInstanceV3("testRdsInstanceV3",
        flavor=test_rds_flavors_v3.flavors[0].name,
        security_group_id=test_networking_secgroup_v2.networking_secgroup_v2_id,
        subnet_id=test_vpc_subnet_v1.vpc_subnet_v1_id,
        vpc_id=test_vpc_v1.vpc_v1_id,
        availability_zones=[test_availability_zones.names[0]],
        db={
            "password": "test_password_123",
            "type": "MySQL",
            "version": "5.7",
            "port": 3306,
        },
        volume={
            "type": "ULTRAHIGH",
            "size": 40,
        })
    test_ddm_schema = flexibleengine.DdmSchema("testDdmSchema",
        instance_id=test_ddm_instance.ddm_instance_id,
        shard_mode="single",
        shard_number=1,
        data_nodes=[{
            "id": test_rds_instance_v3.rds_instance_v3_id,
            "admin_user": "root",
            "admin_password": "test_password_123",
        }])
    
    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 {
    		testVpcV1, err := flexibleengine.NewVpcV1(ctx, "testVpcV1", &flexibleengine.VpcV1Args{
    			Cidr: pulumi.String("192.168.0.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		testVpcSubnetV1, err := flexibleengine.NewVpcSubnetV1(ctx, "testVpcSubnetV1", &flexibleengine.VpcSubnetV1Args{
    			Cidr:      pulumi.String("192.168.0.0/24"),
    			GatewayIp: pulumi.String("192.168.0.1"),
    			VpcId:     testVpcV1.VpcV1Id,
    		})
    		if err != nil {
    			return err
    		}
    		testNetworkingSecgroupV2, err := flexibleengine.NewNetworkingSecgroupV2(ctx, "testNetworkingSecgroupV2", nil)
    		if err != nil {
    			return err
    		}
    		_, err = flexibleengine.NewNetworkingSecgroupRuleV2(ctx, "testNetworkingSecgroupRuleV2", &flexibleengine.NetworkingSecgroupRuleV2Args{
    			SecurityGroupId: testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
    			Direction:       pulumi.String("ingress"),
    			Ethertype:       pulumi.String("IPv4"),
    			RemoteGroupId:   testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
    		})
    		if err != nil {
    			return err
    		}
    		testAvailabilityZones, err := flexibleengine.GetAvailabilityZones(ctx, &flexibleengine.GetAvailabilityZonesArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		testDdmEngines, err := flexibleengine.GetDdmEngines(ctx, &flexibleengine.GetDdmEnginesArgs{
    			Version: pulumi.StringRef("3.0.8.5"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		testDdmFlavors, err := flexibleengine.GetDdmFlavors(ctx, &flexibleengine.GetDdmFlavorsArgs{
    			EngineId: testDdmEngines.Engines[0].Id,
    			CpuArch:  pulumi.StringRef("X86"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		testDdmInstance, err := flexibleengine.NewDdmInstance(ctx, "testDdmInstance", &flexibleengine.DdmInstanceArgs{
    			FlavorId:        pulumi.String(testDdmFlavors.Flavors[0].Id),
    			NodeNum:         pulumi.Float64(2),
    			EngineId:        pulumi.String(testDdmEngines.Engines[0].Id),
    			VpcId:           testVpcV1.VpcV1Id,
    			SubnetId:        testVpcSubnetV1.VpcSubnetV1Id,
    			SecurityGroupId: testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String(testAvailabilityZones.Names[0]),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		testRdsFlavorsV3, err := flexibleengine.GetRdsFlavorsV3(ctx, &flexibleengine.GetRdsFlavorsV3Args{
    			DbType:       "MySQL",
    			DbVersion:    pulumi.StringRef("5.7"),
    			InstanceMode: pulumi.StringRef("single"),
    			Vcpus:        pulumi.Float64Ref(2),
    			Memory:       pulumi.Float64Ref(4),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		testRdsInstanceV3, err := flexibleengine.NewRdsInstanceV3(ctx, "testRdsInstanceV3", &flexibleengine.RdsInstanceV3Args{
    			Flavor:          pulumi.String(testRdsFlavorsV3.Flavors[0].Name),
    			SecurityGroupId: testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
    			SubnetId:        testVpcSubnetV1.VpcSubnetV1Id,
    			VpcId:           testVpcV1.VpcV1Id,
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String(testAvailabilityZones.Names[0]),
    			},
    			Db: &flexibleengine.RdsInstanceV3DbArgs{
    				Password: pulumi.String("test_password_123"),
    				Type:     pulumi.String("MySQL"),
    				Version:  pulumi.String("5.7"),
    				Port:     pulumi.Float64(3306),
    			},
    			Volume: &flexibleengine.RdsInstanceV3VolumeArgs{
    				Type: pulumi.String("ULTRAHIGH"),
    				Size: pulumi.Float64(40),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = flexibleengine.NewDdmSchema(ctx, "testDdmSchema", &flexibleengine.DdmSchemaArgs{
    			InstanceId:  testDdmInstance.DdmInstanceId,
    			ShardMode:   pulumi.String("single"),
    			ShardNumber: pulumi.Float64(1),
    			DataNodes: flexibleengine.DdmSchemaDataNodeArray{
    				&flexibleengine.DdmSchemaDataNodeArgs{
    					Id:            testRdsInstanceV3.RdsInstanceV3Id,
    					AdminUser:     pulumi.String("root"),
    					AdminPassword: pulumi.String("test_password_123"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Flexibleengine = Pulumi.Flexibleengine;
    
    return await Deployment.RunAsync(() => 
    {
        var testVpcV1 = new Flexibleengine.VpcV1("testVpcV1", new()
        {
            Cidr = "192.168.0.0/24",
        });
    
        var testVpcSubnetV1 = new Flexibleengine.VpcSubnetV1("testVpcSubnetV1", new()
        {
            Cidr = "192.168.0.0/24",
            GatewayIp = "192.168.0.1",
            VpcId = testVpcV1.VpcV1Id,
        });
    
        var testNetworkingSecgroupV2 = new Flexibleengine.NetworkingSecgroupV2("testNetworkingSecgroupV2");
    
        var testNetworkingSecgroupRuleV2 = new Flexibleengine.NetworkingSecgroupRuleV2("testNetworkingSecgroupRuleV2", new()
        {
            SecurityGroupId = testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
            Direction = "ingress",
            Ethertype = "IPv4",
            RemoteGroupId = testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
        });
    
        var testAvailabilityZones = Flexibleengine.GetAvailabilityZones.Invoke();
    
        var testDdmEngines = Flexibleengine.GetDdmEngines.Invoke(new()
        {
            Version = "3.0.8.5",
        });
    
        var testDdmFlavors = Flexibleengine.GetDdmFlavors.Invoke(new()
        {
            EngineId = testDdmEngines.Apply(getDdmEnginesResult => getDdmEnginesResult.Engines[0]?.Id),
            CpuArch = "X86",
        });
    
        var testDdmInstance = new Flexibleengine.DdmInstance("testDdmInstance", new()
        {
            FlavorId = testDdmFlavors.Apply(getDdmFlavorsResult => getDdmFlavorsResult.Flavors[0]?.Id),
            NodeNum = 2,
            EngineId = testDdmEngines.Apply(getDdmEnginesResult => getDdmEnginesResult.Engines[0]?.Id),
            VpcId = testVpcV1.VpcV1Id,
            SubnetId = testVpcSubnetV1.VpcSubnetV1Id,
            SecurityGroupId = testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
            AvailabilityZones = new[]
            {
                testAvailabilityZones.Apply(getAvailabilityZonesResult => getAvailabilityZonesResult.Names[0]),
            },
        });
    
        var testRdsFlavorsV3 = Flexibleengine.GetRdsFlavorsV3.Invoke(new()
        {
            DbType = "MySQL",
            DbVersion = "5.7",
            InstanceMode = "single",
            Vcpus = 2,
            Memory = 4,
        });
    
        var testRdsInstanceV3 = new Flexibleengine.RdsInstanceV3("testRdsInstanceV3", new()
        {
            Flavor = testRdsFlavorsV3.Apply(getRdsFlavorsV3Result => getRdsFlavorsV3Result.Flavors[0]?.Name),
            SecurityGroupId = testNetworkingSecgroupV2.NetworkingSecgroupV2Id,
            SubnetId = testVpcSubnetV1.VpcSubnetV1Id,
            VpcId = testVpcV1.VpcV1Id,
            AvailabilityZones = new[]
            {
                testAvailabilityZones.Apply(getAvailabilityZonesResult => getAvailabilityZonesResult.Names[0]),
            },
            Db = new Flexibleengine.Inputs.RdsInstanceV3DbArgs
            {
                Password = "test_password_123",
                Type = "MySQL",
                Version = "5.7",
                Port = 3306,
            },
            Volume = new Flexibleengine.Inputs.RdsInstanceV3VolumeArgs
            {
                Type = "ULTRAHIGH",
                Size = 40,
            },
        });
    
        var testDdmSchema = new Flexibleengine.DdmSchema("testDdmSchema", new()
        {
            InstanceId = testDdmInstance.DdmInstanceId,
            ShardMode = "single",
            ShardNumber = 1,
            DataNodes = new[]
            {
                new Flexibleengine.Inputs.DdmSchemaDataNodeArgs
                {
                    Id = testRdsInstanceV3.RdsInstanceV3Id,
                    AdminUser = "root",
                    AdminPassword = "test_password_123",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.flexibleengine.VpcV1;
    import com.pulumi.flexibleengine.VpcV1Args;
    import com.pulumi.flexibleengine.VpcSubnetV1;
    import com.pulumi.flexibleengine.VpcSubnetV1Args;
    import com.pulumi.flexibleengine.NetworkingSecgroupV2;
    import com.pulumi.flexibleengine.NetworkingSecgroupRuleV2;
    import com.pulumi.flexibleengine.NetworkingSecgroupRuleV2Args;
    import com.pulumi.flexibleengine.FlexibleengineFunctions;
    import com.pulumi.flexibleengine.inputs.GetAvailabilityZonesArgs;
    import com.pulumi.flexibleengine.inputs.GetDdmEnginesArgs;
    import com.pulumi.flexibleengine.inputs.GetDdmFlavorsArgs;
    import com.pulumi.flexibleengine.DdmInstance;
    import com.pulumi.flexibleengine.DdmInstanceArgs;
    import com.pulumi.flexibleengine.inputs.GetRdsFlavorsV3Args;
    import com.pulumi.flexibleengine.RdsInstanceV3;
    import com.pulumi.flexibleengine.RdsInstanceV3Args;
    import com.pulumi.flexibleengine.inputs.RdsInstanceV3DbArgs;
    import com.pulumi.flexibleengine.inputs.RdsInstanceV3VolumeArgs;
    import com.pulumi.flexibleengine.DdmSchema;
    import com.pulumi.flexibleengine.DdmSchemaArgs;
    import com.pulumi.flexibleengine.inputs.DdmSchemaDataNodeArgs;
    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 testVpcV1 = new VpcV1("testVpcV1", VpcV1Args.builder()
                .cidr("192.168.0.0/24")
                .build());
    
            var testVpcSubnetV1 = new VpcSubnetV1("testVpcSubnetV1", VpcSubnetV1Args.builder()
                .cidr("192.168.0.0/24")
                .gatewayIp("192.168.0.1")
                .vpcId(testVpcV1.vpcV1Id())
                .build());
    
            var testNetworkingSecgroupV2 = new NetworkingSecgroupV2("testNetworkingSecgroupV2");
    
            var testNetworkingSecgroupRuleV2 = new NetworkingSecgroupRuleV2("testNetworkingSecgroupRuleV2", NetworkingSecgroupRuleV2Args.builder()
                .securityGroupId(testNetworkingSecgroupV2.networkingSecgroupV2Id())
                .direction("ingress")
                .ethertype("IPv4")
                .remoteGroupId(testNetworkingSecgroupV2.networkingSecgroupV2Id())
                .build());
    
            final var testAvailabilityZones = FlexibleengineFunctions.getAvailabilityZones();
    
            final var testDdmEngines = FlexibleengineFunctions.getDdmEngines(GetDdmEnginesArgs.builder()
                .version("3.0.8.5")
                .build());
    
            final var testDdmFlavors = FlexibleengineFunctions.getDdmFlavors(GetDdmFlavorsArgs.builder()
                .engineId(testDdmEngines.applyValue(getDdmEnginesResult -> getDdmEnginesResult.engines()[0].id()))
                .cpuArch("X86")
                .build());
    
            var testDdmInstance = new DdmInstance("testDdmInstance", DdmInstanceArgs.builder()
                .flavorId(testDdmFlavors.applyValue(getDdmFlavorsResult -> getDdmFlavorsResult.flavors()[0].id()))
                .nodeNum(2)
                .engineId(testDdmEngines.applyValue(getDdmEnginesResult -> getDdmEnginesResult.engines()[0].id()))
                .vpcId(testVpcV1.vpcV1Id())
                .subnetId(testVpcSubnetV1.vpcSubnetV1Id())
                .securityGroupId(testNetworkingSecgroupV2.networkingSecgroupV2Id())
                .availabilityZones(testAvailabilityZones.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0]))
                .build());
    
            final var testRdsFlavorsV3 = FlexibleengineFunctions.getRdsFlavorsV3(GetRdsFlavorsV3Args.builder()
                .dbType("MySQL")
                .dbVersion("5.7")
                .instanceMode("single")
                .vcpus(2)
                .memory(4)
                .build());
    
            var testRdsInstanceV3 = new RdsInstanceV3("testRdsInstanceV3", RdsInstanceV3Args.builder()
                .flavor(testRdsFlavorsV3.applyValue(getRdsFlavorsV3Result -> getRdsFlavorsV3Result.flavors()[0].name()))
                .securityGroupId(testNetworkingSecgroupV2.networkingSecgroupV2Id())
                .subnetId(testVpcSubnetV1.vpcSubnetV1Id())
                .vpcId(testVpcV1.vpcV1Id())
                .availabilityZones(testAvailabilityZones.applyValue(getAvailabilityZonesResult -> getAvailabilityZonesResult.names()[0]))
                .db(RdsInstanceV3DbArgs.builder()
                    .password("test_password_123")
                    .type("MySQL")
                    .version("5.7")
                    .port(3306)
                    .build())
                .volume(RdsInstanceV3VolumeArgs.builder()
                    .type("ULTRAHIGH")
                    .size(40)
                    .build())
                .build());
    
            var testDdmSchema = new DdmSchema("testDdmSchema", DdmSchemaArgs.builder()
                .instanceId(testDdmInstance.ddmInstanceId())
                .shardMode("single")
                .shardNumber(1)
                .dataNodes(DdmSchemaDataNodeArgs.builder()
                    .id(testRdsInstanceV3.rdsInstanceV3Id())
                    .adminUser("root")
                    .adminPassword("test_password_123")
                    .build())
                .build());
    
        }
    }
    
    resources:
      testVpcV1:
        type: flexibleengine:VpcV1
        properties:
          cidr: 192.168.0.0/24
      testVpcSubnetV1:
        type: flexibleengine:VpcSubnetV1
        properties:
          cidr: 192.168.0.0/24
          gatewayIp: 192.168.0.1
          vpcId: ${testVpcV1.vpcV1Id}
      testNetworkingSecgroupV2:
        type: flexibleengine:NetworkingSecgroupV2
      testNetworkingSecgroupRuleV2:
        type: flexibleengine:NetworkingSecgroupRuleV2
        properties:
          securityGroupId: ${testNetworkingSecgroupV2.networkingSecgroupV2Id}
          direction: ingress
          ethertype: IPv4
          remoteGroupId: ${testNetworkingSecgroupV2.networkingSecgroupV2Id}
      testDdmInstance:
        type: flexibleengine:DdmInstance
        properties:
          flavorId: ${testDdmFlavors.flavors[0].id}
          nodeNum: 2
          engineId: ${testDdmEngines.engines[0].id}
          vpcId: ${testVpcV1.vpcV1Id}
          subnetId: ${testVpcSubnetV1.vpcSubnetV1Id}
          securityGroupId: ${testNetworkingSecgroupV2.networkingSecgroupV2Id}
          availabilityZones:
            - ${testAvailabilityZones.names[0]}
      testRdsInstanceV3:
        type: flexibleengine:RdsInstanceV3
        properties:
          flavor: ${testRdsFlavorsV3.flavors[0].name}
          securityGroupId: ${testNetworkingSecgroupV2.networkingSecgroupV2Id}
          subnetId: ${testVpcSubnetV1.vpcSubnetV1Id}
          vpcId: ${testVpcV1.vpcV1Id}
          availabilityZones:
            - ${testAvailabilityZones.names[0]}
          db:
            password: test_password_123
            type: MySQL
            version: '5.7'
            port: 3306
          volume:
            type: ULTRAHIGH
            size: 40
      testDdmSchema:
        type: flexibleengine:DdmSchema
        properties:
          instanceId: ${testDdmInstance.ddmInstanceId}
          shardMode: single
          shardNumber: 1
          dataNodes:
            - id: ${testRdsInstanceV3.rdsInstanceV3Id}
              adminUser: root
              adminPassword: test_password_123
    variables:
      testAvailabilityZones:
        fn::invoke:
          function: flexibleengine:getAvailabilityZones
          arguments: {}
      testDdmEngines:
        fn::invoke:
          function: flexibleengine:getDdmEngines
          arguments:
            version: 3.0.8.5
      testDdmFlavors:
        fn::invoke:
          function: flexibleengine:getDdmFlavors
          arguments:
            engineId: ${testDdmEngines.engines[0].id}
            cpuArch: X86
      testRdsFlavorsV3:
        fn::invoke:
          function: flexibleengine:getRdsFlavorsV3
          arguments:
            dbType: MySQL
            dbVersion: '5.7'
            instanceMode: single
            vcpus: 2
            memory: 4
    

    Create DdmSchema Resource

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

    Constructor syntax

    new DdmSchema(name: string, args: DdmSchemaArgs, opts?: CustomResourceOptions);
    @overload
    def DdmSchema(resource_name: str,
                  args: DdmSchemaArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def DdmSchema(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  data_nodes: Optional[Sequence[DdmSchemaDataNodeArgs]] = None,
                  instance_id: Optional[str] = None,
                  shard_mode: Optional[str] = None,
                  shard_number: Optional[float] = None,
                  ddm_schema_id: Optional[str] = None,
                  delete_rds_data: Optional[str] = None,
                  name: Optional[str] = None,
                  region: Optional[str] = None,
                  timeouts: Optional[DdmSchemaTimeoutsArgs] = None)
    func NewDdmSchema(ctx *Context, name string, args DdmSchemaArgs, opts ...ResourceOption) (*DdmSchema, error)
    public DdmSchema(string name, DdmSchemaArgs args, CustomResourceOptions? opts = null)
    public DdmSchema(String name, DdmSchemaArgs args)
    public DdmSchema(String name, DdmSchemaArgs args, CustomResourceOptions options)
    
    type: flexibleengine:DdmSchema
    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 DdmSchemaArgs
    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 DdmSchemaArgs
    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 DdmSchemaArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DdmSchemaArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DdmSchemaArgs
    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 ddmSchemaResource = new Flexibleengine.DdmSchema("ddmSchemaResource", new()
    {
        DataNodes = new[]
        {
            new Flexibleengine.Inputs.DdmSchemaDataNodeArgs
            {
                AdminPassword = "string",
                AdminUser = "string",
                Id = "string",
                Name = "string",
                Status = "string",
            },
        },
        InstanceId = "string",
        ShardMode = "string",
        ShardNumber = 0,
        DdmSchemaId = "string",
        DeleteRdsData = "string",
        Name = "string",
        Region = "string",
        Timeouts = new Flexibleengine.Inputs.DdmSchemaTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
        },
    });
    
    example, err := flexibleengine.NewDdmSchema(ctx, "ddmSchemaResource", &flexibleengine.DdmSchemaArgs{
    	DataNodes: flexibleengine.DdmSchemaDataNodeArray{
    		&flexibleengine.DdmSchemaDataNodeArgs{
    			AdminPassword: pulumi.String("string"),
    			AdminUser:     pulumi.String("string"),
    			Id:            pulumi.String("string"),
    			Name:          pulumi.String("string"),
    			Status:        pulumi.String("string"),
    		},
    	},
    	InstanceId:    pulumi.String("string"),
    	ShardMode:     pulumi.String("string"),
    	ShardNumber:   pulumi.Float64(0),
    	DdmSchemaId:   pulumi.String("string"),
    	DeleteRdsData: pulumi.String("string"),
    	Name:          pulumi.String("string"),
    	Region:        pulumi.String("string"),
    	Timeouts: &flexibleengine.DdmSchemaTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    	},
    })
    
    var ddmSchemaResource = new DdmSchema("ddmSchemaResource", DdmSchemaArgs.builder()
        .dataNodes(DdmSchemaDataNodeArgs.builder()
            .adminPassword("string")
            .adminUser("string")
            .id("string")
            .name("string")
            .status("string")
            .build())
        .instanceId("string")
        .shardMode("string")
        .shardNumber(0)
        .ddmSchemaId("string")
        .deleteRdsData("string")
        .name("string")
        .region("string")
        .timeouts(DdmSchemaTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .build())
        .build());
    
    ddm_schema_resource = flexibleengine.DdmSchema("ddmSchemaResource",
        data_nodes=[{
            "admin_password": "string",
            "admin_user": "string",
            "id": "string",
            "name": "string",
            "status": "string",
        }],
        instance_id="string",
        shard_mode="string",
        shard_number=0,
        ddm_schema_id="string",
        delete_rds_data="string",
        name="string",
        region="string",
        timeouts={
            "create": "string",
            "delete": "string",
        })
    
    const ddmSchemaResource = new flexibleengine.DdmSchema("ddmSchemaResource", {
        dataNodes: [{
            adminPassword: "string",
            adminUser: "string",
            id: "string",
            name: "string",
            status: "string",
        }],
        instanceId: "string",
        shardMode: "string",
        shardNumber: 0,
        ddmSchemaId: "string",
        deleteRdsData: "string",
        name: "string",
        region: "string",
        timeouts: {
            create: "string",
            "delete": "string",
        },
    });
    
    type: flexibleengine:DdmSchema
    properties:
        dataNodes:
            - adminPassword: string
              adminUser: string
              id: string
              name: string
              status: string
        ddmSchemaId: string
        deleteRdsData: string
        instanceId: string
        name: string
        region: string
        shardMode: string
        shardNumber: 0
        timeouts:
            create: string
            delete: string
    

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

    DataNodes List<DdmSchemaDataNode>

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    InstanceId string

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    ShardMode string

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    ShardNumber double

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    DdmSchemaId string
    Specifies the ID of the RDS instance associated with the schema.
    DeleteRdsData string

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Region string
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    Timeouts DdmSchemaTimeouts
    DataNodes []DdmSchemaDataNodeArgs

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    InstanceId string

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    ShardMode string

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    ShardNumber float64

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    DdmSchemaId string
    Specifies the ID of the RDS instance associated with the schema.
    DeleteRdsData string

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Region string
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    Timeouts DdmSchemaTimeoutsArgs
    dataNodes List<DdmSchemaDataNode>

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    instanceId String

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    shardMode String

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shardNumber Double

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    ddmSchemaId String
    Specifies the ID of the RDS instance associated with the schema.
    deleteRdsData String

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region String
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    timeouts DdmSchemaTimeouts
    dataNodes DdmSchemaDataNode[]

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    instanceId string

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    shardMode string

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shardNumber number

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    ddmSchemaId string
    Specifies the ID of the RDS instance associated with the schema.
    deleteRdsData string

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region string
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    timeouts DdmSchemaTimeouts
    data_nodes Sequence[DdmSchemaDataNodeArgs]

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    instance_id str

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    shard_mode str

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shard_number float

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    ddm_schema_id str
    Specifies the ID of the RDS instance associated with the schema.
    delete_rds_data str

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    name str

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region str
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    timeouts DdmSchemaTimeoutsArgs
    dataNodes List<Property Map>

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    instanceId String

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    shardMode String

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shardNumber Number

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    ddmSchemaId String
    Specifies the ID of the RDS instance associated with the schema.
    deleteRdsData String

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region String
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    timeouts Property Map

    Outputs

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

    DataVips List<string>
    Indicates the IP address and port number for connecting to the schema.
    Id string
    The provider-assigned unique ID for this managed resource.
    Shards List<DdmSchemaShard>
    Indicates the sharding information of the schema. The Shard structure is documented below.
    Status string
    Indicates the status of the associated RDS instance.
    DataVips []string
    Indicates the IP address and port number for connecting to the schema.
    Id string
    The provider-assigned unique ID for this managed resource.
    Shards []DdmSchemaShard
    Indicates the sharding information of the schema. The Shard structure is documented below.
    Status string
    Indicates the status of the associated RDS instance.
    dataVips List<String>
    Indicates the IP address and port number for connecting to the schema.
    id String
    The provider-assigned unique ID for this managed resource.
    shards List<DdmSchemaShard>
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status String
    Indicates the status of the associated RDS instance.
    dataVips string[]
    Indicates the IP address and port number for connecting to the schema.
    id string
    The provider-assigned unique ID for this managed resource.
    shards DdmSchemaShard[]
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status string
    Indicates the status of the associated RDS instance.
    data_vips Sequence[str]
    Indicates the IP address and port number for connecting to the schema.
    id str
    The provider-assigned unique ID for this managed resource.
    shards Sequence[DdmSchemaShard]
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status str
    Indicates the status of the associated RDS instance.
    dataVips List<String>
    Indicates the IP address and port number for connecting to the schema.
    id String
    The provider-assigned unique ID for this managed resource.
    shards List<Property Map>
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status String
    Indicates the status of the associated RDS instance.

    Look up Existing DdmSchema Resource

    Get an existing DdmSchema 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?: DdmSchemaState, opts?: CustomResourceOptions): DdmSchema
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            data_nodes: Optional[Sequence[DdmSchemaDataNodeArgs]] = None,
            data_vips: Optional[Sequence[str]] = None,
            ddm_schema_id: Optional[str] = None,
            delete_rds_data: Optional[str] = None,
            instance_id: Optional[str] = None,
            name: Optional[str] = None,
            region: Optional[str] = None,
            shard_mode: Optional[str] = None,
            shard_number: Optional[float] = None,
            shards: Optional[Sequence[DdmSchemaShardArgs]] = None,
            status: Optional[str] = None,
            timeouts: Optional[DdmSchemaTimeoutsArgs] = None) -> DdmSchema
    func GetDdmSchema(ctx *Context, name string, id IDInput, state *DdmSchemaState, opts ...ResourceOption) (*DdmSchema, error)
    public static DdmSchema Get(string name, Input<string> id, DdmSchemaState? state, CustomResourceOptions? opts = null)
    public static DdmSchema get(String name, Output<String> id, DdmSchemaState state, CustomResourceOptions options)
    resources:  _:    type: flexibleengine:DdmSchema    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:
    DataNodes List<DdmSchemaDataNode>

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    DataVips List<string>
    Indicates the IP address and port number for connecting to the schema.
    DdmSchemaId string
    Specifies the ID of the RDS instance associated with the schema.
    DeleteRdsData string

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    InstanceId string

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Region string
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    ShardMode string

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    ShardNumber double

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    Shards List<DdmSchemaShard>
    Indicates the sharding information of the schema. The Shard structure is documented below.
    Status string
    Indicates the status of the associated RDS instance.
    Timeouts DdmSchemaTimeouts
    DataNodes []DdmSchemaDataNodeArgs

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    DataVips []string
    Indicates the IP address and port number for connecting to the schema.
    DdmSchemaId string
    Specifies the ID of the RDS instance associated with the schema.
    DeleteRdsData string

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    InstanceId string

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Region string
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    ShardMode string

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    ShardNumber float64

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    Shards []DdmSchemaShardArgs
    Indicates the sharding information of the schema. The Shard structure is documented below.
    Status string
    Indicates the status of the associated RDS instance.
    Timeouts DdmSchemaTimeoutsArgs
    dataNodes List<DdmSchemaDataNode>

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    dataVips List<String>
    Indicates the IP address and port number for connecting to the schema.
    ddmSchemaId String
    Specifies the ID of the RDS instance associated with the schema.
    deleteRdsData String

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    instanceId String

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region String
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    shardMode String

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shardNumber Double

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    shards List<DdmSchemaShard>
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status String
    Indicates the status of the associated RDS instance.
    timeouts DdmSchemaTimeouts
    dataNodes DdmSchemaDataNode[]

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    dataVips string[]
    Indicates the IP address and port number for connecting to the schema.
    ddmSchemaId string
    Specifies the ID of the RDS instance associated with the schema.
    deleteRdsData string

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    instanceId string

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region string
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    shardMode string

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shardNumber number

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    shards DdmSchemaShard[]
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status string
    Indicates the status of the associated RDS instance.
    timeouts DdmSchemaTimeouts
    data_nodes Sequence[DdmSchemaDataNodeArgs]

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    data_vips Sequence[str]
    Indicates the IP address and port number for connecting to the schema.
    ddm_schema_id str
    Specifies the ID of the RDS instance associated with the schema.
    delete_rds_data str

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    instance_id str

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    name str

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region str
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    shard_mode str

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shard_number float

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    shards Sequence[DdmSchemaShardArgs]
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status str
    Indicates the status of the associated RDS instance.
    timeouts DdmSchemaTimeoutsArgs
    dataNodes List<Property Map>

    Specifies the RDS instances associated with the schema.

    Changing this parameter will create a new resource. The DataNode structure is documented below.

    dataVips List<String>
    Indicates the IP address and port number for connecting to the schema.
    ddmSchemaId String
    Specifies the ID of the RDS instance associated with the schema.
    deleteRdsData String

    Specifies whether data stored on the associated DB instances is deleted.

    The DataNode block supports:

    instanceId String

    Specifies the ID of a DDM instance.

    Changing this parameter will create a new resource.

    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    region String
    Specifies the region in which to create the resource. If omitted, the provider-level region will be used. Changing this parameter will create a new resource.
    shardMode String

    Specifies the sharding mode of the schema. Values option: cluster, single.

    • cluster: indicates that the schema is in sharded mode.
    • single: indicates that the schema is in unsharded mode.

    Changing this parameter will create a new resource.

    shardNumber Number

    Specifies the number of shards in the same working mode. The value must be greater than or equal to the number of associated RDS instances and less than or equal to the number of associated instances multiplied by 64.

    Changing this parameter will create a new resource.

    shards List<Property Map>
    Indicates the sharding information of the schema. The Shard structure is documented below.
    status String
    Indicates the status of the associated RDS instance.
    timeouts Property Map

    Supporting Types

    DdmSchemaDataNode, DdmSchemaDataNodeArgs

    AdminPassword string
    Specifies the password for logging in to the associated RDS instance.
    AdminUser string
    Specifies the username for logging in to the associated RDS instance.
    Id string
    Specifies the ID of the RDS instance associated with the schema.
    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Status string
    Indicates the status of the associated RDS instance.
    AdminPassword string
    Specifies the password for logging in to the associated RDS instance.
    AdminUser string
    Specifies the username for logging in to the associated RDS instance.
    Id string
    Specifies the ID of the RDS instance associated with the schema.
    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Status string
    Indicates the status of the associated RDS instance.
    adminPassword String
    Specifies the password for logging in to the associated RDS instance.
    adminUser String
    Specifies the username for logging in to the associated RDS instance.
    id String
    Specifies the ID of the RDS instance associated with the schema.
    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status String
    Indicates the status of the associated RDS instance.
    adminPassword string
    Specifies the password for logging in to the associated RDS instance.
    adminUser string
    Specifies the username for logging in to the associated RDS instance.
    id string
    Specifies the ID of the RDS instance associated with the schema.
    name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status string
    Indicates the status of the associated RDS instance.
    admin_password str
    Specifies the password for logging in to the associated RDS instance.
    admin_user str
    Specifies the username for logging in to the associated RDS instance.
    id str
    Specifies the ID of the RDS instance associated with the schema.
    name str

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status str
    Indicates the status of the associated RDS instance.
    adminPassword String
    Specifies the password for logging in to the associated RDS instance.
    adminUser String
    Specifies the username for logging in to the associated RDS instance.
    id String
    Specifies the ID of the RDS instance associated with the schema.
    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status String
    Indicates the status of the associated RDS instance.

    DdmSchemaShard, DdmSchemaShardArgs

    DbSlot double
    Indicates the number of shards.
    Id string
    Specifies the ID of the RDS instance associated with the schema.
    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Status string
    Indicates the status of the associated RDS instance.
    DbSlot float64
    Indicates the number of shards.
    Id string
    Specifies the ID of the RDS instance associated with the schema.
    Name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    Status string
    Indicates the status of the associated RDS instance.
    dbSlot Double
    Indicates the number of shards.
    id String
    Specifies the ID of the RDS instance associated with the schema.
    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status String
    Indicates the status of the associated RDS instance.
    dbSlot number
    Indicates the number of shards.
    id string
    Specifies the ID of the RDS instance associated with the schema.
    name string

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status string
    Indicates the status of the associated RDS instance.
    db_slot float
    Indicates the number of shards.
    id str
    Specifies the ID of the RDS instance associated with the schema.
    name str

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status str
    Indicates the status of the associated RDS instance.
    dbSlot Number
    Indicates the number of shards.
    id String
    Specifies the ID of the RDS instance associated with the schema.
    name String

    Specifies the name of the DDM schema. An instance name starts with a letter, consists of 2 to 48 characters, and can contain only lowercase letters, digits, and underscores (_). Cannot contain keywords information_schema, mysql, performance_schema, or sys.

    Changing this parameter will create a new resource.

    status String
    Indicates the status of the associated RDS instance.

    DdmSchemaTimeouts, DdmSchemaTimeoutsArgs

    Create string
    Delete string
    Create string
    Delete string
    create String
    delete String
    create string
    delete string
    create str
    delete str
    create String
    delete String

    Import

    The DDM schema can be imported using the <instance_id>/<schema_name>, e.g.

    bash

    $ pulumi import flexibleengine:index/ddmSchema:DdmSchema test 80e373f9-872e-4046-aae9-ccd9ddc55511/schema_name
    

    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.
    flexibleengine logo
    flexibleengine 1.46.0 published on Monday, Apr 14, 2025 by flexibleenginecloud