// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateSchedule`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_name): <p>The name of the schedule that you are creating.</p>
/// - [`group_name(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::group_name) / [`set_group_name(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_group_name): <p>The name of the schedule group to associate with this schedule. If you omit this, the default schedule group is used.</p>
/// - [`schedule_expression(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::schedule_expression) / [`set_schedule_expression(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_schedule_expression): <p> The expression that defines when the schedule runs. The following formats are supported. </p> <ul> <li> <p> <code>at</code> expression - <code>at(yyyy-mm-ddThh:mm:ss)</code> </p> </li> <li> <p> <code>rate</code> expression - <code>rate(unit value)</code> </p> </li> <li> <p> <code>cron</code> expression - <code>cron(fields)</code> </p> </li> </ul> <p> You can use <code>at</code> expressions to create one-time schedules that invoke a target once, at the time and in the time zone, that you specify. You can use <code>rate</code> and <code>cron</code> expressions to create recurring schedules. Rate-based schedules are useful when you want to invoke a target at regular intervals, such as every 15 minutes or every five days. Cron-based schedules are useful when you want to invoke a target periodically at a specific time, such as at 8:00 am (UTC+0) every 1st day of the month. </p> <p> A <code>cron</code> expression consists of six fields separated by white spaces: <code>(minutes hours day_of_month month day_of_week year)</code>. </p> <p> A <code>rate</code> expression consists of a <i>value</i> as a positive integer, and a <i>unit</i> with the following options: <code>minute</code> | <code>minutes</code> | <code>hour</code> | <code>hours</code> | <code>day</code> | <code>days</code> </p> <p> For more information and examples, see <a href="https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html">Schedule types on EventBridge Scheduler</a> in the <i>EventBridge Scheduler User Guide</i>. </p>
/// - [`start_date(DateTime)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::start_date) / [`set_start_date(Option<DateTime>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_start_date): <p>The date, in UTC, after which the schedule can begin invoking its target. Depending on the schedule's recurrence expression, invocations might occur on, or after, the <code>StartDate</code> you specify. EventBridge Scheduler ignores <code>StartDate</code> for one-time schedules.</p>
/// - [`end_date(DateTime)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::end_date) / [`set_end_date(Option<DateTime>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_end_date): <p>The date, in UTC, before which the schedule can invoke its target. Depending on the schedule's recurrence expression, invocations might stop on, or before, the <code>EndDate</code> you specify. EventBridge Scheduler ignores <code>EndDate</code> for one-time schedules.</p>
/// - [`description(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_description): <p>The description you specify for the schedule.</p>
/// - [`schedule_expression_timezone(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::schedule_expression_timezone) / [`set_schedule_expression_timezone(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_schedule_expression_timezone): <p>The timezone in which the scheduling expression is evaluated.</p>
/// - [`state(ScheduleState)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::state) / [`set_state(Option<ScheduleState>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_state): <p>Specifies whether the schedule is enabled or disabled.</p>
/// - [`kms_key_arn(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::kms_key_arn) / [`set_kms_key_arn(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_kms_key_arn): <p>The Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.</p>
/// - [`target(Target)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::target) / [`set_target(Option<Target>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_target): <p>The schedule's target.</p>
/// - [`flexible_time_window(FlexibleTimeWindow)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::flexible_time_window) / [`set_flexible_time_window(Option<FlexibleTimeWindow>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_flexible_time_window): <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
/// - [`client_token(impl Into<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::set_client_token): <p> Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, EventBridge Scheduler uses a randomly generated token for the request to ensure idempotency. </p>
/// - On success, responds with [`CreateScheduleOutput`](crate::operation::create_schedule::CreateScheduleOutput) with field(s):
/// - [`schedule_arn(Option<String>)`](crate::operation::create_schedule::CreateScheduleOutput::schedule_arn): <p>The Amazon Resource Name (ARN) of the schedule.</p>
/// - On failure, responds with [`SdkError<CreateScheduleError>`](crate::operation::create_schedule::CreateScheduleError)
pub fn create_schedule(&self) -> crate::operation::create_schedule::builders::CreateScheduleFluentBuilder {
crate::operation::create_schedule::builders::CreateScheduleFluentBuilder::new(self.handle.clone())
}
}