get Instance Engines
This data source provides the Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance engines resource available info of Alibaba Cloud.
NOTE: Available since v1.51.0
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const resources = alicloud.getZones({
availableResourceCreation: "KVStore",
});
const resourcesGetInstanceEngines = resources.then(resources => alicloud.kvstore.getInstanceEngines({
zoneId: resources.zones?.[0]?.id,
instanceChargeType: "PrePaid",
engine: "Redis",
engineVersion: "5.0",
outputFile: "./engines.txt",
}));
export const firstKvstoreInstanceClass = resourcesGetInstanceEngines.then(resourcesGetInstanceEngines => resourcesGetInstanceEngines.instanceEngines?.[0]?.engine);import pulumi
import pulumi_alicloud as alicloud
resources = alicloud.get_zones(available_resource_creation="KVStore")
resources_get_instance_engines = alicloud.kvstore.get_instance_engines(zone_id=resources.zones[0].id,
instance_charge_type="PrePaid",
engine="Redis",
engine_version="5.0",
output_file="./engines.txt")
pulumi.export("firstKvstoreInstanceClass", resources_get_instance_engines.instance_engines[0].engine)using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var resources = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "KVStore",
});
var resourcesGetInstanceEngines = AliCloud.KVStore.GetInstanceEngines.Invoke(new()
{
ZoneId = resources.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
InstanceChargeType = "PrePaid",
Engine = "Redis",
EngineVersion = "5.0",
OutputFile = "./engines.txt",
});
return new Dictionary<string, object?>
{
["firstKvstoreInstanceClass"] = resourcesGetInstanceEngines.Apply(getInstanceEnginesResult => getInstanceEnginesResult.InstanceEngines[0]?.Engine),
};
});package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/kvstore"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
resources, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("KVStore"),
}, nil)
if err != nil {
return err
}
resourcesGetInstanceEngines, err := kvstore.GetInstanceEngines(ctx, &kvstore.GetInstanceEnginesArgs{
ZoneId: resources.Zones[0].Id,
InstanceChargeType: pulumi.StringRef("PrePaid"),
Engine: pulumi.StringRef("Redis"),
EngineVersion: pulumi.StringRef("5.0"),
OutputFile: pulumi.StringRef("./engines.txt"),
}, nil)
if err != nil {
return err
}
ctx.Export("firstKvstoreInstanceClass", resourcesGetInstanceEngines.InstanceEngines[0].Engine)
return nil
})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.kvstore.KvstoreFunctions;
import com.pulumi.alicloud.kvstore.inputs.GetInstanceEnginesArgs;
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 resources = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("KVStore")
.build());
final var resourcesGetInstanceEngines = KvstoreFunctions.getInstanceEngines(GetInstanceEnginesArgs.builder()
.zoneId(resources.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.instanceChargeType("PrePaid")
.engine("Redis")
.engineVersion("5.0")
.outputFile("./engines.txt")
.build());
ctx.export("firstKvstoreInstanceClass", resourcesGetInstanceEngines.applyValue(getInstanceEnginesResult -> getInstanceEnginesResult.instanceEngines()[0].engine()));
}
}variables:
resources:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: KVStore
resourcesGetInstanceEngines:
fn::invoke:
function: alicloud:kvstore:getInstanceEngines
arguments:
zoneId: ${resources.zones[0].id}
instanceChargeType: PrePaid
engine: Redis
engineVersion: '5.0'
outputFile: ./engines.txt
outputs:
firstKvstoreInstanceClass: ${resourcesGetInstanceEngines.instanceEngines[0].engine}Return
A collection of values returned by getInstanceEngines.
Parameters
A collection of arguments for invoking getInstanceEngines.
Return
A collection of values returned by getInstanceEngines.
Parameters
Database type. Options are Redis, Memcache. Default to Redis.
Database version required by the user. Value options of Redis can refer to the latest docs detail info EngineVersion. Value of Memcache should be empty.
Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PrePaid.
File name where to save data source results (after running pulumi up).
The Zone to launch the Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance.
See also
Return
A collection of values returned by getInstanceEngines.
Parameters
Builder for com.pulumi.alicloud.kvstore.kotlin.inputs.GetInstanceEnginesPlainArgs.