Class EmrCreateCluster.InstanceFleetConfigProperty
The configuration that defines an instance fleet.
Inheritance
Namespace: Amazon.CDK.AWS.StepFunctions.Tasks
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class InstanceFleetConfigProperty : Object, EmrCreateCluster.IInstanceFleetConfigProperty
Syntax (vb)
Public Class InstanceFleetConfigProperty
Inherits Object
Implements 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
Constructors
InstanceFleetConfigProperty() |
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. |
Constructors
InstanceFleetConfigProperty()
public InstanceFleetConfigProperty()
Properties
InstanceFleetType
The node type that the instance fleet hosts.
public EmrCreateCluster.InstanceRoleType InstanceFleetType { get; set; }
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.
public EmrCreateCluster.IInstanceTypeConfigProperty[] InstanceTypeConfigs { get; set; }
Property Value
EmrCreateCluster.IInstanceTypeConfigProperty[]
Remarks
Default: No instanceTpeConfigs
LaunchSpecifications
The launch specification for the instance fleet.
public EmrCreateCluster.IInstanceFleetProvisioningSpecificationsProperty LaunchSpecifications { get; set; }
Property Value
EmrCreateCluster.IInstanceFleetProvisioningSpecificationsProperty
Remarks
Default: No launchSpecifications
Name
The friendly name of the instance fleet.
public string Name { get; set; }
Property Value
System.String
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.
public Nullable<double> TargetOnDemandCapacity { get; set; }
Property Value
System.Nullable<System.Double>
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.
public Nullable<double> TargetSpotCapacity { get; set; }
Property Value
System.Nullable<System.Double>
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