aws-sdk-applicationsignals 1.4.0 → 1.6.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.
@@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
32
  require 'aws-sdk-core/plugins/request_compression.rb'
33
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
34
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
35
36
  require 'aws-sdk-core/plugins/sign.rb'
36
37
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
37
38
 
@@ -83,6 +84,7 @@ module Aws::ApplicationSignals
83
84
  add_plugin(Aws::Plugins::RequestCompression)
84
85
  add_plugin(Aws::Plugins::DefaultsMode)
85
86
  add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
86
88
  add_plugin(Aws::Plugins::Sign)
87
89
  add_plugin(Aws::Plugins::Protocols::RestJson)
88
90
  add_plugin(Aws::ApplicationSignals::Plugins::Endpoints)
@@ -330,6 +332,16 @@ module Aws::ApplicationSignals
330
332
  # ** Please note ** When response stubbing is enabled, no HTTP
331
333
  # requests are made, and retries are disabled.
332
334
  #
335
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
336
+ # Allows you to provide a telemetry provider, which is used to
337
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
338
+ # will not record or emit any telemetry data. The SDK supports the
339
+ # following telemetry providers:
340
+ #
341
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
342
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
343
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
344
+ #
333
345
  # @option options [Aws::TokenProvider] :token_provider
334
346
  # A Bearer Token Provider. This can be an instance of any one of the
335
347
  # following classes:
@@ -428,12 +440,12 @@ module Aws::ApplicationSignals
428
440
  # Use this operation to retrieve one or more *service level objective
429
441
  # (SLO) budget reports*.
430
442
  #
431
- # An *error budget* is the amount of time in unhealthy periods that your
432
- # service can accumulate during an interval before your overall SLO
433
- # budget health is breached and the SLO is considered to be unmet. For
434
- # example, an SLO with a threshold of 99.95% and a monthly interval
435
- # translates to an error budget of 21.9 minutes of downtime in a 30-day
436
- # month.
443
+ # An *error budget* is the amount of time or requests in an unhealthy
444
+ # state that your service can accumulate during an interval before your
445
+ # overall SLO budget health is breached and the SLO is considered to be
446
+ # unmet. For example, an SLO with a threshold of 99.95% and a monthly
447
+ # interval translates to an error budget of 21.9 minutes of downtime in
448
+ # a 30-day month.
437
449
  #
438
450
  # Budget reports include a health indicator, the attainment value, and
439
451
  # remaining budget.
@@ -471,10 +483,13 @@ module Aws::ApplicationSignals
471
483
  # resp.reports #=> Array
472
484
  # resp.reports[0].arn #=> String
473
485
  # resp.reports[0].name #=> String
486
+ # resp.reports[0].evaluation_type #=> String, one of "PeriodBased", "RequestBased"
474
487
  # resp.reports[0].budget_status #=> String, one of "OK", "WARNING", "BREACHED", "INSUFFICIENT_DATA"
475
488
  # resp.reports[0].attainment #=> Float
476
489
  # resp.reports[0].total_budget_seconds #=> Integer
477
490
  # resp.reports[0].budget_seconds_remaining #=> Integer
491
+ # resp.reports[0].total_budget_requests #=> Integer
492
+ # resp.reports[0].budget_requests_remaining #=> Integer
478
493
  # resp.reports[0].sli.sli_metric.key_attributes #=> Hash
479
494
  # resp.reports[0].sli.sli_metric.key_attributes["KeyAttributeName"] #=> String
480
495
  # resp.reports[0].sli.sli_metric.operation_name #=> String
@@ -496,10 +511,61 @@ module Aws::ApplicationSignals
496
511
  # resp.reports[0].sli.sli_metric.metric_data_queries[0].account_id #=> String
497
512
  # resp.reports[0].sli.metric_threshold #=> Float
498
513
  # resp.reports[0].sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
499
- # resp.reports[0].goal.interval.rolling_interval.duration_unit #=> String, one of "DAY", "MONTH"
514
+ # resp.reports[0].request_based_sli.request_based_sli_metric.key_attributes #=> Hash
515
+ # resp.reports[0].request_based_sli.request_based_sli_metric.key_attributes["KeyAttributeName"] #=> String
516
+ # resp.reports[0].request_based_sli.request_based_sli_metric.operation_name #=> String
517
+ # resp.reports[0].request_based_sli.request_based_sli_metric.metric_type #=> String, one of "LATENCY", "AVAILABILITY"
518
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric #=> Array
519
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].id #=> String
520
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.namespace #=> String
521
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.metric_name #=> String
522
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions #=> Array
523
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
524
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
525
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.period #=> Integer
526
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.stat #=> String
527
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
528
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].expression #=> String
529
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].label #=> String
530
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].return_data #=> Boolean
531
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].period #=> Integer
532
+ # resp.reports[0].request_based_sli.request_based_sli_metric.total_request_count_metric[0].account_id #=> String
533
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric #=> Array
534
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].id #=> String
535
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.namespace #=> String
536
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.metric_name #=> String
537
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions #=> Array
538
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
539
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
540
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.period #=> Integer
541
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.stat #=> String
542
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
543
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].expression #=> String
544
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].label #=> String
545
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].return_data #=> Boolean
546
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].period #=> Integer
547
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].account_id #=> String
548
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric #=> Array
549
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].id #=> String
550
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.namespace #=> String
551
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.metric_name #=> String
552
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions #=> Array
553
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
554
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
555
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.period #=> Integer
556
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.stat #=> String
557
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
558
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].expression #=> String
559
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].label #=> String
560
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
561
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
562
+ # resp.reports[0].request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
563
+ # resp.reports[0].request_based_sli.metric_threshold #=> Float
564
+ # resp.reports[0].request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
565
+ # resp.reports[0].goal.interval.rolling_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
500
566
  # resp.reports[0].goal.interval.rolling_interval.duration #=> Integer
501
567
  # resp.reports[0].goal.interval.calendar_interval.start_time #=> Time
502
- # resp.reports[0].goal.interval.calendar_interval.duration_unit #=> String, one of "DAY", "MONTH"
568
+ # resp.reports[0].goal.interval.calendar_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
503
569
  # resp.reports[0].goal.interval.calendar_interval.duration #=> Integer
504
570
  # resp.reports[0].goal.attainment_goal #=> Float
505
571
  # resp.reports[0].goal.warning_threshold #=> Float
@@ -529,21 +595,60 @@ module Aws::ApplicationSignals
529
595
  # availability or latency. CloudWatch measures this target frequently
530
596
  # you can find whether it has been breached.
531
597
  #
532
- # When you create an SLO, you set an *attainment goal* for it. An
533
- # *attainment goal* is the ratio of good periods that meet the threshold
534
- # requirements to the total periods within the interval. For example, an
535
- # attainment goal of 99.9% means that within your interval, you are
536
- # targeting 99.9% of the periods to be in healthy state.
598
+ # The target performance quality that is defined for an SLO is the
599
+ # *attainment goal*.
600
+ #
601
+ # You can set SLO targets for your applications that are discovered by
602
+ # Application Signals, using critical metrics such as latency and
603
+ # availability. You can also set SLOs against any CloudWatch metric or
604
+ # math expression that produces a time series.
605
+ #
606
+ # When you create an SLO, you specify whether it is a *period-based SLO*
607
+ # or a *request-based SLO*. Each type of SLO has a different way of
608
+ # evaluating your application's performance against its attainment
609
+ # goal.
610
+ #
611
+ # * A *period-based SLO* uses defined *periods* of time within a
612
+ # specified total time interval. For each period of time, Application
613
+ # Signals determines whether the application met its goal. The
614
+ # attainment rate is calculated as the `number of good periods/number
615
+ # of total periods`.
616
+ #
617
+ # For example, for a period-based SLO, meeting an attainment goal of
618
+ # 99.9% means that within your interval, your application must meet
619
+ # its performance goal during at least 99.9% of the time periods.
620
+ #
621
+ # * A *request-based SLO* doesn't use pre-defined periods of time.
622
+ # Instead, the SLO measures `number of good requests/number of total
623
+ # requests` during the interval. At any time, you can find the ratio
624
+ # of good requests to total requests for the interval up to the time
625
+ # stamp that you specify, and measure that ratio against the goal set
626
+ # in your SLO.
537
627
  #
538
628
  # After you have created an SLO, you can retrieve error budget reports
539
- # for it. An *error budget* is the number of periods or amount of time
540
- # that your service can accumulate during an interval before your
541
- # overall SLO budget health is breached and the SLO is considered to be
542
- # unmet. for example, an SLO with a threshold that 99.95% of requests
543
- # must be completed under 2000ms every month translates to an error
544
- # budget of 21.9 minutes of downtime per month.
629
+ # for it. An *error budget* is the amount of time or amount of requests
630
+ # that your application can be non-compliant with the SLO's goal, and
631
+ # still have your application meet the goal.
632
+ #
633
+ # * For a period-based SLO, the error budget starts at a number defined
634
+ # by the highest number of periods that can fail to meet the
635
+ # threshold, while still meeting the overall goal. The *remaining
636
+ # error budget* decreases with every failed period that is recorded.
637
+ # The error budget within one interval can never increase.
638
+ #
639
+ # For example, an SLO with a threshold that 99.95% of requests must be
640
+ # completed under 2000ms every month translates to an error budget of
641
+ # 21.9 minutes of downtime per month.
642
+ #
643
+ # * For a request-based SLO, the remaining error budget is dynamic and
644
+ # can increase or decrease, depending on the ratio of good requests to
645
+ # total requests.
646
+ #
647
+ # For more information about SLOs, see [ Service level objectives
648
+ # (SLOs)][1].
545
649
  #
546
- # When you call this operation, Application Signals creates the
650
+ # When you perform a `CreateServiceLevelObjective` operation,
651
+ # Application Signals creates the
547
652
  # *AWSServiceRoleForCloudWatchApplicationSignals* service-linked role,
548
653
  # if it doesn't already exist in your account. This service- linked
549
654
  # role has the following permissions:
@@ -562,14 +667,6 @@ module Aws::ApplicationSignals
562
667
  #
563
668
  # * `autoscaling:DescribeAutoScalingGroups`
564
669
  #
565
- # You can easily set SLO targets for your applications that are
566
- # discovered by Application Signals, using critical metrics such as
567
- # latency and availability. You can also set SLOs against any CloudWatch
568
- # metric or math expression that produces a time series.
569
- #
570
- # For more information about SLOs, see [ Service level objectives
571
- # (SLOs)][1].
572
- #
573
670
  #
574
671
  #
575
672
  # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html
@@ -580,14 +677,23 @@ module Aws::ApplicationSignals
580
677
  # @option params [String] :description
581
678
  # An optional description for this SLO.
582
679
  #
583
- # @option params [required, Types::ServiceLevelIndicatorConfig] :sli_config
584
- # A structure that contains information about what service and what
585
- # performance metric that this SLO will monitor.
680
+ # @option params [Types::ServiceLevelIndicatorConfig] :sli_config
681
+ # If this SLO is a period-based SLO, this structure defines the
682
+ # information about what performance metric this SLO will monitor.
683
+ #
684
+ # You can't specify both `RequestBasedSliConfig` and `SliConfig` in the
685
+ # same operation.
686
+ #
687
+ # @option params [Types::RequestBasedServiceLevelIndicatorConfig] :request_based_sli_config
688
+ # If this SLO is a request-based SLO, this structure defines the
689
+ # information about what performance metric this SLO will monitor.
690
+ #
691
+ # You can't specify both `RequestBasedSliConfig` and `SliConfig` in the
692
+ # same operation.
586
693
  #
587
694
  # @option params [Types::Goal] :goal
588
- # A structure that contains the attributes that determine the goal of
589
- # the SLO. This includes the time period for evaluation and the
590
- # attainment threshold.
695
+ # This structure contains the attributes that determine the goal of the
696
+ # SLO.
591
697
  #
592
698
  # @option params [Array<Types::Tag>] :tags
593
699
  # A list of key-value pairs to associate with the SLO. You can associate
@@ -608,7 +714,7 @@ module Aws::ApplicationSignals
608
714
  # resp = client.create_service_level_objective({
609
715
  # name: "ServiceLevelObjectiveName", # required
610
716
  # description: "ServiceLevelObjectiveDescription",
611
- # sli_config: { # required
717
+ # sli_config: {
612
718
  # sli_metric_config: { # required
613
719
  # key_attributes: {
614
720
  # "KeyAttributeName" => "KeyAttributeValue",
@@ -646,15 +752,103 @@ module Aws::ApplicationSignals
646
752
  # metric_threshold: 1.0, # required
647
753
  # comparison_operator: "GreaterThanOrEqualTo", # required, accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
648
754
  # },
755
+ # request_based_sli_config: {
756
+ # request_based_sli_metric_config: { # required
757
+ # key_attributes: {
758
+ # "KeyAttributeName" => "KeyAttributeValue",
759
+ # },
760
+ # operation_name: "OperationName",
761
+ # metric_type: "LATENCY", # accepts LATENCY, AVAILABILITY
762
+ # total_request_count_metric: [
763
+ # {
764
+ # id: "MetricId", # required
765
+ # metric_stat: {
766
+ # metric: { # required
767
+ # namespace: "Namespace",
768
+ # metric_name: "MetricName",
769
+ # dimensions: [
770
+ # {
771
+ # name: "DimensionName", # required
772
+ # value: "DimensionValue", # required
773
+ # },
774
+ # ],
775
+ # },
776
+ # period: 1, # required
777
+ # stat: "Stat", # required
778
+ # unit: "Microseconds", # accepts Microseconds, Milliseconds, Seconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
779
+ # },
780
+ # expression: "MetricExpression",
781
+ # label: "MetricLabel",
782
+ # return_data: false,
783
+ # period: 1,
784
+ # account_id: "AccountId",
785
+ # },
786
+ # ],
787
+ # monitored_request_count_metric: {
788
+ # good_count_metric: [
789
+ # {
790
+ # id: "MetricId", # required
791
+ # metric_stat: {
792
+ # metric: { # required
793
+ # namespace: "Namespace",
794
+ # metric_name: "MetricName",
795
+ # dimensions: [
796
+ # {
797
+ # name: "DimensionName", # required
798
+ # value: "DimensionValue", # required
799
+ # },
800
+ # ],
801
+ # },
802
+ # period: 1, # required
803
+ # stat: "Stat", # required
804
+ # unit: "Microseconds", # accepts Microseconds, Milliseconds, Seconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
805
+ # },
806
+ # expression: "MetricExpression",
807
+ # label: "MetricLabel",
808
+ # return_data: false,
809
+ # period: 1,
810
+ # account_id: "AccountId",
811
+ # },
812
+ # ],
813
+ # bad_count_metric: [
814
+ # {
815
+ # id: "MetricId", # required
816
+ # metric_stat: {
817
+ # metric: { # required
818
+ # namespace: "Namespace",
819
+ # metric_name: "MetricName",
820
+ # dimensions: [
821
+ # {
822
+ # name: "DimensionName", # required
823
+ # value: "DimensionValue", # required
824
+ # },
825
+ # ],
826
+ # },
827
+ # period: 1, # required
828
+ # stat: "Stat", # required
829
+ # unit: "Microseconds", # accepts Microseconds, Milliseconds, Seconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
830
+ # },
831
+ # expression: "MetricExpression",
832
+ # label: "MetricLabel",
833
+ # return_data: false,
834
+ # period: 1,
835
+ # account_id: "AccountId",
836
+ # },
837
+ # ],
838
+ # },
839
+ # },
840
+ # metric_threshold: 1.0,
841
+ # comparison_operator: "GreaterThanOrEqualTo", # accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
842
+ # },
649
843
  # goal: {
650
844
  # interval: {
651
845
  # rolling_interval: {
652
- # duration_unit: "DAY", # required, accepts DAY, MONTH
846
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
653
847
  # duration: 1, # required
654
848
  # },
655
849
  # calendar_interval: {
656
850
  # start_time: Time.now, # required
657
- # duration_unit: "DAY", # required, accepts DAY, MONTH
851
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
658
852
  # duration: 1, # required
659
853
  # },
660
854
  # },
@@ -697,10 +891,62 @@ module Aws::ApplicationSignals
697
891
  # resp.slo.sli.sli_metric.metric_data_queries[0].account_id #=> String
698
892
  # resp.slo.sli.metric_threshold #=> Float
699
893
  # resp.slo.sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
700
- # resp.slo.goal.interval.rolling_interval.duration_unit #=> String, one of "DAY", "MONTH"
894
+ # resp.slo.request_based_sli.request_based_sli_metric.key_attributes #=> Hash
895
+ # resp.slo.request_based_sli.request_based_sli_metric.key_attributes["KeyAttributeName"] #=> String
896
+ # resp.slo.request_based_sli.request_based_sli_metric.operation_name #=> String
897
+ # resp.slo.request_based_sli.request_based_sli_metric.metric_type #=> String, one of "LATENCY", "AVAILABILITY"
898
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric #=> Array
899
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].id #=> String
900
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.namespace #=> String
901
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.metric_name #=> String
902
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions #=> Array
903
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
904
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
905
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.period #=> Integer
906
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.stat #=> String
907
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
908
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].expression #=> String
909
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].label #=> String
910
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].return_data #=> Boolean
911
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].period #=> Integer
912
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].account_id #=> String
913
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric #=> Array
914
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].id #=> String
915
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.namespace #=> String
916
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.metric_name #=> String
917
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions #=> Array
918
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
919
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
920
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.period #=> Integer
921
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.stat #=> String
922
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
923
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].expression #=> String
924
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].label #=> String
925
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].return_data #=> Boolean
926
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].period #=> Integer
927
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].account_id #=> String
928
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric #=> Array
929
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].id #=> String
930
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.namespace #=> String
931
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.metric_name #=> String
932
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions #=> Array
933
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
934
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
935
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.period #=> Integer
936
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.stat #=> String
937
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
938
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].expression #=> String
939
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].label #=> String
940
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
941
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
942
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
943
+ # resp.slo.request_based_sli.metric_threshold #=> Float
944
+ # resp.slo.request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
945
+ # resp.slo.evaluation_type #=> String, one of "PeriodBased", "RequestBased"
946
+ # resp.slo.goal.interval.rolling_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
701
947
  # resp.slo.goal.interval.rolling_interval.duration #=> Integer
702
948
  # resp.slo.goal.interval.calendar_interval.start_time #=> Time
703
- # resp.slo.goal.interval.calendar_interval.duration_unit #=> String, one of "DAY", "MONTH"
949
+ # resp.slo.goal.interval.calendar_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
704
950
  # resp.slo.goal.interval.calendar_interval.duration #=> Integer
705
951
  # resp.slo.goal.attainment_goal #=> Float
706
952
  # resp.slo.goal.warning_threshold #=> Float
@@ -874,10 +1120,62 @@ module Aws::ApplicationSignals
874
1120
  # resp.slo.sli.sli_metric.metric_data_queries[0].account_id #=> String
875
1121
  # resp.slo.sli.metric_threshold #=> Float
876
1122
  # resp.slo.sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
877
- # resp.slo.goal.interval.rolling_interval.duration_unit #=> String, one of "DAY", "MONTH"
1123
+ # resp.slo.request_based_sli.request_based_sli_metric.key_attributes #=> Hash
1124
+ # resp.slo.request_based_sli.request_based_sli_metric.key_attributes["KeyAttributeName"] #=> String
1125
+ # resp.slo.request_based_sli.request_based_sli_metric.operation_name #=> String
1126
+ # resp.slo.request_based_sli.request_based_sli_metric.metric_type #=> String, one of "LATENCY", "AVAILABILITY"
1127
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric #=> Array
1128
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].id #=> String
1129
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.namespace #=> String
1130
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.metric_name #=> String
1131
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions #=> Array
1132
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
1133
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
1134
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.period #=> Integer
1135
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.stat #=> String
1136
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
1137
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].expression #=> String
1138
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].label #=> String
1139
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].return_data #=> Boolean
1140
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].period #=> Integer
1141
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].account_id #=> String
1142
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric #=> Array
1143
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].id #=> String
1144
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.namespace #=> String
1145
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.metric_name #=> String
1146
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions #=> Array
1147
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
1148
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
1149
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.period #=> Integer
1150
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.stat #=> String
1151
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
1152
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].expression #=> String
1153
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].label #=> String
1154
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].return_data #=> Boolean
1155
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].period #=> Integer
1156
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].account_id #=> String
1157
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric #=> Array
1158
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].id #=> String
1159
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.namespace #=> String
1160
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.metric_name #=> String
1161
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions #=> Array
1162
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
1163
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
1164
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.period #=> Integer
1165
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.stat #=> String
1166
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
1167
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].expression #=> String
1168
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].label #=> String
1169
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
1170
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
1171
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
1172
+ # resp.slo.request_based_sli.metric_threshold #=> Float
1173
+ # resp.slo.request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
1174
+ # resp.slo.evaluation_type #=> String, one of "PeriodBased", "RequestBased"
1175
+ # resp.slo.goal.interval.rolling_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
878
1176
  # resp.slo.goal.interval.rolling_interval.duration #=> Integer
879
1177
  # resp.slo.goal.interval.calendar_interval.start_time #=> Time
880
- # resp.slo.goal.interval.calendar_interval.duration_unit #=> String, one of "DAY", "MONTH"
1178
+ # resp.slo.goal.interval.calendar_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
881
1179
  # resp.slo.goal.interval.calendar_interval.duration #=> Integer
882
1180
  # resp.slo.goal.attainment_goal #=> Float
883
1181
  # resp.slo.goal.warning_threshold #=> Float
@@ -1510,6 +1808,9 @@ module Aws::ApplicationSignals
1510
1808
  # Updates an existing service level objective (SLO). If you omit
1511
1809
  # parameters, the previous values of those parameters are retained.
1512
1810
  #
1811
+ # You cannot change from a period-based SLO to a request-based SLO, or
1812
+ # change from a request-based SLO to a period-based SLO.
1813
+ #
1513
1814
  # @option params [required, String] :id
1514
1815
  # The Amazon Resource Name (ARN) or name of the service level objective
1515
1816
  # that you want to update.
@@ -1518,8 +1819,15 @@ module Aws::ApplicationSignals
1518
1819
  # An optional description for the SLO.
1519
1820
  #
1520
1821
  # @option params [Types::ServiceLevelIndicatorConfig] :sli_config
1521
- # A structure that contains information about what performance metric
1522
- # this SLO will monitor.
1822
+ # If this SLO is a period-based SLO, this structure defines the
1823
+ # information about what performance metric this SLO will monitor.
1824
+ #
1825
+ # @option params [Types::RequestBasedServiceLevelIndicatorConfig] :request_based_sli_config
1826
+ # If this SLO is a request-based SLO, this structure defines the
1827
+ # information about what performance metric this SLO will monitor.
1828
+ #
1829
+ # You can't specify both `SliConfig` and `RequestBasedSliConfig` in the
1830
+ # same operation.
1523
1831
  #
1524
1832
  # @option params [Types::Goal] :goal
1525
1833
  # A structure that contains the attributes that determine the goal of
@@ -1573,15 +1881,103 @@ module Aws::ApplicationSignals
1573
1881
  # metric_threshold: 1.0, # required
1574
1882
  # comparison_operator: "GreaterThanOrEqualTo", # required, accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
1575
1883
  # },
1884
+ # request_based_sli_config: {
1885
+ # request_based_sli_metric_config: { # required
1886
+ # key_attributes: {
1887
+ # "KeyAttributeName" => "KeyAttributeValue",
1888
+ # },
1889
+ # operation_name: "OperationName",
1890
+ # metric_type: "LATENCY", # accepts LATENCY, AVAILABILITY
1891
+ # total_request_count_metric: [
1892
+ # {
1893
+ # id: "MetricId", # required
1894
+ # metric_stat: {
1895
+ # metric: { # required
1896
+ # namespace: "Namespace",
1897
+ # metric_name: "MetricName",
1898
+ # dimensions: [
1899
+ # {
1900
+ # name: "DimensionName", # required
1901
+ # value: "DimensionValue", # required
1902
+ # },
1903
+ # ],
1904
+ # },
1905
+ # period: 1, # required
1906
+ # stat: "Stat", # required
1907
+ # unit: "Microseconds", # accepts Microseconds, Milliseconds, Seconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
1908
+ # },
1909
+ # expression: "MetricExpression",
1910
+ # label: "MetricLabel",
1911
+ # return_data: false,
1912
+ # period: 1,
1913
+ # account_id: "AccountId",
1914
+ # },
1915
+ # ],
1916
+ # monitored_request_count_metric: {
1917
+ # good_count_metric: [
1918
+ # {
1919
+ # id: "MetricId", # required
1920
+ # metric_stat: {
1921
+ # metric: { # required
1922
+ # namespace: "Namespace",
1923
+ # metric_name: "MetricName",
1924
+ # dimensions: [
1925
+ # {
1926
+ # name: "DimensionName", # required
1927
+ # value: "DimensionValue", # required
1928
+ # },
1929
+ # ],
1930
+ # },
1931
+ # period: 1, # required
1932
+ # stat: "Stat", # required
1933
+ # unit: "Microseconds", # accepts Microseconds, Milliseconds, Seconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
1934
+ # },
1935
+ # expression: "MetricExpression",
1936
+ # label: "MetricLabel",
1937
+ # return_data: false,
1938
+ # period: 1,
1939
+ # account_id: "AccountId",
1940
+ # },
1941
+ # ],
1942
+ # bad_count_metric: [
1943
+ # {
1944
+ # id: "MetricId", # required
1945
+ # metric_stat: {
1946
+ # metric: { # required
1947
+ # namespace: "Namespace",
1948
+ # metric_name: "MetricName",
1949
+ # dimensions: [
1950
+ # {
1951
+ # name: "DimensionName", # required
1952
+ # value: "DimensionValue", # required
1953
+ # },
1954
+ # ],
1955
+ # },
1956
+ # period: 1, # required
1957
+ # stat: "Stat", # required
1958
+ # unit: "Microseconds", # accepts Microseconds, Milliseconds, Seconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
1959
+ # },
1960
+ # expression: "MetricExpression",
1961
+ # label: "MetricLabel",
1962
+ # return_data: false,
1963
+ # period: 1,
1964
+ # account_id: "AccountId",
1965
+ # },
1966
+ # ],
1967
+ # },
1968
+ # },
1969
+ # metric_threshold: 1.0,
1970
+ # comparison_operator: "GreaterThanOrEqualTo", # accepts GreaterThanOrEqualTo, GreaterThan, LessThan, LessThanOrEqualTo
1971
+ # },
1576
1972
  # goal: {
1577
1973
  # interval: {
1578
1974
  # rolling_interval: {
1579
- # duration_unit: "DAY", # required, accepts DAY, MONTH
1975
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
1580
1976
  # duration: 1, # required
1581
1977
  # },
1582
1978
  # calendar_interval: {
1583
1979
  # start_time: Time.now, # required
1584
- # duration_unit: "DAY", # required, accepts DAY, MONTH
1980
+ # duration_unit: "MINUTE", # required, accepts MINUTE, HOUR, DAY, MONTH
1585
1981
  # duration: 1, # required
1586
1982
  # },
1587
1983
  # },
@@ -1618,10 +2014,62 @@ module Aws::ApplicationSignals
1618
2014
  # resp.slo.sli.sli_metric.metric_data_queries[0].account_id #=> String
1619
2015
  # resp.slo.sli.metric_threshold #=> Float
1620
2016
  # resp.slo.sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
1621
- # resp.slo.goal.interval.rolling_interval.duration_unit #=> String, one of "DAY", "MONTH"
2017
+ # resp.slo.request_based_sli.request_based_sli_metric.key_attributes #=> Hash
2018
+ # resp.slo.request_based_sli.request_based_sli_metric.key_attributes["KeyAttributeName"] #=> String
2019
+ # resp.slo.request_based_sli.request_based_sli_metric.operation_name #=> String
2020
+ # resp.slo.request_based_sli.request_based_sli_metric.metric_type #=> String, one of "LATENCY", "AVAILABILITY"
2021
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric #=> Array
2022
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].id #=> String
2023
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.namespace #=> String
2024
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.metric_name #=> String
2025
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions #=> Array
2026
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
2027
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
2028
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.period #=> Integer
2029
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.stat #=> String
2030
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
2031
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].expression #=> String
2032
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].label #=> String
2033
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].return_data #=> Boolean
2034
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].period #=> Integer
2035
+ # resp.slo.request_based_sli.request_based_sli_metric.total_request_count_metric[0].account_id #=> String
2036
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric #=> Array
2037
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].id #=> String
2038
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.namespace #=> String
2039
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.metric_name #=> String
2040
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions #=> Array
2041
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
2042
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
2043
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.period #=> Integer
2044
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.stat #=> String
2045
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
2046
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].expression #=> String
2047
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].label #=> String
2048
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].return_data #=> Boolean
2049
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].period #=> Integer
2050
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.good_count_metric[0].account_id #=> String
2051
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric #=> Array
2052
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].id #=> String
2053
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.namespace #=> String
2054
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.metric_name #=> String
2055
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions #=> Array
2056
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].name #=> String
2057
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.metric.dimensions[0].value #=> String
2058
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.period #=> Integer
2059
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.stat #=> String
2060
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].metric_stat.unit #=> String, one of "Microseconds", "Milliseconds", "Seconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"
2061
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].expression #=> String
2062
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].label #=> String
2063
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].return_data #=> Boolean
2064
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].period #=> Integer
2065
+ # resp.slo.request_based_sli.request_based_sli_metric.monitored_request_count_metric.bad_count_metric[0].account_id #=> String
2066
+ # resp.slo.request_based_sli.metric_threshold #=> Float
2067
+ # resp.slo.request_based_sli.comparison_operator #=> String, one of "GreaterThanOrEqualTo", "GreaterThan", "LessThan", "LessThanOrEqualTo"
2068
+ # resp.slo.evaluation_type #=> String, one of "PeriodBased", "RequestBased"
2069
+ # resp.slo.goal.interval.rolling_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
1622
2070
  # resp.slo.goal.interval.rolling_interval.duration #=> Integer
1623
2071
  # resp.slo.goal.interval.calendar_interval.start_time #=> Time
1624
- # resp.slo.goal.interval.calendar_interval.duration_unit #=> String, one of "DAY", "MONTH"
2072
+ # resp.slo.goal.interval.calendar_interval.duration_unit #=> String, one of "MINUTE", "HOUR", "DAY", "MONTH"
1625
2073
  # resp.slo.goal.interval.calendar_interval.duration #=> Integer
1626
2074
  # resp.slo.goal.attainment_goal #=> Float
1627
2075
  # resp.slo.goal.warning_threshold #=> Float
@@ -1641,14 +2089,19 @@ module Aws::ApplicationSignals
1641
2089
  # @api private
1642
2090
  def build_request(operation_name, params = {})
1643
2091
  handlers = @handlers.for(operation_name)
2092
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2093
+ Aws::Telemetry.module_to_tracer_name('Aws::ApplicationSignals')
2094
+ )
1644
2095
  context = Seahorse::Client::RequestContext.new(
1645
2096
  operation_name: operation_name,
1646
2097
  operation: config.api.operation(operation_name),
1647
2098
  client: self,
1648
2099
  params: params,
1649
- config: config)
2100
+ config: config,
2101
+ tracer: tracer
2102
+ )
1650
2103
  context[:gem_name] = 'aws-sdk-applicationsignals'
1651
- context[:gem_version] = '1.4.0'
2104
+ context[:gem_version] = '1.6.0'
1652
2105
  Seahorse::Client::Request.new(handlers, context)
1653
2106
  end
1654
2107