Class: AWSCDK::Autoscaling::InstanceLifecyclePolicy

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
autoscaling/instance_lifecycle_policy.rb

Overview

Instance lifecycle policy for an Auto Scaling group.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(retention_triggers: nil) ⇒ InstanceLifecyclePolicy

Returns a new instance of InstanceLifecyclePolicy.

Parameters:



8
9
10
11
# File 'autoscaling/instance_lifecycle_policy.rb', line 8

def initialize(retention_triggers: nil)
  @retention_triggers = retention_triggers.is_a?(Hash) ? ::AWSCDK::Autoscaling::RetentionTriggers.new(**retention_triggers.transform_keys(&:to_sym)) : retention_triggers
  Jsii::Type.check_type(@retention_triggers, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXV0b3NjYWxpbmcuUmV0ZW50aW9uVHJpZ2dlcnMifQ==")), "retentionTriggers") unless @retention_triggers.nil?
end

Instance Attribute Details

#retention_triggersAWSCDK::Autoscaling::RetentionTriggers? (readonly)

Note:

Default: - No retention triggers configured

Retention triggers for the instance lifecycle policy.



17
18
19
# File 'autoscaling/instance_lifecycle_policy.rb', line 17

def retention_triggers
  @retention_triggers
end

Class Method Details

.jsii_propertiesObject



19
20
21
22
23
# File 'autoscaling/instance_lifecycle_policy.rb', line 19

def self.jsii_properties
  {
    :retention_triggers => "retentionTriggers",
  }
end

Instance Method Details

#to_jsiiObject



25
26
27
28
29
30
31
# File 'autoscaling/instance_lifecycle_policy.rb', line 25

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