Class: AWSCDK::CloudWatch::PromQLAlarmProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
cloud_watch/prom_ql_alarm_props.rb

Overview

Properties for creating a PromQL Alarm.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(evaluation_interval:, query:, actions_enabled: nil, alarm_description: nil, alarm_name: nil, pending_period: nil, recovery_period: nil) ⇒ PromQLAlarmProps

Returns a new instance of PromQLAlarmProps.

Parameters:

  • evaluation_interval (AWSCDK::Duration)

    The frequency at which the alarm is evaluated.

  • query (String)

    The PromQL query that the alarm evaluates.

  • actions_enabled (Boolean, nil) (defaults to: nil)

    Whether the actions for this alarm are enabled.

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

    Description for the alarm.

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

    Name of the alarm.

  • pending_period (AWSCDK::Duration, nil) (defaults to: nil)

    The duration that a contributor must continuously breach before the contributor transitions to ALARM state.

  • recovery_period (AWSCDK::Duration, nil) (defaults to: nil)

    The duration that a contributor must continuously not be breaching before it transitions back to the OK state.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'cloud_watch/prom_ql_alarm_props.rb', line 14

def initialize(evaluation_interval:, query:, actions_enabled: nil, alarm_description: nil, alarm_name: nil, pending_period: nil, recovery_period: nil)
  @evaluation_interval = evaluation_interval
  Jsii::Type.check_type(@evaluation_interval, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "evaluationInterval")
  @query = query
  Jsii::Type.check_type(@query, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "query")
  @actions_enabled = actions_enabled
  Jsii::Type.check_type(@actions_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "actionsEnabled") unless @actions_enabled.nil?
  @alarm_description = alarm_description
  Jsii::Type.check_type(@alarm_description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "alarmDescription") unless @alarm_description.nil?
  @alarm_name = alarm_name
  Jsii::Type.check_type(@alarm_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "alarmName") unless @alarm_name.nil?
  @pending_period = pending_period
  Jsii::Type.check_type(@pending_period, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "pendingPeriod") unless @pending_period.nil?
  @recovery_period = recovery_period
  Jsii::Type.check_type(@recovery_period, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "recoveryPeriod") unless @recovery_period.nil?
end

Instance Attribute Details

#actions_enabledBoolean? (readonly)

Note:

Default: true

Whether the actions for this alarm are enabled.

Returns:

  • (Boolean, nil)


45
46
47
# File 'cloud_watch/prom_ql_alarm_props.rb', line 45

def actions_enabled
  @actions_enabled
end

#alarm_descriptionString? (readonly)

Note:

Default: - No description

Description for the alarm.

Returns:

  • (String, nil)


50
51
52
# File 'cloud_watch/prom_ql_alarm_props.rb', line 50

def alarm_description
  @alarm_description
end

#alarm_nameString? (readonly)

Note:

Default: - Automatically generated name

Name of the alarm.

Returns:

  • (String, nil)


55
56
57
# File 'cloud_watch/prom_ql_alarm_props.rb', line 55

def alarm_name
  @alarm_name
end

#evaluation_intervalAWSCDK::Duration (readonly)

The frequency at which the alarm is evaluated.

Must be between 10 seconds and 3600 seconds.

Returns:



36
37
38
# File 'cloud_watch/prom_ql_alarm_props.rb', line 36

def evaluation_interval
  @evaluation_interval
end

#pending_periodAWSCDK::Duration? (readonly)

Note:

Default: - No pending period

The duration that a contributor must continuously breach before the contributor transitions to ALARM state.

Returns:



60
61
62
# File 'cloud_watch/prom_ql_alarm_props.rb', line 60

def pending_period
  @pending_period
end

#queryString (readonly)

The PromQL query that the alarm evaluates.

Returns:

  • (String)


40
41
42
# File 'cloud_watch/prom_ql_alarm_props.rb', line 40

def query
  @query
end

#recovery_periodAWSCDK::Duration? (readonly)

Note:

Default: - No recovery period

The duration that a contributor must continuously not be breaching before it transitions back to the OK state.

Returns:



65
66
67
# File 'cloud_watch/prom_ql_alarm_props.rb', line 65

def recovery_period
  @recovery_period
end

Class Method Details

.jsii_propertiesObject



67
68
69
70
71
72
73
74
75
76
77
# File 'cloud_watch/prom_ql_alarm_props.rb', line 67

def self.jsii_properties
  {
    :evaluation_interval => "evaluationInterval",
    :query => "query",
    :actions_enabled => "actionsEnabled",
    :alarm_description => "alarmDescription",
    :alarm_name => "alarmName",
    :pending_period => "pendingPeriod",
    :recovery_period => "recoveryPeriod",
  }
end

Instance Method Details

#to_jsiiObject



79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'cloud_watch/prom_ql_alarm_props.rb', line 79

def to_jsii
  result = {}
  result.merge!({
    "evaluationInterval" => @evaluation_interval,
    "query" => @query,
    "actionsEnabled" => @actions_enabled,
    "alarmDescription" => @alarm_description,
    "alarmName" => @alarm_name,
    "pendingPeriod" => @pending_period,
    "recoveryPeriod" => @recovery_period,
  })
  result.compact
end