Alibaba Cloud

Pulumi Official
Package maintained by Pulumi
v3.28.0 published on Tuesday, Aug 16, 2022 by Pulumi

getInstanceTypeFamilies

This data source provides the ECS instance type families of Alibaba Cloud.

NOTE: Available in 1.54.0+

Example Usage

using Pulumi;
using AliCloud = Pulumi.AliCloud;

class MyStack : Stack
{
    public MyStack()
    {
        var @default = Output.Create(AliCloud.Ecs.GetInstanceTypeFamilies.InvokeAsync(new AliCloud.Ecs.GetInstanceTypeFamiliesArgs
        {
            InstanceChargeType = "PrePaid",
        }));
        this.FirstInstanceTypeFamilyId = @default.Apply(@default => @default.Families?[0]?.Id);
        this.InstanceIds = @default.Apply(@default => @default.Ids);
    }

    [Output("firstInstanceTypeFamilyId")]
    public Output<string> FirstInstanceTypeFamilyId { get; set; }
    [Output("instanceIds")]
    public Output<string> InstanceIds { get; set; }
}
package main

import (
	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_default, err := ecs.GetInstanceTypeFamilies(ctx, &ecs.GetInstanceTypeFamiliesArgs{
			InstanceChargeType: pulumi.StringRef("PrePaid"),
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("firstInstanceTypeFamilyId", _default.Families[0].Id)
		ctx.Export("instanceIds", _default.Ids)
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypeFamiliesArgs;
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 default = EcsFunctions.getInstanceTypeFamilies(GetInstanceTypeFamiliesArgs.builder()
            .instanceChargeType("PrePaid")
            .build());

        ctx.export("firstInstanceTypeFamilyId", default_.families()[0].id());
        ctx.export("instanceIds", default_.ids());
    }
}
import pulumi
import pulumi_alicloud as alicloud

default = alicloud.ecs.get_instance_type_families(instance_charge_type="PrePaid")
pulumi.export("firstInstanceTypeFamilyId", default.families[0].id)
pulumi.export("instanceIds", default.ids)
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultInstanceTypeFamilies = pulumi.output(alicloud.ecs.getInstanceTypeFamilies({
    instanceChargeType: "PrePaid",
}));

export const firstInstanceTypeFamilyId = defaultInstanceTypeFamilies.families[0].id;
export const instanceIds = defaultInstanceTypeFamilies.ids;
variables:
  default:
    Fn::Invoke:
      Function: alicloud:ecs:getInstanceTypeFamilies
      Arguments:
        instanceChargeType: PrePaid
outputs:
  firstInstanceTypeFamilyId: ${default.families[0].id}
  instanceIds: ${default.ids}

Using getInstanceTypeFamilies

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 getInstanceTypeFamilies(args: GetInstanceTypeFamiliesArgs, opts?: InvokeOptions): Promise<GetInstanceTypeFamiliesResult>
function getInstanceTypeFamiliesOutput(args: GetInstanceTypeFamiliesOutputArgs, opts?: InvokeOptions): Output<GetInstanceTypeFamiliesResult>
def get_instance_type_families(generation: Optional[str] = None,
                               instance_charge_type: Optional[str] = None,
                               output_file: Optional[str] = None,
                               spot_strategy: Optional[str] = None,
                               zone_id: Optional[str] = None,
                               opts: Optional[InvokeOptions] = None) -> GetInstanceTypeFamiliesResult
def get_instance_type_families_output(generation: Optional[pulumi.Input[str]] = None,
                               instance_charge_type: Optional[pulumi.Input[str]] = None,
                               output_file: Optional[pulumi.Input[str]] = None,
                               spot_strategy: Optional[pulumi.Input[str]] = None,
                               zone_id: Optional[pulumi.Input[str]] = None,
                               opts: Optional[InvokeOptions] = None) -> Output[GetInstanceTypeFamiliesResult]
func GetInstanceTypeFamilies(ctx *Context, args *GetInstanceTypeFamiliesArgs, opts ...InvokeOption) (*GetInstanceTypeFamiliesResult, error)
func GetInstanceTypeFamiliesOutput(ctx *Context, args *GetInstanceTypeFamiliesOutputArgs, opts ...InvokeOption) GetInstanceTypeFamiliesResultOutput

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

public static class GetInstanceTypeFamilies 
{
    public static Task<GetInstanceTypeFamiliesResult> InvokeAsync(GetInstanceTypeFamiliesArgs args, InvokeOptions? opts = null)
    public static Output<GetInstanceTypeFamiliesResult> Invoke(GetInstanceTypeFamiliesInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetInstanceTypeFamiliesResult> getInstanceTypeFamilies(GetInstanceTypeFamiliesArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
Fn::Invoke:
  Function: alicloud:ecs/getInstanceTypeFamilies:getInstanceTypeFamilies
  Arguments:
    # Arguments dictionary

The following arguments are supported:

Generation string

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

InstanceChargeType string

Valid values are PrePaid, PostPaid, Default to PostPaid.

OutputFile string
SpotStrategy string

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

ZoneId string

The Zone to launch the instance.

Generation string

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

InstanceChargeType string

Valid values are PrePaid, PostPaid, Default to PostPaid.

OutputFile string
SpotStrategy string

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

ZoneId string

The Zone to launch the instance.

generation String

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

instanceChargeType String

Valid values are PrePaid, PostPaid, Default to PostPaid.

outputFile String
spotStrategy String

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

zoneId String

The Zone to launch the instance.

generation string

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

instanceChargeType string

Valid values are PrePaid, PostPaid, Default to PostPaid.

outputFile string
spotStrategy string

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

zoneId string

The Zone to launch the instance.

generation str

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

instance_charge_type str

Valid values are PrePaid, PostPaid, Default to PostPaid.

output_file str
spot_strategy str

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

zone_id str

The Zone to launch the instance.

generation String

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

instanceChargeType String

Valid values are PrePaid, PostPaid, Default to PostPaid.

outputFile String
spotStrategy String

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

zoneId String

The Zone to launch the instance.

getInstanceTypeFamilies Result

The following output properties are available:

Families List<Pulumi.AliCloud.Ecs.Outputs.GetInstanceTypeFamiliesFamily>
Id string

The provider-assigned unique ID for this managed resource.

Ids List<string>

A list of instance type family IDs.

Generation string

The generation of the instance type family.

InstanceChargeType string
OutputFile string
SpotStrategy string
ZoneId string
Families []GetInstanceTypeFamiliesFamily
Id string

The provider-assigned unique ID for this managed resource.

Ids []string

A list of instance type family IDs.

Generation string

The generation of the instance type family.

InstanceChargeType string
OutputFile string
SpotStrategy string
ZoneId string
families List<GetInstanceTypeFamiliesFamily>
id String

The provider-assigned unique ID for this managed resource.

ids List<String>

A list of instance type family IDs.

generation String

The generation of the instance type family.

instanceChargeType String
outputFile String
spotStrategy String
zoneId String
families GetInstanceTypeFamiliesFamily[]
id string

The provider-assigned unique ID for this managed resource.

ids string[]

A list of instance type family IDs.

generation string

The generation of the instance type family.

instanceChargeType string
outputFile string
spotStrategy string
zoneId string
families Sequence[GetInstanceTypeFamiliesFamily]
id str

The provider-assigned unique ID for this managed resource.

ids Sequence[str]

A list of instance type family IDs.

generation str

The generation of the instance type family.

instance_charge_type str
output_file str
spot_strategy str
zone_id str
families List<Property Map>
id String

The provider-assigned unique ID for this managed resource.

ids List<String>

A list of instance type family IDs.

generation String

The generation of the instance type family.

instanceChargeType String
outputFile String
spotStrategy String
zoneId String

Supporting Types

GetInstanceTypeFamiliesFamily

Generation string

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

Id string

ID of the instance type family.

ZoneIds List<string>

A list of Zone to launch the instance.

Generation string

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

Id string

ID of the instance type family.

ZoneIds []string

A list of Zone to launch the instance.

generation String

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

id String

ID of the instance type family.

zoneIds List<String>

A list of Zone to launch the instance.

generation string

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

id string

ID of the instance type family.

zoneIds string[]

A list of Zone to launch the instance.

generation str

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

id str

ID of the instance type family.

zone_ids Sequence[str]

A list of Zone to launch the instance.

generation String

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

id String

ID of the instance type family.

zoneIds List<String>

A list of Zone to launch the instance.

Package Details

Repository
https://github.com/pulumi/pulumi-alicloud
License
Apache-2.0
Notes

This Pulumi package is based on the alicloud Terraform Provider.