aws-sdk-applicationsignals 1.17.0 → 1.18.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d128c80a1f3838373ff167259ae6cdf675c72a68628ba2a944d4085effd47f14
4
- data.tar.gz: bb5e8842a6cfff942581b1151083e12991f89a6aeda657503b6d7c08960a2de9
3
+ metadata.gz: 5a6d790c099c460ea40c1b76b81e13a0e0f32b87566b5b67aa76fc543d2845d3
4
+ data.tar.gz: 4709f767ca3f2b5179fd12566461154c64e2c27bfe33cebb4da45364ad887f65
5
5
  SHA512:
6
- metadata.gz: 190437bdaf6b1fb7f202f57169a89a46da9dfe750aa6008a47d2be748e3a3cf329bf135ef28cbec793e5165e3ae41781333fd1799499285a4b7a474d53d57d17
7
- data.tar.gz: e251cf8dfa7524c8a1ed8a133641ebf96fb46583967d06d6e193567d4f74c0bd9b71c3649777f2d3dfcf3837d37338e8b5cdce8d15865be54646459b5a7bccdf
6
+ metadata.gz: 5fa3b65ce2693611ee7b03a666d1acb7d196153b11617f249ca9a8490e17d140d365b116b91e06cc8c0ba20b2861a17342ce45be87753a28f4ce54402fdd157b
7
+ data.tar.gz: dbd54795a1c4d3f595be0b54cc3a786ecac4c71efb41d881d0d6fafd726737e45dae33de9942364a8f5229119375b7253cf72cd72f4f7084f440e20ff81ac2f8
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.18.0 (2025-03-17)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for adding, removing, and listing SLO time exclusion windows with the BatchUpdateExclusionWindows and ListServiceLevelObjectiveExclusionWindows APIs.
8
+
4
9
  1.17.0 (2025-02-26)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.17.0
1
+ 1.18.0
@@ -617,6 +617,75 @@ module Aws::ApplicationSignals
617
617
  req.send_request(options)
618
618
  end
619
619
 
620
+ # Add or remove time window exclusions for one or more Service Level
621
+ # Objectives (SLOs).
622
+ #
623
+ # @option params [required, Array<String>] :slo_ids
624
+ # The list of SLO IDs to add or remove exclusion windows from.
625
+ #
626
+ # @option params [Array<Types::ExclusionWindow>] :add_exclusion_windows
627
+ # A list of exclusion windows to add to the specified SLOs. You can add
628
+ # up to 10 exclusion windows per SLO.
629
+ #
630
+ # @option params [Array<Types::ExclusionWindow>] :remove_exclusion_windows
631
+ # A list of exclusion windows to remove from the specified SLOs. The
632
+ # window configuration must match an existing exclusion window.
633
+ #
634
+ # @return [Types::BatchUpdateExclusionWindowsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
635
+ #
636
+ # * {Types::BatchUpdateExclusionWindowsOutput#slo_ids #slo_ids} => Array&lt;String&gt;
637
+ # * {Types::BatchUpdateExclusionWindowsOutput#errors #errors} => Array&lt;Types::BatchUpdateExclusionWindowsError&gt;
638
+ #
639
+ # @example Request syntax with placeholder values
640
+ #
641
+ # resp = client.batch_update_exclusion_windows({
642
+ # slo_ids: ["String"], # required
643
+ # add_exclusion_windows: [
644
+ # {
645
+ # window: { # required
646
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
647
+ # duration: 1, # required
648
+ # },
649
+ # start_time: Time.now,
650
+ # recurrence_rule: {
651
+ # expression: "Expression", # required
652
+ # },
653
+ # reason: "ExclusionReason",
654
+ # },
655
+ # ],
656
+ # remove_exclusion_windows: [
657
+ # {
658
+ # window: { # required
659
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
660
+ # duration: 1, # required
661
+ # },
662
+ # start_time: Time.now,
663
+ # recurrence_rule: {
664
+ # expression: "Expression", # required
665
+ # },
666
+ # reason: "ExclusionReason",
667
+ # },
668
+ # ],
669
+ # })
670
+ #
671
+ # @example Response structure
672
+ #
673
+ # resp.slo_ids #=> Array
674
+ # resp.slo_ids[0] #=> String
675
+ # resp.errors #=> Array
676
+ # resp.errors[0].slo_id #=> String
677
+ # resp.errors[0].error_code #=> String
678
+ # resp.errors[0].error_message #=> String
679
+ #
680
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchUpdateExclusionWindows AWS API Documentation
681
+ #
682
+ # @overload batch_update_exclusion_windows(params = {})
683
+ # @param [Hash] params ({})
684
+ def batch_update_exclusion_windows(params = {}, options = {})
685
+ req = build_request(:batch_update_exclusion_windows, params)
686
+ req.send_request(options)
687
+ end
688
+
620
689
  # Creates a service level objective (SLO), which can help you ensure
621
690
  # that your critical business operations are meeting customer
622
691
  # expectations. Use SLOs to set and track specific target levels for the
@@ -1444,6 +1513,53 @@ module Aws::ApplicationSignals
1444
1513
  req.send_request(options)
1445
1514
  end
1446
1515
 
1516
+ # Retrieves all exclusion windows configured for a specific SLO.
1517
+ #
1518
+ # @option params [required, String] :id
1519
+ # The ID of the SLO to list exclusion windows for.
1520
+ #
1521
+ # @option params [Integer] :max_results
1522
+ # The maximum number of results to return in one operation. If you omit
1523
+ # this parameter, the default of 50 is used. </p>
1524
+ #
1525
+ # @option params [String] :next_token
1526
+ # Include this value, if it was returned by the previous operation, to
1527
+ # get the next set of service level objectives. </p>
1528
+ #
1529
+ # @return [Types::ListServiceLevelObjectiveExclusionWindowsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1530
+ #
1531
+ # * {Types::ListServiceLevelObjectiveExclusionWindowsOutput#exclusion_windows #exclusion_windows} => Array&lt;Types::ExclusionWindow&gt;
1532
+ # * {Types::ListServiceLevelObjectiveExclusionWindowsOutput#next_token #next_token} => String
1533
+ #
1534
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1535
+ #
1536
+ # @example Request syntax with placeholder values
1537
+ #
1538
+ # resp = client.list_service_level_objective_exclusion_windows({
1539
+ # id: "ServiceLevelObjectiveId", # required
1540
+ # max_results: 1,
1541
+ # next_token: "NextToken",
1542
+ # })
1543
+ #
1544
+ # @example Response structure
1545
+ #
1546
+ # resp.exclusion_windows #=> Array
1547
+ # resp.exclusion_windows[0].window.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
1548
+ # resp.exclusion_windows[0].window.duration #=> Integer
1549
+ # resp.exclusion_windows[0].start_time #=> Time
1550
+ # resp.exclusion_windows[0].recurrence_rule.expression #=> String
1551
+ # resp.exclusion_windows[0].reason #=> String
1552
+ # resp.next_token #=> String
1553
+ #
1554
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectiveExclusionWindows AWS API Documentation
1555
+ #
1556
+ # @overload list_service_level_objective_exclusion_windows(params = {})
1557
+ # @param [Hash] params ({})
1558
+ def list_service_level_objective_exclusion_windows(params = {}, options = {})
1559
+ req = build_request(:list_service_level_objective_exclusion_windows, params)
1560
+ req.send_request(options)
1561
+ end
1562
+
1447
1563
  # Returns a list of SLOs created in this account.
1448
1564
  #
1449
1565
  # @option params [Hash<String,String>] :key_attributes
@@ -2195,7 +2311,7 @@ module Aws::ApplicationSignals
2195
2311
  tracer: tracer
2196
2312
  )
2197
2313
  context[:gem_name] = 'aws-sdk-applicationsignals'
2198
- context[:gem_version] = '1.17.0'
2314
+ context[:gem_version] = '1.18.0'
2199
2315
  Seahorse::Client::Request.new(handlers, context)
2200
2316
  end
2201
2317
 
@@ -25,6 +25,10 @@ module Aws::ApplicationSignals
25
25
  AwsAccountId = Shapes::StringShape.new(name: 'AwsAccountId')
26
26
  BatchGetServiceLevelObjectiveBudgetReportInput = Shapes::StructureShape.new(name: 'BatchGetServiceLevelObjectiveBudgetReportInput')
27
27
  BatchGetServiceLevelObjectiveBudgetReportOutput = Shapes::StructureShape.new(name: 'BatchGetServiceLevelObjectiveBudgetReportOutput')
28
+ BatchUpdateExclusionWindowsError = Shapes::StructureShape.new(name: 'BatchUpdateExclusionWindowsError')
29
+ BatchUpdateExclusionWindowsErrors = Shapes::ListShape.new(name: 'BatchUpdateExclusionWindowsErrors')
30
+ BatchUpdateExclusionWindowsInput = Shapes::StructureShape.new(name: 'BatchUpdateExclusionWindowsInput')
31
+ BatchUpdateExclusionWindowsOutput = Shapes::StructureShape.new(name: 'BatchUpdateExclusionWindowsOutput')
28
32
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
29
33
  BudgetRequestsRemaining = Shapes::IntegerShape.new(name: 'BudgetRequestsRemaining')
30
34
  BudgetSecondsRemaining = Shapes::IntegerShape.new(name: 'BudgetSecondsRemaining')
@@ -44,6 +48,13 @@ module Aws::ApplicationSignals
44
48
  Dimensions = Shapes::ListShape.new(name: 'Dimensions')
45
49
  DurationUnit = Shapes::StringShape.new(name: 'DurationUnit')
46
50
  EvaluationType = Shapes::StringShape.new(name: 'EvaluationType')
51
+ ExclusionDuration = Shapes::IntegerShape.new(name: 'ExclusionDuration')
52
+ ExclusionReason = Shapes::StringShape.new(name: 'ExclusionReason')
53
+ ExclusionWindow = Shapes::StructureShape.new(name: 'ExclusionWindow')
54
+ ExclusionWindowErrorCode = Shapes::StringShape.new(name: 'ExclusionWindowErrorCode')
55
+ ExclusionWindowErrorMessage = Shapes::StringShape.new(name: 'ExclusionWindowErrorMessage')
56
+ ExclusionWindows = Shapes::ListShape.new(name: 'ExclusionWindows')
57
+ Expression = Shapes::StringShape.new(name: 'Expression')
47
58
  FaultDescription = Shapes::StringShape.new(name: 'FaultDescription')
48
59
  GetServiceInput = Shapes::StructureShape.new(name: 'GetServiceInput')
49
60
  GetServiceLevelObjectiveInput = Shapes::StructureShape.new(name: 'GetServiceLevelObjectiveInput')
@@ -59,6 +70,9 @@ module Aws::ApplicationSignals
59
70
  ListServiceDependentsInput = Shapes::StructureShape.new(name: 'ListServiceDependentsInput')
60
71
  ListServiceDependentsMaxResults = Shapes::IntegerShape.new(name: 'ListServiceDependentsMaxResults')
61
72
  ListServiceDependentsOutput = Shapes::StructureShape.new(name: 'ListServiceDependentsOutput')
73
+ ListServiceLevelObjectiveExclusionWindowsInput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectiveExclusionWindowsInput')
74
+ ListServiceLevelObjectiveExclusionWindowsMaxResults = Shapes::IntegerShape.new(name: 'ListServiceLevelObjectiveExclusionWindowsMaxResults')
75
+ ListServiceLevelObjectiveExclusionWindowsOutput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectiveExclusionWindowsOutput')
62
76
  ListServiceLevelObjectivesInput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectivesInput')
63
77
  ListServiceLevelObjectivesMaxResults = Shapes::IntegerShape.new(name: 'ListServiceLevelObjectivesMaxResults')
64
78
  ListServiceLevelObjectivesOutput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectivesOutput')
@@ -87,6 +101,7 @@ module Aws::ApplicationSignals
87
101
  NextToken = Shapes::StringShape.new(name: 'NextToken')
88
102
  OperationName = Shapes::StringShape.new(name: 'OperationName')
89
103
  Period = Shapes::IntegerShape.new(name: 'Period')
104
+ RecurrenceRule = Shapes::StructureShape.new(name: 'RecurrenceRule')
90
105
  RequestBasedServiceLevelIndicator = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicator')
91
106
  RequestBasedServiceLevelIndicatorConfig = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorConfig')
92
107
  RequestBasedServiceLevelIndicatorMetric = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorMetric')
@@ -155,6 +170,7 @@ module Aws::ApplicationSignals
155
170
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
156
171
  ValidationExceptionMessage = Shapes::StringShape.new(name: 'ValidationExceptionMessage')
157
172
  WarningThreshold = Shapes::FloatShape.new(name: 'WarningThreshold')
173
+ Window = Shapes::StructureShape.new(name: 'Window')
158
174
 
159
175
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ServiceErrorMessage, location_name: "Message"))
160
176
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -176,6 +192,22 @@ module Aws::ApplicationSignals
176
192
  BatchGetServiceLevelObjectiveBudgetReportOutput.add_member(:errors, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveBudgetReportErrors, required: true, location_name: "Errors"))
177
193
  BatchGetServiceLevelObjectiveBudgetReportOutput.struct_class = Types::BatchGetServiceLevelObjectiveBudgetReportOutput
178
194
 
195
+ BatchUpdateExclusionWindowsError.add_member(:slo_id, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveId, required: true, location_name: "SloId"))
196
+ BatchUpdateExclusionWindowsError.add_member(:error_code, Shapes::ShapeRef.new(shape: ExclusionWindowErrorCode, required: true, location_name: "ErrorCode"))
197
+ BatchUpdateExclusionWindowsError.add_member(:error_message, Shapes::ShapeRef.new(shape: ExclusionWindowErrorMessage, required: true, location_name: "ErrorMessage"))
198
+ BatchUpdateExclusionWindowsError.struct_class = Types::BatchUpdateExclusionWindowsError
199
+
200
+ BatchUpdateExclusionWindowsErrors.member = Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsError)
201
+
202
+ BatchUpdateExclusionWindowsInput.add_member(:slo_ids, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveIds, required: true, location_name: "SloIds"))
203
+ BatchUpdateExclusionWindowsInput.add_member(:add_exclusion_windows, Shapes::ShapeRef.new(shape: ExclusionWindows, location_name: "AddExclusionWindows"))
204
+ BatchUpdateExclusionWindowsInput.add_member(:remove_exclusion_windows, Shapes::ShapeRef.new(shape: ExclusionWindows, location_name: "RemoveExclusionWindows"))
205
+ BatchUpdateExclusionWindowsInput.struct_class = Types::BatchUpdateExclusionWindowsInput
206
+
207
+ BatchUpdateExclusionWindowsOutput.add_member(:slo_ids, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveIds, required: true, location_name: "SloIds"))
208
+ BatchUpdateExclusionWindowsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsErrors, required: true, location_name: "Errors"))
209
+ BatchUpdateExclusionWindowsOutput.struct_class = Types::BatchUpdateExclusionWindowsOutput
210
+
179
211
  BurnRateConfiguration.add_member(:look_back_window_minutes, Shapes::ShapeRef.new(shape: BurnRateLookBackWindowMinutes, required: true, location_name: "LookBackWindowMinutes"))
180
212
  BurnRateConfiguration.struct_class = Types::BurnRateConfiguration
181
213
 
@@ -212,6 +244,14 @@ module Aws::ApplicationSignals
212
244
 
213
245
  Dimensions.member = Shapes::ShapeRef.new(shape: Dimension)
214
246
 
247
+ ExclusionWindow.add_member(:window, Shapes::ShapeRef.new(shape: Window, required: true, location_name: "Window"))
248
+ ExclusionWindow.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
249
+ ExclusionWindow.add_member(:recurrence_rule, Shapes::ShapeRef.new(shape: RecurrenceRule, location_name: "RecurrenceRule"))
250
+ ExclusionWindow.add_member(:reason, Shapes::ShapeRef.new(shape: ExclusionReason, location_name: "Reason"))
251
+ ExclusionWindow.struct_class = Types::ExclusionWindow
252
+
253
+ ExclusionWindows.member = Shapes::ShapeRef.new(shape: ExclusionWindow)
254
+
215
255
  GetServiceInput.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "StartTime"))
216
256
  GetServiceInput.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "EndTime"))
217
257
  GetServiceInput.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, required: true, location_name: "KeyAttributes"))
@@ -268,6 +308,15 @@ module Aws::ApplicationSignals
268
308
  ListServiceDependentsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
269
309
  ListServiceDependentsOutput.struct_class = Types::ListServiceDependentsOutput
270
310
 
311
+ ListServiceLevelObjectiveExclusionWindowsInput.add_member(:id, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveId, required: true, location: "uri", location_name: "Id"))
312
+ ListServiceLevelObjectiveExclusionWindowsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: ListServiceLevelObjectiveExclusionWindowsMaxResults, location: "querystring", location_name: "MaxResults"))
313
+ ListServiceLevelObjectiveExclusionWindowsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
314
+ ListServiceLevelObjectiveExclusionWindowsInput.struct_class = Types::ListServiceLevelObjectiveExclusionWindowsInput
315
+
316
+ ListServiceLevelObjectiveExclusionWindowsOutput.add_member(:exclusion_windows, Shapes::ShapeRef.new(shape: ExclusionWindows, required: true, location_name: "ExclusionWindows"))
317
+ ListServiceLevelObjectiveExclusionWindowsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
318
+ ListServiceLevelObjectiveExclusionWindowsOutput.struct_class = Types::ListServiceLevelObjectiveExclusionWindowsOutput
319
+
271
320
  ListServiceLevelObjectivesInput.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
272
321
  ListServiceLevelObjectivesInput.add_member(:operation_name, Shapes::ShapeRef.new(shape: OperationName, location: "querystring", location_name: "OperationName"))
273
322
  ListServiceLevelObjectivesInput.add_member(:max_results, Shapes::ShapeRef.new(shape: ListServiceLevelObjectivesMaxResults, location: "querystring", location_name: "MaxResults"))
@@ -354,6 +403,9 @@ module Aws::ApplicationSignals
354
403
  MonitoredRequestCountMetricDataQueries.add_member_subclass(:unknown, Types::MonitoredRequestCountMetricDataQueries::Unknown)
355
404
  MonitoredRequestCountMetricDataQueries.struct_class = Types::MonitoredRequestCountMetricDataQueries
356
405
 
406
+ RecurrenceRule.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
407
+ RecurrenceRule.struct_class = Types::RecurrenceRule
408
+
357
409
  RequestBasedServiceLevelIndicator.add_member(:request_based_sli_metric, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicatorMetric, required: true, location_name: "RequestBasedSliMetric"))
358
410
  RequestBasedServiceLevelIndicator.add_member(:metric_threshold, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricThreshold, location_name: "MetricThreshold"))
359
411
  RequestBasedServiceLevelIndicator.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorComparisonOperator, location_name: "ComparisonOperator"))
@@ -537,6 +589,10 @@ module Aws::ApplicationSignals
537
589
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ValidationExceptionMessage, location_name: "message"))
538
590
  ValidationException.struct_class = Types::ValidationException
539
591
 
592
+ Window.add_member(:duration_unit, Shapes::ShapeRef.new(shape: DurationUnit, required: true, location_name: "DurationUnit"))
593
+ Window.add_member(:duration, Shapes::ShapeRef.new(shape: ExclusionDuration, required: true, location_name: "Duration"))
594
+ Window.struct_class = Types::Window
595
+
540
596
 
541
597
  # @api private
542
598
  API = Seahorse::Model::Api.new.tap do |api|
@@ -566,6 +622,17 @@ module Aws::ApplicationSignals
566
622
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
567
623
  end)
568
624
 
625
+ api.add_operation(:batch_update_exclusion_windows, Seahorse::Model::Operation.new.tap do |o|
626
+ o.name = "BatchUpdateExclusionWindows"
627
+ o.http_method = "PATCH"
628
+ o.http_request_uri = "/exclusion-windows"
629
+ o.input = Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsInput)
630
+ o.output = Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsOutput)
631
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
632
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
633
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
634
+ end)
635
+
569
636
  api.add_operation(:create_service_level_objective, Seahorse::Model::Operation.new.tap do |o|
570
637
  o.name = "CreateServiceLevelObjective"
571
638
  o.http_method = "POST"
@@ -643,6 +710,23 @@ module Aws::ApplicationSignals
643
710
  )
644
711
  end)
645
712
 
713
+ api.add_operation(:list_service_level_objective_exclusion_windows, Seahorse::Model::Operation.new.tap do |o|
714
+ o.name = "ListServiceLevelObjectiveExclusionWindows"
715
+ o.http_method = "GET"
716
+ o.http_request_uri = "/slo/{Id}/exclusion-windows"
717
+ o.input = Shapes::ShapeRef.new(shape: ListServiceLevelObjectiveExclusionWindowsInput)
718
+ o.output = Shapes::ShapeRef.new(shape: ListServiceLevelObjectiveExclusionWindowsOutput)
719
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
720
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
721
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
722
+ o[:pager] = Aws::Pager.new(
723
+ limit_key: "max_results",
724
+ tokens: {
725
+ "next_token" => "next_token"
726
+ }
727
+ )
728
+ end)
729
+
646
730
  api.add_operation(:list_service_level_objectives, Seahorse::Model::Operation.new.tap do |o|
647
731
  o.name = "ListServiceLevelObjectives"
648
732
  o.http_method = "POST"
@@ -67,6 +67,72 @@ module Aws::ApplicationSignals
67
67
  include Aws::Structure
68
68
  end
69
69
 
70
+ # An array of structures, where each structure includes an error
71
+ # indicating that one of the requests in the array was not valid.
72
+ #
73
+ # @!attribute [rw] slo_id
74
+ # The SLO ID in the error.
75
+ # @return [String]
76
+ #
77
+ # @!attribute [rw] error_code
78
+ # The error code.
79
+ # @return [String]
80
+ #
81
+ # @!attribute [rw] error_message
82
+ # The error message.
83
+ # @return [String]
84
+ #
85
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchUpdateExclusionWindowsError AWS API Documentation
86
+ #
87
+ class BatchUpdateExclusionWindowsError < Struct.new(
88
+ :slo_id,
89
+ :error_code,
90
+ :error_message)
91
+ SENSITIVE = []
92
+ include Aws::Structure
93
+ end
94
+
95
+ # @!attribute [rw] slo_ids
96
+ # The list of SLO IDs to add or remove exclusion windows from.
97
+ # @return [Array<String>]
98
+ #
99
+ # @!attribute [rw] add_exclusion_windows
100
+ # A list of exclusion windows to add to the specified SLOs. You can
101
+ # add up to 10 exclusion windows per SLO.
102
+ # @return [Array<Types::ExclusionWindow>]
103
+ #
104
+ # @!attribute [rw] remove_exclusion_windows
105
+ # A list of exclusion windows to remove from the specified SLOs. The
106
+ # window configuration must match an existing exclusion window.
107
+ # @return [Array<Types::ExclusionWindow>]
108
+ #
109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchUpdateExclusionWindowsInput AWS API Documentation
110
+ #
111
+ class BatchUpdateExclusionWindowsInput < Struct.new(
112
+ :slo_ids,
113
+ :add_exclusion_windows,
114
+ :remove_exclusion_windows)
115
+ SENSITIVE = []
116
+ include Aws::Structure
117
+ end
118
+
119
+ # @!attribute [rw] slo_ids
120
+ # The list of SLO IDs that were successfully processed.
121
+ # @return [Array<String>]
122
+ #
123
+ # @!attribute [rw] errors
124
+ # A list of errors that occurred while processing the request.
125
+ # @return [Array<Types::BatchUpdateExclusionWindowsError>]
126
+ #
127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchUpdateExclusionWindowsOutput AWS API Documentation
128
+ #
129
+ class BatchUpdateExclusionWindowsOutput < Struct.new(
130
+ :slo_ids,
131
+ :errors)
132
+ SENSITIVE = []
133
+ include Aws::Structure
134
+ end
135
+
70
136
  # This object defines the length of the look-back window used to
71
137
  # calculate one burn rate metric for this SLO. The burn rate measures
72
138
  # how fast the service is consuming the error budget, relative to the
@@ -268,6 +334,39 @@ module Aws::ApplicationSignals
268
334
  include Aws::Structure
269
335
  end
270
336
 
337
+ # The core SLO time window exclusion object that includes Window,
338
+ # StartTime, RecurrenceRule, and Reason.
339
+ #
340
+ # @!attribute [rw] window
341
+ # The SLO time window exclusion .
342
+ # @return [Types::Window]
343
+ #
344
+ # @!attribute [rw] start_time
345
+ # The start of the SLO time window exclusion. Defaults to current time
346
+ # if not specified.
347
+ # @return [Time]
348
+ #
349
+ # @!attribute [rw] recurrence_rule
350
+ # The recurrence rule for the SLO time window exclusion. Supports both
351
+ # cron and rate expressions.
352
+ # @return [Types::RecurrenceRule]
353
+ #
354
+ # @!attribute [rw] reason
355
+ # A description explaining why this time period should be excluded
356
+ # from SLO calculations.
357
+ # @return [String]
358
+ #
359
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ExclusionWindow AWS API Documentation
360
+ #
361
+ class ExclusionWindow < Struct.new(
362
+ :window,
363
+ :start_time,
364
+ :recurrence_rule,
365
+ :reason)
366
+ SENSITIVE = []
367
+ include Aws::Structure
368
+ end
369
+
271
370
  # @!attribute [rw] start_time
272
371
  # The start of the time period to retrieve information about. When
273
372
  # used in a raw HTTP Query API, it is formatted as be epoch time in
@@ -680,6 +779,48 @@ module Aws::ApplicationSignals
680
779
  include Aws::Structure
681
780
  end
682
781
 
782
+ # @!attribute [rw] id
783
+ # The ID of the SLO to list exclusion windows for.
784
+ # @return [String]
785
+ #
786
+ # @!attribute [rw] max_results
787
+ # The maximum number of results to return in one operation. If you
788
+ # omit this parameter, the default of 50 is used. </p>
789
+ # @return [Integer]
790
+ #
791
+ # @!attribute [rw] next_token
792
+ # Include this value, if it was returned by the previous operation, to
793
+ # get the next set of service level objectives. </p>
794
+ # @return [String]
795
+ #
796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectiveExclusionWindowsInput AWS API Documentation
797
+ #
798
+ class ListServiceLevelObjectiveExclusionWindowsInput < Struct.new(
799
+ :id,
800
+ :max_results,
801
+ :next_token)
802
+ SENSITIVE = []
803
+ include Aws::Structure
804
+ end
805
+
806
+ # @!attribute [rw] exclusion_windows
807
+ # A list of exclusion windows configured for the SLO.
808
+ # @return [Array<Types::ExclusionWindow>]
809
+ #
810
+ # @!attribute [rw] next_token
811
+ # Include this value, if it was returned by the previous operation, to
812
+ # get the next set of service level objectives. </p>
813
+ # @return [String]
814
+ #
815
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectiveExclusionWindowsOutput AWS API Documentation
816
+ #
817
+ class ListServiceLevelObjectiveExclusionWindowsOutput < Struct.new(
818
+ :exclusion_windows,
819
+ :next_token)
820
+ SENSITIVE = []
821
+ include Aws::Structure
822
+ end
823
+
683
824
  # @!attribute [rw] key_attributes
684
825
  # You can use this optional field to specify which services you want
685
826
  # to retrieve SLO information for.
@@ -1294,6 +1435,21 @@ module Aws::ApplicationSignals
1294
1435
  class Unknown < MonitoredRequestCountMetricDataQueries; end
1295
1436
  end
1296
1437
 
1438
+ # The recurrence rule for the SLO time window exclusion .
1439
+ #
1440
+ # @!attribute [rw] expression
1441
+ # A cron or rate expression that specifies the schedule for the
1442
+ # exclusion window.
1443
+ # @return [String]
1444
+ #
1445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/RecurrenceRule AWS API Documentation
1446
+ #
1447
+ class RecurrenceRule < Struct.new(
1448
+ :expression)
1449
+ SENSITIVE = []
1450
+ include Aws::Structure
1451
+ end
1452
+
1297
1453
  # This structure contains information about the performance metric that
1298
1454
  # a request-based SLO monitors.
1299
1455
  #
@@ -2524,6 +2680,26 @@ module Aws::ApplicationSignals
2524
2680
  include Aws::Structure
2525
2681
  end
2526
2682
 
2683
+ # The object that defines the time length of an exclusion window.
2684
+ #
2685
+ # @!attribute [rw] duration_unit
2686
+ # The unit of time for the exclusion window duration. Valid values:
2687
+ # MINUTE, HOUR, DAY, MONTH.
2688
+ # @return [String]
2689
+ #
2690
+ # @!attribute [rw] duration
2691
+ # The number of time units for the exclusion window length.
2692
+ # @return [Integer]
2693
+ #
2694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/Window AWS API Documentation
2695
+ #
2696
+ class Window < Struct.new(
2697
+ :duration_unit,
2698
+ :duration)
2699
+ SENSITIVE = []
2700
+ include Aws::Structure
2701
+ end
2702
+
2527
2703
  end
2528
2704
  end
2529
2705
 
@@ -54,7 +54,7 @@ module Aws::ApplicationSignals
54
54
  autoload :EndpointProvider, 'aws-sdk-applicationsignals/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-applicationsignals/endpoints'
56
56
 
57
- GEM_VERSION = '1.17.0'
57
+ GEM_VERSION = '1.18.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -90,6 +90,43 @@ module Aws
90
90
  ) -> _BatchGetServiceLevelObjectiveBudgetReportResponseSuccess
91
91
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchGetServiceLevelObjectiveBudgetReportResponseSuccess
92
92
 
93
+ interface _BatchUpdateExclusionWindowsResponseSuccess
94
+ include ::Seahorse::Client::_ResponseSuccess[Types::BatchUpdateExclusionWindowsOutput]
95
+ def slo_ids: () -> ::Array[::String]
96
+ def errors: () -> ::Array[Types::BatchUpdateExclusionWindowsError]
97
+ end
98
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ApplicationSignals/Client.html#batch_update_exclusion_windows-instance_method
99
+ def batch_update_exclusion_windows: (
100
+ slo_ids: Array[::String],
101
+ ?add_exclusion_windows: Array[
102
+ {
103
+ window: {
104
+ duration_unit: ("MINUTE" | "HOUR" | "DAY" | "MONTH"),
105
+ duration: ::Integer
106
+ },
107
+ start_time: ::Time?,
108
+ recurrence_rule: {
109
+ expression: ::String
110
+ }?,
111
+ reason: ::String?
112
+ },
113
+ ],
114
+ ?remove_exclusion_windows: Array[
115
+ {
116
+ window: {
117
+ duration_unit: ("MINUTE" | "HOUR" | "DAY" | "MONTH"),
118
+ duration: ::Integer
119
+ },
120
+ start_time: ::Time?,
121
+ recurrence_rule: {
122
+ expression: ::String
123
+ }?,
124
+ reason: ::String?
125
+ },
126
+ ]
127
+ ) -> _BatchUpdateExclusionWindowsResponseSuccess
128
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _BatchUpdateExclusionWindowsResponseSuccess
129
+
93
130
  interface _CreateServiceLevelObjectiveResponseSuccess
94
131
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateServiceLevelObjectiveOutput]
95
132
  def slo: () -> Types::ServiceLevelObjective
@@ -317,6 +354,19 @@ module Aws
317
354
  ) -> _ListServiceDependentsResponseSuccess
318
355
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListServiceDependentsResponseSuccess
319
356
 
357
+ interface _ListServiceLevelObjectiveExclusionWindowsResponseSuccess
358
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListServiceLevelObjectiveExclusionWindowsOutput]
359
+ def exclusion_windows: () -> ::Array[Types::ExclusionWindow]
360
+ def next_token: () -> ::String
361
+ end
362
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ApplicationSignals/Client.html#list_service_level_objective_exclusion_windows-instance_method
363
+ def list_service_level_objective_exclusion_windows: (
364
+ id: ::String,
365
+ ?max_results: ::Integer,
366
+ ?next_token: ::String
367
+ ) -> _ListServiceLevelObjectiveExclusionWindowsResponseSuccess
368
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListServiceLevelObjectiveExclusionWindowsResponseSuccess
369
+
320
370
  interface _ListServiceLevelObjectivesResponseSuccess
321
371
  include ::Seahorse::Client::_ResponseSuccess[Types::ListServiceLevelObjectivesOutput]
322
372
  def slo_summaries: () -> ::Array[Types::ServiceLevelObjectiveSummary]
data/sig/types.rbs CHANGED
@@ -26,6 +26,26 @@ module Aws::ApplicationSignals
26
26
  SENSITIVE: []
27
27
  end
28
28
 
29
+ class BatchUpdateExclusionWindowsError
30
+ attr_accessor slo_id: ::String
31
+ attr_accessor error_code: ::String
32
+ attr_accessor error_message: ::String
33
+ SENSITIVE: []
34
+ end
35
+
36
+ class BatchUpdateExclusionWindowsInput
37
+ attr_accessor slo_ids: ::Array[::String]
38
+ attr_accessor add_exclusion_windows: ::Array[Types::ExclusionWindow]
39
+ attr_accessor remove_exclusion_windows: ::Array[Types::ExclusionWindow]
40
+ SENSITIVE: []
41
+ end
42
+
43
+ class BatchUpdateExclusionWindowsOutput
44
+ attr_accessor slo_ids: ::Array[::String]
45
+ attr_accessor errors: ::Array[Types::BatchUpdateExclusionWindowsError]
46
+ SENSITIVE: []
47
+ end
48
+
29
49
  class BurnRateConfiguration
30
50
  attr_accessor look_back_window_minutes: ::Integer
31
51
  SENSITIVE: []
@@ -73,6 +93,14 @@ module Aws::ApplicationSignals
73
93
  SENSITIVE: []
74
94
  end
75
95
 
96
+ class ExclusionWindow
97
+ attr_accessor window: Types::Window
98
+ attr_accessor start_time: ::Time
99
+ attr_accessor recurrence_rule: Types::RecurrenceRule
100
+ attr_accessor reason: ::String
101
+ SENSITIVE: []
102
+ end
103
+
76
104
  class GetServiceInput
77
105
  attr_accessor start_time: ::Time
78
106
  attr_accessor end_time: ::Time
@@ -153,6 +181,19 @@ module Aws::ApplicationSignals
153
181
  SENSITIVE: []
154
182
  end
155
183
 
184
+ class ListServiceLevelObjectiveExclusionWindowsInput
185
+ attr_accessor id: ::String
186
+ attr_accessor max_results: ::Integer
187
+ attr_accessor next_token: ::String
188
+ SENSITIVE: []
189
+ end
190
+
191
+ class ListServiceLevelObjectiveExclusionWindowsOutput
192
+ attr_accessor exclusion_windows: ::Array[Types::ExclusionWindow]
193
+ attr_accessor next_token: ::String
194
+ SENSITIVE: []
195
+ end
196
+
156
197
  class ListServiceLevelObjectivesInput
157
198
  attr_accessor key_attributes: ::Hash[::String, ::String]
158
199
  attr_accessor operation_name: ::String
@@ -263,6 +304,11 @@ module Aws::ApplicationSignals
263
304
  end
264
305
  end
265
306
 
307
+ class RecurrenceRule
308
+ attr_accessor expression: ::String
309
+ SENSITIVE: []
310
+ end
311
+
266
312
  class RequestBasedServiceLevelIndicator
267
313
  attr_accessor request_based_sli_metric: Types::RequestBasedServiceLevelIndicatorMetric
268
314
  attr_accessor metric_threshold: ::Float
@@ -483,5 +529,11 @@ module Aws::ApplicationSignals
483
529
  attr_accessor message: ::String
484
530
  SENSITIVE: []
485
531
  end
532
+
533
+ class Window
534
+ attr_accessor duration_unit: ("MINUTE" | "HOUR" | "DAY" | "MONTH")
535
+ attr_accessor duration: ::Integer
536
+ SENSITIVE: []
537
+ end
486
538
  end
487
539
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-applicationsignals
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-26 00:00:00.000000000 Z
11
+ date: 2025-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core