1. Registry
  2. Packages
  3. Opentelekomcloud Provider
  4. API Docs
  5. getGeminiDatastoresV3
Viewing docs for opentelekomcloud 1.37.9
published on Thursday, Sep 24, 2026 by opentelekomcloud
Viewing docs for opentelekomcloud 1.37.9
published on Thursday, Sep 24, 2026 by opentelekomcloud

    Up-to-date reference of API arguments for GeminiDB datastores you can get at documentation portal.

    Use this data source to get the versions, storage engines and DB instance types supported by a GeminiDB compatible API.

    Example Usage

    Query the GeminiDB Cassandra datastore

    import * as pulumi from "@pulumi/pulumi";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const cassandra = opentelekomcloud.getGeminiDatastoresV3({
        engineName: "cassandra",
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    cassandra = opentelekomcloud.get_gemini_datastores_v3(engine_name="cassandra")
    
    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.GetGeminiDatastoresV3(ctx, &opentelekomcloud.GetGeminiDatastoresV3Args{
    			EngineName: "cassandra",
    		}, nil)
    		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 cassandra = Opentelekomcloud.GetGeminiDatastoresV3.Invoke(new()
        {
            EngineName = "cassandra",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;
    import com.pulumi.opentelekomcloud.inputs.GetGeminiDatastoresV3Args;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var cassandra = OpentelekomcloudFunctions.getGeminiDatastoresV3(GetGeminiDatastoresV3Args.builder()
                .engineName("cassandra")
                .build());
    
        }
    }
    
    variables:
      cassandra:
        fn::invoke:
          function: opentelekomcloud:getGeminiDatastoresV3
          arguments:
            engineName: cassandra
    
    Example coming soon!
    

    Create an instance with the latest supported version

    import * as pulumi from "@pulumi/pulumi";
    import * as opentelekomcloud from "@pulumi/opentelekomcloud";
    
    const influx = opentelekomcloud.getGeminiDatastoresV3({
        engineName: "influxdb",
    });
    const influxGeminiInstanceV3 = new opentelekomcloud.GeminiInstanceV3("influx", {
        name: "gemini_influx_instance",
        password: password,
        flavor: "geminidb.influxdb-geminifs.xlarge.4",
        volumeSize: 100,
        vpcId: vpcId,
        subnetId: subnetId,
        securityGroupId: secgroupId,
        availabilityZone: availabilityZone,
        datastore: {
            engine: influx.then(influx => influx.engineName),
            version: influx.then(influx => influx.versions?.[0]),
            storageEngine: influx.then(influx => influx.storageEngines?.[0]),
        },
    });
    
    import pulumi
    import pulumi_opentelekomcloud as opentelekomcloud
    
    influx = opentelekomcloud.get_gemini_datastores_v3(engine_name="influxdb")
    influx_gemini_instance_v3 = opentelekomcloud.GeminiInstanceV3("influx",
        name="gemini_influx_instance",
        password=password,
        flavor="geminidb.influxdb-geminifs.xlarge.4",
        volume_size=100,
        vpc_id=vpc_id,
        subnet_id=subnet_id,
        security_group_id=secgroup_id,
        availability_zone=availability_zone,
        datastore={
            "engine": influx.engine_name,
            "version": influx.versions[0],
            "storage_engine": influx.storage_engines[0],
        })
    
    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 {
    		influx, err := opentelekomcloud.GetGeminiDatastoresV3(ctx, &opentelekomcloud.GetGeminiDatastoresV3Args{
    			EngineName: "influxdb",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = opentelekomcloud.NewGeminiInstanceV3(ctx, "influx", &opentelekomcloud.GeminiInstanceV3Args{
    			Name:             pulumi.String("gemini_influx_instance"),
    			Password:         pulumi.Any(password),
    			Flavor:           pulumi.String("geminidb.influxdb-geminifs.xlarge.4"),
    			VolumeSize:       pulumi.Float64(100),
    			VpcId:            pulumi.Any(vpcId),
    			SubnetId:         pulumi.Any(subnetId),
    			SecurityGroupId:  pulumi.Any(secgroupId),
    			AvailabilityZone: pulumi.Any(availabilityZone),
    			Datastore: &opentelekomcloud.GeminiInstanceV3DatastoreArgs{
    				Engine:        pulumi.String(influx.EngineName),
    				Version:       pulumi.String(influx.Versions[0]),
    				StorageEngine: pulumi.String(influx.StorageEngines[0]),
    			},
    		})
    		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 influx = Opentelekomcloud.GetGeminiDatastoresV3.Invoke(new()
        {
            EngineName = "influxdb",
        });
    
        var influxGeminiInstanceV3 = new Opentelekomcloud.GeminiInstanceV3("influx", new()
        {
            Name = "gemini_influx_instance",
            Password = password,
            Flavor = "geminidb.influxdb-geminifs.xlarge.4",
            VolumeSize = 100,
            VpcId = vpcId,
            SubnetId = subnetId,
            SecurityGroupId = secgroupId,
            AvailabilityZone = availabilityZone,
            Datastore = new Opentelekomcloud.Inputs.GeminiInstanceV3DatastoreArgs
            {
                Engine = influx.Apply(getGeminiDatastoresV3Result => getGeminiDatastoresV3Result.EngineName),
                Version = influx.Apply(getGeminiDatastoresV3Result => getGeminiDatastoresV3Result.Versions[0]),
                StorageEngine = influx.Apply(getGeminiDatastoresV3Result => getGeminiDatastoresV3Result.StorageEngines[0]),
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.opentelekomcloud.OpentelekomcloudFunctions;
    import com.pulumi.opentelekomcloud.inputs.GetGeminiDatastoresV3Args;
    import com.pulumi.opentelekomcloud.GeminiInstanceV3;
    import com.pulumi.opentelekomcloud.GeminiInstanceV3Args;
    import com.pulumi.opentelekomcloud.inputs.GeminiInstanceV3DatastoreArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var influx = OpentelekomcloudFunctions.getGeminiDatastoresV3(GetGeminiDatastoresV3Args.builder()
                .engineName("influxdb")
                .build());
    
            var influxGeminiInstanceV3 = new GeminiInstanceV3("influxGeminiInstanceV3", GeminiInstanceV3Args.builder()
                .name("gemini_influx_instance")
                .password(password)
                .flavor("geminidb.influxdb-geminifs.xlarge.4")
                .volumeSize(100.0)
                .vpcId(vpcId)
                .subnetId(subnetId)
                .securityGroupId(secgroupId)
                .availabilityZone(availabilityZone)
                .datastore(GeminiInstanceV3DatastoreArgs.builder()
                    .engine(influx.engineName())
                    .version(influx.versions()[0])
                    .storageEngine(influx.storageEngines()[0])
                    .build())
                .build());
    
        }
    }
    
    resources:
      influxGeminiInstanceV3:
        type: opentelekomcloud:GeminiInstanceV3
        name: influx
        properties:
          name: gemini_influx_instance
          password: ${password}
          flavor: geminidb.influxdb-geminifs.xlarge.4
          volumeSize: 100
          vpcId: ${vpcId}
          subnetId: ${subnetId}
          securityGroupId: ${secgroupId}
          availabilityZone: ${availabilityZone}
          datastore:
            engine: ${influx.engineName}
            version: ${influx.versions[0]}
            storageEngine: ${influx.storageEngines[0]}
    variables:
      influx:
        fn::invoke:
          function: opentelekomcloud:getGeminiDatastoresV3
          arguments:
            engineName: influxdb
    
    Example coming soon!
    

    Using getGeminiDatastoresV3

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getGeminiDatastoresV3(args: GetGeminiDatastoresV3Args, opts?: InvokeOptions): Promise<GetGeminiDatastoresV3Result>
    function getGeminiDatastoresV3Output(args: GetGeminiDatastoresV3OutputArgs, opts?: InvokeOutputOptions): Output<GetGeminiDatastoresV3Result>
    def get_gemini_datastores_v3(engine_name: Optional[str] = None,
                                 id: Optional[str] = None,
                                 opts: Optional[InvokeOptions] = None) -> GetGeminiDatastoresV3Result
    def get_gemini_datastores_v3_output(engine_name: pulumi.Input[Optional[str]] = None,
                                 id: pulumi.Input[Optional[str]] = None,
                                 opts: Optional[InvokeOutputOptions] = None) -> Output[GetGeminiDatastoresV3Result]
    func GetGeminiDatastoresV3(ctx *Context, args *GetGeminiDatastoresV3Args, opts ...InvokeOption) (*GetGeminiDatastoresV3Result, error)
    func GetGeminiDatastoresV3Output(ctx *Context, args *GetGeminiDatastoresV3OutputArgs, opts ...InvokeOption) GetGeminiDatastoresV3ResultOutput

    > Note: This function is named GetGeminiDatastoresV3 in the Go SDK.

    public static class GetGeminiDatastoresV3 
    {
        public static Task<GetGeminiDatastoresV3Result> InvokeAsync(GetGeminiDatastoresV3Args args, InvokeOptions? opts = null)
        public static Output<GetGeminiDatastoresV3Result> Invoke(GetGeminiDatastoresV3InvokeArgs args, InvokeOptions? opts = null)
        public static Output<GetGeminiDatastoresV3Result> Invoke(GetGeminiDatastoresV3InvokeArgs args, InvokeOutputOptions opts)
    }
    public static CompletableFuture<GetGeminiDatastoresV3Result> getGeminiDatastoresV3(GetGeminiDatastoresV3Args args, InvokeOptions options)
    public static Output<GetGeminiDatastoresV3Result> getGeminiDatastoresV3(GetGeminiDatastoresV3Args args, InvokeOptions options)
    public static Output<GetGeminiDatastoresV3Result> getGeminiDatastoresV3(GetGeminiDatastoresV3Args args, InvokeOutputOptions options)
    
    fn::invoke:
      function: opentelekomcloud:index/getGeminiDatastoresV3:getGeminiDatastoresV3
      arguments:
        # arguments dictionary
    data "opentelekomcloud_get_gemini_datastores_v3" "name" {
        # arguments
    }

    The following arguments are supported:

    EngineName string
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    Id string
    Indicates the ID of the data source.
    EngineName string
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    Id string
    Indicates the ID of the data source.
    engine_name string
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    id string
    Indicates the ID of the data source.
    engineName String
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    id String
    Indicates the ID of the data source.
    engineName string
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    id string
    Indicates the ID of the data source.
    engine_name str
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    id str
    Indicates the ID of the data source.
    engineName String
    Specifies the compatible API to query. The value can be cassandra (GeminiDB Cassandra) or influxdb (GeminiDB Influx).
    id String
    Indicates the ID of the data source.

    getGeminiDatastoresV3 Result

    The following output properties are available:

    EngineName string
    Id string
    Indicates the ID of the data source.
    Modes List<string>
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    Region string
    Indicates the region in which the datastore was queried.
    StorageEngines List<string>
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    Versions List<string>
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.
    EngineName string
    Id string
    Indicates the ID of the data source.
    Modes []string
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    Region string
    Indicates the region in which the datastore was queried.
    StorageEngines []string
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    Versions []string
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.
    engine_name string
    id string
    Indicates the ID of the data source.
    modes list(string)
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    region string
    Indicates the region in which the datastore was queried.
    storage_engines list(string)
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    versions list(string)
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.
    engineName String
    id String
    Indicates the ID of the data source.
    modes List<String>
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    region String
    Indicates the region in which the datastore was queried.
    storageEngines List<String>
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    versions List<String>
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.
    engineName string
    id string
    Indicates the ID of the data source.
    modes string[]
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    region string
    Indicates the region in which the datastore was queried.
    storageEngines string[]
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    versions string[]
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.
    engine_name str
    id str
    Indicates the ID of the data source.
    modes Sequence[str]
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    region str
    Indicates the region in which the datastore was queried.
    storage_engines Sequence[str]
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    versions Sequence[str]
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.
    engineName String
    id String
    Indicates the ID of the data source.
    modes List<String>
    Indicates the list of DB instance types supported by the compatible API. GeminiDB Cassandra is offered as a classic storage cluster (Cluster), while GeminiDB Influx is offered as a performance-enhanced cluster with cloud native storage (CloudNativeCluster).
    region String
    Indicates the region in which the datastore was queried.
    storageEngines List<String>
    Indicates the list of storage engines supported by the compatible API. Currently rocksDB is the only storage engine offered for both GeminiDB Cassandra and GeminiDB Influx.
    versions List<String>
    Indicates the list of database versions supported by the compatible API. Currently 3.11 for GeminiDB Cassandra and 1.7 for GeminiDB Influx.

    Package Details

    Repository
    opentelekomcloud opentelekomcloud/terraform-provider-opentelekomcloud
    License
    Notes
    This Pulumi package is based on the opentelekomcloud Terraform Provider.
    Viewing docs for opentelekomcloud 1.37.9
    published on Thursday, Sep 24, 2026 by opentelekomcloud

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial