get Instance Classes
This data source provides the Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance classes resource available info of Alibaba Cloud.
NOTE: Available since v1.49.0.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const resources = alicloud.getZones({
availableResourceCreation: "KVStore",
});
const resourcesGetInstanceClasses = resources.then(resources => alicloud.kvstore.getInstanceClasses({
zoneId: resources.zones?.[0]?.id,
instanceChargeType: "PrePaid",
engine: "Redis",
engineVersion: "5.0",
outputFile: "./classes.txt",
}));
export const firstKvstoreInstanceClass = resourcesGetInstanceClasses.then(resourcesGetInstanceClasses => resourcesGetInstanceClasses.instanceClasses);
import pulumi
import pulumi_alicloud as alicloud
resources = alicloud.get_zones(available_resource_creation="KVStore")
resources_get_instance_classes = alicloud.kvstore.get_instance_classes(zone_id=resources.zones[0].id,
instance_charge_type="PrePaid",
engine="Redis",
engine_version="5.0",
output_file="./classes.txt")
pulumi.export("firstKvstoreInstanceClass", resources_get_instance_classes.instance_classes)
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 resourcesGetInstanceClasses = AliCloud.KVStore.GetInstanceClasses.Invoke(new()
{
ZoneId = resources.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
InstanceChargeType = "PrePaid",
Engine = "Redis",
EngineVersion = "5.0",
OutputFile = "./classes.txt",
});
return new Dictionary<string, object?>
{
["firstKvstoreInstanceClass"] = resourcesGetInstanceClasses.Apply(getInstanceClassesResult => getInstanceClassesResult.InstanceClasses),
};
});
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
}
resourcesGetInstanceClasses, err := kvstore.GetInstanceClasses(ctx, &kvstore.GetInstanceClassesArgs{
ZoneId: resources.Zones[0].Id,
InstanceChargeType: pulumi.StringRef("PrePaid"),
Engine: pulumi.StringRef("Redis"),
EngineVersion: pulumi.StringRef("5.0"),
OutputFile: pulumi.StringRef("./classes.txt"),
}, nil)
if err != nil {
return err
}
ctx.Export("firstKvstoreInstanceClass", resourcesGetInstanceClasses.InstanceClasses)
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.GetInstanceClassesArgs;
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 resourcesGetInstanceClasses = KvstoreFunctions.getInstanceClasses(GetInstanceClassesArgs.builder()
.zoneId(resources.zones()[0].id())
.instanceChargeType("PrePaid")
.engine("Redis")
.engineVersion("5.0")
.outputFile("./classes.txt")
.build());
ctx.export("firstKvstoreInstanceClass", resourcesGetInstanceClasses.instanceClasses());
}
}
variables:
resources:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: KVStore
resourcesGetInstanceClasses:
fn::invoke:
function: alicloud:kvstore:getInstanceClasses
arguments:
zoneId: ${resources.zones[0].id}
instanceChargeType: PrePaid
engine: Redis
engineVersion: '5.0'
outputFile: ./classes.txt
outputs:
firstKvstoreInstanceClass: ${resourcesGetInstanceClasses.instanceClasses}
Return
A collection of values returned by getInstanceClasses.
Parameters
A collection of arguments for invoking getInstanceClasses.
Return
A collection of values returned by getInstanceClasses.
Parameters
The Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance system architecture required by the user. Valid values: standard
, cluster
and rwsplit
.
The Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance edition type required by the user. Valid values: Community
and Enterprise
.
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
.
The Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance node type required by the user. Valid values: double
, single
, readone
, readthree
and readfive
.
File name where to save data source results (after running pulumi up
).
It has been deprecated from 1.68.0.
It has been deprecated from 1.68.0.
The type of the service. Valid values:
Local: a Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance with a local disk.
OnECS: a Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance with a standard disk. This type is available only on the Alibaba Cloud China site.
The Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance series type required by the user. Valid values: enhanced_performance_type
and hybrid_storage
.
The number of shard.Valid values: 1
, 2
, 4
, 8
, 16
, 32
, 64
, 128
, 256
.
It has been deprecated from 1.68.0.
The Zone to launch the Tair (Redis OSS-Compatible) And Memcache (KVStore) Instance.
See also
Return
A collection of values returned by getInstanceClasses.
Parameters
Builder for com.pulumi.alicloud.kvstore.kotlin.inputs.GetInstanceClassesPlainArgs.