Class: AWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceGroupConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
step_functions_tasks/emr_create_cluster.rb

Overview

Configuration defining a new instance group.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance_count:, instance_role:, instance_type:, auto_scaling_policy: nil, bid_price: nil, configurations: nil, ebs_configuration: nil, market: nil, name: nil) ⇒ InstanceGroupConfigProperty

Returns a new instance of InstanceGroupConfigProperty.

Parameters:



1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
# File 'step_functions_tasks/emr_create_cluster.rb', line 1511

def initialize(instance_count:, instance_role:, instance_type:, auto_scaling_policy: nil, bid_price: nil, configurations: 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("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLkluc3RhbmNlUm9sZVR5cGUifQ==")), "instanceRole")
  @instance_type = instance_type
  Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType")
  @auto_scaling_policy = auto_scaling_policy.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::AutoScalingPolicyProperty.new(**auto_scaling_policy.transform_keys(&:to_sym)) : auto_scaling_policy
  Jsii::Type.check_type(@auto_scaling_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLkF1dG9TY2FsaW5nUG9saWN5UHJvcGVydHkifQ==")), "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.is_a?(Array) ? configurations.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::ConfigurationProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : configurations
  Jsii::Type.check_type(@configurations, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zX3Rhc2tzLkVtckNyZWF0ZUNsdXN0ZXIuQ29uZmlndXJhdGlvblByb3BlcnR5In0sImtpbmQiOiJhcnJheSJ9fQ==")), "configurations") unless @configurations.nil?
  @ebs_configuration = ebs_configuration.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::EbsConfigurationProperty.new(**ebs_configuration.transform_keys(&:to_sym)) : ebs_configuration
  Jsii::Type.check_type(@ebs_configuration, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLkVic0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9")), "ebsConfiguration") unless @ebs_configuration.nil?
  @market = market
  Jsii::Type.check_type(@market, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLkluc3RhbmNlTWFya2V0In0=")), "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_policyAWSCDK::StepFunctionsTasks::EMRCreateCluster::AutoScalingPolicyProperty? (readonly)

Note:

Default: - None

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster.



1548
1549
1550
# File 'step_functions_tasks/emr_create_cluster.rb', line 1548

def auto_scaling_policy
  @auto_scaling_policy
end

#bid_priceString? (readonly)

Note:

Default: - None

The bid price for each EC2 Spot instance type as defined by InstanceType.

Expressed in USD.

Returns:

  • (String, nil)


1555
1556
1557
# File 'step_functions_tasks/emr_create_cluster.rb', line 1555

def bid_price
  @bid_price
end

#configurationsArray<AWSCDK::StepFunctionsTasks::EMRCreateCluster::ConfigurationProperty>? (readonly)

Note:

Default: - None

The list of configurations supplied for an EMR cluster instance group.



1560
1561
1562
# File 'step_functions_tasks/emr_create_cluster.rb', line 1560

def configurations
  @configurations
end

#ebs_configurationAWSCDK::StepFunctionsTasks::EMRCreateCluster::EbsConfigurationProperty? (readonly)

Note:

Default: - None

EBS configurations that will be attached to each EC2 instance in the instance group.



1565
1566
1567
# File 'step_functions_tasks/emr_create_cluster.rb', line 1565

def ebs_configuration
  @ebs_configuration
end

#instance_countNumeric (readonly)

Target number of instances for the instance group.

Returns:

  • (Numeric)


1535
1536
1537
# File 'step_functions_tasks/emr_create_cluster.rb', line 1535

def instance_count
  @instance_count
end

#instance_roleAWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceRoleType (readonly)

The role of the instance group in the cluster.



1539
1540
1541
# File 'step_functions_tasks/emr_create_cluster.rb', line 1539

def instance_role
  @instance_role
end

#instance_typeString (readonly)

The EC2 instance type for all instances in the instance group.

Returns:

  • (String)


1543
1544
1545
# File 'step_functions_tasks/emr_create_cluster.rb', line 1543

def instance_type
  @instance_type
end

#marketAWSCDK::StepFunctionsTasks::EMRCreateCluster::InstanceMarket? (readonly)

Note:

Default: - EMR selected default

Market type of the EC2 instances used to create a cluster node.



1570
1571
1572
# File 'step_functions_tasks/emr_create_cluster.rb', line 1570

def market
  @market
end

#nameString? (readonly)

Note:

Default: - None

Friendly name given to the instance group.

Returns:

  • (String, nil)


1575
1576
1577
# File 'step_functions_tasks/emr_create_cluster.rb', line 1575

def name
  @name
end

Class Method Details

.jsii_propertiesObject



1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
# File 'step_functions_tasks/emr_create_cluster.rb', line 1577

def self.jsii_properties
  {
    :instance_count => "instanceCount",
    :instance_role => "instanceRole",
    :instance_type => "instanceType",
    :auto_scaling_policy => "autoScalingPolicy",
    :bid_price => "bidPrice",
    :configurations => "configurations",
    :ebs_configuration => "ebsConfiguration",
    :market => "market",
    :name => "name",
  }
end

Instance Method Details

#to_jsiiObject



1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
# File 'step_functions_tasks/emr_create_cluster.rb', line 1591

def to_jsii
  result = {}
  result.merge!({
    "instanceCount" => @instance_count,
    "instanceRole" => @instance_role,
    "instanceType" => @instance_type,
    "autoScalingPolicy" => @auto_scaling_policy,
    "bidPrice" => @bid_price,
    "configurations" => @configurations,
    "ebsConfiguration" => @ebs_configuration,
    "market" => @market,
    "name" => @name,
  })
  result.compact
end