Class: AWSCDK::ApplicationSignals::CfnServiceLevelObjectiveProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::ApplicationSignals::CfnServiceLevelObjectiveProps
- Defined in:
- application_signals/cfn_service_level_objective_props.rb
Overview
Properties for defining a CfnServiceLevelObjective.
Instance Attribute Summary collapse
-
#burn_rate_configurations ⇒ AWSCDK::IResolvable, ...
readonly
Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.
-
#description ⇒ String?
readonly
An optional description for this SLO.
-
#exclusion_windows ⇒ AWSCDK::IResolvable, ...
readonly
The time window to be excluded from the SLO performance metrics.
-
#goal ⇒ AWSCDK::IResolvable, ...
readonly
This structure contains the attributes that determine the goal of an SLO.
-
#name ⇒ String
readonly
A name for this SLO.
-
#request_based_sli ⇒ AWSCDK::IResolvable, ...
readonly
A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
-
#sli ⇒ AWSCDK::IResolvable, ...
readonly
A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
A list of key-value pairs to associate with the SLO.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(name:, burn_rate_configurations: nil, description: nil, exclusion_windows: nil, goal: nil, request_based_sli: nil, sli: nil, tags: nil) ⇒ CfnServiceLevelObjectiveProps
constructor
A new instance of CfnServiceLevelObjectiveProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(name:, burn_rate_configurations: nil, description: nil, exclusion_windows: nil, goal: nil, request_based_sli: nil, sli: nil, tags: nil) ⇒ CfnServiceLevelObjectiveProps
Returns a new instance of CfnServiceLevelObjectiveProps.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 17 def initialize(name:, burn_rate_configurations: nil, description: nil, exclusion_windows: nil, goal: nil, request_based_sli: nil, sli: nil, tags: nil) @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") @burn_rate_configurations = burn_rate_configurations Jsii::Type.check_type(@burn_rate_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbGljYXRpb25zaWduYWxzLkNmblNlcnZpY2VMZXZlbE9iamVjdGl2ZS5CdXJuUmF0ZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "burnRateConfigurations") unless @burn_rate_configurations.nil? @description = description Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil? @exclusion_windows = exclusion_windows Jsii::Type.check_type(@exclusion_windows, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbGljYXRpb25zaWduYWxzLkNmblNlcnZpY2VMZXZlbE9iamVjdGl2ZS5FeGNsdXNpb25XaW5kb3dQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "exclusionWindows") unless @exclusion_windows.nil? @goal = goal.is_a?(Hash) ? ::AWSCDK::ApplicationSignals::CfnServiceLevelObjective::GoalProperty.new(**goal.transform_keys(&:to_sym)) : goal Jsii::Type.check_type(@goal, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbnNpZ25hbHMuQ2ZuU2VydmljZUxldmVsT2JqZWN0aXZlLkdvYWxQcm9wZXJ0eSJ9XX19")), "goal") unless @goal.nil? @request_based_sli = request_based_sli.is_a?(Hash) ? ::AWSCDK::ApplicationSignals::CfnServiceLevelObjective::RequestBasedSliProperty.new(**request_based_sli.transform_keys(&:to_sym)) : request_based_sli Jsii::Type.check_type(@request_based_sli, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbnNpZ25hbHMuQ2ZuU2VydmljZUxldmVsT2JqZWN0aXZlLlJlcXVlc3RCYXNlZFNsaVByb3BlcnR5In1dfX0=")), "requestBasedSli") unless @request_based_sli.nil? @sli = sli.is_a?(Hash) ? ::AWSCDK::ApplicationSignals::CfnServiceLevelObjective::SliProperty.new(**sli.transform_keys(&:to_sym)) : sli Jsii::Type.check_type(@sli, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBsaWNhdGlvbnNpZ25hbHMuQ2ZuU2VydmljZUxldmVsT2JqZWN0aXZlLlNsaVByb3BlcnR5In1dfX0=")), "sli") unless @sli.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#burn_rate_configurations ⇒ AWSCDK::IResolvable, ... (readonly)
Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.
The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
47 48 49 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 47 def burn_rate_configurations @burn_rate_configurations end |
#description ⇒ String? (readonly)
Default: - "No description"
An optional description for this SLO.
53 54 55 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 53 def description @description end |
#exclusion_windows ⇒ AWSCDK::IResolvable, ... (readonly)
The time window to be excluded from the SLO performance metrics.
58 59 60 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 58 def exclusion_windows @exclusion_windows end |
#goal ⇒ AWSCDK::IResolvable, ... (readonly)
This structure contains the attributes that determine the goal of an SLO.
This includes the time period for evaluation and the attainment threshold.
65 66 67 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 65 def goal @goal end |
#name ⇒ String (readonly)
A name for this SLO.
40 41 42 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 40 def name @name end |
#request_based_sli ⇒ AWSCDK::IResolvable, ... (readonly)
A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
70 71 72 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 70 def request_based_sli @request_based_sli end |
#sli ⇒ AWSCDK::IResolvable, ... (readonly)
A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
75 76 77 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 75 def sli @sli end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
A list of key-value pairs to associate with the SLO.
You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
84 85 86 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 84 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 86 def self.jsii_properties { :name => "name", :burn_rate_configurations => "burnRateConfigurations", :description => "description", :exclusion_windows => "exclusionWindows", :goal => "goal", :request_based_sli => "requestBasedSli", :sli => "sli", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'application_signals/cfn_service_level_objective_props.rb', line 99 def to_jsii result = {} result.merge!({ "name" => @name, "burnRateConfigurations" => @burn_rate_configurations, "description" => @description, "exclusionWindows" => @exclusion_windows, "goal" => @goal, "requestBasedSli" => @request_based_sli, "sli" => @sli, "tags" => @tags, }) result.compact end |