Class: AWSCDK::EC2::CfnSpotFleet::SpotPlacementProperty

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

Overview

Describes Spot Instance placement.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(availability_zone: nil, availability_zone_id: nil, group_name: nil, tenancy: nil) ⇒ SpotPlacementProperty

Returns a new instance of SpotPlacementProperty.

Parameters:

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

    The Availability Zone.

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

    The ID of the Availability Zone. For example, use2-az1 .

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

    The name of the placement group.

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

    The tenancy of the instance (if the instance is running in a VPC).



3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
# File 'ec2/cfn_spot_fleet.rb', line 3022

def initialize(availability_zone: nil, availability_zone_id: nil, group_name: nil, tenancy: nil)
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @availability_zone_id = availability_zone_id
  Jsii::Type.check_type(@availability_zone_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZoneId") unless @availability_zone_id.nil?
  @group_name = group_name
  Jsii::Type.check_type(@group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupName") unless @group_name.nil?
  @tenancy = tenancy
  Jsii::Type.check_type(@tenancy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tenancy") unless @tenancy.nil?
end

Instance Attribute Details

#availability_zoneString? (readonly)

The Availability Zone.

To specify multiple Availability Zones, separate them using commas; for example, "us-west-2a, us-west-2b".



3039
3040
3041
# File 'ec2/cfn_spot_fleet.rb', line 3039

def availability_zone
  @availability_zone
end

#availability_zone_idString? (readonly)

The ID of the Availability Zone. For example, use2-az1 .

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, " use2-az1 , use2-bz1 ".

Either AvailabilityZone or AvailabilityZoneId must be specified in the request, but not both.



3048
3049
3050
# File 'ec2/cfn_spot_fleet.rb', line 3048

def availability_zone_id
  @availability_zone_id
end

#group_nameString? (readonly)

The name of the placement group.



3053
3054
3055
# File 'ec2/cfn_spot_fleet.rb', line 3053

def group_name
  @group_name
end

#tenancyString? (readonly)

The tenancy of the instance (if the instance is running in a VPC).

An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for Spot Instances.



3060
3061
3062
# File 'ec2/cfn_spot_fleet.rb', line 3060

def tenancy
  @tenancy
end

Class Method Details

.jsii_propertiesObject



3062
3063
3064
3065
3066
3067
3068
3069
# File 'ec2/cfn_spot_fleet.rb', line 3062

def self.jsii_properties
  {
    :availability_zone => "availabilityZone",
    :availability_zone_id => "availabilityZoneId",
    :group_name => "groupName",
    :tenancy => "tenancy",
  }
end

Instance Method Details

#to_jsiiObject



3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
# File 'ec2/cfn_spot_fleet.rb', line 3071

def to_jsii
  result = {}
  result.merge!({
    "availabilityZone" => @availability_zone,
    "availabilityZoneId" => @availability_zone_id,
    "groupName" => @group_name,
    "tenancy" => @tenancy,
  })
  result.compact
end