Class CfnCluster.InstanceGroupConfigProperty
Use InstanceGroupConfig
to define instance groups for an EMR cluster.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.EMR
Assembly: Amazon.CDK.AWS.EMR.dll
Syntax (csharp)
public class InstanceGroupConfigProperty : Object, CfnCluster.IInstanceGroupConfigProperty
Syntax (vb)
Public Class InstanceGroupConfigProperty
Inherits Object
Implements CfnCluster.IInstanceGroupConfigProperty
Remarks
A cluster can not use both instance groups and instance fleets. For more information, see Create a Cluster with Instance Fleets or Uniform Instance Groups in the Amazon EMR Management Guide .
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_;
var instanceGroupConfigProperty = new InstanceGroupConfigProperty {
InstanceCount = 123,
InstanceType = "instanceType",
// the properties below are optional
AutoScalingPolicy = new AutoScalingPolicyProperty {
Constraints = new ScalingConstraintsProperty {
MaxCapacity = 123,
MinCapacity = 123
},
Rules = new [] { new ScalingRuleProperty {
Action = new ScalingActionProperty {
SimpleScalingPolicyConfiguration = new SimpleScalingPolicyConfigurationProperty {
ScalingAdjustment = 123,
// the properties below are optional
AdjustmentType = "adjustmentType",
CoolDown = 123
},
// the properties below are optional
Market = "market"
},
Name = "name",
Trigger = new ScalingTriggerProperty {
CloudWatchAlarmDefinition = new CloudWatchAlarmDefinitionProperty {
ComparisonOperator = "comparisonOperator",
MetricName = "metricName",
Period = 123,
Threshold = 123,
// the properties below are optional
Dimensions = new [] { new MetricDimensionProperty {
Key = "key",
Value = "value"
} },
EvaluationPeriods = 123,
Namespace = "namespace",
Statistic = "statistic",
Unit = "unit"
}
},
// the properties below are optional
Description = "description"
} }
},
BidPrice = "bidPrice",
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
},
Market = "market",
Name = "name"
};
Synopsis
Constructors
InstanceGroupConfigProperty() |
Properties
AutoScalingPolicy |
|
BidPrice | If specified, indicates that the instance group uses Spot Instances. |
Configurations | Amazon EMR releases 4.x or later. |
CustomAmiId | The custom AMI ID to use for the provisioned instance group. |
EbsConfiguration | EBS configurations that will be attached to each EC2 instance in the instance group. |
InstanceCount | Target number of instances for the instance group. |
InstanceType | The EC2 instance type for all instances in the instance group. |
Market | Market type of the EC2 instances used to create a cluster node. |
Name | Friendly name given to the instance group. |
Constructors
InstanceGroupConfigProperty()
public InstanceGroupConfigProperty()
Properties
AutoScalingPolicy
AutoScalingPolicy
is a subproperty of the InstanceGroupConfig property type that specifies the constraints and rules of an automatic scaling policy in Amazon EMR . The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. Only core and task instance groups can use automatic scaling policies. For more information, see Using Automatic Scaling in Amazon EMR .
public object AutoScalingPolicy { get; set; }
Property Value
System.Object
Remarks
BidPrice
If specified, indicates that the instance group uses Spot Instances.
public string BidPrice { get; set; }
Property Value
System.String
Remarks
This is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice
to set the amount equal to the On-Demand price, or specify an amount in USD.
Configurations
Amazon EMR releases 4.x or later.
public object Configurations { get; set; }
Property Value
System.Object
Remarks
The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).
CustomAmiId
The custom AMI ID to use for the provisioned instance group.
public string CustomAmiId { get; set; }
Property Value
System.String
Remarks
EbsConfiguration
EBS configurations that will be attached to each EC2 instance in the instance group.
public object EbsConfiguration { get; set; }
Property Value
System.Object
Remarks
InstanceCount
Target number of instances for the instance group.
public double InstanceCount { get; set; }
Property Value
System.Double
Remarks
InstanceType
The EC2 instance type for all instances in the instance group.
public string InstanceType { get; set; }
Property Value
System.String
Remarks
Market
Market type of the EC2 instances used to create a cluster node.
public string Market { get; set; }
Property Value
System.String
Remarks
Name
Friendly name given to the instance group.
public string Name { get; set; }
Property Value
System.String