Show / Hide Table of Contents

Class CfnInstanceFleetConfig

A CloudFormation AWS::EMR::InstanceFleetConfig.

Inheritance
System.Object
Construct
CfnElement
CfnRefElement
CfnResource
CfnInstanceFleetConfig
Implements
IConstruct
Constructs.IConstruct
IDependable
IInspectable
Inherited Members
CfnResource.IsCfnResource(IConstruct)
CfnResource.AddDeletionOverride(String)
CfnResource.AddDependsOn(CfnResource)
CfnResource.AddMetadata(String, Object)
CfnResource.AddOverride(String, Object)
CfnResource.AddPropertyDeletionOverride(String)
CfnResource.AddPropertyOverride(String, Object)
CfnResource.ApplyRemovalPolicy(Nullable<RemovalPolicy>, IRemovalPolicyOptions)
CfnResource.GetAtt(String)
CfnResource.GetMetadata(String)
CfnResource.ShouldSynthesize()
CfnResource.ToString()
CfnResource.ValidateProperties(Object)
CfnResource.CfnOptions
CfnResource.CfnResourceType
CfnResource.UpdatedProperites
CfnRefElement.Ref
CfnElement.IsCfnElement(Object)
CfnElement.OverrideLogicalId(String)
CfnElement.CreationStack
CfnElement.LogicalId
CfnElement.Stack
Construct.IsConstruct(Object)
Construct.OnPrepare()
Construct.OnSynthesize(ISynthesisSession)
Construct.OnValidate()
Construct.Prepare()
Construct.Synthesize(ISynthesisSession)
Construct.Validate()
Construct.Node
Namespace: Amazon.CDK.AWS.EMR
Assembly: Amazon.CDK.AWS.EMR.dll
Syntax (csharp)
public class CfnInstanceFleetConfig : CfnResource, IConstruct, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnInstanceFleetConfig
    Inherits CfnResource
    Implements IConstruct, IConstruct, IDependable, IInspectable
Remarks

Use InstanceFleetConfig to define instance fleets for an EMR cluster. A cluster can not use both instance fleets and instance groups. For more information, see Configure Instance Fleets in the Amazon EMR Management Guide .

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. > You can currently only add a task instance fleet to a cluster with this resource. If you use this resource, CloudFormation waits for the cluster launch to complete before adding the task instance fleet to the cluster. In order to add a task instance fleet to the cluster as part of the cluster launch and minimize delays in provisioning task nodes, use the TaskInstanceFleets subproperty for the AWS::EMR::Cluster JobFlowInstancesConfig property instead. To use this subproperty, see AWS::EMR::Cluster for examples.

CloudformationResource: AWS::EMR::InstanceFleetConfig

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EMR;

ConfigurationProperty configurationProperty_;

CfnInstanceFleetConfig cfnInstanceFleetConfig = new CfnInstanceFleetConfig(this, "MyCfnInstanceFleetConfig", new CfnInstanceFleetConfigProps {
    ClusterId = "clusterId",
    InstanceFleetType = "instanceFleetType",

    // the properties below are optional
    InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
        InstanceType = "instanceType",

        // the properties below are optional
        BidPrice = "bidPrice",
        BidPriceAsPercentageOfOnDemandPrice = 123,
        Configurations = new [] { new ConfigurationProperty {
            Classification = "classification",
            ConfigurationProperties = new Dictionary<string, string> {
                { "configurationPropertiesKey", "configurationProperties" }
            },
            Configurations = new [] { configurationProperty_ }
        } },
        CustomAmiId = "customAmiId",
        EbsConfiguration = new EbsConfigurationProperty {
            EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
                VolumeSpecification = new VolumeSpecificationProperty {
                    SizeInGb = 123,
                    VolumeType = "volumeType",

                    // the properties below are optional
                    Iops = 123
                },

                // the properties below are optional
                VolumesPerInstance = 123
            } },
            EbsOptimized = false
        },
        WeightedCapacity = 123
    } },
    LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
        OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
            AllocationStrategy = "allocationStrategy"
        },
        SpotSpecification = new SpotProvisioningSpecificationProperty {
            TimeoutAction = "timeoutAction",
            TimeoutDurationMinutes = 123,

            // the properties below are optional
            AllocationStrategy = "allocationStrategy",
            BlockDurationMinutes = 123
        }
    },
    Name = "name",
    TargetOnDemandCapacity = 123,
    TargetSpotCapacity = 123
});

Synopsis

Constructors

CfnInstanceFleetConfig(Construct, String, ICfnInstanceFleetConfigProps)

Create a new AWS::EMR::InstanceFleetConfig.

CfnInstanceFleetConfig(ByRefValue)

Used by jsii to construct an instance of this class from a Javascript-owned object reference

CfnInstanceFleetConfig(DeputyBase.DeputyProps)

Used by jsii to construct an instance of this class from DeputyProps

Properties

CFN_RESOURCE_TYPE_NAME

The CloudFormation resource type name for this resource class.

CfnProperties
ClusterId

The unique identifier of the EMR cluster.

InstanceFleetType

The node type that the instance fleet hosts.

InstanceTypeConfigs

InstanceTypeConfigs determine the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.

LaunchSpecifications

The launch specification for the instance fleet.

Name

The friendly name of the instance fleet.

TargetOnDemandCapacity

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

TargetSpotCapacity

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

Methods

Inspect(TreeInspector)

Examines the CloudFormation resource and discloses attributes.

RenderProperties(IDictionary<String, Object>)

Constructors

CfnInstanceFleetConfig(Construct, String, ICfnInstanceFleetConfigProps)

Create a new AWS::EMR::InstanceFleetConfig.

public CfnInstanceFleetConfig(Construct scope, string id, ICfnInstanceFleetConfigProps props)
Parameters
scope Construct
  • scope in which this resource is defined.
id System.String
  • scoped id of the resource.
props ICfnInstanceFleetConfigProps
  • resource properties.

CfnInstanceFleetConfig(ByRefValue)

Used by jsii to construct an instance of this class from a Javascript-owned object reference

protected CfnInstanceFleetConfig(ByRefValue reference)
Parameters
reference Amazon.JSII.Runtime.Deputy.ByRefValue

The Javascript-owned object reference

CfnInstanceFleetConfig(DeputyBase.DeputyProps)

Used by jsii to construct an instance of this class from DeputyProps

protected CfnInstanceFleetConfig(DeputyBase.DeputyProps props)
Parameters
props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps

The deputy props

Properties

CFN_RESOURCE_TYPE_NAME

The CloudFormation resource type name for this resource class.

public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value

System.String

CfnProperties

protected override IDictionary<string, object> CfnProperties { get; }
Property Value

System.Collections.Generic.IDictionary<System.String, System.Object>

Overrides
CfnResource.CfnProperties

ClusterId

The unique identifier of the EMR cluster.

public virtual string ClusterId { get; set; }
Property Value

System.String

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-clusterid

InstanceFleetType

The node type that the instance fleet hosts.

public virtual string InstanceFleetType { get; set; }
Property Value

System.String

Remarks

Allowed Values : TASK

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancefleettype

InstanceTypeConfigs

InstanceTypeConfigs determine the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.

public virtual object InstanceTypeConfigs { get; set; }
Property Value

System.Object

Remarks

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-instancetypeconfigs

LaunchSpecifications

The launch specification for the instance fleet.

public virtual object LaunchSpecifications { get; set; }
Property Value

System.Object

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-launchspecifications

Name

The friendly name of the instance fleet.

public virtual string Name { get; set; }
Property Value

System.String

Remarks

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-name

TargetOnDemandCapacity

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.

public virtual Nullable<double> TargetOnDemandCapacity { get; set; }
Property Value

System.Nullable<System.Double>

Remarks

When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig . Each instance configuration has a specified WeightedCapacity . When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity . At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-targetondemandcapacity

TargetSpotCapacity

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.

public virtual Nullable<double> TargetSpotCapacity { get; set; }
Property Value

System.Nullable<System.Double>

Remarks

When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig . Each instance configuration has a specified WeightedCapacity . When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

Link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-instancefleetconfig.html#cfn-elasticmapreduce-instancefleetconfig-targetspotcapacity

Methods

Inspect(TreeInspector)

Examines the CloudFormation resource and discloses attributes.

public virtual void Inspect(TreeInspector inspector)
Parameters
inspector TreeInspector
  • tree inspector to collect and process attributes.

RenderProperties(IDictionary<String, Object>)

protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns

System.Collections.Generic.IDictionary<System.String, System.Object>

Overrides
CfnResource.RenderProperties(IDictionary<String, Object>)

Implements

IConstruct
Constructs.IConstruct
IDependable
IInspectable
Back to top Generated by DocFX