Class: AWSCDK::EC2::CfnLaunchTemplate::CapacityReservationSpecificationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_launch_template.rb

Overview

Specifies an instance's Capacity Reservation targeting option. You can specify only one option at a time.

CapacityReservationSpecification is a property of AWS::EC2::LaunchTemplate LaunchTemplateData .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(capacity_reservation_preference: nil, capacity_reservation_target: nil) ⇒ CapacityReservationSpecificationProperty

Returns a new instance of CapacityReservationSpecificationProperty.

Parameters:



839
840
841
842
843
844
# File 'ec2/cfn_launch_template.rb', line 839

def initialize(capacity_reservation_preference: nil, capacity_reservation_target: nil)
  @capacity_reservation_preference = capacity_reservation_preference
  Jsii::Type.check_type(@capacity_reservation_preference, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "capacityReservationPreference") unless @capacity_reservation_preference.nil?
  @capacity_reservation_target = capacity_reservation_target.is_a?(Hash) ? ::AWSCDK::EC2::CfnLaunchTemplate::CapacityReservationTargetProperty.new(**capacity_reservation_target.transform_keys(&:to_sym)) : capacity_reservation_target
  Jsii::Type.check_type(@capacity_reservation_target, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuTGF1bmNoVGVtcGxhdGUuQ2FwYWNpdHlSZXNlcnZhdGlvblRhcmdldFByb3BlcnR5In1dfX0=")), "capacityReservationTarget") unless @capacity_reservation_target.nil?
end

Instance Attribute Details

#capacity_reservation_preferenceString? (readonly)

Indicates the instance's Capacity Reservation preferences. Possible preferences include:.

  • capacity-reservations-only - The instance will only run in a Capacity Reservation or Capacity Reservation group. If capacity isn't available, the instance will fail to launch.
  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone, tenancy).
  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.


854
855
856
# File 'ec2/cfn_launch_template.rb', line 854

def capacity_reservation_preference
  @capacity_reservation_preference
end

#capacity_reservation_targetAWSCDK::IResolvable, ... (readonly)

Information about the target Capacity Reservation or Capacity Reservation group.



859
860
861
# File 'ec2/cfn_launch_template.rb', line 859

def capacity_reservation_target
  @capacity_reservation_target
end

Class Method Details

.jsii_propertiesObject



861
862
863
864
865
866
# File 'ec2/cfn_launch_template.rb', line 861

def self.jsii_properties
  {
    :capacity_reservation_preference => "capacityReservationPreference",
    :capacity_reservation_target => "capacityReservationTarget",
  }
end

Instance Method Details

#to_jsiiObject



868
869
870
871
872
873
874
875
# File 'ec2/cfn_launch_template.rb', line 868

def to_jsii
  result = {}
  result.merge!({
    "capacityReservationPreference" => @capacity_reservation_preference,
    "capacityReservationTarget" => @capacity_reservation_target,
  })
  result.compact
end