aws-sdk-applicationsignals 1.17.0 → 1.19.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: 424d2d3bf828c86ae5466a81df897bc0c37ca987cc5d57f1a2331f8e22bf059f
4
+ data.tar.gz: 1743ae5d13cf1a7d9d007abb86885e35dd22397cf74e77576ace4c4dd88e365c
5
5
  SHA512:
6
- metadata.gz: 190437bdaf6b1fb7f202f57169a89a46da9dfe750aa6008a47d2be748e3a3cf329bf135ef28cbec793e5165e3ae41781333fd1799499285a4b7a474d53d57d17
7
- data.tar.gz: e251cf8dfa7524c8a1ed8a133641ebf96fb46583967d06d6e193567d4f74c0bd9b71c3649777f2d3dfcf3837d37338e8b5cdce8d15865be54646459b5a7bccdf
6
+ metadata.gz: a7999d54ca08509f6bf48352dee27f4d0c9fe29a0ffbf3eb0e9105a4b301144b20e6cdc4576036cb93a0052196f2f725e2487e1cad79986c050073ccbb22ba7c
7
+ data.tar.gz: c66ffdb883c22016738ea52f5e03e850cab0eb18ac6af5e9acd779fed4d8fabc74ab8a68e06d815331a9521fc920bc9ca8288cac181e14ac38d222abcd08654d
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.19.0 (2025-04-02)
5
+ ------------------
6
+
7
+ * Feature - Application Signals now supports creating Service Level Objectives on service dependencies. Users can now create or update SLOs on discovered service dependencies to monitor their standard application metrics.
8
+
9
+ 1.18.0 (2025-03-17)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for adding, removing, and listing SLO time exclusion windows with the BatchUpdateExclusionWindows and ListServiceLevelObjectiveExclusionWindows APIs.
13
+
4
14
  1.17.0 (2025-02-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.17.0
1
+ 1.19.0
@@ -542,6 +542,9 @@ module Aws::ApplicationSignals
542
542
  # resp.reports[0].sli.sli_metric.metric_data_queries[0].return_data #=> Boolean
543
543
  # resp.reports[0].sli.sli_metric.metric_data_queries[0].period #=> Integer
544
544
  # resp.reports[0].sli.sli_metric.metric_data_queries[0].account_id #=> String
545
+ # resp.reports[0].sli.sli_metric.dependency_config.dependency_key_attributes #=> Hash
546
+ # resp.reports[0].sli.sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
547
+ # resp.reports[0].sli.sli_metric.dependency_config.dependency_operation_name #=> String
545
548
  # resp.reports[0].sli.metric_threshold #=> Float
546
549
  # resp.reports[0].sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
547
550
  # resp.reports[0].request_based_sli.request_based_sli_metric.key_attributes #=> Hash
@@ -593,6 +596,9 @@ module Aws::ApplicationSignals
593
596
  # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
594
597
  # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
595
598
  # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
599
+ # resp.reports[0].request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes #=> Hash
600
+ # resp.reports[0].request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
601
+ # resp.reports[0].request_based_sli.request_based_sli_metric.dependency_config.dependency_operation_name #=> String
596
602
  # resp.reports[0].request_based_sli.metric_threshold #=> Float
597
603
  # resp.reports[0].request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
598
604
  # resp.reports[0].goal.interval.rolling_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
@@ -617,6 +623,75 @@ module Aws::ApplicationSignals
617
623
  req.send_request(options)
618
624
  end
619
625
 
626
+ # Add or remove time window exclusions for one or more Service Level
627
+ # Objectives (SLOs).
628
+ #
629
+ # @option params [required, Array<String>] :slo_ids
630
+ # The list of SLO IDs to add or remove exclusion windows from.
631
+ #
632
+ # @option params [Array<Types::ExclusionWindow>] :add_exclusion_windows
633
+ # A list of exclusion windows to add to the specified SLOs. You can add
634
+ # up to 10 exclusion windows per SLO.
635
+ #
636
+ # @option params [Array<Types::ExclusionWindow>] :remove_exclusion_windows
637
+ # A list of exclusion windows to remove from the specified SLOs. The
638
+ # window configuration must match an existing exclusion window.
639
+ #
640
+ # @return [Types::BatchUpdateExclusionWindowsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
641
+ #
642
+ # * {Types::BatchUpdateExclusionWindowsOutput#slo_ids #slo_ids} => Array&lt;String&gt;
643
+ # * {Types::BatchUpdateExclusionWindowsOutput#errors #errors} => Array&lt;Types::BatchUpdateExclusionWindowsError&gt;
644
+ #
645
+ # @example Request syntax with placeholder values
646
+ #
647
+ # resp = client.batch_update_exclusion_windows({
648
+ # slo_ids: ["String"], # required
649
+ # add_exclusion_windows: [
650
+ # {
651
+ # window: { # required
652
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
653
+ # duration: 1, # required
654
+ # },
655
+ # start_time: Time.now,
656
+ # recurrence_rule: {
657
+ # expression: "Expression", # required
658
+ # },
659
+ # reason: "ExclusionReason",
660
+ # },
661
+ # ],
662
+ # remove_exclusion_windows: [
663
+ # {
664
+ # window: { # required
665
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
666
+ # duration: 1, # required
667
+ # },
668
+ # start_time: Time.now,
669
+ # recurrence_rule: {
670
+ # expression: "Expression", # required
671
+ # },
672
+ # reason: "ExclusionReason",
673
+ # },
674
+ # ],
675
+ # })
676
+ #
677
+ # @example Response structure
678
+ #
679
+ # resp.slo_ids #=> Array
680
+ # resp.slo_ids[0] #=> String
681
+ # resp.errors #=> Array
682
+ # resp.errors[0].slo_id #=> String
683
+ # resp.errors[0].error_code #=> String
684
+ # resp.errors[0].error_message #=> String
685
+ #
686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/BatchUpdateExclusionWindows AWS API Documentation
687
+ #
688
+ # @overload batch_update_exclusion_windows(params = {})
689
+ # @param [Hash] params ({})
690
+ def batch_update_exclusion_windows(params = {}, options = {})
691
+ req = build_request(:batch_update_exclusion_windows, params)
692
+ req.send_request(options)
693
+ end
694
+
620
695
  # Creates a service level objective (SLO), which can help you ensure
621
696
  # that your critical business operations are meeting customer
622
697
  # expectations. Use SLOs to set and track specific target levels for the
@@ -792,6 +867,12 @@ module Aws::ApplicationSignals
792
867
  # account_id: "AccountId",
793
868
  # },
794
869
  # ],
870
+ # dependency_config: {
871
+ # dependency_key_attributes: { # required
872
+ # "KeyAttributeName" => "KeyAttributeValue",
873
+ # },
874
+ # dependency_operation_name: "OperationName", # required
875
+ # },
795
876
  # },
796
877
  # metric_threshold: 1.0, # required
797
878
  # comparison_operator: "GreaterThanOrEqualTo", # required, accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
@@ -880,6 +961,12 @@ module Aws::ApplicationSignals
880
961
  # },
881
962
  # ],
882
963
  # },
964
+ # dependency_config: {
965
+ # dependency_key_attributes: { # required
966
+ # "KeyAttributeName" => "KeyAttributeValue",
967
+ # },
968
+ # dependency_operation_name: "OperationName", # required
969
+ # },
883
970
  # },
884
971
  # metric_threshold: 1.0,
885
972
  # comparison_operator: "GreaterThanOrEqualTo", # accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
@@ -938,6 +1025,9 @@ module Aws::ApplicationSignals
938
1025
  # resp.slo.sli.sli_metric.metric_data_queries[0].return_data #=> Boolean
939
1026
  # resp.slo.sli.sli_metric.metric_data_queries[0].period #=> Integer
940
1027
  # resp.slo.sli.sli_metric.metric_data_queries[0].account_id #=> String
1028
+ # resp.slo.sli.sli_metric.dependency_config.dependency_key_attributes #=> Hash
1029
+ # resp.slo.sli.sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
1030
+ # resp.slo.sli.sli_metric.dependency_config.dependency_operation_name #=> String
941
1031
  # resp.slo.sli.metric_threshold #=> Float
942
1032
  # resp.slo.sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
943
1033
  # resp.slo.request_based_sli.request_based_sli_metric.key_attributes #=> Hash
@@ -989,6 +1079,9 @@ module Aws::ApplicationSignals
989
1079
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
990
1080
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
991
1081
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
1082
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes #=> Hash
1083
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
1084
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_operation_name #=> String
992
1085
  # resp.slo.request_based_sli.metric_threshold #=> Float
993
1086
  # resp.slo.request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
994
1087
  # resp.slo.evaluation_type #=> String, one of "PeriodBased", "RequestBased"
@@ -1001,6 +1094,7 @@ module Aws::ApplicationSignals
1001
1094
  # resp.slo.goal.warning_threshold #=> Float
1002
1095
  # resp.slo.burn_rate_configurations #=> Array
1003
1096
  # resp.slo.burn_rate_configurations[0].look_back_window_minutes #=> Integer
1097
+ # resp.slo.metric_source_type #=> String, one of "ServiceOperation", "CloudWatchMetric", "ServiceDependency"
1004
1098
  #
1005
1099
  # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/CreateServiceLevelObjective AWS API Documentation
1006
1100
  #
@@ -1170,6 +1264,9 @@ module Aws::ApplicationSignals
1170
1264
  # resp.slo.sli.sli_metric.metric_data_queries[0].return_data #=> Boolean
1171
1265
  # resp.slo.sli.sli_metric.metric_data_queries[0].period #=> Integer
1172
1266
  # resp.slo.sli.sli_metric.metric_data_queries[0].account_id #=> String
1267
+ # resp.slo.sli.sli_metric.dependency_config.dependency_key_attributes #=> Hash
1268
+ # resp.slo.sli.sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
1269
+ # resp.slo.sli.sli_metric.dependency_config.dependency_operation_name #=> String
1173
1270
  # resp.slo.sli.metric_threshold #=> Float
1174
1271
  # resp.slo.sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
1175
1272
  # resp.slo.request_based_sli.request_based_sli_metric.key_attributes #=> Hash
@@ -1221,6 +1318,9 @@ module Aws::ApplicationSignals
1221
1318
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
1222
1319
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
1223
1320
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
1321
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes #=> Hash
1322
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
1323
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_operation_name #=> String
1224
1324
  # resp.slo.request_based_sli.metric_threshold #=> Float
1225
1325
  # resp.slo.request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
1226
1326
  # resp.slo.evaluation_type #=> String, one of "PeriodBased", "RequestBased"
@@ -1233,6 +1333,7 @@ module Aws::ApplicationSignals
1233
1333
  # resp.slo.goal.warning_threshold #=> Float
1234
1334
  # resp.slo.burn_rate_configurations #=> Array
1235
1335
  # resp.slo.burn_rate_configurations[0].look_back_window_minutes #=> Integer
1336
+ # resp.slo.metric_source_type #=> String, one of "ServiceOperation", "CloudWatchMetric", "ServiceDependency"
1236
1337
  #
1237
1338
  # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/GetServiceLevelObjective AWS API Documentation
1238
1339
  #
@@ -1444,6 +1545,53 @@ module Aws::ApplicationSignals
1444
1545
  req.send_request(options)
1445
1546
  end
1446
1547
 
1548
+ # Retrieves all exclusion windows configured for a specific SLO.
1549
+ #
1550
+ # @option params [required, String] :id
1551
+ # The ID of the SLO to list exclusion windows for.
1552
+ #
1553
+ # @option params [Integer] :max_results
1554
+ # The maximum number of results to return in one operation. If you omit
1555
+ # this parameter, the default of 50 is used. </p>
1556
+ #
1557
+ # @option params [String] :next_token
1558
+ # Include this value, if it was returned by the previous operation, to
1559
+ # get the next set of service level objectives. </p>
1560
+ #
1561
+ # @return [Types::ListServiceLevelObjectiveExclusionWindowsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1562
+ #
1563
+ # * {Types::ListServiceLevelObjectiveExclusionWindowsOutput#exclusion_windows #exclusion_windows} => Array&lt;Types::ExclusionWindow&gt;
1564
+ # * {Types::ListServiceLevelObjectiveExclusionWindowsOutput#next_token #next_token} => String
1565
+ #
1566
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1567
+ #
1568
+ # @example Request syntax with placeholder values
1569
+ #
1570
+ # resp = client.list_service_level_objective_exclusion_windows({
1571
+ # id: "ServiceLevelObjectiveId", # required
1572
+ # max_results: 1,
1573
+ # next_token: "NextToken",
1574
+ # })
1575
+ #
1576
+ # @example Response structure
1577
+ #
1578
+ # resp.exclusion_windows #=> Array
1579
+ # resp.exclusion_windows[0].window.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
1580
+ # resp.exclusion_windows[0].window.duration #=> Integer
1581
+ # resp.exclusion_windows[0].start_time #=> Time
1582
+ # resp.exclusion_windows[0].recurrence_rule.expression #=> String
1583
+ # resp.exclusion_windows[0].reason #=> String
1584
+ # resp.next_token #=> String
1585
+ #
1586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectiveExclusionWindows AWS API Documentation
1587
+ #
1588
+ # @overload list_service_level_objective_exclusion_windows(params = {})
1589
+ # @param [Hash] params ({})
1590
+ def list_service_level_objective_exclusion_windows(params = {}, options = {})
1591
+ req = build_request(:list_service_level_objective_exclusion_windows, params)
1592
+ req.send_request(options)
1593
+ end
1594
+
1447
1595
  # Returns a list of SLOs created in this account.
1448
1596
  #
1449
1597
  # @option params [Hash<String,String>] :key_attributes
@@ -1472,6 +1620,10 @@ module Aws::ApplicationSignals
1472
1620
  # @option params [String] :operation_name
1473
1621
  # The name of the operation that this SLO is associated with.
1474
1622
  #
1623
+ # @option params [Types::DependencyConfig] :dependency_config
1624
+ # Identifies the dependency using the `DependencyKeyAttributes` and
1625
+ # `DependencyOperationName`.
1626
+ #
1475
1627
  # @option params [Integer] :max_results
1476
1628
  # The maximum number of results to return in one operation. If you omit
1477
1629
  # this parameter, the default of 50 is used.
@@ -1480,6 +1632,16 @@ module Aws::ApplicationSignals
1480
1632
  # Include this value, if it was returned by the previous operation, to
1481
1633
  # get the next set of service level objectives.
1482
1634
  #
1635
+ # @option params [Array<String>] :metric_source_types
1636
+ # Use this optional field to only include SLOs with the specified metric
1637
+ # source types in the output. Supported types are:
1638
+ #
1639
+ # * Service operation
1640
+ #
1641
+ # * Service dependency
1642
+ #
1643
+ # * CloudWatch metric
1644
+ #
1483
1645
  # @option params [Boolean] :include_linked_accounts
1484
1646
  # If you are using this operation in a monitoring account, specify
1485
1647
  # `true` to include SLO from source accounts in the returned data.
@@ -1506,8 +1668,15 @@ module Aws::ApplicationSignals
1506
1668
  # "KeyAttributeName" => "KeyAttributeValue",
1507
1669
  # },
1508
1670
  # operation_name: "OperationName",
1671
+ # dependency_config: {
1672
+ # dependency_key_attributes: { # required
1673
+ # "KeyAttributeName" => "KeyAttributeValue",
1674
+ # },
1675
+ # dependency_operation_name: "OperationName", # required
1676
+ # },
1509
1677
  # max_results: 1,
1510
1678
  # next_token: "NextToken",
1679
+ # metric_source_types: ["ServiceOperation"], # accepts ServiceOperation, CloudWatchMetric, ServiceDependency
1511
1680
  # include_linked_accounts: false,
1512
1681
  # slo_owner_aws_account_id: "AwsAccountId",
1513
1682
  # })
@@ -1520,7 +1689,12 @@ module Aws::ApplicationSignals
1520
1689
  # resp.slo_summaries[0].key_attributes #=> Hash
1521
1690
  # resp.slo_summaries[0].key_attributes["KeyAttributeName"] #=> String
1522
1691
  # resp.slo_summaries[0].operation_name #=> String
1692
+ # resp.slo_summaries[0].dependency_config.dependency_key_attributes #=> Hash
1693
+ # resp.slo_summaries[0].dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
1694
+ # resp.slo_summaries[0].dependency_config.dependency_operation_name #=> String
1523
1695
  # resp.slo_summaries[0].created_time #=> Time
1696
+ # resp.slo_summaries[0].evaluation_type #=> String, one of "PeriodBased", "RequestBased"
1697
+ # resp.slo_summaries[0].metric_source_type #=> String, one of "ServiceOperation", "CloudWatchMetric", "ServiceDependency"
1524
1698
  # resp.next_token #=> String
1525
1699
  #
1526
1700
  # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/ListServiceLevelObjectives AWS API Documentation
@@ -1964,6 +2138,12 @@ module Aws::ApplicationSignals
1964
2138
  # account_id: "AccountId",
1965
2139
  # },
1966
2140
  # ],
2141
+ # dependency_config: {
2142
+ # dependency_key_attributes: { # required
2143
+ # "KeyAttributeName" => "KeyAttributeValue",
2144
+ # },
2145
+ # dependency_operation_name: "OperationName", # required
2146
+ # },
1967
2147
  # },
1968
2148
  # metric_threshold: 1.0, # required
1969
2149
  # comparison_operator: "GreaterThanOrEqualTo", # required, accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
@@ -2052,6 +2232,12 @@ module Aws::ApplicationSignals
2052
2232
  # },
2053
2233
  # ],
2054
2234
  # },
2235
+ # dependency_config: {
2236
+ # dependency_key_attributes: { # required
2237
+ # "KeyAttributeName" => "KeyAttributeValue",
2238
+ # },
2239
+ # dependency_operation_name: "OperationName", # required
2240
+ # },
2055
2241
  # },
2056
2242
  # metric_threshold: 1.0,
2057
2243
  # comparison_operator: "GreaterThanOrEqualTo", # accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
@@ -2104,6 +2290,9 @@ module Aws::ApplicationSignals
2104
2290
  # resp.slo.sli.sli_metric.metric_data_queries[0].return_data #=> Boolean
2105
2291
  # resp.slo.sli.sli_metric.metric_data_queries[0].period #=> Integer
2106
2292
  # resp.slo.sli.sli_metric.metric_data_queries[0].account_id #=> String
2293
+ # resp.slo.sli.sli_metric.dependency_config.dependency_key_attributes #=> Hash
2294
+ # resp.slo.sli.sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
2295
+ # resp.slo.sli.sli_metric.dependency_config.dependency_operation_name #=> String
2107
2296
  # resp.slo.sli.metric_threshold #=> Float
2108
2297
  # resp.slo.sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
2109
2298
  # resp.slo.request_based_sli.request_based_sli_metric.key_attributes #=> Hash
@@ -2155,6 +2344,9 @@ module Aws::ApplicationSignals
2155
2344
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
2156
2345
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
2157
2346
  # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
2347
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes #=> Hash
2348
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_key_attributes["KeyAttributeName"] #=> String
2349
+ # resp.slo.request_based_sli.request_based_sli_metric.dependency_config.dependency_operation_name #=> String
2158
2350
  # resp.slo.request_based_sli.metric_threshold #=> Float
2159
2351
  # resp.slo.request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
2160
2352
  # resp.slo.evaluation_type #=> String, one of "PeriodBased", "RequestBased"
@@ -2167,6 +2359,7 @@ module Aws::ApplicationSignals
2167
2359
  # resp.slo.goal.warning_threshold #=> Float
2168
2360
  # resp.slo.burn_rate_configurations #=> Array
2169
2361
  # resp.slo.burn_rate_configurations[0].look_back_window_minutes #=> Integer
2362
+ # resp.slo.metric_source_type #=> String, one of "ServiceOperation", "CloudWatchMetric", "ServiceDependency"
2170
2363
  #
2171
2364
  # @see http://docs.aws.amazon.com/goto/WebAPI/application-signals-2024-04-15/UpdateServiceLevelObjective AWS API Documentation
2172
2365
  #
@@ -2195,7 +2388,7 @@ module Aws::ApplicationSignals
2195
2388
  tracer: tracer
2196
2389
  )
2197
2390
  context[:gem_name] = 'aws-sdk-applicationsignals'
2198
- context[:gem_version] = '1.17.0'
2391
+ context[:gem_version] = '1.19.0'
2199
2392
  Seahorse::Client::Request.new(handlers, context)
2200
2393
  end
2201
2394
 
@@ -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')
@@ -38,12 +42,20 @@ module Aws::ApplicationSignals
38
42
  CreateServiceLevelObjectiveOutput = Shapes::StructureShape.new(name: 'CreateServiceLevelObjectiveOutput')
39
43
  DeleteServiceLevelObjectiveInput = Shapes::StructureShape.new(name: 'DeleteServiceLevelObjectiveInput')
40
44
  DeleteServiceLevelObjectiveOutput = Shapes::StructureShape.new(name: 'DeleteServiceLevelObjectiveOutput')
45
+ DependencyConfig = Shapes::StructureShape.new(name: 'DependencyConfig')
41
46
  Dimension = Shapes::StructureShape.new(name: 'Dimension')
42
47
  DimensionName = Shapes::StringShape.new(name: 'DimensionName')
43
48
  DimensionValue = Shapes::StringShape.new(name: 'DimensionValue')
44
49
  Dimensions = Shapes::ListShape.new(name: 'Dimensions')
45
50
  DurationUnit = Shapes::StringShape.new(name: 'DurationUnit')
46
51
  EvaluationType = Shapes::StringShape.new(name: 'EvaluationType')
52
+ ExclusionDuration = Shapes::IntegerShape.new(name: 'ExclusionDuration')
53
+ ExclusionReason = Shapes::StringShape.new(name: 'ExclusionReason')
54
+ ExclusionWindow = Shapes::StructureShape.new(name: 'ExclusionWindow')
55
+ ExclusionWindowErrorCode = Shapes::StringShape.new(name: 'ExclusionWindowErrorCode')
56
+ ExclusionWindowErrorMessage = Shapes::StringShape.new(name: 'ExclusionWindowErrorMessage')
57
+ ExclusionWindows = Shapes::ListShape.new(name: 'ExclusionWindows')
58
+ Expression = Shapes::StringShape.new(name: 'Expression')
47
59
  FaultDescription = Shapes::StringShape.new(name: 'FaultDescription')
48
60
  GetServiceInput = Shapes::StructureShape.new(name: 'GetServiceInput')
49
61
  GetServiceLevelObjectiveInput = Shapes::StructureShape.new(name: 'GetServiceLevelObjectiveInput')
@@ -59,6 +71,9 @@ module Aws::ApplicationSignals
59
71
  ListServiceDependentsInput = Shapes::StructureShape.new(name: 'ListServiceDependentsInput')
60
72
  ListServiceDependentsMaxResults = Shapes::IntegerShape.new(name: 'ListServiceDependentsMaxResults')
61
73
  ListServiceDependentsOutput = Shapes::StructureShape.new(name: 'ListServiceDependentsOutput')
74
+ ListServiceLevelObjectiveExclusionWindowsInput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectiveExclusionWindowsInput')
75
+ ListServiceLevelObjectiveExclusionWindowsMaxResults = Shapes::IntegerShape.new(name: 'ListServiceLevelObjectiveExclusionWindowsMaxResults')
76
+ ListServiceLevelObjectiveExclusionWindowsOutput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectiveExclusionWindowsOutput')
62
77
  ListServiceLevelObjectivesInput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectivesInput')
63
78
  ListServiceLevelObjectivesMaxResults = Shapes::IntegerShape.new(name: 'ListServiceLevelObjectivesMaxResults')
64
79
  ListServiceLevelObjectivesOutput = Shapes::StructureShape.new(name: 'ListServiceLevelObjectivesOutput')
@@ -80,6 +95,8 @@ module Aws::ApplicationSignals
80
95
  MetricName = Shapes::StringShape.new(name: 'MetricName')
81
96
  MetricReference = Shapes::StructureShape.new(name: 'MetricReference')
82
97
  MetricReferences = Shapes::ListShape.new(name: 'MetricReferences')
98
+ MetricSourceType = Shapes::StringShape.new(name: 'MetricSourceType')
99
+ MetricSourceTypes = Shapes::ListShape.new(name: 'MetricSourceTypes')
83
100
  MetricStat = Shapes::StructureShape.new(name: 'MetricStat')
84
101
  MetricType = Shapes::StringShape.new(name: 'MetricType')
85
102
  MonitoredRequestCountMetricDataQueries = Shapes::UnionShape.new(name: 'MonitoredRequestCountMetricDataQueries')
@@ -87,6 +104,7 @@ module Aws::ApplicationSignals
87
104
  NextToken = Shapes::StringShape.new(name: 'NextToken')
88
105
  OperationName = Shapes::StringShape.new(name: 'OperationName')
89
106
  Period = Shapes::IntegerShape.new(name: 'Period')
107
+ RecurrenceRule = Shapes::StructureShape.new(name: 'RecurrenceRule')
90
108
  RequestBasedServiceLevelIndicator = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicator')
91
109
  RequestBasedServiceLevelIndicatorConfig = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorConfig')
92
110
  RequestBasedServiceLevelIndicatorMetric = Shapes::StructureShape.new(name: 'RequestBasedServiceLevelIndicatorMetric')
@@ -155,6 +173,7 @@ module Aws::ApplicationSignals
155
173
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
156
174
  ValidationExceptionMessage = Shapes::StringShape.new(name: 'ValidationExceptionMessage')
157
175
  WarningThreshold = Shapes::FloatShape.new(name: 'WarningThreshold')
176
+ Window = Shapes::StructureShape.new(name: 'Window')
158
177
 
159
178
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ServiceErrorMessage, location_name: "Message"))
160
179
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -176,6 +195,22 @@ module Aws::ApplicationSignals
176
195
  BatchGetServiceLevelObjectiveBudgetReportOutput.add_member(:errors, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveBudgetReportErrors, required: true, location_name: "Errors"))
177
196
  BatchGetServiceLevelObjectiveBudgetReportOutput.struct_class = Types::BatchGetServiceLevelObjectiveBudgetReportOutput
178
197
 
198
+ BatchUpdateExclusionWindowsError.add_member(:slo_id, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveId, required: true, location_name: "SloId"))
199
+ BatchUpdateExclusionWindowsError.add_member(:error_code, Shapes::ShapeRef.new(shape: ExclusionWindowErrorCode, required: true, location_name: "ErrorCode"))
200
+ BatchUpdateExclusionWindowsError.add_member(:error_message, Shapes::ShapeRef.new(shape: ExclusionWindowErrorMessage, required: true, location_name: "ErrorMessage"))
201
+ BatchUpdateExclusionWindowsError.struct_class = Types::BatchUpdateExclusionWindowsError
202
+
203
+ BatchUpdateExclusionWindowsErrors.member = Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsError)
204
+
205
+ BatchUpdateExclusionWindowsInput.add_member(:slo_ids, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveIds, required: true, location_name: "SloIds"))
206
+ BatchUpdateExclusionWindowsInput.add_member(:add_exclusion_windows, Shapes::ShapeRef.new(shape: ExclusionWindows, location_name: "AddExclusionWindows"))
207
+ BatchUpdateExclusionWindowsInput.add_member(:remove_exclusion_windows, Shapes::ShapeRef.new(shape: ExclusionWindows, location_name: "RemoveExclusionWindows"))
208
+ BatchUpdateExclusionWindowsInput.struct_class = Types::BatchUpdateExclusionWindowsInput
209
+
210
+ BatchUpdateExclusionWindowsOutput.add_member(:slo_ids, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveIds, required: true, location_name: "SloIds"))
211
+ BatchUpdateExclusionWindowsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsErrors, required: true, location_name: "Errors"))
212
+ BatchUpdateExclusionWindowsOutput.struct_class = Types::BatchUpdateExclusionWindowsOutput
213
+
179
214
  BurnRateConfiguration.add_member(:look_back_window_minutes, Shapes::ShapeRef.new(shape: BurnRateLookBackWindowMinutes, required: true, location_name: "LookBackWindowMinutes"))
180
215
  BurnRateConfiguration.struct_class = Types::BurnRateConfiguration
181
216
 
@@ -206,12 +241,24 @@ module Aws::ApplicationSignals
206
241
 
207
242
  DeleteServiceLevelObjectiveOutput.struct_class = Types::DeleteServiceLevelObjectiveOutput
208
243
 
244
+ DependencyConfig.add_member(:dependency_key_attributes, Shapes::ShapeRef.new(shape: Attributes, required: true, location_name: "DependencyKeyAttributes"))
245
+ DependencyConfig.add_member(:dependency_operation_name, Shapes::ShapeRef.new(shape: OperationName, required: true, location_name: "DependencyOperationName"))
246
+ DependencyConfig.struct_class = Types::DependencyConfig
247
+
209
248
  Dimension.add_member(:name, Shapes::ShapeRef.new(shape: DimensionName, required: true, location_name: "Name"))
210
249
  Dimension.add_member(:value, Shapes::ShapeRef.new(shape: DimensionValue, required: true, location_name: "Value"))
211
250
  Dimension.struct_class = Types::Dimension
212
251
 
213
252
  Dimensions.member = Shapes::ShapeRef.new(shape: Dimension)
214
253
 
254
+ ExclusionWindow.add_member(:window, Shapes::ShapeRef.new(shape: Window, required: true, location_name: "Window"))
255
+ ExclusionWindow.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
256
+ ExclusionWindow.add_member(:recurrence_rule, Shapes::ShapeRef.new(shape: RecurrenceRule, location_name: "RecurrenceRule"))
257
+ ExclusionWindow.add_member(:reason, Shapes::ShapeRef.new(shape: ExclusionReason, location_name: "Reason"))
258
+ ExclusionWindow.struct_class = Types::ExclusionWindow
259
+
260
+ ExclusionWindows.member = Shapes::ShapeRef.new(shape: ExclusionWindow)
261
+
215
262
  GetServiceInput.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "StartTime"))
216
263
  GetServiceInput.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location: "querystring", location_name: "EndTime"))
217
264
  GetServiceInput.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, required: true, location_name: "KeyAttributes"))
@@ -268,10 +315,21 @@ module Aws::ApplicationSignals
268
315
  ListServiceDependentsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
269
316
  ListServiceDependentsOutput.struct_class = Types::ListServiceDependentsOutput
270
317
 
318
+ ListServiceLevelObjectiveExclusionWindowsInput.add_member(:id, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveId, required: true, location: "uri", location_name: "Id"))
319
+ ListServiceLevelObjectiveExclusionWindowsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: ListServiceLevelObjectiveExclusionWindowsMaxResults, location: "querystring", location_name: "MaxResults"))
320
+ ListServiceLevelObjectiveExclusionWindowsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
321
+ ListServiceLevelObjectiveExclusionWindowsInput.struct_class = Types::ListServiceLevelObjectiveExclusionWindowsInput
322
+
323
+ ListServiceLevelObjectiveExclusionWindowsOutput.add_member(:exclusion_windows, Shapes::ShapeRef.new(shape: ExclusionWindows, required: true, location_name: "ExclusionWindows"))
324
+ ListServiceLevelObjectiveExclusionWindowsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
325
+ ListServiceLevelObjectiveExclusionWindowsOutput.struct_class = Types::ListServiceLevelObjectiveExclusionWindowsOutput
326
+
271
327
  ListServiceLevelObjectivesInput.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
272
328
  ListServiceLevelObjectivesInput.add_member(:operation_name, Shapes::ShapeRef.new(shape: OperationName, location: "querystring", location_name: "OperationName"))
329
+ ListServiceLevelObjectivesInput.add_member(:dependency_config, Shapes::ShapeRef.new(shape: DependencyConfig, location_name: "DependencyConfig"))
273
330
  ListServiceLevelObjectivesInput.add_member(:max_results, Shapes::ShapeRef.new(shape: ListServiceLevelObjectivesMaxResults, location: "querystring", location_name: "MaxResults"))
274
331
  ListServiceLevelObjectivesInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
332
+ ListServiceLevelObjectivesInput.add_member(:metric_source_types, Shapes::ShapeRef.new(shape: MetricSourceTypes, location_name: "MetricSourceTypes"))
275
333
  ListServiceLevelObjectivesInput.add_member(:include_linked_accounts, Shapes::ShapeRef.new(shape: Boolean, location: "querystring", location_name: "IncludeLinkedAccounts"))
276
334
  ListServiceLevelObjectivesInput.add_member(:slo_owner_aws_account_id, Shapes::ShapeRef.new(shape: AwsAccountId, location: "querystring", location_name: "SloOwnerAwsAccountId"))
277
335
  ListServiceLevelObjectivesInput.struct_class = Types::ListServiceLevelObjectivesInput
@@ -340,6 +398,8 @@ module Aws::ApplicationSignals
340
398
 
341
399
  MetricReferences.member = Shapes::ShapeRef.new(shape: MetricReference)
342
400
 
401
+ MetricSourceTypes.member = Shapes::ShapeRef.new(shape: MetricSourceType)
402
+
343
403
  MetricStat.add_member(:metric, Shapes::ShapeRef.new(shape: Metric, required: true, location_name: "Metric"))
344
404
  MetricStat.add_member(:period, Shapes::ShapeRef.new(shape: Period, required: true, location_name: "Period"))
345
405
  MetricStat.add_member(:stat, Shapes::ShapeRef.new(shape: Stat, required: true, location_name: "Stat"))
@@ -354,6 +414,9 @@ module Aws::ApplicationSignals
354
414
  MonitoredRequestCountMetricDataQueries.add_member_subclass(:unknown, Types::MonitoredRequestCountMetricDataQueries::Unknown)
355
415
  MonitoredRequestCountMetricDataQueries.struct_class = Types::MonitoredRequestCountMetricDataQueries
356
416
 
417
+ RecurrenceRule.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
418
+ RecurrenceRule.struct_class = Types::RecurrenceRule
419
+
357
420
  RequestBasedServiceLevelIndicator.add_member(:request_based_sli_metric, Shapes::ShapeRef.new(shape: RequestBasedServiceLevelIndicatorMetric, required: true, location_name: "RequestBasedSliMetric"))
358
421
  RequestBasedServiceLevelIndicator.add_member(:metric_threshold, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricThreshold, location_name: "MetricThreshold"))
359
422
  RequestBasedServiceLevelIndicator.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorComparisonOperator, location_name: "ComparisonOperator"))
@@ -369,6 +432,7 @@ module Aws::ApplicationSignals
369
432
  RequestBasedServiceLevelIndicatorMetric.add_member(:metric_type, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricType, location_name: "MetricType"))
370
433
  RequestBasedServiceLevelIndicatorMetric.add_member(:total_request_count_metric, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "TotalRequestCountMetric"))
371
434
  RequestBasedServiceLevelIndicatorMetric.add_member(:monitored_request_count_metric, Shapes::ShapeRef.new(shape: MonitoredRequestCountMetricDataQueries, required: true, location_name: "MonitoredRequestCountMetric"))
435
+ RequestBasedServiceLevelIndicatorMetric.add_member(:dependency_config, Shapes::ShapeRef.new(shape: DependencyConfig, location_name: "DependencyConfig"))
372
436
  RequestBasedServiceLevelIndicatorMetric.struct_class = Types::RequestBasedServiceLevelIndicatorMetric
373
437
 
374
438
  RequestBasedServiceLevelIndicatorMetricConfig.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
@@ -376,6 +440,7 @@ module Aws::ApplicationSignals
376
440
  RequestBasedServiceLevelIndicatorMetricConfig.add_member(:metric_type, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricType, location_name: "MetricType"))
377
441
  RequestBasedServiceLevelIndicatorMetricConfig.add_member(:total_request_count_metric, Shapes::ShapeRef.new(shape: MetricDataQueries, location_name: "TotalRequestCountMetric"))
378
442
  RequestBasedServiceLevelIndicatorMetricConfig.add_member(:monitored_request_count_metric, Shapes::ShapeRef.new(shape: MonitoredRequestCountMetricDataQueries, location_name: "MonitoredRequestCountMetric"))
443
+ RequestBasedServiceLevelIndicatorMetricConfig.add_member(:dependency_config, Shapes::ShapeRef.new(shape: DependencyConfig, location_name: "DependencyConfig"))
379
444
  RequestBasedServiceLevelIndicatorMetricConfig.struct_class = Types::RequestBasedServiceLevelIndicatorMetricConfig
380
445
 
381
446
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
@@ -423,6 +488,7 @@ module Aws::ApplicationSignals
423
488
  ServiceLevelIndicatorMetric.add_member(:operation_name, Shapes::ShapeRef.new(shape: OperationName, location_name: "OperationName"))
424
489
  ServiceLevelIndicatorMetric.add_member(:metric_type, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorMetricType, location_name: "MetricType"))
425
490
  ServiceLevelIndicatorMetric.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, required: true, location_name: "MetricDataQueries"))
491
+ ServiceLevelIndicatorMetric.add_member(:dependency_config, Shapes::ShapeRef.new(shape: DependencyConfig, location_name: "DependencyConfig"))
426
492
  ServiceLevelIndicatorMetric.struct_class = Types::ServiceLevelIndicatorMetric
427
493
 
428
494
  ServiceLevelIndicatorMetricConfig.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
@@ -431,6 +497,7 @@ module Aws::ApplicationSignals
431
497
  ServiceLevelIndicatorMetricConfig.add_member(:statistic, Shapes::ShapeRef.new(shape: ServiceLevelIndicatorStatistic, location_name: "Statistic"))
432
498
  ServiceLevelIndicatorMetricConfig.add_member(:period_seconds, Shapes::ShapeRef.new(shape: SLIPeriodSeconds, location_name: "PeriodSeconds"))
433
499
  ServiceLevelIndicatorMetricConfig.add_member(:metric_data_queries, Shapes::ShapeRef.new(shape: MetricDataQueries, location_name: "MetricDataQueries"))
500
+ ServiceLevelIndicatorMetricConfig.add_member(:dependency_config, Shapes::ShapeRef.new(shape: DependencyConfig, location_name: "DependencyConfig"))
434
501
  ServiceLevelIndicatorMetricConfig.struct_class = Types::ServiceLevelIndicatorMetricConfig
435
502
 
436
503
  ServiceLevelObjective.add_member(:arn, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveArn, required: true, location_name: "Arn"))
@@ -443,6 +510,7 @@ module Aws::ApplicationSignals
443
510
  ServiceLevelObjective.add_member(:evaluation_type, Shapes::ShapeRef.new(shape: EvaluationType, location_name: "EvaluationType"))
444
511
  ServiceLevelObjective.add_member(:goal, Shapes::ShapeRef.new(shape: Goal, required: true, location_name: "Goal"))
445
512
  ServiceLevelObjective.add_member(:burn_rate_configurations, Shapes::ShapeRef.new(shape: BurnRateConfigurations, location_name: "BurnRateConfigurations"))
513
+ ServiceLevelObjective.add_member(:metric_source_type, Shapes::ShapeRef.new(shape: MetricSourceType, location_name: "MetricSourceType"))
446
514
  ServiceLevelObjective.struct_class = Types::ServiceLevelObjective
447
515
 
448
516
  ServiceLevelObjectiveBudgetReport.add_member(:arn, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveArn, required: true, location_name: "Arn"))
@@ -477,7 +545,10 @@ module Aws::ApplicationSignals
477
545
  ServiceLevelObjectiveSummary.add_member(:name, Shapes::ShapeRef.new(shape: ServiceLevelObjectiveName, required: true, location_name: "Name"))
478
546
  ServiceLevelObjectiveSummary.add_member(:key_attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "KeyAttributes"))
479
547
  ServiceLevelObjectiveSummary.add_member(:operation_name, Shapes::ShapeRef.new(shape: OperationName, location_name: "OperationName"))
548
+ ServiceLevelObjectiveSummary.add_member(:dependency_config, Shapes::ShapeRef.new(shape: DependencyConfig, location_name: "DependencyConfig"))
480
549
  ServiceLevelObjectiveSummary.add_member(:created_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedTime"))
550
+ ServiceLevelObjectiveSummary.add_member(:evaluation_type, Shapes::ShapeRef.new(shape: EvaluationType, location_name: "EvaluationType"))
551
+ ServiceLevelObjectiveSummary.add_member(:metric_source_type, Shapes::ShapeRef.new(shape: MetricSourceType, location_name: "MetricSourceType"))
481
552
  ServiceLevelObjectiveSummary.struct_class = Types::ServiceLevelObjectiveSummary
482
553
 
483
554
  ServiceOperation.add_member(:name, Shapes::ShapeRef.new(shape: OperationName, required: true, location_name: "Name"))
@@ -537,6 +608,10 @@ module Aws::ApplicationSignals
537
608
  ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ValidationExceptionMessage, location_name: "message"))
538
609
  ValidationException.struct_class = Types::ValidationException
539
610
 
611
+ Window.add_member(:duration_unit, Shapes::ShapeRef.new(shape: DurationUnit, required: true, location_name: "DurationUnit"))
612
+ Window.add_member(:duration, Shapes::ShapeRef.new(shape: ExclusionDuration, required: true, location_name: "Duration"))
613
+ Window.struct_class = Types::Window
614
+
540
615
 
541
616
  # @api private
542
617
  API = Seahorse::Model::Api.new.tap do |api|
@@ -566,6 +641,17 @@ module Aws::ApplicationSignals
566
641
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
567
642
  end)
568
643
 
644
+ api.add_operation(:batch_update_exclusion_windows, Seahorse::Model::Operation.new.tap do |o|
645
+ o.name = "BatchUpdateExclusionWindows"
646
+ o.http_method = "PATCH"
647
+ o.http_request_uri = "/exclusion-windows"
648
+ o.input = Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsInput)
649
+ o.output = Shapes::ShapeRef.new(shape: BatchUpdateExclusionWindowsOutput)
650
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
651
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
652
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
653
+ end)
654
+
569
655
  api.add_operation(:create_service_level_objective, Seahorse::Model::Operation.new.tap do |o|
570
656
  o.name = "CreateServiceLevelObjective"
571
657
  o.http_method = "POST"
@@ -643,6 +729,23 @@ module Aws::ApplicationSignals
643
729
  )
644
730
  end)
645
731
 
732
+ api.add_operation(:list_service_level_objective_exclusion_windows, Seahorse::Model::Operation.new.tap do |o|
733
+ o.name = "ListServiceLevelObjectiveExclusionWindows"
734
+ o.http_method = "GET"
735
+ o.http_request_uri = "/slo/{Id}/exclusion-windows"
736
+ o.input = Shapes::ShapeRef.new(shape: ListServiceLevelObjectiveExclusionWindowsInput)
737
+ o.output = Shapes::ShapeRef.new(shape: ListServiceLevelObjectiveExclusionWindowsOutput)
738
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
739
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
740
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
741
+ o[:pager] = Aws::Pager.new(
742
+ limit_key: "max_results",
743
+ tokens: {
744
+ "next_token" => "next_token"
745
+ }
746
+ )
747
+ end)
748
+
646
749
  api.add_operation(:list_service_level_objectives, Seahorse::Model::Operation.new.tap do |o|
647
750
  o.name = "ListServiceLevelObjectives"
648
751
  o.http_method = "POST"