aws-sdk-applicationsignals 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,6 +23,7 @@ module Aws::ApplicationSignals
23
23
  Attributes = Shapes::MapShape.new(name: 'Attributes')
24
24
  BatchGetServiceLevelObjectiveBudgetReportInput = Shapes::StructureShape.new(name: 'BatchGetServiceLevelObjectiveBudgetReportInput')
25
25
  BatchGetServiceLevelObjectiveBudgetReportOutput = Shapes::StructureShape.new(name: 'BatchGetServiceLevelObjectiveBudgetReportOutput')
26
+ BudgetRequestsRemaining = Shapes::IntegerShape.new(name: 'BudgetRequestsRemaining')
26
27
  BudgetSecondsRemaining = Shapes::IntegerShape.new(name: 'BudgetSecondsRemaining')
27
28
  CalendarInterval = Shapes::StructureShape.new(name: 'CalendarInterval')
28
29
  CalendarIntervalDuration = Shapes::IntegerShape.new(name: 'CalendarIntervalDuration')
@@ -36,6 +37,7 @@ module Aws::ApplicationSignals
36
37
  DimensionValue = Shapes::StringShape.new(name: 'DimensionValue')
37
38
  Dimensions = Shapes::ListShape.new(name: 'Dimensions')
38
39
  DurationUnit = Shapes::StringShape.new(name: 'DurationUnit')
40
+ EvaluationType = Shapes::StringShape.new(name: 'EvaluationType')
39
41
  FaultDescription = Shapes::StringShape.new(name: 'FaultDescription')
40
42
  GetServiceInput = Shapes::StructureShape.new(name: 'GetServiceInput')
41
43
  GetServiceLevelObjectiveInput = Shapes::StructureShape.new(name: 'GetServiceLevelObjectiveInput')
@@ -74,10 +76,15 @@ module Aws::ApplicationSignals
74
76
  MetricReferences = Shapes::ListShape.new(name: 'MetricReferences')
75
77
  MetricStat = Shapes::StructureShape.new(name: 'MetricStat')
76
78
  MetricType = Shapes::StringShape.new(name: 'MetricType')
79
+ MonitoredRequestCountMetricDataQueries = Shapes::UnionShape.new(name: 'MonitoredRequestCountMetricDataQueries')
77
80
  Namespace = Shapes::StringShape.new(name: 'Namespace')
78
81
  NextToken = Shapes::StringShape.new(name: 'NextToken')
79
82
  OperationName = Shapes::StringShape.new(name: 'OperationName')
80
83
  Period = Shapes::IntegerShape.new(name: 'Period')
84
+ RequestBasedServiceLevelIndicator = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicator')
85
+ RequestBasedServiceLevelIndicatorConfig = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorConfig')
86
+ RequestBasedServiceLevelIndicatorMetric = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorMetric')
87
+ RequestBasedServiceLevelIndicatorMetricConfig = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorMetricConfig')
81
88
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
82
89
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
83
90
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
@@ -133,6 +140,7 @@ module Aws::ApplicationSignals
133
140
  TagValue = Shapes::StringShape.new(name: 'TagValue')
134
141
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
135
142
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
143
+ TotalBudgetRequests = Shapes::IntegerShape.new(name: 'TotalBudgetRequests')
136
144
  TotalBudgetSeconds = Shapes::IntegerShape.new(name: 'TotalBudgetSeconds')
137
145
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
138
146
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -172,7 +180,8 @@ module Aws::ApplicationSignals
172
180
 
173
181
  CreateServiceLevelObjectiveInput.add_member(:name, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveName, required: true, location_name: "Name"))
174
182
  CreateServiceLevelObjectiveInput.add_member(:description, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveDescription, location_name: "Description"))
175
- CreateServiceLevelObjectiveInput.add_member(:sli_config, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorConfig, required: true, location_name: "SliConfig"))
183
+ CreateServiceLevelObjectiveInput.add_member(:sli_config, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorConfig, location_name: "SliConfig"))
184
+ CreateServiceLevelObjectiveInput.add_member(:request_based_sli_config, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicatorConfig, location_name: "RequestBasedSliConfig"))
176
185
  CreateServiceLevelObjectiveInput.add_member(:goal, Shapes::ShapeRef.new(shape: Goal, location_name: "Goal"))
177
186
  CreateServiceLevelObjectiveInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
178
187
  CreateServiceLevelObjectiveInput.struct_class = Types::CreateServiceLevelObjectiveInput
@@ -320,6 +329,38 @@ module Aws::ApplicationSignals
320
329
  MetricStat.add_member(:unit, Shapes::ShapeRef.new(shape: StandardUnit, location_name: "Unit"))
321
330
  MetricStat.struct_class = Types::MetricStat
322
331
 
332
+ MonitoredRequestCountMetricDataQueries.add_member(:good_count_metric, Shapes::ShapeRef.new(shape: MetricDataQueries, location_name: "GoodCountMetric"))
333
+ MonitoredRequestCountMetricDataQueries.add_member(:bad_count_metric, Shapes::ShapeRef.new(shape: MetricDataQueries, location_name: "BadCountMetric"))
334
+ MonitoredRequestCountMetricDataQueries.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
335
+ MonitoredRequestCountMetricDataQueries.add_member_subclass(:good_count_metric, Types::MonitoredRequestCountMetricDataQueries::GoodCountMetric)
336
+ MonitoredRequestCountMetricDataQueries.add_member_subclass(:bad_count_metric, Types::MonitoredRequestCountMetricDataQueries::BadCountMetric)
337
+ MonitoredRequestCountMetricDataQueries.add_member_subclass(:unknown, Types::MonitoredRequestCountMetricDataQueries::Unknown)
338
+ MonitoredRequestCountMetricDataQueries.struct_class = Types::MonitoredRequestCountMetricDataQueries
339
+
340
+ RequestBasedServiceLevelIndicator.add_member(:request_based_sli_metric, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicatorMetric, required: true, location_name: "RequestBasedSliMetric"))
341
+ RequestBasedServiceLevelIndicator.add_member(:metric_threshold, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricThreshold, location_name: "MetricThreshold"))
342
+ RequestBasedServiceLevelIndicator.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorComparisonOperator, location_name: "ComparisonOperator"))
343
+ RequestBasedServiceLevelIndicator.struct_class = Types::RequestBasedServiceLevelIndicator
344
+
345
+ RequestBasedServiceLevelIndicatorConfig.add_member(:request_based_sli_metric_config, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicatorMetricConfig, required: true, location_name: "RequestBasedSliMetricConfig"))
346
+ RequestBasedServiceLevelIndicatorConfig.add_member(:metric_threshold, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricThreshold, location_name: "MetricThreshold"))
347
+ RequestBasedServiceLevelIndicatorConfig.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorComparisonOperator, location_name: "ComparisonOperator"))
348
+ RequestBasedServiceLevelIndicatorConfig.struct_class = Types::RequestBasedServiceLevelIndicatorConfig
349
+
350
+ RequestBasedServiceLevelIndicatorMetric.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
351
+ RequestBasedServiceLevelIndicatorMetric.add_member(:operation_name, Shapes::ShapeRef.new(shape: OperationName, location_name: "OperationName"))
352
+ RequestBasedServiceLevelIndicatorMetric.add_member(:metric_type, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricType, location_name: "MetricType"))
353
+ RequestBasedServiceLevelIndicatorMetric.add_member(:total_request_count_metric, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "TotalRequestCountMetric"))
354
+ RequestBasedServiceLevelIndicatorMetric.add_member(:monitored_request_count_metric, Shapes::ShapeRef.new(shape: MonitoredRequestCountMetricDataQueries, required: true, location_name: "MonitoredRequestCountMetric"))
355
+ RequestBasedServiceLevelIndicatorMetric.struct_class = Types::RequestBasedServiceLevelIndicatorMetric
356
+
357
+ RequestBasedServiceLevelIndicatorMetricConfig.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
358
+ RequestBasedServiceLevelIndicatorMetricConfig.add_member(:operation_name, Shapes::ShapeRef.new(shape: OperationName, location_name: "OperationName"))
359
+ RequestBasedServiceLevelIndicatorMetricConfig.add_member(:metric_type, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricType, location_name: "MetricType"))
360
+ RequestBasedServiceLevelIndicatorMetricConfig.add_member(:total_request_count_metric, Shapes::ShapeRef.new(shape: MetricDataQueries, location_name: "TotalRequestCountMetric"))
361
+ RequestBasedServiceLevelIndicatorMetricConfig.add_member(:monitored_request_count_metric, Shapes::ShapeRef.new(shape: MonitoredRequestCountMetricDataQueries, location_name: "MonitoredRequestCountMetric"))
362
+ RequestBasedServiceLevelIndicatorMetricConfig.struct_class = Types::RequestBasedServiceLevelIndicatorMetricConfig
363
+
323
364
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
324
365
  ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
325
366
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: FaultDescription, required: true, location_name: "Message"))
@@ -380,17 +421,23 @@ module Aws::ApplicationSignals
380
421
  ServiceLevelObjective.add_member(:description, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveDescription, location_name: "Description"))
381
422
  ServiceLevelObjective.add_member(:created_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreatedTime"))
382
423
  ServiceLevelObjective.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "LastUpdatedTime"))
383
- ServiceLevelObjective.add_member(:sli, Shapes::ShapeRef.new(shape: ServiceLevelIndicator, required: true, location_name: "Sli"))
424
+ ServiceLevelObjective.add_member(:sli, Shapes::ShapeRef.new(shape: ServiceLevelIndicator, location_name: "Sli"))
425
+ ServiceLevelObjective.add_member(:request_based_sli, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicator, location_name: "RequestBasedSli"))
426
+ ServiceLevelObjective.add_member(:evaluation_type, Shapes::ShapeRef.new(shape: EvaluationType, location_name: "EvaluationType"))
384
427
  ServiceLevelObjective.add_member(:goal, Shapes::ShapeRef.new(shape: Goal, required: true, location_name: "Goal"))
385
428
  ServiceLevelObjective.struct_class = Types::ServiceLevelObjective
386
429
 
387
430
  ServiceLevelObjectiveBudgetReport.add_member(:arn, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveArn, required: true, location_name: "Arn"))
388
431
  ServiceLevelObjectiveBudgetReport.add_member(:name, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveName, required: true, location_name: "Name"))
432
+ ServiceLevelObjectiveBudgetReport.add_member(:evaluation_type, Shapes::ShapeRef.new(shape: EvaluationType, location_name: "EvaluationType"))
389
433
  ServiceLevelObjectiveBudgetReport.add_member(:budget_status, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveBudgetStatus, required: true, location_name: "BudgetStatus"))
390
434
  ServiceLevelObjectiveBudgetReport.add_member(:attainment, Shapes::ShapeRef.new(shape: Attainment, location_name: "Attainment"))
391
435
  ServiceLevelObjectiveBudgetReport.add_member(:total_budget_seconds, Shapes::ShapeRef.new(shape: TotalBudgetSeconds, location_name: "TotalBudgetSeconds"))
392
436
  ServiceLevelObjectiveBudgetReport.add_member(:budget_seconds_remaining, Shapes::ShapeRef.new(shape: BudgetSecondsRemaining, location_name: "BudgetSecondsRemaining"))
437
+ ServiceLevelObjectiveBudgetReport.add_member(:total_budget_requests, Shapes::ShapeRef.new(shape: TotalBudgetRequests, location_name: "TotalBudgetRequests"))
438
+ ServiceLevelObjectiveBudgetReport.add_member(:budget_requests_remaining, Shapes::ShapeRef.new(shape: BudgetRequestsRemaining, location_name: "BudgetRequestsRemaining"))
393
439
  ServiceLevelObjectiveBudgetReport.add_member(:sli, Shapes::ShapeRef.new(shape: ServiceLevelIndicator, location_name: "Sli"))
440
+ ServiceLevelObjectiveBudgetReport.add_member(:request_based_sli, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicator, location_name: "RequestBasedSli"))
394
441
  ServiceLevelObjectiveBudgetReport.add_member(:goal, Shapes::ShapeRef.new(shape: Goal, location_name: "Goal"))
395
442
  ServiceLevelObjectiveBudgetReport.struct_class = Types::ServiceLevelObjectiveBudgetReport
396
443
 
@@ -461,6 +508,7 @@ module Aws::ApplicationSignals
461
508
  UpdateServiceLevelObjectiveInput.add_member(:id, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveId, required: true, location: "uri", location_name: "Id"))
462
509
  UpdateServiceLevelObjectiveInput.add_member(:description, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveDescription, location_name: "Description"))
463
510
  UpdateServiceLevelObjectiveInput.add_member(:sli_config, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorConfig, location_name: "SliConfig"))
511
+ UpdateServiceLevelObjectiveInput.add_member(:request_based_sli_config, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicatorConfig, location_name: "RequestBasedSliConfig"))
464
512
  UpdateServiceLevelObjectiveInput.add_member(:goal, Shapes::ShapeRef.new(shape: Goal, location_name: "Goal"))
465
513
  UpdateServiceLevelObjectiveInput.struct_class = Types::UpdateServiceLevelObjectiveInput
466
514
 
@@ -125,14 +125,24 @@ module Aws::ApplicationSignals
125
125
  # @return [String]
126
126
  #
127
127
  # @!attribute [rw] sli_config
128
- # A structure that contains information about what service and what
129
- # performance metric that this SLO will monitor.
128
+ # If this SLO is a period-based SLO, this structure defines the
129
+ # information about what performance metric this SLO will monitor.
130
+ #
131
+ # You can't specify both `RequestBasedSliConfig` and `SliConfig` in
132
+ # the same operation.
130
133
  # @return [Types::ServiceLevelIndicatorConfig]
131
134
  #
135
+ # @!attribute [rw] request_based_sli_config
136
+ # If this SLO is a request-based SLO, this structure defines the
137
+ # information about what performance metric this SLO will monitor.
138
+ #
139
+ # You can't specify both `RequestBasedSliConfig` and `SliConfig` in
140
+ # the same operation.
141
+ # @return [Types::RequestBasedServiceLevelIndicatorConfig]
142
+ #
132
143
  # @!attribute [rw] goal
133
- # A structure that contains the attributes that determine the goal of
134
- # the SLO. This includes the time period for evaluation and the
135
- # attainment threshold.
144
+ # This structure contains the attributes that determine the goal of
145
+ # the SLO.
136
146
  # @return [Types::Goal]
137
147
  #
138
148
  # @!attribute [rw] tags
@@ -153,6 +163,7 @@ module Aws::ApplicationSignals
153
163
  :name,
154
164
  :description,
155
165
  :sli_config,
166
+ :request_based_sli_config,
156
167
  :goal,
157
168
  :tags)
158
169
  SENSITIVE = []
@@ -360,12 +371,17 @@ module Aws::ApplicationSignals
360
371
  # @return [Types::Interval]
361
372
  #
362
373
  # @!attribute [rw] attainment_goal
363
- # The threshold that determines if the goal is being met. An
364
- # *attainment goal* is the ratio of good periods that meet the
365
- # threshold requirements to the total periods within the interval. For
366
- # example, an attainment goal of 99.9% means that within your
367
- # interval, you are targeting 99.9% of the periods to be in healthy
368
- # state.
374
+ # The threshold that determines if the goal is being met.
375
+ #
376
+ # If this is a period-based SLO, the attainment goal is the percentage
377
+ # of good periods that meet the threshold requirements to the total
378
+ # periods within the interval. For example, an attainment goal of
379
+ # 99.9% means that within your interval, you are targeting 99.9% of
380
+ # the periods to be in healthy state.
381
+ #
382
+ # If this is a request-based SLO, the attainment goal is the
383
+ # percentage of requests that must be successful to meet the
384
+ # attainment goal.
369
385
  #
370
386
  # If you omit this parameter, 99 is used to represent 99% as the
371
387
  # attainment goal.
@@ -1063,7 +1079,7 @@ module Aws::ApplicationSignals
1063
1079
  #
1064
1080
  # @!attribute [rw] account_id
1065
1081
  # The ID of the account where this metric is located. If you are
1066
- # performing this operatiion in a monitoring account, use this to
1082
+ # performing this operation in a monitoring account, use this to
1067
1083
  # specify which source account to retrieve this metric from.
1068
1084
  # @return [String]
1069
1085
  #
@@ -1171,6 +1187,233 @@ module Aws::ApplicationSignals
1171
1187
  include Aws::Structure
1172
1188
  end
1173
1189
 
1190
+ # This structure defines the metric that is used as the "good request"
1191
+ # or "bad request" value for a request-based SLO. This value observed
1192
+ # for the metric defined in `TotalRequestCountMetric` is divided by the
1193
+ # number found for `MonitoredRequestCountMetric` to determine the
1194
+ # percentage of successful requests that this SLO tracks.
1195
+ #
1196
+ # @note MonitoredRequestCountMetricDataQueries is a union - when making an API calls you must set exactly one of the members.
1197
+ #
1198
+ # @note MonitoredRequestCountMetricDataQueries is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of MonitoredRequestCountMetricDataQueries corresponding to the set member.
1199
+ #
1200
+ # @!attribute [rw] good_count_metric
1201
+ # If you want to count "good requests" to determine the percentage
1202
+ # of successful requests for this request-based SLO, specify the
1203
+ # metric to use as "good requests" in this structure.
1204
+ # @return [Array<Types::MetricDataQuery>]
1205
+ #
1206
+ # @!attribute [rw] bad_count_metric
1207
+ # If you want to count "bad requests" to determine the percentage of
1208
+ # successful requests for this request-based SLO, specify the metric
1209
+ # to use as "bad requests" in this structure.
1210
+ # @return [Array<Types::MetricDataQuery>]
1211
+ #
1212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/MonitoredRequestCountMetricDataQueries AWS API Documentation
1213
+ #
1214
+ class MonitoredRequestCountMetricDataQueries < Struct.new(
1215
+ :good_count_metric,
1216
+ :bad_count_metric,
1217
+ :unknown)
1218
+ SENSITIVE = []
1219
+ include Aws::Structure
1220
+ include Aws::Structure::Union
1221
+
1222
+ class GoodCountMetric < MonitoredRequestCountMetricDataQueries; end
1223
+ class BadCountMetric < MonitoredRequestCountMetricDataQueries; end
1224
+ class Unknown < MonitoredRequestCountMetricDataQueries; end
1225
+ end
1226
+
1227
+ # This structure contains information about the performance metric that
1228
+ # a request-based SLO monitors.
1229
+ #
1230
+ # @!attribute [rw] request_based_sli_metric
1231
+ # A structure that contains information about the metric that the SLO
1232
+ # monitors.
1233
+ # @return [Types::RequestBasedServiceLevelIndicatorMetric]
1234
+ #
1235
+ # @!attribute [rw] metric_threshold
1236
+ # This value is the threshold that the observed metric values of the
1237
+ # SLI metric are compared to.
1238
+ # @return [Float]
1239
+ #
1240
+ # @!attribute [rw] comparison_operator
1241
+ # The arithmetic operation used when comparing the specified metric to
1242
+ # the threshold.
1243
+ # @return [String]
1244
+ #
1245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/RequestBasedServiceLevelIndicator AWS API Documentation
1246
+ #
1247
+ class RequestBasedServiceLevelIndicator < Struct.new(
1248
+ :request_based_sli_metric,
1249
+ :metric_threshold,
1250
+ :comparison_operator)
1251
+ SENSITIVE = []
1252
+ include Aws::Structure
1253
+ end
1254
+
1255
+ # This structure specifies the information about the service and the
1256
+ # performance metric that a request-based SLO is to monitor.
1257
+ #
1258
+ # @!attribute [rw] request_based_sli_metric_config
1259
+ # Use this structure to specify the metric to be used for the SLO.
1260
+ # @return [Types::RequestBasedServiceLevelIndicatorMetricConfig]
1261
+ #
1262
+ # @!attribute [rw] metric_threshold
1263
+ # The value that the SLI metric is compared to. This parameter is
1264
+ # required if this SLO is tracking the `Latency` metric.
1265
+ # @return [Float]
1266
+ #
1267
+ # @!attribute [rw] comparison_operator
1268
+ # The arithmetic operation to use when comparing the specified metric
1269
+ # to the threshold. This parameter is required if this SLO is tracking
1270
+ # the `Latency` metric.
1271
+ # @return [String]
1272
+ #
1273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/RequestBasedServiceLevelIndicatorConfig AWS API Documentation
1274
+ #
1275
+ class RequestBasedServiceLevelIndicatorConfig < Struct.new(
1276
+ :request_based_sli_metric_config,
1277
+ :metric_threshold,
1278
+ :comparison_operator)
1279
+ SENSITIVE = []
1280
+ include Aws::Structure
1281
+ end
1282
+
1283
+ # This structure contains the information about the metric that is used
1284
+ # for a request-based SLO.
1285
+ #
1286
+ # @!attribute [rw] key_attributes
1287
+ # This is a string-to-string map that contains information about the
1288
+ # type of object that this SLO is related to. It can include the
1289
+ # following fields.
1290
+ #
1291
+ # * `Type` designates the type of object that this SLO is related to.
1292
+ #
1293
+ # * `ResourceType` specifies the type of the resource. This field is
1294
+ # used only when the value of the `Type` field is `Resource` or
1295
+ # `AWS::Resource`.
1296
+ #
1297
+ # * `Name` specifies the name of the object. This is used only if the
1298
+ # value of the `Type` field is `Service`, `RemoteService`, or
1299
+ # `AWS::Service`.
1300
+ #
1301
+ # * `Identifier` identifies the resource objects of this resource.
1302
+ # This is used only if the value of the `Type` field is `Resource`
1303
+ # or `AWS::Resource`.
1304
+ #
1305
+ # * `Environment` specifies the location where this object is hosted,
1306
+ # or what it belongs to.
1307
+ # @return [Hash<String,String>]
1308
+ #
1309
+ # @!attribute [rw] operation_name
1310
+ # If the SLO monitors a specific operation of the service, this field
1311
+ # displays that operation name.
1312
+ # @return [String]
1313
+ #
1314
+ # @!attribute [rw] metric_type
1315
+ # If the SLO monitors either the `LATENCY` or `AVAILABILITY` metric
1316
+ # that Application Signals collects, this field displays which of
1317
+ # those metrics is used.
1318
+ # @return [String]
1319
+ #
1320
+ # @!attribute [rw] total_request_count_metric
1321
+ # This structure defines the metric that is used as the "total
1322
+ # requests" number for a request-based SLO. The number observed for
1323
+ # this metric is divided by the number of "good requests" or "bad
1324
+ # requests" that is observed for the metric defined in
1325
+ # `MonitoredRequestCountMetric`.
1326
+ # @return [Array<Types::MetricDataQuery>]
1327
+ #
1328
+ # @!attribute [rw] monitored_request_count_metric
1329
+ # This structure defines the metric that is used as the "good
1330
+ # request" or "bad request" value for a request-based SLO. This
1331
+ # value observed for the metric defined in `TotalRequestCountMetric`
1332
+ # is divided by the number found for `MonitoredRequestCountMetric` to
1333
+ # determine the percentage of successful requests that this SLO
1334
+ # tracks.
1335
+ # @return [Types::MonitoredRequestCountMetricDataQueries]
1336
+ #
1337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/RequestBasedServiceLevelIndicatorMetric AWS API Documentation
1338
+ #
1339
+ class RequestBasedServiceLevelIndicatorMetric < Struct.new(
1340
+ :key_attributes,
1341
+ :operation_name,
1342
+ :metric_type,
1343
+ :total_request_count_metric,
1344
+ :monitored_request_count_metric)
1345
+ SENSITIVE = []
1346
+ include Aws::Structure
1347
+ end
1348
+
1349
+ # Use this structure to specify the information for the metric that a
1350
+ # period-based SLO will monitor.
1351
+ #
1352
+ # @!attribute [rw] key_attributes
1353
+ # If this SLO is related to a metric collected by Application Signals,
1354
+ # you must use this field to specify which service the SLO metric is
1355
+ # related to. To do so, you must specify at least the `Type`, `Name`,
1356
+ # and `Environment` attributes.
1357
+ #
1358
+ # This is a string-to-string map. It can include the following fields.
1359
+ #
1360
+ # * `Type` designates the type of object this is.
1361
+ #
1362
+ # * `ResourceType` specifies the type of the resource. This field is
1363
+ # used only when the value of the `Type` field is `Resource` or
1364
+ # `AWS::Resource`.
1365
+ #
1366
+ # * `Name` specifies the name of the object. This is used only if the
1367
+ # value of the `Type` field is `Service`, `RemoteService`, or
1368
+ # `AWS::Service`.
1369
+ #
1370
+ # * `Identifier` identifies the resource objects of this resource.
1371
+ # This is used only if the value of the `Type` field is `Resource`
1372
+ # or `AWS::Resource`.
1373
+ #
1374
+ # * `Environment` specifies the location where this object is hosted,
1375
+ # or what it belongs to.
1376
+ # @return [Hash<String,String>]
1377
+ #
1378
+ # @!attribute [rw] operation_name
1379
+ # If the SLO is to monitor a specific operation of the service, use
1380
+ # this field to specify the name of that operation.
1381
+ # @return [String]
1382
+ #
1383
+ # @!attribute [rw] metric_type
1384
+ # If the SLO is to monitor either the `LATENCY` or `AVAILABILITY`
1385
+ # metric that Application Signals collects, use this field to specify
1386
+ # which of those metrics is used.
1387
+ # @return [String]
1388
+ #
1389
+ # @!attribute [rw] total_request_count_metric
1390
+ # Use this structure to define the metric that you want to use as the
1391
+ # "total requests" number for a request-based SLO. This result will
1392
+ # be divided by the "good request" or "bad request" value defined
1393
+ # in `MonitoredRequestCountMetric`.
1394
+ # @return [Array<Types::MetricDataQuery>]
1395
+ #
1396
+ # @!attribute [rw] monitored_request_count_metric
1397
+ # Use this structure to define the metric that you want to use as the
1398
+ # "good request" or "bad request" value for a request-based SLO.
1399
+ # This value observed for the metric defined in
1400
+ # `TotalRequestCountMetric` will be divided by the number found for
1401
+ # `MonitoredRequestCountMetric` to determine the percentage of
1402
+ # successful requests that this SLO tracks.
1403
+ # @return [Types::MonitoredRequestCountMetricDataQueries]
1404
+ #
1405
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/RequestBasedServiceLevelIndicatorMetricConfig AWS API Documentation
1406
+ #
1407
+ class RequestBasedServiceLevelIndicatorMetricConfig < Struct.new(
1408
+ :key_attributes,
1409
+ :operation_name,
1410
+ :metric_type,
1411
+ :total_request_count_metric,
1412
+ :monitored_request_count_metric)
1413
+ SENSITIVE = []
1414
+ include Aws::Structure
1415
+ end
1416
+
1174
1417
  # Resource not found.
1175
1418
  #
1176
1419
  # @!attribute [rw] resource_type
@@ -1272,7 +1515,7 @@ module Aws::ApplicationSignals
1272
1515
  #
1273
1516
  # * `Host` is the name of the host, for all platform types.
1274
1517
  #
1275
- # Applciation attributes contain information about the application.
1518
+ # Application attributes contain information about the application.
1276
1519
  #
1277
1520
  # * `AWS.Application` is the application's name in Amazon Web
1278
1521
  # Services Service Catalog AppRegistry.
@@ -1425,7 +1668,7 @@ module Aws::ApplicationSignals
1425
1668
  end
1426
1669
 
1427
1670
  # This structure contains information about the performance metric that
1428
- # an SLO monitors.
1671
+ # a period-based SLO monitors.
1429
1672
  #
1430
1673
  # @!attribute [rw] sli_metric
1431
1674
  # A structure that contains information about the metric that the SLO
@@ -1452,14 +1695,16 @@ module Aws::ApplicationSignals
1452
1695
  end
1453
1696
 
1454
1697
  # This structure specifies the information about the service and the
1455
- # performance metric that an SLO is to monitor.
1698
+ # performance metric that a period-based SLO is to monitor.
1456
1699
  #
1457
1700
  # @!attribute [rw] sli_metric_config
1458
1701
  # Use this structure to specify the metric to be used for the SLO.
1459
1702
  # @return [Types::ServiceLevelIndicatorMetricConfig]
1460
1703
  #
1461
1704
  # @!attribute [rw] metric_threshold
1462
- # The value that the SLI metric is compared to.
1705
+ # This parameter is used only when a request-based SLO tracks the
1706
+ # `Latency` metric. Specify the threshold value that the observed
1707
+ # `Latency` metric values are to be compared to.
1463
1708
  # @return [Float]
1464
1709
  #
1465
1710
  # @!attribute [rw] comparison_operator
@@ -1478,7 +1723,7 @@ module Aws::ApplicationSignals
1478
1723
  end
1479
1724
 
1480
1725
  # This structure contains the information about the metric that is used
1481
- # for the SLO.
1726
+ # for a period-based SLO.
1482
1727
  #
1483
1728
  # @!attribute [rw] key_attributes
1484
1729
  # This is a string-to-string map that contains information about the
@@ -1531,8 +1776,8 @@ module Aws::ApplicationSignals
1531
1776
  include Aws::Structure
1532
1777
  end
1533
1778
 
1534
- # Use this structure to specify the information for the metric that the
1535
- # SLO will monitor.
1779
+ # Use this structure to specify the information for the metric that a
1780
+ # period-based SLO will monitor.
1536
1781
  #
1537
1782
  # @!attribute [rw] key_attributes
1538
1783
  # If this SLO is related to a metric collected by Application Signals,
@@ -1642,9 +1887,18 @@ module Aws::ApplicationSignals
1642
1887
  #
1643
1888
  # @!attribute [rw] sli
1644
1889
  # A structure containing information about the performance metric that
1645
- # this SLO monitors.
1890
+ # this SLO monitors, if this is a period-based SLO.
1646
1891
  # @return [Types::ServiceLevelIndicator]
1647
1892
  #
1893
+ # @!attribute [rw] request_based_sli
1894
+ # A structure containing information about the performance metric that
1895
+ # this SLO monitors, if this is a request-based SLO.
1896
+ # @return [Types::RequestBasedServiceLevelIndicator]
1897
+ #
1898
+ # @!attribute [rw] evaluation_type
1899
+ # Displays whether this is a period-based SLO or a request-based SLO.
1900
+ # @return [String]
1901
+ #
1648
1902
  # @!attribute [rw] goal
1649
1903
  # This structure contains the attributes that determine the goal of an
1650
1904
  # SLO. This includes the time period for evaluation and the attainment
@@ -1660,6 +1914,8 @@ module Aws::ApplicationSignals
1660
1914
  :created_time,
1661
1915
  :last_updated_time,
1662
1916
  :sli,
1917
+ :request_based_sli,
1918
+ :evaluation_type,
1663
1919
  :goal)
1664
1920
  SENSITIVE = []
1665
1921
  include Aws::Structure
@@ -1675,6 +1931,11 @@ module Aws::ApplicationSignals
1675
1931
  # The name of the SLO that this report is for.
1676
1932
  # @return [String]
1677
1933
  #
1934
+ # @!attribute [rw] evaluation_type
1935
+ # Displays whether this budget report is for a period-based SLO or a
1936
+ # request-based SLO.
1937
+ # @return [String]
1938
+ #
1678
1939
  # @!attribute [rw] budget_status
1679
1940
  # The status of this SLO, as it relates to the error budget for the
1680
1941
  # entire time interval.
@@ -1689,19 +1950,28 @@ module Aws::ApplicationSignals
1689
1950
  # * `BREACHED` means that the SLO's budget was exhausted, as of the
1690
1951
  # time that you specified in `TimeStamp`.
1691
1952
  #
1692
- # * `INSUFFICIENT_DATA` means that the specifed start and end times
1953
+ # * `INSUFFICIENT_DATA` means that the specified start and end times
1693
1954
  # were before the SLO was created, or that attainment data is
1694
1955
  # missing.
1695
1956
  # @return [String]
1696
1957
  #
1697
1958
  # @!attribute [rw] attainment
1698
- # A number between 0 and 100 that represents the percentage of time
1959
+ # A number between 0 and 100 that represents the success percentage of
1960
+ # your application compared to the goal set by the SLO.
1961
+ #
1962
+ # If this is a period-based SLO, the number is the percentage of time
1699
1963
  # periods that the service has attained the SLO's attainment goal, as
1700
1964
  # of the time of the request.
1965
+ #
1966
+ # If this is a request-based SLO, the number is the number of
1967
+ # successful requests divided by the number of total requests,
1968
+ # multiplied by 100, during the time range that you specified in your
1969
+ # request.
1701
1970
  # @return [Float]
1702
1971
  #
1703
1972
  # @!attribute [rw] total_budget_seconds
1704
1973
  # The total number of seconds in the error budget for the interval.
1974
+ # This field is included only if the SLO is a period-based SLO.
1705
1975
  # @return [Integer]
1706
1976
  #
1707
1977
  # @!attribute [rw] budget_seconds_remaining
@@ -1709,6 +1979,32 @@ module Aws::ApplicationSignals
1709
1979
  # `BREACHING`, at the time specified in the `Timestemp` parameter of
1710
1980
  # the request. If this value is negative, then the SLO is already in
1711
1981
  # `BREACHING` status.
1982
+ #
1983
+ # This field is included only if the SLO is a period-based SLO.
1984
+ # @return [Integer]
1985
+ #
1986
+ # @!attribute [rw] total_budget_requests
1987
+ # This field is displayed only for request-based SLOs. It displays the
1988
+ # total number of failed requests that can be tolerated during the
1989
+ # time range between the start of the interval and the time stamp
1990
+ # supplied in the budget report request. It is based on the total
1991
+ # number of requests that occurred, and the percentage specified in
1992
+ # the attainment goal. If the number of failed requests matches this
1993
+ # number or is higher, then this SLO is currently breaching.
1994
+ #
1995
+ # This number can go up and down between reports with different time
1996
+ # stamps, based on both how many total requests occur.
1997
+ # @return [Integer]
1998
+ #
1999
+ # @!attribute [rw] budget_requests_remaining
2000
+ # This field is displayed only for request-based SLOs. It displays the
2001
+ # number of failed requests that can be tolerated before any more
2002
+ # successful requests occur, and still have the application meet its
2003
+ # SLO goal.
2004
+ #
2005
+ # This number can go up and down between different reports, based on
2006
+ # both how many successful requests and how many failed requests occur
2007
+ # in that time.
1712
2008
  # @return [Integer]
1713
2009
  #
1714
2010
  # @!attribute [rw] sli
@@ -1716,6 +2012,11 @@ module Aws::ApplicationSignals
1716
2012
  # that this SLO monitors.
1717
2013
  # @return [Types::ServiceLevelIndicator]
1718
2014
  #
2015
+ # @!attribute [rw] request_based_sli
2016
+ # This structure contains information about the performance metric
2017
+ # that a request-based SLO monitors.
2018
+ # @return [Types::RequestBasedServiceLevelIndicator]
2019
+ #
1719
2020
  # @!attribute [rw] goal
1720
2021
  # This structure contains the attributes that determine the goal of an
1721
2022
  # SLO. This includes the time period for evaluation and the attainment
@@ -1727,11 +2028,15 @@ module Aws::ApplicationSignals
1727
2028
  class ServiceLevelObjectiveBudgetReport < Struct.new(
1728
2029
  :arn,
1729
2030
  :name,
2031
+ :evaluation_type,
1730
2032
  :budget_status,
1731
2033
  :attainment,
1732
2034
  :total_budget_seconds,
1733
2035
  :budget_seconds_remaining,
2036
+ :total_budget_requests,
2037
+ :budget_requests_remaining,
1734
2038
  :sli,
2039
+ :request_based_sli,
1735
2040
  :goal)
1736
2041
  SENSITIVE = []
1737
2042
  include Aws::Structure
@@ -1865,7 +2170,7 @@ module Aws::ApplicationSignals
1865
2170
  end
1866
2171
 
1867
2172
  # This structure contains information about one of your services that
1868
- # was discoverd by Application Signals
2173
+ # was discovered by Application Signals
1869
2174
  #
1870
2175
  # @!attribute [rw] key_attributes
1871
2176
  # This is a string-to-string map that help identify the objects
@@ -1922,7 +2227,7 @@ module Aws::ApplicationSignals
1922
2227
  #
1923
2228
  # * `Host` is the name of the host, for all platform types.
1924
2229
  #
1925
- # Applciation attributes contain information about the application.
2230
+ # Application attributes contain information about the application.
1926
2231
  #
1927
2232
  # * `AWS.Application` is the application's name in Amazon Web
1928
2233
  # Services Service Catalog AppRegistry.
@@ -2078,10 +2383,18 @@ module Aws::ApplicationSignals
2078
2383
  # @return [String]
2079
2384
  #
2080
2385
  # @!attribute [rw] sli_config
2081
- # A structure that contains information about what performance metric
2082
- # this SLO will monitor.
2386
+ # If this SLO is a period-based SLO, this structure defines the
2387
+ # information about what performance metric this SLO will monitor.
2083
2388
  # @return [Types::ServiceLevelIndicatorConfig]
2084
2389
  #
2390
+ # @!attribute [rw] request_based_sli_config
2391
+ # If this SLO is a request-based SLO, this structure defines the
2392
+ # information about what performance metric this SLO will monitor.
2393
+ #
2394
+ # You can't specify both `SliConfig` and `RequestBasedSliConfig` in
2395
+ # the same operation.
2396
+ # @return [Types::RequestBasedServiceLevelIndicatorConfig]
2397
+ #
2085
2398
  # @!attribute [rw] goal
2086
2399
  # A structure that contains the attributes that determine the goal of
2087
2400
  # the SLO. This includes the time period for evaluation and the
@@ -2094,6 +2407,7 @@ module Aws::ApplicationSignals
2094
2407
  :id,
2095
2408
  :description,
2096
2409
  :sli_config,
2410
+ :request_based_sli_config,
2097
2411
  :goal)
2098
2412
  SENSITIVE = []
2099
2413
  include Aws::Structure
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-applicationsignals/customizations'
52
52
  # @!group service
53
53
  module Aws::ApplicationSignals
54
54
 
55
- GEM_VERSION = '1.5.0'
55
+ GEM_VERSION = '1.6.0'
56
56
 
57
57
  end