Class: AWSCDK::StepFunctionsTasks::EMRModifyInstanceGroupByName::InstanceResizePolicyProperty

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

Overview

Custom policy for requesting termination protection or termination of specific instances when shrinking an instance group.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instances_to_protect: nil, instances_to_terminate: nil, instance_termination_timeout: nil) ⇒ InstanceResizePolicyProperty

Returns a new instance of InstanceResizePolicyProperty.

Parameters:

  • instances_to_protect (Array<String>, nil) (defaults to: nil)

    Specific list of instances to be protected when shrinking an instance group.

  • instances_to_terminate (Array<String>, nil) (defaults to: nil)

    Specific list of instances to be terminated when shrinking an instance group.

  • instance_termination_timeout (AWSCDK::Duration, nil) (defaults to: nil)

    Decommissioning timeout override for the specific list of instances to be terminated.



705
706
707
708
709
710
711
712
# File 'step_functions_tasks/emr_modify_instance_group_by_name.rb', line 705

def initialize(instances_to_protect: nil, instances_to_terminate: nil, instance_termination_timeout: nil)
  @instances_to_protect = instances_to_protect
  Jsii::Type.check_type(@instances_to_protect, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "instancesToProtect") unless @instances_to_protect.nil?
  @instances_to_terminate = instances_to_terminate
  Jsii::Type.check_type(@instances_to_terminate, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "instancesToTerminate") unless @instances_to_terminate.nil?
  @instance_termination_timeout = instance_termination_timeout
  Jsii::Type.check_type(@instance_termination_timeout, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "instanceTerminationTimeout") unless @instance_termination_timeout.nil?
end

Instance Attribute Details

#instance_termination_timeoutAWSCDK::Duration? (readonly)

Note:

Default: cdk.Duration.seconds

Decommissioning timeout override for the specific list of instances to be terminated.

Returns:



728
729
730
# File 'step_functions_tasks/emr_modify_instance_group_by_name.rb', line 728

def instance_termination_timeout
  @instance_termination_timeout
end

#instances_to_protectArray<String>? (readonly)

Note:

Default: - No instances will be protected when shrinking an instance group

Specific list of instances to be protected when shrinking an instance group.

Returns:

  • (Array<String>, nil)


718
719
720
# File 'step_functions_tasks/emr_modify_instance_group_by_name.rb', line 718

def instances_to_protect
  @instances_to_protect
end

#instances_to_terminateArray<String>? (readonly)

Note:

Default: - No instances will be terminated when shrinking an instance group.

Specific list of instances to be terminated when shrinking an instance group.

Returns:

  • (Array<String>, nil)


723
724
725
# File 'step_functions_tasks/emr_modify_instance_group_by_name.rb', line 723

def instances_to_terminate
  @instances_to_terminate
end

Class Method Details

.jsii_propertiesObject



730
731
732
733
734
735
736
# File 'step_functions_tasks/emr_modify_instance_group_by_name.rb', line 730

def self.jsii_properties
  {
    :instances_to_protect => "instancesToProtect",
    :instances_to_terminate => "instancesToTerminate",
    :instance_termination_timeout => "instanceTerminationTimeout",
  }
end

Instance Method Details

#to_jsiiObject



738
739
740
741
742
743
744
745
746
# File 'step_functions_tasks/emr_modify_instance_group_by_name.rb', line 738

def to_jsii
  result = {}
  result.merge!({
    "instancesToProtect" => @instances_to_protect,
    "instancesToTerminate" => @instances_to_terminate,
    "instanceTerminationTimeout" => @instance_termination_timeout,
  })
  result.compact
end