Class: AWSCDK::EMR::CfnCluster::PlacementGroupConfigProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_cluster.rb

Overview

Placement group configuration for an Amazon EMR cluster.

The configuration specifies the placement strategy that can be applied to instance roles during cluster creation.

To use this configuration, consider attaching managed policy AmazonElasticMapReducePlacementGroupPolicy to the Amazon EMR role.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance_role:, placement_strategy: nil) ⇒ PlacementGroupConfigProperty

Returns a new instance of PlacementGroupConfigProperty.

Parameters:

  • instance_role (String)

    Role of the instance in the cluster.

  • placement_strategy (String, nil) (defaults to: nil)

    Amazon EC2 Placement Group strategy associated with instance role.



2561
2562
2563
2564
2565
2566
# File 'emr/cfn_cluster.rb', line 2561

def initialize(instance_role:, placement_strategy: nil)
  @instance_role = instance_role
  Jsii::Type.check_type(@instance_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceRole")
  @placement_strategy = placement_strategy
  Jsii::Type.check_type(@placement_strategy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "placementStrategy") unless @placement_strategy.nil?
end

Instance Attribute Details

#instance_roleString (readonly)

Role of the instance in the cluster.

Starting with Amazon EMR release 5.23.0, the only supported instance role is MASTER .



2574
2575
2576
# File 'emr/cfn_cluster.rb', line 2574

def instance_role
  @instance_role
end

#placement_strategyString? (readonly)

Amazon EC2 Placement Group strategy associated with instance role.

Starting with Amazon EMR release 5.23.0, the only supported placement strategy is SPREAD for the MASTER instance role.



2581
2582
2583
# File 'emr/cfn_cluster.rb', line 2581

def placement_strategy
  @placement_strategy
end

Class Method Details

.jsii_propertiesObject



2583
2584
2585
2586
2587
2588
# File 'emr/cfn_cluster.rb', line 2583

def self.jsii_properties
  {
    :instance_role => "instanceRole",
    :placement_strategy => "placementStrategy",
  }
end

Instance Method Details

#to_jsiiObject



2590
2591
2592
2593
2594
2595
2596
2597
# File 'emr/cfn_cluster.rb', line 2590

def to_jsii
  result = {}
  result.merge!({
    "instanceRole" => @instance_role,
    "placementStrategy" => @placement_strategy,
  })
  result.compact
end