aws-sdk-applicationsignals 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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.7.0'
56
56
 
57
57
  end