Class CfnInstanceGroupConfig
A CloudFormation AWS::EMR::InstanceGroupConfig
.
Inherited Members
Namespace: Amazon.CDK.AWS.EMR
Assembly: Amazon.CDK.AWS.EMR.dll
Syntax (csharp)
public class CfnInstanceGroupConfig : CfnResource, IConstruct, IDependable, IInspectable
Syntax (vb)
Public Class CfnInstanceGroupConfig
Inherits CfnResource
Implements IConstruct, IDependable, IInspectable
Remarks
Use InstanceGroupConfig
to define instance groups for an EMR cluster. 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
},
// the properties below are optional
VolumesPerInstance = 123
} },
EbsOptimized = false
},
Market = "market",
Name = "name"
});
Synopsis
Constructors
CfnInstanceGroupConfig(Construct, String, ICfnInstanceGroupConfigProps) | Create a new |
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 |
Properties
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(Construct, String, ICfnInstanceGroupConfigProps)
Create a new AWS::EMR::InstanceGroupConfig
.
public CfnInstanceGroupConfig(Construct scope, string id, ICfnInstanceGroupConfigProps props)
Parameters
- scope Construct
- scope in which this resource is defined.
- id System.String
- scoped id of the resource.
- props ICfnInstanceGroupConfigProps
- resource properties.
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
Properties
AutoScalingPolicy
AutoScalingPolicy
is a subproperty of InstanceGroupConfig
.
public virtual object AutoScalingPolicy { get; set; }
Property Value
System.Object
Remarks
AutoScalingPolicy
defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. For more information, see Using Automatic Scaling in Amazon EMR in the Amazon EMR Management Guide .
BidPrice
If specified, indicates that the instance group uses Spot Instances.
public virtual 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.
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
Remarks
The list of configurations supplied for an Amazon 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 virtual string CustomAmiId { get; set; }
Property Value
System.String
Remarks
EbsConfiguration
EbsConfiguration
determines the EBS volumes to attach to EMR cluster instances.
public virtual object EbsConfiguration { get; set; }
Property Value
System.Object
Remarks
InstanceCount
Target number of instances for the instance group.
public virtual double InstanceCount { get; set; }
Property Value
System.Double
Remarks
InstanceRole
The role of the instance group in the cluster.
public virtual string InstanceRole { get; set; }
Property Value
System.String
Remarks
InstanceType
The Amazon EC2 instance type for all instances in the instance group.
public virtual string InstanceType { get; set; }
Property Value
System.String
Remarks
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
Remarks
Market
Market type of the Amazon EC2 instances used to create a cluster node.
public virtual string Market { get; set; }
Property Value
System.String
Remarks
Name
Friendly name given to the instance group.
public virtual string Name { get; set; }
Property Value
System.String
Remarks
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>