Interface EmrCreateCluster.IInstanceFleetConfigProperty
The configuration that defines an instance fleet.
Namespace: Amazon.CDK.AWS.StepFunctions.Tasks
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface IInstanceFleetConfigProperty
Syntax (vb)
Public Interface IInstanceFleetConfigProperty
Remarks
See: https://docs.aws.amazon.com/emr/latest/APIReference/API_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;
using Amazon.CDK.AWS.StepFunctions.Tasks;
ConfigurationProperty configurationProperty_;
Size size;
var instanceFleetConfigProperty = new InstanceFleetConfigProperty {
InstanceFleetType = EmrCreateCluster.InstanceRoleType.MASTER,
// 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",
Configurations = new [] { configurationProperty_ },
Properties = new Dictionary<string, string> {
{ "propertiesKey", "properties" }
}
} },
EbsConfiguration = new EbsConfigurationProperty {
EbsBlockDeviceConfigs = new [] { new EbsBlockDeviceConfigProperty {
VolumeSpecification = new VolumeSpecificationProperty {
VolumeSize = size,
VolumeType = EmrCreateCluster.EbsBlockDeviceVolumeType.GP3,
// 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 = EmrCreateCluster.OnDemandAllocationStrategy.LOWEST_PRICE
},
SpotSpecification = new SpotProvisioningSpecificationProperty {
TimeoutAction = EmrCreateCluster.SpotTimeoutAction.SWITCH_TO_ON_DEMAND,
// the properties below are optional
AllocationStrategy = EmrCreateCluster.SpotAllocationStrategy.CAPACITY_OPTIMIZED,
BlockDurationMinutes = 123,
Timeout = Duration.Minutes(30),
TimeoutDurationMinutes = 123
}
},
Name = "name",
TargetOnDemandCapacity = 123,
TargetSpotCapacity = 123
};
Synopsis
Properties
Instance |
The node type that the instance fleet hosts. |
Instance |
The instance type configurations that define the EC2 instances in the instance fleet. |
Launch |
The launch specification for the instance fleet. |
Name | The friendly name of the instance fleet. |
Target |
The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. |
Target |
The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. |
Properties
InstanceFleetType
The node type that the instance fleet hosts.
EmrCreateCluster.InstanceRoleType InstanceFleetType { get; }
Property Value
Emr
Remarks
Valid values are MASTER,CORE,and TASK.
InstanceTypeConfigs
The instance type configurations that define the EC2 instances in the instance fleet.
virtual EmrCreateCluster.IInstanceTypeConfigProperty[] InstanceTypeConfigs { get; }
Property Value
Emr
Remarks
Default: No instanceTpeConfigs
LaunchSpecifications
The launch specification for the instance fleet.
virtual EmrCreateCluster.IInstanceFleetProvisioningSpecificationsProperty LaunchSpecifications { get; }
Property Value
Emr
Remarks
Default: No launchSpecifications
Name
The friendly name of the instance fleet.
virtual string Name { get; }
Property Value
System.
Remarks
Default: No name
TargetOnDemandCapacity
The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision.
virtual Nullable<double> TargetOnDemandCapacity { get; }
Property Value
System.
Remarks
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.
Default: No targetOnDemandCapacity
TargetSpotCapacity
The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision.
virtual Nullable<double> TargetSpotCapacity { get; }
Property Value
System.
Remarks
If not specified or set to 0, only On-Demand Instances are provisioned for the instance fleet using targetOnDemandCapacity
.
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.
Default: No targetSpotCapacity