// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`PutLogAlarm`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`alarm_name(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::alarm_name) / [`set_alarm_name(Option<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_alarm_name):<br>required: **true**<br><p>The name for the alarm. This name must be unique within the Amazon Web Services account and Region.</p><br>
/// - [`alarm_description(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::alarm_description) / [`set_alarm_description(Option<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_alarm_description):<br>required: **false**<br><p>The description for the alarm.</p><br>
/// - [`scheduled_query_configuration(ScheduledQueryConfiguration)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::scheduled_query_configuration) / [`set_scheduled_query_configuration(Option<ScheduledQueryConfiguration>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_scheduled_query_configuration):<br>required: **true**<br><p>The configuration of the underlying CloudWatch Logs scheduled query that this alarm evaluates, including the query string, log groups, schedule, and aggregation expression.</p><br>
/// - [`action_log_line_count(i32)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::action_log_line_count) / [`set_action_log_line_count(Option<i32>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_action_log_line_count):<br>required: **false**<br><p>The number of log lines from the most recent scheduled query execution to include in alarm action notifications. Valid range is 0 through 50. The default is 0, which means no log lines are included.</p><br>
/// - [`action_log_line_role_arn(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::action_log_line_role_arn) / [`set_action_log_line_role_arn(Option<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_action_log_line_role_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of an IAM role that CloudWatch assumes to retrieve log events for inclusion in alarm action notifications. Required when <code>ActionLogLineCount</code> is greater than 0.</p><br>
/// - [`actions_enabled(bool)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::actions_enabled) / [`set_actions_enabled(Option<bool>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_actions_enabled):<br>required: **false**<br><p>Indicates whether actions should be executed during any changes to the alarm state. The default is <code>true</code>.</p><br>
/// - [`ok_actions(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::ok_actions) / [`set_ok_actions(Option<Vec::<String>>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_ok_actions):<br>required: **false**<br><p>The actions to execute when this alarm transitions to the <code>OK</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:</p> <p><b>Amazon SNS actions:</b></p> <p><code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code></p> <p><b>Lambda actions:</b></p> <ul> <li> <p>Invoke the latest version of a Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i> </code></p></li> <li> <p>Invoke a specific version of a Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i>:<i>version-number</i> </code></p></li> <li> <p>Invoke a function by using an alias Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i>:<i>alias-name</i> </code></p></li> </ul><br>
/// - [`alarm_actions(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::alarm_actions) / [`set_alarm_actions(Option<Vec::<String>>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_alarm_actions):<br>required: **false**<br><p>The actions to execute when this alarm transitions to the <code>ALARM</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:</p> <p><b>Amazon SNS actions:</b></p> <p><code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code></p> <p><b>Lambda actions:</b></p> <ul> <li> <p>Invoke the latest version of a Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i> </code></p></li> <li> <p>Invoke a specific version of a Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i>:<i>version-number</i> </code></p></li> <li> <p>Invoke a function by using an alias Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i>:<i>alias-name</i> </code></p></li> </ul> <p><b>Systems Manager actions:</b></p> <p><code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:opsitem:<i>severity</i> </code></p><br>
/// - [`insufficient_data_actions(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::insufficient_data_actions) / [`set_insufficient_data_actions(Option<Vec::<String>>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_insufficient_data_actions):<br>required: **false**<br><p>The actions to execute when this alarm transitions to the <code>INSUFFICIENT_DATA</code> state from any other state. Each action is specified as an Amazon Resource Name (ARN).</p> <p>Valid Values:</p> <p><b>Amazon SNS actions:</b></p> <p><code>arn:aws:sns:<i>region</i>:<i>account-id</i>:<i>sns-topic-name</i> </code></p> <p><b>Lambda actions:</b></p> <ul> <li> <p>Invoke the latest version of a Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i> </code></p></li> <li> <p>Invoke a specific version of a Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i>:<i>version-number</i> </code></p></li> <li> <p>Invoke a function by using an alias Lambda function: <code>arn:aws:lambda:<i>region</i>:<i>account-id</i>:function:<i>function-name</i>:<i>alias-name</i> </code></p></li> </ul><br>
/// - [`query_results_to_evaluate(i32)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::query_results_to_evaluate) / [`set_query_results_to_evaluate(Option<i32>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_query_results_to_evaluate):<br>required: **true**<br><p>The number of most recent scheduled query results to evaluate against the threshold (the N in M-of-N evaluation). Valid range is 1 through 100.</p><br>
/// - [`query_results_to_alarm(i32)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::query_results_to_alarm) / [`set_query_results_to_alarm(Option<i32>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_query_results_to_alarm):<br>required: **true**<br><p>The number of query results, out of the most recent <code>QueryResultsToEvaluate</code> results, that must breach the threshold to trigger the alarm to transition to <code>ALARM</code> (the M in M-of-N evaluation). Must be less than or equal to <code>QueryResultsToEvaluate</code>.</p><br>
/// - [`threshold(f64)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::threshold) / [`set_threshold(Option<f64>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_threshold):<br>required: **true**<br><p>The value to compare with the aggregated query result.</p><br>
/// - [`comparison_operator(ComparisonOperator)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::comparison_operator) / [`set_comparison_operator(Option<ComparisonOperator>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_comparison_operator):<br>required: **true**<br><p>The arithmetic operation to use when comparing the aggregated query result and the threshold. The aggregated query result is used as the first operand. Valid values are <code>GreaterThanThreshold</code>, <code>GreaterThanOrEqualToThreshold</code>, <code>LessThanThreshold</code>, and <code>LessThanOrEqualToThreshold</code>.</p><br>
/// - [`treat_missing_data(impl Into<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::treat_missing_data) / [`set_treat_missing_data(Option<String>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_treat_missing_data):<br>required: **false**<br><p>Sets how this alarm is to handle missing data points. Valid values are <code>breaching</code>, <code>notBreaching</code>, <code>ignore</code>, and <code>missing</code>. If this parameter is omitted, the default behavior of <code>missing</code> is used.</p><br>
/// - [`tags(Tag)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs to associate with the alarm. You can use tags to categorize and manage your alarms.</p><br>
/// - On success, responds with [`PutLogAlarmOutput`](crate::operation::put_log_alarm::PutLogAlarmOutput)
/// - On failure, responds with [`SdkError<PutLogAlarmError>`](crate::operation::put_log_alarm::PutLogAlarmError)
pub fn put_log_alarm(&self) -> crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder {
crate::operation::put_log_alarm::builders::PutLogAlarmFluentBuilder::new(self.handle.clone())
}
}