Class CfnInstanceGroupConfig
Use InstanceGroupConfig
to define instance groups for an EMR cluster.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.EMR
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnInstanceGroupConfig : CfnResource, IInspectable
Syntax (vb)
Public Class CfnInstanceGroupConfig
Inherits CfnResource
Implements IInspectable
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 .
You can currently only add task instance groups to a cluster with this resource. If you use this resource, CloudFormation waits for the cluster launch to complete before adding the task instance group to the cluster. In order to add task instance groups to the cluster as part of the cluster launch and minimize delays in provisioning task nodes, use the TaskInstanceGroups
subproperty for the AWS::EMR::Cluster JobFlowInstancesConfig property instead. To use this subproperty, see AWS::EMR::Cluster for examples.
CloudformationResource: AWS::EMR::InstanceGroupConfig
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 cfnInstanceGroupConfig = new CfnInstanceGroupConfig(this, "MyCfnInstanceGroupConfig", new CfnInstanceGroupConfigProps {
InstanceCount = 123,
InstanceRole = "instanceRole",
InstanceType = "instanceType",
JobFlowId = "jobFlowId",
// 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,
Throughput = 123
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
Market = "market",
Name = "name"
});
Synopsis
Constructors
CfnInstanceGroupConfig(ByRefValue) | Used by jsii to construct an instance of this class from a Javascript-owned object reference |
CfnInstanceGroupConfig(DeputyBase.DeputyProps) | Used by jsii to construct an instance of this class from DeputyProps |
CfnInstanceGroupConfig(Construct, String, ICfnInstanceGroupConfigProps) |
Properties
AttrId | |
AutoScalingPolicy |
|
BidPrice | If specified, indicates that the instance group uses Spot Instances. |
CFN_RESOURCE_TYPE_NAME | The CloudFormation resource type name for this resource class. |
CfnProperties | |
Configurations | Amazon EMR releases 4.x or later. |
CustomAmiId | The custom AMI ID to use for the provisioned instance group. |
EbsConfiguration |
|
InstanceCount | Target number of instances for the instance group. |
InstanceRole | The role of the instance group in the cluster. |
InstanceType | The Amazon EC2 instance type for all instances in the instance group. |
JobFlowId | The ID of an Amazon EMR cluster that you want to associate this instance group with. |
Market | Market type of the Amazon EC2 instances used to create a cluster node. |
Name | Friendly name given to the instance group. |
Methods
Inspect(TreeInspector) | Examines the CloudFormation resource and discloses attributes. |
RenderProperties(IDictionary<String, Object>) |
Constructors
CfnInstanceGroupConfig(ByRefValue)
Used by jsii to construct an instance of this class from a Javascript-owned object reference
protected CfnInstanceGroupConfig(ByRefValue reference)
Parameters
- reference Amazon.JSII.Runtime.Deputy.ByRefValue
The Javascript-owned object reference
CfnInstanceGroupConfig(DeputyBase.DeputyProps)
Used by jsii to construct an instance of this class from DeputyProps
protected CfnInstanceGroupConfig(DeputyBase.DeputyProps props)
Parameters
- props Amazon.JSII.Runtime.Deputy.DeputyBase.DeputyProps
The deputy props
CfnInstanceGroupConfig(Construct, String, ICfnInstanceGroupConfigProps)
public CfnInstanceGroupConfig(Construct scope, string id, ICfnInstanceGroupConfigProps props)
Parameters
- scope Constructs.Construct
Scope in which this resource is defined.
- id System.String
Construct identifier for this resource (unique in its scope).
- props ICfnInstanceGroupConfigProps
Resource properties.
Properties
AttrId
public virtual string AttrId { get; }
Property Value
System.String
Remarks
CloudformationAttribute: Id
AutoScalingPolicy
AutoScalingPolicy
is a subproperty of InstanceGroupConfig
.
public virtual object AutoScalingPolicy { get; set; }
Property Value
System.Object
BidPrice
If specified, indicates that the instance group uses Spot Instances.
public virtual string BidPrice { get; set; }
Property Value
System.String
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
public static string CFN_RESOURCE_TYPE_NAME { get; }
Property Value
System.String
CfnProperties
protected override IDictionary<string, object> CfnProperties { get; }
Property Value
System.Collections.Generic.IDictionary<System.String, System.Object>
Overrides
Configurations
Amazon EMR releases 4.x or later.
public virtual object Configurations { get; set; }
Property Value
System.Object
CustomAmiId
The custom AMI ID to use for the provisioned instance group.
public virtual string CustomAmiId { get; set; }
Property Value
System.String
EbsConfiguration
EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances.
public virtual object EbsConfiguration { get; set; }
Property Value
System.Object
InstanceCount
Target number of instances for the instance group.
public virtual double InstanceCount { get; set; }
Property Value
System.Double
InstanceRole
The role of the instance group in the cluster.
public virtual string InstanceRole { get; set; }
Property Value
System.String
InstanceType
The Amazon EC2 instance type for all instances in the instance group.
public virtual string InstanceType { get; set; }
Property Value
System.String
JobFlowId
The ID of an Amazon EMR cluster that you want to associate this instance group with.
public virtual string JobFlowId { get; set; }
Property Value
System.String
Market
Market type of the Amazon EC2 instances used to create a cluster node.
public virtual string Market { get; set; }
Property Value
System.String
Name
Friendly name given to the instance group.
public virtual string Name { get; set; }
Property Value
System.String
Methods
Inspect(TreeInspector)
Examines the CloudFormation resource and discloses attributes.
public virtual void Inspect(TreeInspector inspector)
Parameters
- inspector TreeInspector
tree inspector to collect and process attributes.
RenderProperties(IDictionary<String, Object>)
protected override IDictionary<string, object> RenderProperties(IDictionary<string, object> props)
Parameters
- props System.Collections.Generic.IDictionary<System.String, System.Object>
Returns
System.Collections.Generic.IDictionary<System.String, System.Object>