Class: AWSCDK::EC2::CfnSpotFleet::PerformanceFactorReferenceRequestProperty

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

Overview

Specify an instance family to use as the baseline reference for CPU performance.

All instance types that match your specified attributes will be compared against the CPU performance of the referenced instance family, regardless of CPU manufacturer or architecture.

Currently, only one instance family can be specified in the list.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(instance_family: nil) ⇒ PerformanceFactorReferenceRequestProperty

Returns a new instance of PerformanceFactorReferenceRequestProperty.

Parameters:

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

    The instance family to use as a baseline reference.



2203
2204
2205
2206
# File 'ec2/cfn_spot_fleet.rb', line 2203

def initialize(instance_family: nil)
  @instance_family = instance_family
  Jsii::Type.check_type(@instance_family, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceFamily") unless @instance_family.nil?
end

Instance Attribute Details

#instance_familyString? (readonly)

The instance family to use as a baseline reference.

Ensure that you specify the correct value for the instance family. The instance family is everything before the period ( . ) in the instance type name. For example, in the instance type c6i.large , the instance family is c6i , not c6 . For more information, see Amazon EC2 instance type naming conventions in Amazon EC2 Instance Types .

The following instance families are not supported for performance protection:

  • c1
  • g3 | g3s
  • hpc7g
  • m1 | m2
  • mac1 | mac2 | mac2-m1ultra | mac2-m2 | mac2-m2pro
  • p3dn | p4d | p5
  • t1
  • u-12tb1 | u-18tb1 | u-24tb1 | u-3tb1 | u-6tb1 | u-9tb1 | u7i-12tb | u7in-16tb | u7in-24tb | u7in-32tb

If you enable performance protection by specifying a supported instance family, the returned instance types will exclude the above unsupported instance families.

If you specify an unsupported instance family as a value for baseline performance, the API returns an empty response for GetInstanceTypesFromInstanceRequirements and an exception for CreateFleet , RequestSpotFleet , ModifyFleet , and ModifySpotFleetRequest .



2229
2230
2231
# File 'ec2/cfn_spot_fleet.rb', line 2229

def instance_family
  @instance_family
end

Class Method Details

.jsii_propertiesObject



2231
2232
2233
2234
2235
# File 'ec2/cfn_spot_fleet.rb', line 2231

def self.jsii_properties
  {
    :instance_family => "instanceFamily",
  }
end

Instance Method Details

#to_jsiiObject



2237
2238
2239
2240
2241
2242
2243
# File 'ec2/cfn_spot_fleet.rb', line 2237

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