Class: AWSCDK::EMR::CfnCluster::ComputeLimitsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
emr/cfn_cluster.rb

Overview

The Amazon EC2 unit limits for a managed scaling policy.

The managed scaling activity of a cluster can not be above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(maximum_capacity_units:, minimum_capacity_units:, unit_type:, maximum_core_capacity_units: nil, maximum_on_demand_capacity_units: nil) ⇒ ComputeLimitsProperty

Returns a new instance of ComputeLimitsProperty.

Parameters:

  • maximum_capacity_units (Numeric)

    The upper boundary of Amazon EC2 units.

  • minimum_capacity_units (Numeric)

    The lower boundary of Amazon EC2 units.

  • unit_type (String)

    The unit type used for specifying a managed scaling policy.

  • maximum_core_capacity_units (Numeric, nil) (defaults to: nil)

    The upper boundary of Amazon EC2 units for core node type in a cluster.

  • maximum_on_demand_capacity_units (Numeric, nil) (defaults to: nil)

    The upper boundary of On-Demand Amazon EC2 units.



1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
# File 'emr/cfn_cluster.rb', line 1213

def initialize(maximum_capacity_units:, minimum_capacity_units:, unit_type:, maximum_core_capacity_units: nil, maximum_on_demand_capacity_units: nil)
  @maximum_capacity_units = maximum_capacity_units
  Jsii::Type.check_type(@maximum_capacity_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumCapacityUnits")
  @minimum_capacity_units = minimum_capacity_units
  Jsii::Type.check_type(@minimum_capacity_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minimumCapacityUnits")
  @unit_type = unit_type
  Jsii::Type.check_type(@unit_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "unitType")
  @maximum_core_capacity_units = maximum_core_capacity_units
  Jsii::Type.check_type(@maximum_core_capacity_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumCoreCapacityUnits") unless @maximum_core_capacity_units.nil?
  @maximum_on_demand_capacity_units = maximum_on_demand_capacity_units
  Jsii::Type.check_type(@maximum_on_demand_capacity_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maximumOnDemandCapacityUnits") unless @maximum_on_demand_capacity_units.nil?
end

Instance Attribute Details

#maximum_capacity_unitsNumeric (readonly)

The upper boundary of Amazon EC2 units.

It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.



1232
1233
1234
# File 'emr/cfn_cluster.rb', line 1232

def maximum_capacity_units
  @maximum_capacity_units
end

#maximum_core_capacity_unitsNumeric? (readonly)

The upper boundary of Amazon EC2 units for core node type in a cluster.

It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.



1251
1252
1253
# File 'emr/cfn_cluster.rb', line 1251

def maximum_core_capacity_units
  @maximum_core_capacity_units
end

#maximum_on_demand_capacity_unitsNumeric? (readonly)

The upper boundary of On-Demand Amazon EC2 units.

It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. The On-Demand units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between On-Demand and Spot Instances.



1258
1259
1260
# File 'emr/cfn_cluster.rb', line 1258

def maximum_on_demand_capacity_units
  @maximum_on_demand_capacity_units
end

#minimum_capacity_unitsNumeric (readonly)

The lower boundary of Amazon EC2 units.

It is measured through vCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.



1239
1240
1241
# File 'emr/cfn_cluster.rb', line 1239

def minimum_capacity_units
  @minimum_capacity_units
end

#unit_typeString (readonly)

The unit type used for specifying a managed scaling policy.



1244
1245
1246
# File 'emr/cfn_cluster.rb', line 1244

def unit_type
  @unit_type
end

Class Method Details

.jsii_propertiesObject



1260
1261
1262
1263
1264
1265
1266
1267
1268
# File 'emr/cfn_cluster.rb', line 1260

def self.jsii_properties
  {
    :maximum_capacity_units => "maximumCapacityUnits",
    :minimum_capacity_units => "minimumCapacityUnits",
    :unit_type => "unitType",
    :maximum_core_capacity_units => "maximumCoreCapacityUnits",
    :maximum_on_demand_capacity_units => "maximumOnDemandCapacityUnits",
  }
end

Instance Method Details

#to_jsiiObject



1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
# File 'emr/cfn_cluster.rb', line 1270

def to_jsii
  result = {}
  result.merge!({
    "maximumCapacityUnits" => @maximum_capacity_units,
    "minimumCapacityUnits" => @minimum_capacity_units,
    "unitType" => @unit_type,
    "maximumCoreCapacityUnits" => @maximum_core_capacity_units,
    "maximumOnDemandCapacityUnits" => @maximum_on_demand_capacity_units,
  })
  result.compact
end