Class: AWSCDK::EMR::CfnInstanceGroupConfigProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::EMR::CfnInstanceGroupConfigProps
- Defined in:
- emr/cfn_instance_group_config_props.rb
Overview
Properties for defining a CfnInstanceGroupConfig.
Instance Attribute Summary collapse
-
#auto_scaling_policy ⇒ AWSCDK::IResolvable, ...
readonly
AutoScalingPolicyis a subproperty ofInstanceGroupConfig. -
#bid_price ⇒ String?
readonly
If specified, indicates that the instance group uses Spot Instances.
-
#configurations ⇒ AWSCDK::IResolvable, ...
readonly
Amazon EMR releases 4.x or later.
-
#custom_ami_id ⇒ String?
readonly
The custom AMI ID to use for the provisioned instance group.
-
#ebs_configuration ⇒ AWSCDK::IResolvable, ...
readonly
EbsConfigurationdetermines the EBS volumes to attach to EMR cluster instances. -
#instance_count ⇒ Numeric
readonly
Target number of instances for the instance group.
-
#instance_role ⇒ String
readonly
The role of the instance group in the cluster.
-
#instance_type ⇒ String
readonly
The Amazon EC2 instance type for all instances in the instance group.
-
#job_flow_id ⇒ String
readonly
The ID of an Amazon EMR cluster that you want to associate this instance group with.
-
#market ⇒ String?
readonly
Market type of the Amazon EC2 instances used to create a cluster node.
-
#name ⇒ String?
readonly
Friendly name given to the instance group.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(instance_count:, instance_role:, instance_type:, job_flow_id:, auto_scaling_policy: nil, bid_price: nil, configurations: nil, custom_ami_id: nil, ebs_configuration: nil, market: nil, name: nil) ⇒ CfnInstanceGroupConfigProps
constructor
A new instance of CfnInstanceGroupConfigProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(instance_count:, instance_role:, instance_type:, job_flow_id:, auto_scaling_policy: nil, bid_price: nil, configurations: nil, custom_ami_id: nil, ebs_configuration: nil, market: nil, name: nil) ⇒ CfnInstanceGroupConfigProps
Returns a new instance of CfnInstanceGroupConfigProps.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'emr/cfn_instance_group_config_props.rb', line 20 def initialize(instance_count:, instance_role:, instance_type:, job_flow_id:, auto_scaling_policy: nil, bid_price: nil, configurations: nil, custom_ami_id: nil, ebs_configuration: nil, market: nil, name: nil) @instance_count = instance_count Jsii::Type.check_type(@instance_count, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "instanceCount") @instance_role = instance_role Jsii::Type.check_type(@instance_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceRole") @instance_type = instance_type Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType") @job_flow_id = job_flow_id Jsii::Type.check_type(@job_flow_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "jobFlowId") @auto_scaling_policy = auto_scaling_policy.is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceGroupConfig::AutoScalingPolicyProperty.new(**auto_scaling_policy.transform_keys(&:to_sym)) : auto_scaling_policy Jsii::Type.check_type(@auto_scaling_policy, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuSW5zdGFuY2VHcm91cENvbmZpZy5BdXRvU2NhbGluZ1BvbGljeVByb3BlcnR5In1dfX0=")), "autoScalingPolicy") unless @auto_scaling_policy.nil? @bid_price = bid_price Jsii::Type.check_type(@bid_price, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bidPrice") unless @bid_price.nil? @configurations = configurations Jsii::Type.check_type(@configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZW1yLkNmbkluc3RhbmNlR3JvdXBDb25maWcuQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "configurations") unless @configurations.nil? @custom_ami_id = custom_ami_id Jsii::Type.check_type(@custom_ami_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "customAmiId") unless @custom_ami_id.nil? @ebs_configuration = ebs_configuration.is_a?(Hash) ? ::AWSCDK::EMR::CfnInstanceGroupConfig::EbsConfigurationProperty.new(**ebs_configuration.transform_keys(&:to_sym)) : ebs_configuration Jsii::Type.check_type(@ebs_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbXIuQ2ZuSW5zdGFuY2VHcm91cENvbmZpZy5FYnNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "ebsConfiguration") unless @ebs_configuration.nil? @market = market Jsii::Type.check_type(@market, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "market") unless @market.nil? @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil? end |
Instance Attribute Details
#auto_scaling_policy ⇒ AWSCDK::IResolvable, ... (readonly)
AutoScalingPolicy is a subproperty of InstanceGroupConfig .
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 .
73 74 75 |
# File 'emr/cfn_instance_group_config_props.rb', line 73 def auto_scaling_policy @auto_scaling_policy end |
#bid_price ⇒ String? (readonly)
If specified, indicates that the instance group uses Spot Instances.
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.
80 81 82 |
# File 'emr/cfn_instance_group_config_props.rb', line 80 def bid_price @bid_price end |
#configurations ⇒ AWSCDK::IResolvable, ... (readonly)
Amazon EMR releases 4.x or later.
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).
87 88 89 |
# File 'emr/cfn_instance_group_config_props.rb', line 87 def configurations @configurations end |
#custom_ami_id ⇒ String? (readonly)
The custom AMI ID to use for the provisioned instance group.
92 93 94 |
# File 'emr/cfn_instance_group_config_props.rb', line 92 def custom_ami_id @custom_ami_id end |
#ebs_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
EbsConfiguration determines the EBS volumes to attach to EMR cluster instances.
97 98 99 |
# File 'emr/cfn_instance_group_config_props.rb', line 97 def ebs_configuration @ebs_configuration end |
#instance_count ⇒ Numeric (readonly)
Target number of instances for the instance group.
49 50 51 |
# File 'emr/cfn_instance_group_config_props.rb', line 49 def instance_count @instance_count end |
#instance_role ⇒ String (readonly)
The role of the instance group in the cluster.
Allowed Values : TASK
56 57 58 |
# File 'emr/cfn_instance_group_config_props.rb', line 56 def instance_role @instance_role end |
#instance_type ⇒ String (readonly)
The Amazon EC2 instance type for all instances in the instance group.
61 62 63 |
# File 'emr/cfn_instance_group_config_props.rb', line 61 def instance_type @instance_type end |
#job_flow_id ⇒ String (readonly)
The ID of an Amazon EMR cluster that you want to associate this instance group with.
66 67 68 |
# File 'emr/cfn_instance_group_config_props.rb', line 66 def job_flow_id @job_flow_id end |
#market ⇒ String? (readonly)
Market type of the Amazon EC2 instances used to create a cluster node.
102 103 104 |
# File 'emr/cfn_instance_group_config_props.rb', line 102 def market @market end |
#name ⇒ String? (readonly)
Friendly name given to the instance group.
107 108 109 |
# File 'emr/cfn_instance_group_config_props.rb', line 107 def name @name end |
Class Method Details
.jsii_properties ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'emr/cfn_instance_group_config_props.rb', line 109 def self.jsii_properties { :instance_count => "instanceCount", :instance_role => "instanceRole", :instance_type => "instanceType", :job_flow_id => "jobFlowId", :auto_scaling_policy => "autoScalingPolicy", :bid_price => "bidPrice", :configurations => "configurations", :custom_ami_id => "customAmiId", :ebs_configuration => "ebsConfiguration", :market => "market", :name => "name", } end |
Instance Method Details
#to_jsii ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'emr/cfn_instance_group_config_props.rb', line 125 def to_jsii result = {} result.merge!({ "instanceCount" => @instance_count, "instanceRole" => @instance_role, "instanceType" => @instance_type, "jobFlowId" => @job_flow_id, "autoScalingPolicy" => @auto_scaling_policy, "bidPrice" => @bid_price, "configurations" => @configurations, "customAmiId" => @custom_ami_id, "ebsConfiguration" => @ebs_configuration, "market" => @market, "name" => @name, }) result.compact end |