Class: AWSCDK::ApplicationAutoScaling::CfnScalingPolicy::PredictiveScalingPredefinedScalingMetricProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
application_auto_scaling/cfn_scaling_policy.rb

Overview

Describes a scaling metric for a predictive scaling policy.

When returned in the output of DescribePolicies , it indicates that a predictive scaling policy uses individually specified load and scaling metrics instead of a metric pair.

The following predefined metrics are available for predictive scaling:

  • ECSServiceAverageCPUUtilization
  • ECSServiceAverageMemoryUtilization
  • ECSServiceCPUUtilization
  • ECSServiceMemoryUtilization
  • ECSServiceTotalCPUUtilization
  • ECSServiceTotalMemoryUtilization
  • ALBRequestCount
  • ALBRequestCountPerTarget
  • TotalALBRequestCount

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(predefined_metric_type:, resource_label: nil) ⇒ PredictiveScalingPredefinedScalingMetricProperty

Returns a new instance of PredictiveScalingPredefinedScalingMetricProperty.

Parameters:

  • predefined_metric_type (String)

    The metric type.

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

    A label that uniquely identifies a specific target group from which to determine the average request count.



1479
1480
1481
1482
1483
1484
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1479

def initialize(predefined_metric_type:, resource_label: nil)
  @predefined_metric_type = predefined_metric_type
  Jsii::Type.check_type(@predefined_metric_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "predefinedMetricType")
  @resource_label = resource_label
  Jsii::Type.check_type(@resource_label, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "resourceLabel") unless @resource_label.nil?
end

Instance Attribute Details

#predefined_metric_typeString (readonly)

The metric type.



1490
1491
1492
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1490

def predefined_metric_type
  @predefined_metric_type
end

#resource_labelString? (readonly)

A label that uniquely identifies a specific target group from which to determine the average request count.



1495
1496
1497
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1495

def resource_label
  @resource_label
end

Class Method Details

.jsii_propertiesObject



1497
1498
1499
1500
1501
1502
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1497

def self.jsii_properties
  {
    :predefined_metric_type => "predefinedMetricType",
    :resource_label => "resourceLabel",
  }
end

Instance Method Details

#to_jsiiObject



1504
1505
1506
1507
1508
1509
1510
1511
# File 'application_auto_scaling/cfn_scaling_policy.rb', line 1504

def to_jsii
  result = {}
  result.merge!({
    "predefinedMetricType" => @predefined_metric_type,
    "resourceLabel" => @resource_label,
  })
  result.compact
end