Alibaba Cloud
getInstanceTypes
The alicloud.emr.getInstanceTypes
data source provides a collection of ecs
instance types available in Alibaba Cloud account when create a emr cluster.
NOTE: Available in 1.59.0+
Example Usage
using Pulumi;
using AliCloud = Pulumi.AliCloud;
class MyStack : Stack
{
public MyStack()
{
var @default = Output.Create(AliCloud.Emr.GetInstanceTypes.InvokeAsync(new AliCloud.Emr.GetInstanceTypesArgs
{
ClusterType = "HADOOP",
DestinationResource = "InstanceType",
InstanceChargeType = "PostPaid",
InstanceType = "ecs.g5.2xlarge",
SupportLocalStorage = false,
SupportNodeTypes =
{
"MASTER",
"CORE",
},
}));
this.FirstInstanceType = @default.Apply(@default => @default.Types?[0]?.Id);
}
[Output("firstInstanceType")]
public Output<string> FirstInstanceType { get; set; }
}
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/emr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := emr.GetInstanceTypes(ctx, &emr.GetInstanceTypesArgs{
ClusterType: "HADOOP",
DestinationResource: "InstanceType",
InstanceChargeType: "PostPaid",
InstanceType: pulumi.StringRef("ecs.g5.2xlarge"),
SupportLocalStorage: pulumi.BoolRef(false),
SupportNodeTypes: []string{
"MASTER",
"CORE",
},
}, nil)
if err != nil {
return err
}
ctx.Export("firstInstanceType", _default.Types[0].Id)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.emr.EmrFunctions;
import com.pulumi.alicloud.ecp.inputs.GetInstanceTypesArgs;
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 = EmrFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.clusterType("HADOOP")
.destinationResource("InstanceType")
.instanceChargeType("PostPaid")
.instanceType("ecs.g5.2xlarge")
.supportLocalStorage(false)
.supportNodeTypes(
"MASTER",
"CORE")
.build());
ctx.export("firstInstanceType", default_.types()[0].id());
}
}
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.emr.get_instance_types(cluster_type="HADOOP",
destination_resource="InstanceType",
instance_charge_type="PostPaid",
instance_type="ecs.g5.2xlarge",
support_local_storage=False,
support_node_types=[
"MASTER",
"CORE",
])
pulumi.export("firstInstanceType", default.types[0].id)
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const defaultInstanceTypes = pulumi.output(alicloud.emr.getInstanceTypes({
clusterType: "HADOOP",
destinationResource: "InstanceType",
instanceChargeType: "PostPaid",
instanceType: "ecs.g5.2xlarge",
supportLocalStorage: false,
supportNodeTypes: [
"MASTER",
"CORE",
],
}));
export const firstInstanceType = defaultInstanceTypes.types[0].id;
variables:
default:
Fn::Invoke:
Function: alicloud:emr:getInstanceTypes
Arguments:
clusterType: HADOOP
destinationResource: InstanceType
instanceChargeType: PostPaid
instanceType: ecs.g5.2xlarge
supportLocalStorage: false
supportNodeTypes:
- MASTER
- CORE
outputs:
firstInstanceType: ${default.types[0].id}
Using getInstanceTypes
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 getInstanceTypes(args: GetInstanceTypesArgs, opts?: InvokeOptions): Promise<GetInstanceTypesResult>
function getInstanceTypesOutput(args: GetInstanceTypesOutputArgs, opts?: InvokeOptions): Output<GetInstanceTypesResult>
def get_instance_types(cluster_type: Optional[str] = None,
destination_resource: Optional[str] = None,
instance_charge_type: Optional[str] = None,
instance_type: Optional[str] = None,
output_file: Optional[str] = None,
support_local_storage: Optional[bool] = None,
support_node_types: Optional[Sequence[str]] = None,
zone_id: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetInstanceTypesResult
def get_instance_types_output(cluster_type: Optional[pulumi.Input[str]] = None,
destination_resource: Optional[pulumi.Input[str]] = None,
instance_charge_type: Optional[pulumi.Input[str]] = None,
instance_type: Optional[pulumi.Input[str]] = None,
output_file: Optional[pulumi.Input[str]] = None,
support_local_storage: Optional[pulumi.Input[bool]] = None,
support_node_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
zone_id: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetInstanceTypesResult]
func GetInstanceTypes(ctx *Context, args *GetInstanceTypesArgs, opts ...InvokeOption) (*GetInstanceTypesResult, error)
func GetInstanceTypesOutput(ctx *Context, args *GetInstanceTypesOutputArgs, opts ...InvokeOption) GetInstanceTypesResultOutput
> Note: This function is named GetInstanceTypes
in the Go SDK.
public static class GetInstanceTypes
{
public static Task<GetInstanceTypesResult> InvokeAsync(GetInstanceTypesArgs args, InvokeOptions? opts = null)
public static Output<GetInstanceTypesResult> Invoke(GetInstanceTypesInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetInstanceTypesResult> getInstanceTypes(GetInstanceTypesArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
Fn::Invoke:
Function: alicloud:emr/getInstanceTypes:getInstanceTypes
Arguments:
# Arguments dictionary
The following arguments are supported:
- Cluster
Type string The cluster type of the emr cluster instance. Possible values:
HADOOP
,KAFKA
,ZOOKEEPER
,DRUID
.- Destination
Resource string The destination resource of emr cluster instance
- Instance
Charge stringType Filter the results by charge type. Valid values:
PrePaid
andPostPaid
. Default toPostPaid
.- Instance
Type string Filter the specific ecs instance type to create emr cluster.
- Output
File string - Support
Local boolStorage Whether the current storage disk is local or not.
- Support
Node List<string>Types The specific supported node type list. Possible values may be any one or combination of these: ["MASTER", "CORE", "TASK", "GATEWAY"]
- Zone
Id string The supported resources of specific zoneId.
- Cluster
Type string The cluster type of the emr cluster instance. Possible values:
HADOOP
,KAFKA
,ZOOKEEPER
,DRUID
.- Destination
Resource string The destination resource of emr cluster instance
- Instance
Charge stringType Filter the results by charge type. Valid values:
PrePaid
andPostPaid
. Default toPostPaid
.- Instance
Type string Filter the specific ecs instance type to create emr cluster.
- Output
File string - Support
Local boolStorage Whether the current storage disk is local or not.
- Support
Node []stringTypes The specific supported node type list. Possible values may be any one or combination of these: ["MASTER", "CORE", "TASK", "GATEWAY"]
- Zone
Id string The supported resources of specific zoneId.
- cluster
Type String The cluster type of the emr cluster instance. Possible values:
HADOOP
,KAFKA
,ZOOKEEPER
,DRUID
.- destination
Resource String The destination resource of emr cluster instance
- instance
Charge StringType Filter the results by charge type. Valid values:
PrePaid
andPostPaid
. Default toPostPaid
.- instance
Type String Filter the specific ecs instance type to create emr cluster.
- output
File String - support
Local BooleanStorage Whether the current storage disk is local or not.
- support
Node List<String>Types The specific supported node type list. Possible values may be any one or combination of these: ["MASTER", "CORE", "TASK", "GATEWAY"]
- zone
Id String The supported resources of specific zoneId.
- cluster
Type string The cluster type of the emr cluster instance. Possible values:
HADOOP
,KAFKA
,ZOOKEEPER
,DRUID
.- destination
Resource string The destination resource of emr cluster instance
- instance
Charge stringType Filter the results by charge type. Valid values:
PrePaid
andPostPaid
. Default toPostPaid
.- instance
Type string Filter the specific ecs instance type to create emr cluster.
- output
File string - support
Local booleanStorage Whether the current storage disk is local or not.
- support
Node string[]Types The specific supported node type list. Possible values may be any one or combination of these: ["MASTER", "CORE", "TASK", "GATEWAY"]
- zone
Id string The supported resources of specific zoneId.
- cluster_
type str The cluster type of the emr cluster instance. Possible values:
HADOOP
,KAFKA
,ZOOKEEPER
,DRUID
.- destination_
resource str The destination resource of emr cluster instance
- instance_
charge_ strtype Filter the results by charge type. Valid values:
PrePaid
andPostPaid
. Default toPostPaid
.- instance_
type str Filter the specific ecs instance type to create emr cluster.
- output_
file str - support_
local_ boolstorage Whether the current storage disk is local or not.
- support_
node_ Sequence[str]types The specific supported node type list. Possible values may be any one or combination of these: ["MASTER", "CORE", "TASK", "GATEWAY"]
- zone_
id str The supported resources of specific zoneId.
- cluster
Type String The cluster type of the emr cluster instance. Possible values:
HADOOP
,KAFKA
,ZOOKEEPER
,DRUID
.- destination
Resource String The destination resource of emr cluster instance
- instance
Charge StringType Filter the results by charge type. Valid values:
PrePaid
andPostPaid
. Default toPostPaid
.- instance
Type String Filter the specific ecs instance type to create emr cluster.
- output
File String - support
Local BooleanStorage Whether the current storage disk is local or not.
- support
Node List<String>Types The specific supported node type list. Possible values may be any one or combination of these: ["MASTER", "CORE", "TASK", "GATEWAY"]
- zone
Id String The supported resources of specific zoneId.
getInstanceTypes Result
The following output properties are available:
- Cluster
Type string - Destination
Resource string - Id string
The provider-assigned unique ID for this managed resource.
- Ids List<string>
A list of emr instance types IDs.
- Instance
Charge stringType - Types
List<Pulumi.
Ali Cloud. Emr. Outputs. Get Instance Types Type> A list of emr instance types. Each element contains the following attributes:
- Instance
Type string - Output
File string - Support
Local boolStorage - Support
Node List<string>Types - Zone
Id string The available zone id in Alibaba Cloud account
- Cluster
Type string - Destination
Resource string - Id string
The provider-assigned unique ID for this managed resource.
- Ids []string
A list of emr instance types IDs.
- Instance
Charge stringType - Types
[]Get
Instance Types Type A list of emr instance types. Each element contains the following attributes:
- Instance
Type string - Output
File string - Support
Local boolStorage - Support
Node []stringTypes - Zone
Id string The available zone id in Alibaba Cloud account
- cluster
Type String - destination
Resource String - id String
The provider-assigned unique ID for this managed resource.
- ids List<String>
A list of emr instance types IDs.
- instance
Charge StringType - types
List<Get
Instance Types Type> A list of emr instance types. Each element contains the following attributes:
- instance
Type String - output
File String - support
Local BooleanStorage - support
Node List<String>Types - zone
Id String The available zone id in Alibaba Cloud account
- cluster
Type string - destination
Resource string - id string
The provider-assigned unique ID for this managed resource.
- ids string[]
A list of emr instance types IDs.
- instance
Charge stringType - types
Get
Instance Types Type[] A list of emr instance types. Each element contains the following attributes:
- instance
Type string - output
File string - support
Local booleanStorage - support
Node string[]Types - zone
Id string The available zone id in Alibaba Cloud account
- cluster_
type str - destination_
resource str - id str
The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
A list of emr instance types IDs.
- instance_
charge_ strtype - types
Sequence[Get
Instance Types Type] A list of emr instance types. Each element contains the following attributes:
- instance_
type str - output_
file str - support_
local_ boolstorage - support_
node_ Sequence[str]types - zone_
id str The available zone id in Alibaba Cloud account
- cluster
Type String - destination
Resource String - id String
The provider-assigned unique ID for this managed resource.
- ids List<String>
A list of emr instance types IDs.
- instance
Charge StringType - types List<Property Map>
A list of emr instance types. Each element contains the following attributes:
- instance
Type String - output
File String - support
Local BooleanStorage - support
Node List<String>Types - zone
Id String The available zone id in Alibaba Cloud account
Supporting Types
GetInstanceTypesType
- Id string
The ID of the instance type.
- Local
Storage intCapacity Local capacity of the applied ecs instance for emr cluster. Unit: GB.
- Zone
Id string The supported resources of specific zoneId.
- Id string
The ID of the instance type.
- Local
Storage intCapacity Local capacity of the applied ecs instance for emr cluster. Unit: GB.
- Zone
Id string The supported resources of specific zoneId.
- id String
The ID of the instance type.
- local
Storage IntegerCapacity Local capacity of the applied ecs instance for emr cluster. Unit: GB.
- zone
Id String The supported resources of specific zoneId.
- id string
The ID of the instance type.
- local
Storage numberCapacity Local capacity of the applied ecs instance for emr cluster. Unit: GB.
- zone
Id string The supported resources of specific zoneId.
- id str
The ID of the instance type.
- local_
storage_ intcapacity Local capacity of the applied ecs instance for emr cluster. Unit: GB.
- zone_
id str The supported resources of specific zoneId.
- id String
The ID of the instance type.
- local
Storage NumberCapacity Local capacity of the applied ecs instance for emr cluster. Unit: GB.
- zone
Id String The supported resources of specific zoneId.
Package Details
- Repository
- https://github.com/pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
alicloud
Terraform Provider.