Class: AWSCDK::ApplicationSignals::CfnServiceLevelObjective::ExclusionWindowProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
application_signals/cfn_service_level_objective.rb

Overview

The time window to be excluded from the SLO performance metrics.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(window:, reason: nil, recurrence_rule: nil, start_time: nil) ⇒ ExclusionWindowProperty

Returns a new instance of ExclusionWindowProperty.

Parameters:



946
947
948
949
950
951
952
953
954
955
# File 'application_signals/cfn_service_level_objective.rb', line 946

def initialize(window:, reason: nil, recurrence_rule: nil, start_time: nil)
  @window = window.is_a?(Hash) ? ::AWSCDK::ApplicationSignals::CfnServiceLevelObjective::WindowProperty.new(**window.transform_keys(&:to_sym)) : window
  Jsii::Type.check_type(@window, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbnNpZ25hbHMuQ2ZuU2VydmljZUxldmVsT2JqZWN0aXZlLldpbmRvd1Byb3BlcnR5In1dfX0=")), "window")
  @reason = reason
  Jsii::Type.check_type(@reason, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "reason") unless @reason.nil?
  @recurrence_rule = recurrence_rule.is_a?(Hash) ? ::AWSCDK::ApplicationSignals::CfnServiceLevelObjective::RecurrenceRuleProperty.new(**recurrence_rule.transform_keys(&:to_sym)) : recurrence_rule
  Jsii::Type.check_type(@recurrence_rule, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbnNpZ25hbHMuQ2ZuU2VydmljZUxldmVsT2JqZWN0aXZlLlJlY3VycmVuY2VSdWxlUHJvcGVydHkifV19fQ==")), "recurrenceRule") unless @recurrence_rule.nil?
  @start_time = start_time
  Jsii::Type.check_type(@start_time, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "startTime") unless @start_time.nil?
end

Instance Attribute Details

#reasonString? (readonly)

Note:

Default: - "No reason"

The reason for the time exclusion windows.

For example, maintenance.



969
970
971
# File 'application_signals/cfn_service_level_objective.rb', line 969

def reason
  @reason
end

#recurrence_ruleAWSCDK::IResolvable, ... (readonly)

The recurrence rule for the time exclusion window.



974
975
976
# File 'application_signals/cfn_service_level_objective.rb', line 974

def recurrence_rule
  @recurrence_rule
end

#start_timeString? (readonly)

The start time of the time exclusion window.



979
980
981
# File 'application_signals/cfn_service_level_objective.rb', line 979

def start_time
  @start_time
end

Class Method Details

.jsii_propertiesObject



981
982
983
984
985
986
987
988
# File 'application_signals/cfn_service_level_objective.rb', line 981

def self.jsii_properties
  {
    :window => "window",
    :reason => "reason",
    :recurrence_rule => "recurrenceRule",
    :start_time => "startTime",
  }
end

Instance Method Details

#to_jsiiObject



990
991
992
993
994
995
996
997
998
999
# File 'application_signals/cfn_service_level_objective.rb', line 990

def to_jsii
  result = {}
  result.merge!({
    "window" => @window,
    "reason" => @reason,
    "recurrenceRule" => @recurrence_rule,
    "startTime" => @start_time,
  })
  result.compact
end