Class: AWSCDK::StepFunctionsTasks::EMRCreateCluster::AutoScalingPolicyProperty

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

Overview

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(constraints:, rules:) ⇒ AutoScalingPolicyProperty

Returns a new instance of AutoScalingPolicyProperty.

Parameters:



746
747
748
749
750
751
# File 'step_functions_tasks/emr_create_cluster.rb', line 746

def initialize(constraints:, rules:)
  @constraints = constraints.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::ScalingConstraintsProperty.new(**constraints.transform_keys(&:to_sym)) : constraints
  Jsii::Type.check_type(@constraints, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfc3RlcGZ1bmN0aW9uc190YXNrcy5FbXJDcmVhdGVDbHVzdGVyLlNjYWxpbmdDb25zdHJhaW50c1Byb3BlcnR5In0=")), "constraints")
  @rules = rules.is_a?(Array) ? rules.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::StepFunctionsTasks::EMRCreateCluster::ScalingRuleProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : rules
  Jsii::Type.check_type(@rules, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zdGVwZnVuY3Rpb25zX3Rhc2tzLkVtckNyZWF0ZUNsdXN0ZXIuU2NhbGluZ1J1bGVQcm9wZXJ0eSJ9LCJraW5kIjoiYXJyYXkifX0=")), "rules")
end

Instance Attribute Details

#constraintsAWSCDK::StepFunctionsTasks::EMRCreateCluster::ScalingConstraintsProperty (readonly)

The upper and lower EC2 instance limits for an automatic scaling policy.

Automatic scaling activity will not cause an instance group to grow above or below these limits.



759
760
761
# File 'step_functions_tasks/emr_create_cluster.rb', line 759

def constraints
  @constraints
end

#rulesArray<AWSCDK::StepFunctionsTasks::EMRCreateCluster::ScalingRuleProperty> (readonly)

The scale-in and scale-out rules that comprise the automatic scaling policy.



763
764
765
# File 'step_functions_tasks/emr_create_cluster.rb', line 763

def rules
  @rules
end

Class Method Details

.jsii_propertiesObject



765
766
767
768
769
770
# File 'step_functions_tasks/emr_create_cluster.rb', line 765

def self.jsii_properties
  {
    :constraints => "constraints",
    :rules => "rules",
  }
end

Instance Method Details

#to_jsiiObject



772
773
774
775
776
777
778
779
# File 'step_functions_tasks/emr_create_cluster.rb', line 772

def to_jsii
  result = {}
  result.merge!({
    "constraints" => @constraints,
    "rules" => @rules,
  })
  result.compact
end