1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::update_schedule::_update_schedule_output::UpdateScheduleOutputBuilder;
pub use crate::operation::update_schedule::_update_schedule_input::UpdateScheduleInputBuilder;
/// Fluent builder constructing a request to `UpdateSchedule`.
///
/// <p> Updates the specified schedule. When you call <code>UpdateSchedule</code>, EventBridge Scheduler uses all values, including empty values, specified in the request and overrides the existing schedule. This is by design. This means that if you do not set an optional field in your request, that field will be set to its system-default value after the update. </p>
/// <p> Before calling this operation, we recommend that you call the <code>GetSchedule</code> API operation and make a note of all optional parameters for your <code>UpdateSchedule</code> call. </p>
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct UpdateScheduleFluentBuilder {
handle: std::sync::Arc<crate::client::Handle>,
inner: crate::operation::update_schedule::builders::UpdateScheduleInputBuilder,
}
impl UpdateScheduleFluentBuilder {
/// Creates a new `UpdateSchedule`.
pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: Default::default(),
}
}
/// Consume this builder, creating a customizable operation that can be modified before being
/// sent. The operation's inner [http::Request] can be modified as well.
pub async fn customize(
self,
) -> std::result::Result<
crate::client::customize::CustomizableOperation<
crate::operation::update_schedule::UpdateSchedule,
aws_http::retry::AwsResponseRetryClassifier,
>,
aws_smithy_http::result::SdkError<crate::operation::update_schedule::UpdateScheduleError>,
> {
let handle = self.handle.clone();
let operation = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
Ok(crate::client::customize::CustomizableOperation { handle, operation })
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> std::result::Result<
crate::operation::update_schedule::UpdateScheduleOutput,
aws_smithy_http::result::SdkError<crate::operation::update_schedule::UpdateScheduleError>,
> {
let op = self
.inner
.build()
.map_err(aws_smithy_http::result::SdkError::construction_failure)?
.make_operation(&self.handle.conf)
.await
.map_err(aws_smithy_http::result::SdkError::construction_failure)?;
self.handle.client.call(op).await
}
/// <p>The name of the schedule that you are updating.</p>
pub fn name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.name(input.into());
self
}
/// <p>The name of the schedule that you are updating.</p>
pub fn set_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_name(input);
self
}
/// <p>The name of the schedule group with which the schedule is associated. You must provide this value in order for EventBridge Scheduler to find the schedule you want to update. If you omit this value, EventBridge Scheduler assumes the group is associated to the default group.</p>
pub fn group_name(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.group_name(input.into());
self
}
/// <p>The name of the schedule group with which the schedule is associated. You must provide this value in order for EventBridge Scheduler to find the schedule you want to update. If you omit this value, EventBridge Scheduler assumes the group is associated to the default group.</p>
pub fn set_group_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_group_name(input);
self
}
/// <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>
pub fn schedule_expression(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.schedule_expression(input.into());
self
}
/// <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>
pub fn set_schedule_expression(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.inner = self.inner.set_schedule_expression(input);
self
}
/// <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>
pub fn start_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.inner = self.inner.start_date(input);
self
}
/// <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>
pub fn set_start_date(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.inner = self.inner.set_start_date(input);
self
}
/// <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>
pub fn end_date(mut self, input: aws_smithy_types::DateTime) -> Self {
self.inner = self.inner.end_date(input);
self
}
/// <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>
pub fn set_end_date(mut self, input: std::option::Option<aws_smithy_types::DateTime>) -> Self {
self.inner = self.inner.set_end_date(input);
self
}
/// <p>The description you specify for the schedule.</p>
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.description(input.into());
self
}
/// <p>The description you specify for the schedule.</p>
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_description(input);
self
}
/// <p>The timezone in which the scheduling expression is evaluated.</p>
pub fn schedule_expression_timezone(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.schedule_expression_timezone(input.into());
self
}
/// <p>The timezone in which the scheduling expression is evaluated.</p>
pub fn set_schedule_expression_timezone(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.inner = self.inner.set_schedule_expression_timezone(input);
self
}
/// <p>Specifies whether the schedule is enabled or disabled.</p>
pub fn state(mut self, input: crate::types::ScheduleState) -> Self {
self.inner = self.inner.state(input);
self
}
/// <p>Specifies whether the schedule is enabled or disabled.</p>
pub fn set_state(mut self, input: std::option::Option<crate::types::ScheduleState>) -> Self {
self.inner = self.inner.set_state(input);
self
}
/// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
pub fn kms_key_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.kms_key_arn(input.into());
self
}
/// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
pub fn set_kms_key_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_kms_key_arn(input);
self
}
/// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
pub fn target(mut self, input: crate::types::Target) -> Self {
self.inner = self.inner.target(input);
self
}
/// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
pub fn set_target(mut self, input: std::option::Option<crate::types::Target>) -> Self {
self.inner = self.inner.set_target(input);
self
}
/// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
pub fn flexible_time_window(mut self, input: crate::types::FlexibleTimeWindow) -> Self {
self.inner = self.inner.flexible_time_window(input);
self
}
/// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
pub fn set_flexible_time_window(
mut self,
input: std::option::Option<crate::types::FlexibleTimeWindow>,
) -> Self {
self.inner = self.inner.set_flexible_time_window(input);
self
}
/// <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>
pub fn client_token(mut self, input: impl Into<std::string::String>) -> Self {
self.inner = self.inner.client_token(input.into());
self
}
/// <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>
pub fn set_client_token(mut self, input: std::option::Option<std::string::String>) -> Self {
self.inner = self.inner.set_client_token(input);
self
}
}