aws_sdk_cloudwatchlogs/client/
create_scheduled_query.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateScheduledQuery`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_name):<br>required: **true**<br><p>The name of the scheduled query. The name must be unique within your account and region. Valid characters are alphanumeric characters, hyphens, underscores, and periods. Length must be between 1 and 255 characters.</p><br>
7    ///   - [`description(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_description):<br>required: **false**<br><p>An optional description for the scheduled query to help identify its purpose and functionality.</p><br>
8    ///   - [`query_language(QueryLanguage)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::query_language) / [`set_query_language(Option<QueryLanguage>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_query_language):<br>required: **true**<br><p>The query language to use for the scheduled query. Valid values are <code>LogsQL</code>, <code>PPL</code>, and <code>SQL</code>.</p><br>
9    ///   - [`query_string(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::query_string) / [`set_query_string(Option<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_query_string):<br>required: **true**<br><p>The query string to execute. This is the same query syntax used in CloudWatch Logs Insights. Maximum length is 10,000 characters.</p><br>
10    ///   - [`log_group_identifiers(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::log_group_identifiers) / [`set_log_group_identifiers(Option<Vec::<String>>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_log_group_identifiers):<br>required: **false**<br><p>An array of log group names or ARNs to query. You can specify between 1 and 50 log groups. Log groups can be identified by name or full ARN.</p><br>
11    ///   - [`schedule_expression(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::schedule_expression) / [`set_schedule_expression(Option<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_schedule_expression):<br>required: **true**<br><p>A cron expression that defines when the scheduled query runs. The expression uses standard cron syntax and supports minute-level precision. Maximum length is 256 characters.</p><br>
12    ///   - [`timezone(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::timezone) / [`set_timezone(Option<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_timezone):<br>required: **false**<br><p>The timezone for evaluating the schedule expression. This determines when the scheduled query executes relative to the specified timezone.</p><br>
13    ///   - [`start_time_offset(i64)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::start_time_offset) / [`set_start_time_offset(Option<i64>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_start_time_offset):<br>required: **false**<br><p>The time offset in seconds that defines the lookback period for the query. This determines how far back in time the query searches from the execution time.</p><br>
14    ///   - [`destination_configuration(DestinationConfiguration)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::destination_configuration) / [`set_destination_configuration(Option<DestinationConfiguration>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_destination_configuration):<br>required: **false**<br><p>Configuration for where to deliver query results. Currently supports Amazon S3 destinations for storing query output.</p><br>
15    ///   - [`schedule_start_time(i64)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::schedule_start_time) / [`set_schedule_start_time(Option<i64>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_schedule_start_time):<br>required: **false**<br><p>The start time for the scheduled query in Unix epoch format. The query will not execute before this time.</p><br>
16    ///   - [`schedule_end_time(i64)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::schedule_end_time) / [`set_schedule_end_time(Option<i64>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_schedule_end_time):<br>required: **false**<br><p>The end time for the scheduled query in Unix epoch format. The query will stop executing after this time.</p><br>
17    ///   - [`execution_role_arn(impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_execution_role_arn):<br>required: **true**<br><p>The ARN of the IAM role that grants permissions to execute the query and deliver results to the specified destination. The role must have permissions to read from the specified log groups and write to the destination.</p><br>
18    ///   - [`state(ScheduledQueryState)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::state) / [`set_state(Option<ScheduledQueryState>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_state):<br>required: **false**<br><p>The initial state of the scheduled query. Valid values are <code>ENABLED</code> and <code>DISABLED</code>. Default is <code>ENABLED</code>.</p><br>
19    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::set_tags):<br>required: **false**<br><p>Key-value pairs to associate with the scheduled query for resource management and cost allocation.</p><br>
20    /// - On success, responds with [`CreateScheduledQueryOutput`](crate::operation::create_scheduled_query::CreateScheduledQueryOutput) with field(s):
21    ///   - [`scheduled_query_arn(Option<String>)`](crate::operation::create_scheduled_query::CreateScheduledQueryOutput::scheduled_query_arn): <p>The ARN of the created scheduled query.</p>
22    ///   - [`state(Option<ScheduledQueryState>)`](crate::operation::create_scheduled_query::CreateScheduledQueryOutput::state): <p>The current state of the scheduled query.</p>
23    /// - On failure, responds with [`SdkError<CreateScheduledQueryError>`](crate::operation::create_scheduled_query::CreateScheduledQueryError)
24    pub fn create_scheduled_query(&self) -> crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder {
25        crate::operation::create_scheduled_query::builders::CreateScheduledQueryFluentBuilder::new(self.handle.clone())
26    }
27}