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 EmrCreateCluster.IInstanceFleetConfigProperty
Syntax (vb)
Public Interface EmrCreateCluster.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
| InstanceFleetType | The node type that the instance fleet hosts. |
| InstanceTypeConfigs | The instance type configurations that define the EC2 instances in the instance fleet. |
| 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. |
Properties
InstanceFleetType
The node type that the instance fleet hosts.
EmrCreateCluster.InstanceRoleType InstanceFleetType { get; }
Property Value
EmrCreateCluster.InstanceRoleType
Remarks
Valid values are MASTER,CORE,and TASK.
InstanceTypeConfigs
The instance type configurations that define the EC2 instances in the instance fleet.
EmrCreateCluster.IInstanceTypeConfigProperty[]? InstanceTypeConfigs { get; }
Property Value
Remarks
Default: No instanceTpeConfigs
LaunchSpecifications
The launch specification for the instance fleet.
EmrCreateCluster.IInstanceFleetProvisioningSpecificationsProperty? LaunchSpecifications { get; }
Property Value
EmrCreateCluster.IInstanceFleetProvisioningSpecificationsProperty
Remarks
Default: No launchSpecifications
Name
The friendly name of the instance fleet.
string? Name { get; }
Property Value
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.
double? TargetOnDemandCapacity { get; }
Property Value
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.
double? TargetSpotCapacity { get; }
Property Value
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