Class CfnInstanceFleetConfigPropsMixin
Use InstanceFleetConfig to define instance fleets for an EMR cluster.
Implements
Inherited Members
Namespace: Amazon.CDK.Mixins.Preview.AWS.EMR.Mixins
Assembly: Amazon.CDK.Mixins.Preview.dll
Syntax (csharp)
public class CfnInstanceFleetConfigPropsMixin : Mixin, IMixin
Syntax (vb)
Public Class CfnInstanceFleetConfigPropsMixin Inherits Mixin Implements IMixin
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.EMR.Mixins;
ConfigurationProperty configurationProperty_;
var cfnInstanceFleetConfigPropsMixin = new CfnInstanceFleetConfigPropsMixin(new CfnInstanceFleetConfigMixinProps {
ClusterId = "clusterId",
InstanceFleetType = "instanceFleetType",
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
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 {
Iops = 123,
SizeInGb = 123,
Throughput = 123,
VolumeType = "volumeType"
},
VolumesPerInstance = 123
} },
EbsOptimized = false
},
InstanceType = "instanceType",
Priority = 123,
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
}
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123,
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123
}
},
Name = "name",
ResizeSpecifications = new InstanceFleetResizingSpecificationsProperty {
OnDemandResizeSpecification = new OnDemandResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
},
TimeoutDurationMinutes = 123
},
SpotResizeSpecification = new SpotResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
TimeoutDurationMinutes = 123
}
},
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Synopsis
Constructors
| CfnInstanceFleetConfigPropsMixin(ICfnInstanceFleetConfigMixinProps, ICfnPropertyMixinOptions?) | Create a mixin to apply properties to |
Properties
| CFN_PROPERTY_KEYS | Use |
| Props | Use |
| Strategy | Use |
Methods
| ApplyTo(IConstruct) | Apply the mixin properties to the construct. |
| Supports(IConstruct) | Check if this mixin supports the given construct. |
Constructors
CfnInstanceFleetConfigPropsMixin(ICfnInstanceFleetConfigMixinProps, ICfnPropertyMixinOptions?)
Create a mixin to apply properties to AWS::EMR::InstanceFleetConfig.
public CfnInstanceFleetConfigPropsMixin(ICfnInstanceFleetConfigMixinProps props, ICfnPropertyMixinOptions? options = null)
Parameters
- props ICfnInstanceFleetConfigMixinProps
L1 properties to apply.
- options ICfnPropertyMixinOptions
Mixin options.
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
ExampleMetadata: fixture=_generated
Properties
CFN_PROPERTY_KEYS
Use InstanceFleetConfig to define instance fleets for an EMR cluster.
protected static string[] CFN_PROPERTY_KEYS { get; }
Property Value
string[]
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.EMR.Mixins;
ConfigurationProperty configurationProperty_;
var cfnInstanceFleetConfigPropsMixin = new CfnInstanceFleetConfigPropsMixin(new CfnInstanceFleetConfigMixinProps {
ClusterId = "clusterId",
InstanceFleetType = "instanceFleetType",
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
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 {
Iops = 123,
SizeInGb = 123,
Throughput = 123,
VolumeType = "volumeType"
},
VolumesPerInstance = 123
} },
EbsOptimized = false
},
InstanceType = "instanceType",
Priority = 123,
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
}
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123,
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123
}
},
Name = "name",
ResizeSpecifications = new InstanceFleetResizingSpecificationsProperty {
OnDemandResizeSpecification = new OnDemandResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
},
TimeoutDurationMinutes = 123
},
SpotResizeSpecification = new SpotResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
TimeoutDurationMinutes = 123
}
},
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Props
Use InstanceFleetConfig to define instance fleets for an EMR cluster.
protected virtual ICfnInstanceFleetConfigMixinProps Props { get; }
Property Value
ICfnInstanceFleetConfigMixinProps
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.EMR.Mixins;
ConfigurationProperty configurationProperty_;
var cfnInstanceFleetConfigPropsMixin = new CfnInstanceFleetConfigPropsMixin(new CfnInstanceFleetConfigMixinProps {
ClusterId = "clusterId",
InstanceFleetType = "instanceFleetType",
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
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 {
Iops = 123,
SizeInGb = 123,
Throughput = 123,
VolumeType = "volumeType"
},
VolumesPerInstance = 123
} },
EbsOptimized = false
},
InstanceType = "instanceType",
Priority = 123,
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
}
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123,
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123
}
},
Name = "name",
ResizeSpecifications = new InstanceFleetResizingSpecificationsProperty {
OnDemandResizeSpecification = new OnDemandResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
},
TimeoutDurationMinutes = 123
},
SpotResizeSpecification = new SpotResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
TimeoutDurationMinutes = 123
}
},
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Strategy
Use InstanceFleetConfig to define instance fleets for an EMR cluster.
protected virtual PropertyMergeStrategy Strategy { get; }
Property Value
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
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.Mixins.Preview.Mixins;
using Amazon.CDK.Mixins.Preview.AWS.EMR.Mixins;
ConfigurationProperty configurationProperty_;
var cfnInstanceFleetConfigPropsMixin = new CfnInstanceFleetConfigPropsMixin(new CfnInstanceFleetConfigMixinProps {
ClusterId = "clusterId",
InstanceFleetType = "instanceFleetType",
InstanceTypeConfigs = new [] { new InstanceTypeConfigProperty {
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 {
Iops = 123,
SizeInGb = 123,
Throughput = 123,
VolumeType = "volumeType"
},
VolumesPerInstance = 123
} },
EbsOptimized = false
},
InstanceType = "instanceType",
Priority = 123,
WeightedCapacity = 123
} },
LaunchSpecifications = new InstanceFleetProvisioningSpecificationsProperty {
OnDemandSpecification = new OnDemandProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
}
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
AllocationStrategy = "allocationStrategy",
BlockDurationMinutes = 123,
TimeoutAction = "timeoutAction",
TimeoutDurationMinutes = 123
}
},
Name = "name",
ResizeSpecifications = new InstanceFleetResizingSpecificationsProperty {
OnDemandResizeSpecification = new OnDemandResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
CapacityReservationOptions = new OnDemandCapacityReservationOptionsProperty {
CapacityReservationPreference = "capacityReservationPreference",
CapacityReservationResourceGroupArn = "capacityReservationResourceGroupArn",
UsageStrategy = "usageStrategy"
},
TimeoutDurationMinutes = 123
},
SpotResizeSpecification = new SpotResizingSpecificationProperty {
AllocationStrategy = "allocationStrategy",
TimeoutDurationMinutes = 123
}
},
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
}, new CfnPropertyMixinOptions {
Strategy = PropertyMergeStrategy.OVERRIDE
});
Methods
ApplyTo(IConstruct)
Apply the mixin properties to the construct.
public override IConstruct ApplyTo(IConstruct construct)
Parameters
- construct IConstruct
Returns
IConstruct
Overrides
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
ExampleMetadata: fixture=_generated
Supports(IConstruct)
Check if this mixin supports the given construct.
public override bool Supports(IConstruct construct)
Parameters
- construct IConstruct
Returns
Overrides
Remarks
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 <code>TaskInstanceFleets</code> subproperty for the <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticmapreduce-cluster-jobflowinstancesconfig.html">AWS::EMR::Cluster JobFlowInstancesConfig</a> property instead. To use this subproperty, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html">AWS::EMR::Cluster</a> for examples.
CloudformationResource: AWS::EMR::InstanceFleetConfig
Mixin: true
ExampleMetadata: fixture=_generated