aws-sdk-cloudwatch 1.140.0 → 1.141.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: 757903d0a14590e8a5b29e8e786811e98d4e9ee444bb83a173bff23a3643d18a
4
- data.tar.gz: ea6e7efa72ebd26c537ef7ecc24028c934cda43f0010afe7bc750f6fb9089673
3
+ metadata.gz: eb6f98bd0b2fb464f53f56643b4ddab971d3b9754a46f1e6a07f8d84d457fc55
4
+ data.tar.gz: e4a976b47f6ecda00c062273da24bd36f09489395696ebb4b8b0208bb88fc19c
5
5
  SHA512:
6
- metadata.gz: 242d0143f4f1990be627456403aef91e8884a584cde8bc03577e423671168919c424112ee7fd1eabb30d19761f1841ba5685999ea280737272be24746fa8f6b4
7
- data.tar.gz: 3fdf6143b7f052ab7b567e1ad7a3f7fe1508c9ffc019df4bf369e5b2fd2ccbf44da43e7ef97a94fef581358bfb75557159d5b9851f8e50181f28faa3982c1053
6
+ metadata.gz: 1eabd1f39d7f6bd8ac470155fafe33dfc44b93fb1eabc4a39943d4cd5dfba3bcd9a7d442705470aff84217a631b364c40a2fbc1a77fb8a6aa384981ea81c78e6
7
+ data.tar.gz: 19fb3e807a681ca44a8503d1eb9793fb07423293b2067477a66f2120f3b03f3e7cadbcc442168bacec7aa4bc928abe1b36213e3b3735b5d7901490b52e2a1bba
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.141.0 (2026-06-29)
5
+ ------------------
6
+
7
+ * Feature - This release adds the API (PutLogAlarm) to manage a new CloudWatch resource, Log Based Alarms. Log Based Alarms allows customers to alarm directly on CloudWatch Logs query results.
8
+
4
9
  1.140.0 (2026-06-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.140.0
1
+ 1.141.0
@@ -456,7 +456,7 @@ module Aws::CloudWatch
456
456
  #
457
457
  # alarm.describe_history({
458
458
  # alarm_contributor_id: "ContributorId",
459
- # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
459
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm, LogAlarm
460
460
  # history_item_type: "ConfigurationUpdate", # accepts ConfigurationUpdate, StateUpdate, Action, AlarmContributorStateUpdate, AlarmContributorAction
461
461
  # start_date: Time.now,
462
462
  # end_date: Time.now,
@@ -470,8 +470,8 @@ module Aws::CloudWatch
470
470
  # alarm history results.
471
471
  # @option options [Array<String>] :alarm_types
472
472
  # Use this parameter to specify whether you want the operation to return
473
- # metric alarms or composite alarms. If you omit this parameter, only
474
- # metric alarms are returned.
473
+ # metric alarms, composite alarms, or log alarms. If you omit this
474
+ # parameter, only metric alarms are returned.
475
475
  # @option options [String] :history_item_type
476
476
  # The type of alarm histories to retrieve.
477
477
  # @option options [Time,DateTime,Date,Integer,String] :start_date
@@ -623,7 +623,8 @@ module Aws::CloudWatch
623
623
  # operation. However, this total can include no more than one composite
624
624
  # alarm. For example, you could delete 99 metric alarms and one
625
625
  # composite alarms with one operation, but you can't delete two
626
- # composite alarms with one operation.
626
+ # composite alarms with one operation. Log alarms cannot be batch
627
+ # deleted.
627
628
  #
628
629
  # If you specify any incorrect alarm names, the alarms you specify with
629
630
  # correct names are still deleted. Other syntax errors might result in
@@ -952,8 +953,8 @@ module Aws::CloudWatch
952
953
  #
953
954
  # @option params [Array<String>] :alarm_types
954
955
  # Use this parameter to specify whether you want the operation to return
955
- # metric alarms or composite alarms. If you omit this parameter, only
956
- # metric alarms are returned.
956
+ # metric alarms, composite alarms, or log alarms. If you omit this
957
+ # parameter, only metric alarms are returned.
957
958
  #
958
959
  # @option params [String] :history_item_type
959
960
  # The type of alarm histories to retrieve.
@@ -989,7 +990,7 @@ module Aws::CloudWatch
989
990
  # resp = client.describe_alarm_history({
990
991
  # alarm_name: "AlarmName",
991
992
  # alarm_contributor_id: "ContributorId",
992
- # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
993
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm, LogAlarm
993
994
  # history_item_type: "ConfigurationUpdate", # accepts ConfigurationUpdate, StateUpdate, Action, AlarmContributorStateUpdate, AlarmContributorAction
994
995
  # start_date: Time.now,
995
996
  # end_date: Time.now,
@@ -1003,7 +1004,7 @@ module Aws::CloudWatch
1003
1004
  # resp.alarm_history_items #=> Array
1004
1005
  # resp.alarm_history_items[0].alarm_name #=> String
1005
1006
  # resp.alarm_history_items[0].alarm_contributor_id #=> String
1006
- # resp.alarm_history_items[0].alarm_type #=> String, one of "CompositeAlarm", "MetricAlarm"
1007
+ # resp.alarm_history_items[0].alarm_type #=> String, one of "CompositeAlarm", "MetricAlarm", "LogAlarm"
1007
1008
  # resp.alarm_history_items[0].timestamp #=> Time
1008
1009
  # resp.alarm_history_items[0].history_item_type #=> String, one of "ConfigurationUpdate", "StateUpdate", "Action", "AlarmContributorStateUpdate", "AlarmContributorAction"
1009
1010
  # resp.alarm_history_items[0].history_summary #=> String
@@ -1043,16 +1044,19 @@ module Aws::CloudWatch
1043
1044
  #
1044
1045
  # @option params [Array<String>] :alarm_types
1045
1046
  # Use this parameter to specify whether you want the operation to return
1046
- # metric alarms or composite alarms. If you omit this parameter, only
1047
- # metric alarms are returned, even if composite alarms exist in the
1048
- # account.
1047
+ # metric alarms, composite alarms, or log alarms. If you omit this
1048
+ # parameter, only metric alarms are returned, even if composite alarms
1049
+ # or log alarms exist in the account.
1049
1050
  #
1050
1051
  # For example, if you omit this parameter or specify `MetricAlarms`, the
1051
1052
  # operation returns only a list of metric alarms. It does not return any
1052
- # composite alarms, even if composite alarms exist in the account.
1053
+ # composite alarms or log alarms, even if they exist in the account.
1053
1054
  #
1054
1055
  # If you specify `CompositeAlarms`, the operation returns only a list of
1055
- # composite alarms, and does not return any metric alarms.
1056
+ # composite alarms, and does not return any metric alarms or log alarms.
1057
+ #
1058
+ # If you specify `LogAlarms`, the operation returns only a list of log
1059
+ # alarms, and does not return any metric alarms or composite alarms.
1056
1060
  #
1057
1061
  # @option params [String] :children_of_alarm_name
1058
1062
  # If you use this parameter and specify the name of a composite alarm,
@@ -1115,6 +1119,7 @@ module Aws::CloudWatch
1115
1119
  #
1116
1120
  # * {Types::DescribeAlarmsOutput#composite_alarms #composite_alarms} => Array&lt;Types::CompositeAlarm&gt;
1117
1121
  # * {Types::DescribeAlarmsOutput#metric_alarms #metric_alarms} => Array&lt;Types::MetricAlarm&gt;
1122
+ # * {Types::DescribeAlarmsOutput#log_alarms #log_alarms} => Array&lt;Types::LogAlarm&gt;
1118
1123
  # * {Types::DescribeAlarmsOutput#next_token #next_token} => String
1119
1124
  #
1120
1125
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
@@ -1124,7 +1129,7 @@ module Aws::CloudWatch
1124
1129
  # resp = client.describe_alarms({
1125
1130
  # alarm_names: ["AlarmName"],
1126
1131
  # alarm_name_prefix: "AlarmNamePrefix",
1127
- # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm
1132
+ # alarm_types: ["CompositeAlarm"], # accepts CompositeAlarm, MetricAlarm, LogAlarm
1128
1133
  # children_of_alarm_name: "AlarmName",
1129
1134
  # parents_of_alarm_name: "AlarmName",
1130
1135
  # state_value: "OK", # accepts OK, ALARM, INSUFFICIENT_DATA
@@ -1211,6 +1216,43 @@ module Aws::CloudWatch
1211
1216
  # resp.metric_alarms[0].evaluation_criteria.prom_ql_criteria.pending_period #=> Integer
1212
1217
  # resp.metric_alarms[0].evaluation_criteria.prom_ql_criteria.recovery_period #=> Integer
1213
1218
  # resp.metric_alarms[0].evaluation_interval #=> Integer
1219
+ # resp.log_alarms #=> Array
1220
+ # resp.log_alarms[0].alarm_name #=> String
1221
+ # resp.log_alarms[0].alarm_arn #=> String
1222
+ # resp.log_alarms[0].alarm_description #=> String
1223
+ # resp.log_alarms[0].alarm_configuration_updated_timestamp #=> Time
1224
+ # resp.log_alarms[0].actions_enabled #=> Boolean
1225
+ # resp.log_alarms[0].ok_actions #=> Array
1226
+ # resp.log_alarms[0].ok_actions[0] #=> String
1227
+ # resp.log_alarms[0].alarm_actions #=> Array
1228
+ # resp.log_alarms[0].alarm_actions[0] #=> String
1229
+ # resp.log_alarms[0].insufficient_data_actions #=> Array
1230
+ # resp.log_alarms[0].insufficient_data_actions[0] #=> String
1231
+ # resp.log_alarms[0].state_value #=> String, one of "OK", "ALARM", "INSUFFICIENT_DATA"
1232
+ # resp.log_alarms[0].state_reason #=> String
1233
+ # resp.log_alarms[0].state_reason_data #=> String
1234
+ # resp.log_alarms[0].state_updated_timestamp #=> Time
1235
+ # resp.log_alarms[0].scheduled_query_configuration.query_string #=> String
1236
+ # resp.log_alarms[0].scheduled_query_configuration.log_group_identifiers #=> Array
1237
+ # resp.log_alarms[0].scheduled_query_configuration.log_group_identifiers[0] #=> String
1238
+ # resp.log_alarms[0].scheduled_query_configuration.query_arn #=> String
1239
+ # resp.log_alarms[0].scheduled_query_configuration.scheduled_query_role_arn #=> String
1240
+ # resp.log_alarms[0].scheduled_query_configuration.schedule_configuration.schedule_expression #=> String
1241
+ # resp.log_alarms[0].scheduled_query_configuration.schedule_configuration.start_time_offset #=> Integer
1242
+ # resp.log_alarms[0].scheduled_query_configuration.schedule_configuration.end_time_offset #=> Integer
1243
+ # resp.log_alarms[0].scheduled_query_configuration.aggregation_expression #=> String
1244
+ # resp.log_alarms[0].scheduled_query_configuration.tags #=> Array
1245
+ # resp.log_alarms[0].scheduled_query_configuration.tags[0].key #=> String
1246
+ # resp.log_alarms[0].scheduled_query_configuration.tags[0].value #=> String
1247
+ # resp.log_alarms[0].query_results_to_evaluate #=> Integer
1248
+ # resp.log_alarms[0].query_results_to_alarm #=> Integer
1249
+ # resp.log_alarms[0].threshold #=> Float
1250
+ # resp.log_alarms[0].comparison_operator #=> String, one of "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold", "LessThanLowerOrGreaterThanUpperThreshold", "LessThanLowerThreshold", "GreaterThanUpperThreshold"
1251
+ # resp.log_alarms[0].treat_missing_data #=> String
1252
+ # resp.log_alarms[0].state_transitioned_timestamp #=> Time
1253
+ # resp.log_alarms[0].evaluation_state #=> String, one of "PARTIAL_DATA", "EVALUATION_FAILURE", "EVALUATION_ERROR"
1254
+ # resp.log_alarms[0].action_log_line_count #=> Integer
1255
+ # resp.log_alarms[0].action_log_line_role_arn #=> String
1214
1256
  # resp.next_token #=> String
1215
1257
  #
1216
1258
  #
@@ -1218,6 +1260,7 @@ module Aws::CloudWatch
1218
1260
  #
1219
1261
  # * alarm_exists
1220
1262
  # * composite_alarm_exists
1263
+ # * log_alarm_exists
1221
1264
  #
1222
1265
  # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/DescribeAlarms AWS API Documentation
1223
1266
  #
@@ -2527,7 +2570,7 @@ module Aws::CloudWatch
2527
2570
  #
2528
2571
  #
2529
2572
  #
2530
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Metric-Widget-Structure.html
2573
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metric-Widget-Structure.html
2531
2574
  #
2532
2575
  # @option params [String] :output_format
2533
2576
  # The format of the resulting image. Only PNG images are supported.
@@ -3573,7 +3616,7 @@ module Aws::CloudWatch
3573
3616
  #
3574
3617
  #
3575
3618
  #
3576
- # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html
3619
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Dashboard-Body-Structure.html
3577
3620
  #
3578
3621
  # @option params [Array<Types::Tag>] :tags
3579
3622
  # A list of key-value pairs to associate with the dashboard. You can
@@ -3720,6 +3763,222 @@ module Aws::CloudWatch
3720
3763
  req.send_request(options)
3721
3764
  end
3722
3765
 
3766
+ # Creates or updates a log alarm. A log alarm evaluates the results of a
3767
+ # CloudWatch Logs scheduled query against the configured threshold and
3768
+ # comparison operator to determine its state.
3769
+ #
3770
+ # When you create a log alarm, the operation creates a service-managed
3771
+ # CloudWatch Logs scheduled query that runs the query string you provide
3772
+ # on the schedule you configure. Each scheduled query execution returns
3773
+ # one or more aggregated values determined by the
3774
+ # `AggregationExpression`, and each aggregated value is compared against
3775
+ # the alarm `Threshold` to determine the alarm state. The alarm uses
3776
+ # M-out-of-N evaluation: if `QueryResultsToAlarm` out of the most recent
3777
+ # `QueryResultsToEvaluate` query results breach the threshold, the alarm
3778
+ # transitions to `ALARM`.
3779
+ #
3780
+ # Log alarms support the alarm states (`OK`, `ALARM`,
3781
+ # `INSUFFICIENT_DATA`). Configure transition actions using `OKActions`,
3782
+ # `AlarmActions`, and `InsufficientDataActions`.
3783
+ #
3784
+ # If you call this operation with the name of an existing log alarm, the
3785
+ # operation replaces the previous configuration of that alarm.
3786
+ #
3787
+ # **Permissions**
3788
+ #
3789
+ # To create or update a log alarm, you must have the
3790
+ # `cloudwatch:PutLogAlarm` permission. The IAM role specified in
3791
+ # `ScheduledQueryRoleARN` must grant the CloudWatch Alarms service
3792
+ # permission to execute scheduled queries on the specified log groups.
3793
+ # If you set `ActionLogLineCount`, the role specified in
3794
+ # `ActionLogLineRoleArn` must grant permission to retrieve log events
3795
+ # for inclusion in alarm notifications.
3796
+ #
3797
+ # @option params [required, String] :alarm_name
3798
+ # The name for the alarm. This name must be unique within the Amazon Web
3799
+ # Services account and Region.
3800
+ #
3801
+ # @option params [String] :alarm_description
3802
+ # The description for the alarm.
3803
+ #
3804
+ # @option params [required, Types::ScheduledQueryConfiguration] :scheduled_query_configuration
3805
+ # The configuration of the underlying CloudWatch Logs scheduled query
3806
+ # that this alarm evaluates, including the query string, log groups,
3807
+ # schedule, and aggregation expression.
3808
+ #
3809
+ # @option params [Integer] :action_log_line_count
3810
+ # The number of log lines from the most recent scheduled query execution
3811
+ # to include in alarm action notifications. Valid range is 0 through 50.
3812
+ # The default is 0, which means no log lines are included.
3813
+ #
3814
+ # @option params [String] :action_log_line_role_arn
3815
+ # The Amazon Resource Name (ARN) of an IAM role that CloudWatch assumes
3816
+ # to retrieve log events for inclusion in alarm action notifications.
3817
+ # Required when `ActionLogLineCount` is greater than 0.
3818
+ #
3819
+ # @option params [Boolean] :actions_enabled
3820
+ # Indicates whether actions should be executed during any changes to the
3821
+ # alarm state. The default is `true`.
3822
+ #
3823
+ # @option params [Array<String>] :ok_actions
3824
+ # The actions to execute when this alarm transitions to the `OK` state
3825
+ # from any other state. Each action is specified as an Amazon Resource
3826
+ # Name (ARN).
3827
+ #
3828
+ # Valid Values:
3829
+ #
3830
+ # **Amazon SNS actions:**
3831
+ #
3832
+ # `arn:aws:sns:region:account-id:sns-topic-name `
3833
+ #
3834
+ # **Lambda actions:**
3835
+ #
3836
+ # * Invoke the latest version of a Lambda function:
3837
+ # `arn:aws:lambda:region:account-id:function:function-name `
3838
+ #
3839
+ # * Invoke a specific version of a Lambda function:
3840
+ # `arn:aws:lambda:region:account-id:function:function-name:version-number
3841
+ # `
3842
+ #
3843
+ # * Invoke a function by using an alias Lambda function:
3844
+ # `arn:aws:lambda:region:account-id:function:function-name:alias-name
3845
+ # `
3846
+ #
3847
+ # @option params [Array<String>] :alarm_actions
3848
+ # The actions to execute when this alarm transitions to the `ALARM`
3849
+ # state from any other state. Each action is specified as an Amazon
3850
+ # Resource Name (ARN).
3851
+ #
3852
+ # Valid Values:
3853
+ #
3854
+ # **Amazon SNS actions:**
3855
+ #
3856
+ # `arn:aws:sns:region:account-id:sns-topic-name `
3857
+ #
3858
+ # **Lambda actions:**
3859
+ #
3860
+ # * Invoke the latest version of a Lambda function:
3861
+ # `arn:aws:lambda:region:account-id:function:function-name `
3862
+ #
3863
+ # * Invoke a specific version of a Lambda function:
3864
+ # `arn:aws:lambda:region:account-id:function:function-name:version-number
3865
+ # `
3866
+ #
3867
+ # * Invoke a function by using an alias Lambda function:
3868
+ # `arn:aws:lambda:region:account-id:function:function-name:alias-name
3869
+ # `
3870
+ #
3871
+ # **Systems Manager actions:**
3872
+ #
3873
+ # `arn:aws:ssm:region:account-id:opsitem:severity `
3874
+ #
3875
+ # @option params [Array<String>] :insufficient_data_actions
3876
+ # The actions to execute when this alarm transitions to the
3877
+ # `INSUFFICIENT_DATA` state from any other state. Each action is
3878
+ # specified as an Amazon Resource Name (ARN).
3879
+ #
3880
+ # Valid Values:
3881
+ #
3882
+ # **Amazon SNS actions:**
3883
+ #
3884
+ # `arn:aws:sns:region:account-id:sns-topic-name `
3885
+ #
3886
+ # **Lambda actions:**
3887
+ #
3888
+ # * Invoke the latest version of a Lambda function:
3889
+ # `arn:aws:lambda:region:account-id:function:function-name `
3890
+ #
3891
+ # * Invoke a specific version of a Lambda function:
3892
+ # `arn:aws:lambda:region:account-id:function:function-name:version-number
3893
+ # `
3894
+ #
3895
+ # * Invoke a function by using an alias Lambda function:
3896
+ # `arn:aws:lambda:region:account-id:function:function-name:alias-name
3897
+ # `
3898
+ #
3899
+ # @option params [required, Integer] :query_results_to_evaluate
3900
+ # The number of most recent scheduled query results to evaluate against
3901
+ # the threshold (the N in M-of-N evaluation). Valid range is 1 through
3902
+ # 100.
3903
+ #
3904
+ # @option params [required, Integer] :query_results_to_alarm
3905
+ # The number of query results, out of the most recent
3906
+ # `QueryResultsToEvaluate` results, that must breach the threshold to
3907
+ # trigger the alarm to transition to `ALARM` (the M in M-of-N
3908
+ # evaluation). Must be less than or equal to `QueryResultsToEvaluate`.
3909
+ #
3910
+ # @option params [required, Float] :threshold
3911
+ # The value to compare with the aggregated query result.
3912
+ #
3913
+ # @option params [required, String] :comparison_operator
3914
+ # The arithmetic operation to use when comparing the aggregated query
3915
+ # result and the threshold. The aggregated query result is used as the
3916
+ # first operand. Valid values are `GreaterThanThreshold`,
3917
+ # `GreaterThanOrEqualToThreshold`, `LessThanThreshold`, and
3918
+ # `LessThanOrEqualToThreshold`.
3919
+ #
3920
+ # @option params [String] :treat_missing_data
3921
+ # Sets how this alarm is to handle missing data points. Valid values are
3922
+ # `breaching`, `notBreaching`, `ignore`, and `missing`. If this
3923
+ # parameter is omitted, the default behavior of `missing` is used.
3924
+ #
3925
+ # @option params [Array<Types::Tag>] :tags
3926
+ # A list of key-value pairs to associate with the alarm. You can use
3927
+ # tags to categorize and manage your alarms.
3928
+ #
3929
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3930
+ #
3931
+ # @example Request syntax with placeholder values
3932
+ #
3933
+ # resp = client.put_log_alarm({
3934
+ # alarm_name: "AlarmName", # required
3935
+ # alarm_description: "AlarmDescription",
3936
+ # scheduled_query_configuration: { # required
3937
+ # query_string: "QueryString", # required
3938
+ # log_group_identifiers: ["AmazonResourceName"],
3939
+ # query_arn: "AmazonResourceName",
3940
+ # scheduled_query_role_arn: "AmazonResourceName", # required
3941
+ # schedule_configuration: { # required
3942
+ # schedule_expression: "ScheduleExpression", # required
3943
+ # start_time_offset: 1,
3944
+ # end_time_offset: 1,
3945
+ # },
3946
+ # aggregation_expression: "AggregationExpression", # required
3947
+ # tags: [
3948
+ # {
3949
+ # key: "TagKey", # required
3950
+ # value: "TagValue", # required
3951
+ # },
3952
+ # ],
3953
+ # },
3954
+ # action_log_line_count: 1,
3955
+ # action_log_line_role_arn: "ActionLogLineRoleArn",
3956
+ # actions_enabled: false,
3957
+ # ok_actions: ["ResourceName"],
3958
+ # alarm_actions: ["ResourceName"],
3959
+ # insufficient_data_actions: ["ResourceName"],
3960
+ # query_results_to_evaluate: 1, # required
3961
+ # query_results_to_alarm: 1, # required
3962
+ # threshold: 1.0, # required
3963
+ # comparison_operator: "GreaterThanOrEqualToThreshold", # required, accepts GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold, LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, GreaterThanUpperThreshold
3964
+ # treat_missing_data: "TreatMissingData",
3965
+ # tags: [
3966
+ # {
3967
+ # key: "TagKey", # required
3968
+ # value: "TagValue", # required
3969
+ # },
3970
+ # ],
3971
+ # })
3972
+ #
3973
+ # @see http://docs.aws.amazon.com/goto/WebAPI/monitoring-2010-08-01/PutLogAlarm AWS API Documentation
3974
+ #
3975
+ # @overload put_log_alarm(params = {})
3976
+ # @param [Hash] params ({})
3977
+ def put_log_alarm(params = {}, options = {})
3978
+ req = build_request(:put_log_alarm, params)
3979
+ req.send_request(options)
3980
+ end
3981
+
3723
3982
  # Creates a managed Contributor Insights rule for a specified Amazon Web
3724
3983
  # Services resource. When you enable a managed rule, you create a
3725
3984
  # Contributor Insights rule that collects data from Amazon Web Services
@@ -5061,7 +5320,7 @@ module Aws::CloudWatch
5061
5320
  tracer: tracer
5062
5321
  )
5063
5322
  context[:gem_name] = 'aws-sdk-cloudwatch'
5064
- context[:gem_version] = '1.140.0'
5323
+ context[:gem_version] = '1.141.0'
5065
5324
  Seahorse::Client::Request.new(handlers, context)
5066
5325
  end
5067
5326
 
@@ -5132,6 +5391,7 @@ module Aws::CloudWatch
5132
5391
  # | alarm_exists | {Client#describe_alarms} | 5 | 40 |
5133
5392
  # | alarm_mute_rule_exists | {Client#get_alarm_mute_rule} | 5 | 40 |
5134
5393
  # | composite_alarm_exists | {Client#describe_alarms} | 5 | 40 |
5394
+ # | log_alarm_exists | {Client#describe_alarms} | 5 | 40 |
5135
5395
  #
5136
5396
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
5137
5397
  # because the waiter has entered a state that it will not transition
@@ -5184,7 +5444,8 @@ module Aws::CloudWatch
5184
5444
  {
5185
5445
  alarm_exists: Waiters::AlarmExists,
5186
5446
  alarm_mute_rule_exists: Waiters::AlarmMuteRuleExists,
5187
- composite_alarm_exists: Waiters::CompositeAlarmExists
5447
+ composite_alarm_exists: Waiters::CompositeAlarmExists,
5448
+ log_alarm_exists: Waiters::LogAlarmExists
5188
5449
  }
5189
5450
  end
5190
5451
 
@@ -15,10 +15,13 @@ module Aws::CloudWatch
15
15
  include Seahorse::Model
16
16
 
17
17
  AccountId = Shapes::StringShape.new(name: 'AccountId')
18
+ ActionLogLineCount = Shapes::IntegerShape.new(name: 'ActionLogLineCount')
19
+ ActionLogLineRoleArn = Shapes::StringShape.new(name: 'ActionLogLineRoleArn')
18
20
  ActionPrefix = Shapes::StringShape.new(name: 'ActionPrefix')
19
21
  ActionsEnabled = Shapes::BooleanShape.new(name: 'ActionsEnabled')
20
22
  ActionsSuppressedBy = Shapes::StringShape.new(name: 'ActionsSuppressedBy')
21
23
  ActionsSuppressedReason = Shapes::StringShape.new(name: 'ActionsSuppressedReason')
24
+ AggregationExpression = Shapes::StringShape.new(name: 'AggregationExpression')
22
25
  AlarmArn = Shapes::StringShape.new(name: 'AlarmArn')
23
26
  AlarmContributor = Shapes::StructureShape.new(name: 'AlarmContributor')
24
27
  AlarmContributors = Shapes::ListShape.new(name: 'AlarmContributors')
@@ -120,6 +123,7 @@ module Aws::CloudWatch
120
123
  EnableAlarmActionsInput = Shapes::StructureShape.new(name: 'EnableAlarmActionsInput')
121
124
  EnableInsightRulesInput = Shapes::StructureShape.new(name: 'EnableInsightRulesInput')
122
125
  EnableInsightRulesOutput = Shapes::StructureShape.new(name: 'EnableInsightRulesOutput')
126
+ EndTimeOffset = Shapes::IntegerShape.new(name: 'EndTimeOffset')
123
127
  Entity = Shapes::StructureShape.new(name: 'Entity')
124
128
  EntityAttributesMap = Shapes::MapShape.new(name: 'EntityAttributesMap')
125
129
  EntityAttributesMapKeyString = Shapes::StringShape.new(name: 'EntityAttributesMapKeyString')
@@ -221,6 +225,9 @@ module Aws::CloudWatch
221
225
  ListMetricsOutput = Shapes::StructureShape.new(name: 'ListMetricsOutput')
222
226
  ListTagsForResourceInput = Shapes::StructureShape.new(name: 'ListTagsForResourceInput')
223
227
  ListTagsForResourceOutput = Shapes::StructureShape.new(name: 'ListTagsForResourceOutput')
228
+ LogAlarm = Shapes::StructureShape.new(name: 'LogAlarm')
229
+ LogAlarms = Shapes::ListShape.new(name: 'LogAlarms')
230
+ LogGroupIdentifiers = Shapes::ListShape.new(name: 'LogGroupIdentifiers')
224
231
  ManagedRule = Shapes::StructureShape.new(name: 'ManagedRule')
225
232
  ManagedRuleDescription = Shapes::StructureShape.new(name: 'ManagedRuleDescription')
226
233
  ManagedRuleDescriptions = Shapes::ListShape.new(name: 'ManagedRuleDescriptions')
@@ -289,6 +296,7 @@ module Aws::CloudWatch
289
296
  PutDashboardOutput = Shapes::StructureShape.new(name: 'PutDashboardOutput')
290
297
  PutInsightRuleInput = Shapes::StructureShape.new(name: 'PutInsightRuleInput')
291
298
  PutInsightRuleOutput = Shapes::StructureShape.new(name: 'PutInsightRuleOutput')
299
+ PutLogAlarmInput = Shapes::StructureShape.new(name: 'PutLogAlarmInput')
292
300
  PutManagedInsightRulesInput = Shapes::StructureShape.new(name: 'PutManagedInsightRulesInput')
293
301
  PutManagedInsightRulesOutput = Shapes::StructureShape.new(name: 'PutManagedInsightRulesOutput')
294
302
  PutMetricAlarmInput = Shapes::StructureShape.new(name: 'PutMetricAlarmInput')
@@ -296,9 +304,13 @@ module Aws::CloudWatch
296
304
  PutMetricStreamInput = Shapes::StructureShape.new(name: 'PutMetricStreamInput')
297
305
  PutMetricStreamOutput = Shapes::StructureShape.new(name: 'PutMetricStreamOutput')
298
306
  Query = Shapes::StringShape.new(name: 'Query')
307
+ QueryResultsToAlarm = Shapes::IntegerShape.new(name: 'QueryResultsToAlarm')
308
+ QueryResultsToEvaluate = Shapes::IntegerShape.new(name: 'QueryResultsToEvaluate')
309
+ QueryString = Shapes::StringShape.new(name: 'QueryString')
299
310
  Range = Shapes::StructureShape.new(name: 'Range')
300
311
  RecentlyActive = Shapes::StringShape.new(name: 'RecentlyActive')
301
312
  RecoveryPeriod = Shapes::IntegerShape.new(name: 'RecoveryPeriod')
313
+ ResourceConflict = Shapes::StructureShape.new(name: 'ResourceConflict', error: {"code" => "ResourceConflict", "httpStatusCode" => 409, "senderFault" => true})
302
314
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
303
315
  ResourceList = Shapes::ListShape.new(name: 'ResourceList')
304
316
  ResourceName = Shapes::StringShape.new(name: 'ResourceName')
@@ -309,6 +321,9 @@ module Aws::CloudWatch
309
321
  Rule = Shapes::StructureShape.new(name: 'Rule')
310
322
  ScanBy = Shapes::StringShape.new(name: 'ScanBy')
311
323
  Schedule = Shapes::StructureShape.new(name: 'Schedule')
324
+ ScheduleConfiguration = Shapes::StructureShape.new(name: 'ScheduleConfiguration')
325
+ ScheduleExpression = Shapes::StringShape.new(name: 'ScheduleExpression')
326
+ ScheduledQueryConfiguration = Shapes::StructureShape.new(name: 'ScheduledQueryConfiguration')
312
327
  SetAlarmStateInput = Shapes::StructureShape.new(name: 'SetAlarmStateInput')
313
328
  SingleMetricAnomalyDetector = Shapes::StructureShape.new(name: 'SingleMetricAnomalyDetector')
314
329
  Size = Shapes::IntegerShape.new(name: 'Size')
@@ -317,6 +332,7 @@ module Aws::CloudWatch
317
332
  StartMetricStreamsOutput = Shapes::StructureShape.new(name: 'StartMetricStreamsOutput')
318
333
  StartOTelEnrichmentInput = Shapes::StructureShape.new(name: 'StartOTelEnrichmentInput')
319
334
  StartOTelEnrichmentOutput = Shapes::StructureShape.new(name: 'StartOTelEnrichmentOutput')
335
+ StartTimeOffset = Shapes::IntegerShape.new(name: 'StartTimeOffset')
320
336
  Stat = Shapes::StringShape.new(name: 'Stat')
321
337
  StateReason = Shapes::StringShape.new(name: 'StateReason')
322
338
  StateReasonData = Shapes::StringShape.new(name: 'StateReasonData')
@@ -572,6 +588,7 @@ module Aws::CloudWatch
572
588
 
573
589
  DescribeAlarmsOutput.add_member(:composite_alarms, Shapes::ShapeRef.new(shape: CompositeAlarms, location_name: "CompositeAlarms"))
574
590
  DescribeAlarmsOutput.add_member(:metric_alarms, Shapes::ShapeRef.new(shape: MetricAlarms, location_name: "MetricAlarms"))
591
+ DescribeAlarmsOutput.add_member(:log_alarms, Shapes::ShapeRef.new(shape: LogAlarms, location_name: "LogAlarms"))
575
592
  DescribeAlarmsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
576
593
  DescribeAlarmsOutput.struct_class = Types::DescribeAlarmsOutput
577
594
 
@@ -890,6 +907,34 @@ module Aws::CloudWatch
890
907
  ListTagsForResourceOutput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
891
908
  ListTagsForResourceOutput.struct_class = Types::ListTagsForResourceOutput
892
909
 
910
+ LogAlarm.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, location_name: "AlarmName"))
911
+ LogAlarm.add_member(:alarm_arn, Shapes::ShapeRef.new(shape: AlarmArn, location_name: "AlarmArn"))
912
+ LogAlarm.add_member(:alarm_description, Shapes::ShapeRef.new(shape: AlarmDescription, location_name: "AlarmDescription"))
913
+ LogAlarm.add_member(:alarm_configuration_updated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "AlarmConfigurationUpdatedTimestamp"))
914
+ LogAlarm.add_member(:actions_enabled, Shapes::ShapeRef.new(shape: ActionsEnabled, location_name: "ActionsEnabled"))
915
+ LogAlarm.add_member(:ok_actions, Shapes::ShapeRef.new(shape: ResourceList, location_name: "OKActions"))
916
+ LogAlarm.add_member(:alarm_actions, Shapes::ShapeRef.new(shape: ResourceList, location_name: "AlarmActions"))
917
+ LogAlarm.add_member(:insufficient_data_actions, Shapes::ShapeRef.new(shape: ResourceList, location_name: "InsufficientDataActions"))
918
+ LogAlarm.add_member(:state_value, Shapes::ShapeRef.new(shape: StateValue, location_name: "StateValue"))
919
+ LogAlarm.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, location_name: "StateReason"))
920
+ LogAlarm.add_member(:state_reason_data, Shapes::ShapeRef.new(shape: StateReasonData, location_name: "StateReasonData"))
921
+ LogAlarm.add_member(:state_updated_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StateUpdatedTimestamp"))
922
+ LogAlarm.add_member(:scheduled_query_configuration, Shapes::ShapeRef.new(shape: ScheduledQueryConfiguration, location_name: "ScheduledQueryConfiguration"))
923
+ LogAlarm.add_member(:query_results_to_evaluate, Shapes::ShapeRef.new(shape: QueryResultsToEvaluate, location_name: "QueryResultsToEvaluate"))
924
+ LogAlarm.add_member(:query_results_to_alarm, Shapes::ShapeRef.new(shape: QueryResultsToAlarm, location_name: "QueryResultsToAlarm"))
925
+ LogAlarm.add_member(:threshold, Shapes::ShapeRef.new(shape: Threshold, location_name: "Threshold"))
926
+ LogAlarm.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ComparisonOperator, location_name: "ComparisonOperator"))
927
+ LogAlarm.add_member(:treat_missing_data, Shapes::ShapeRef.new(shape: TreatMissingData, location_name: "TreatMissingData"))
928
+ LogAlarm.add_member(:state_transitioned_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StateTransitionedTimestamp"))
929
+ LogAlarm.add_member(:evaluation_state, Shapes::ShapeRef.new(shape: EvaluationState, location_name: "EvaluationState"))
930
+ LogAlarm.add_member(:action_log_line_count, Shapes::ShapeRef.new(shape: ActionLogLineCount, location_name: "ActionLogLineCount"))
931
+ LogAlarm.add_member(:action_log_line_role_arn, Shapes::ShapeRef.new(shape: ActionLogLineRoleArn, location_name: "ActionLogLineRoleArn"))
932
+ LogAlarm.struct_class = Types::LogAlarm
933
+
934
+ LogAlarms.member = Shapes::ShapeRef.new(shape: LogAlarm)
935
+
936
+ LogGroupIdentifiers.member = Shapes::ShapeRef.new(shape: AmazonResourceName)
937
+
893
938
  ManagedRule.add_member(:template_name, Shapes::ShapeRef.new(shape: TemplateName, required: true, location_name: "TemplateName"))
894
939
  ManagedRule.add_member(:resource_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ResourceARN"))
895
940
  ManagedRule.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
@@ -1104,6 +1149,23 @@ module Aws::CloudWatch
1104
1149
 
1105
1150
  PutInsightRuleOutput.struct_class = Types::PutInsightRuleOutput
1106
1151
 
1152
+ PutLogAlarmInput.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, required: true, location_name: "AlarmName"))
1153
+ PutLogAlarmInput.add_member(:alarm_description, Shapes::ShapeRef.new(shape: AlarmDescription, location_name: "AlarmDescription"))
1154
+ PutLogAlarmInput.add_member(:scheduled_query_configuration, Shapes::ShapeRef.new(shape: ScheduledQueryConfiguration, required: true, location_name: "ScheduledQueryConfiguration"))
1155
+ PutLogAlarmInput.add_member(:action_log_line_count, Shapes::ShapeRef.new(shape: ActionLogLineCount, location_name: "ActionLogLineCount"))
1156
+ PutLogAlarmInput.add_member(:action_log_line_role_arn, Shapes::ShapeRef.new(shape: ActionLogLineRoleArn, location_name: "ActionLogLineRoleArn"))
1157
+ PutLogAlarmInput.add_member(:actions_enabled, Shapes::ShapeRef.new(shape: ActionsEnabled, location_name: "ActionsEnabled"))
1158
+ PutLogAlarmInput.add_member(:ok_actions, Shapes::ShapeRef.new(shape: ResourceList, location_name: "OKActions"))
1159
+ PutLogAlarmInput.add_member(:alarm_actions, Shapes::ShapeRef.new(shape: ResourceList, location_name: "AlarmActions"))
1160
+ PutLogAlarmInput.add_member(:insufficient_data_actions, Shapes::ShapeRef.new(shape: ResourceList, location_name: "InsufficientDataActions"))
1161
+ PutLogAlarmInput.add_member(:query_results_to_evaluate, Shapes::ShapeRef.new(shape: QueryResultsToEvaluate, required: true, location_name: "QueryResultsToEvaluate"))
1162
+ PutLogAlarmInput.add_member(:query_results_to_alarm, Shapes::ShapeRef.new(shape: QueryResultsToAlarm, required: true, location_name: "QueryResultsToAlarm"))
1163
+ PutLogAlarmInput.add_member(:threshold, Shapes::ShapeRef.new(shape: Threshold, required: true, location_name: "Threshold"))
1164
+ PutLogAlarmInput.add_member(:comparison_operator, Shapes::ShapeRef.new(shape: ComparisonOperator, required: true, location_name: "ComparisonOperator"))
1165
+ PutLogAlarmInput.add_member(:treat_missing_data, Shapes::ShapeRef.new(shape: TreatMissingData, location_name: "TreatMissingData"))
1166
+ PutLogAlarmInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1167
+ PutLogAlarmInput.struct_class = Types::PutLogAlarmInput
1168
+
1107
1169
  PutManagedInsightRulesInput.add_member(:managed_rules, Shapes::ShapeRef.new(shape: ManagedRules, required: true, location_name: "ManagedRules"))
1108
1170
  PutManagedInsightRulesInput.struct_class = Types::PutManagedInsightRulesInput
1109
1171
 
@@ -1160,6 +1222,9 @@ module Aws::CloudWatch
1160
1222
  Range.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTime"))
1161
1223
  Range.struct_class = Types::Range
1162
1224
 
1225
+ ResourceConflict.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1226
+ ResourceConflict.struct_class = Types::ResourceConflict
1227
+
1163
1228
  ResourceList.member = Shapes::ShapeRef.new(shape: ResourceName)
1164
1229
 
1165
1230
  ResourceNotFound.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
@@ -1177,6 +1242,20 @@ module Aws::CloudWatch
1177
1242
  Schedule.add_member(:timezone, Shapes::ShapeRef.new(shape: Timezone, location_name: "Timezone"))
1178
1243
  Schedule.struct_class = Types::Schedule
1179
1244
 
1245
+ ScheduleConfiguration.add_member(:schedule_expression, Shapes::ShapeRef.new(shape: ScheduleExpression, required: true, location_name: "ScheduleExpression"))
1246
+ ScheduleConfiguration.add_member(:start_time_offset, Shapes::ShapeRef.new(shape: StartTimeOffset, location_name: "StartTimeOffset"))
1247
+ ScheduleConfiguration.add_member(:end_time_offset, Shapes::ShapeRef.new(shape: EndTimeOffset, location_name: "EndTimeOffset"))
1248
+ ScheduleConfiguration.struct_class = Types::ScheduleConfiguration
1249
+
1250
+ ScheduledQueryConfiguration.add_member(:query_string, Shapes::ShapeRef.new(shape: QueryString, required: true, location_name: "QueryString"))
1251
+ ScheduledQueryConfiguration.add_member(:log_group_identifiers, Shapes::ShapeRef.new(shape: LogGroupIdentifiers, location_name: "LogGroupIdentifiers"))
1252
+ ScheduledQueryConfiguration.add_member(:query_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, location_name: "QueryARN"))
1253
+ ScheduledQueryConfiguration.add_member(:scheduled_query_role_arn, Shapes::ShapeRef.new(shape: AmazonResourceName, required: true, location_name: "ScheduledQueryRoleARN"))
1254
+ ScheduledQueryConfiguration.add_member(:schedule_configuration, Shapes::ShapeRef.new(shape: ScheduleConfiguration, required: true, location_name: "ScheduleConfiguration"))
1255
+ ScheduledQueryConfiguration.add_member(:aggregation_expression, Shapes::ShapeRef.new(shape: AggregationExpression, required: true, location_name: "AggregationExpression"))
1256
+ ScheduledQueryConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1257
+ ScheduledQueryConfiguration.struct_class = Types::ScheduledQueryConfiguration
1258
+
1180
1259
  SetAlarmStateInput.add_member(:alarm_name, Shapes::ShapeRef.new(shape: AlarmName, required: true, location_name: "AlarmName"))
1181
1260
  SetAlarmStateInput.add_member(:state_value, Shapes::ShapeRef.new(shape: StateValue, required: true, location_name: "StateValue"))
1182
1261
  SetAlarmStateInput.add_member(:state_reason, Shapes::ShapeRef.new(shape: StateReason, required: true, location_name: "StateReason"))
@@ -1291,6 +1370,7 @@ module Aws::CloudWatch
1291
1370
  o.input = Shapes::ShapeRef.new(shape: DeleteAlarmsInput)
1292
1371
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1293
1372
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound)
1373
+ o.errors << Shapes::ShapeRef.new(shape: ResourceConflict)
1294
1374
  end)
1295
1375
 
1296
1376
  api.add_operation(:delete_anomaly_detector, Seahorse::Model::Operation.new.tap do |o|
@@ -1707,6 +1787,16 @@ module Aws::CloudWatch
1707
1787
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1708
1788
  end)
1709
1789
 
1790
+ api.add_operation(:put_log_alarm, Seahorse::Model::Operation.new.tap do |o|
1791
+ o.name = "PutLogAlarm"
1792
+ o.http_method = "POST"
1793
+ o.http_request_uri = "/"
1794
+ o.input = Shapes::ShapeRef.new(shape: PutLogAlarmInput)
1795
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1796
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededFault)
1797
+ o.errors << Shapes::ShapeRef.new(shape: ResourceConflict)
1798
+ end)
1799
+
1710
1800
  api.add_operation(:put_managed_insight_rules, Seahorse::Model::Operation.new.tap do |o|
1711
1801
  o.name = "PutManagedInsightRules"
1712
1802
  o.http_method = "POST"