aws_sdk_scheduler/operation/update_schedule/
_update_schedule_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateScheduleInput {
6    /// <p>The name of the schedule that you are updating.</p>
7    pub name: ::std::option::Option<::std::string::String>,
8    /// <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>
9    pub group_name: ::std::option::Option<::std::string::String>,
10    /// <p>The expression that defines when the schedule runs. The following formats are supported.</p>
11    /// <ul>
12    /// <li>
13    /// <p><code>at</code> expression - <code>at(yyyy-mm-ddThh:mm:ss)</code></p></li>
14    /// <li>
15    /// <p><code>rate</code> expression - <code>rate(value unit)</code></p></li>
16    /// <li>
17    /// <p><code>cron</code> expression - <code>cron(fields)</code></p></li>
18    /// </ul>
19    /// <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>
20    /// <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>
21    /// <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>
22    /// <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>
23    pub schedule_expression: ::std::option::Option<::std::string::String>,
24    /// <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>
25    pub start_date: ::std::option::Option<::aws_smithy_types::DateTime>,
26    /// <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>
27    pub end_date: ::std::option::Option<::aws_smithy_types::DateTime>,
28    /// <p>The description you specify for the schedule.</p>
29    pub description: ::std::option::Option<::std::string::String>,
30    /// <p>The timezone in which the scheduling expression is evaluated.</p>
31    pub schedule_expression_timezone: ::std::option::Option<::std::string::String>,
32    /// <p>Specifies whether the schedule is enabled or disabled.</p>
33    pub state: ::std::option::Option<crate::types::ScheduleState>,
34    /// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
35    pub kms_key_arn: ::std::option::Option<::std::string::String>,
36    /// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
37    pub target: ::std::option::Option<crate::types::Target>,
38    /// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
39    pub flexible_time_window: ::std::option::Option<crate::types::FlexibleTimeWindow>,
40    /// <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>
41    pub client_token: ::std::option::Option<::std::string::String>,
42    /// <p>Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.</p>
43    pub action_after_completion: ::std::option::Option<crate::types::ActionAfterCompletion>,
44}
45impl UpdateScheduleInput {
46    /// <p>The name of the schedule that you are updating.</p>
47    pub fn name(&self) -> ::std::option::Option<&str> {
48        self.name.as_deref()
49    }
50    /// <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>
51    pub fn group_name(&self) -> ::std::option::Option<&str> {
52        self.group_name.as_deref()
53    }
54    /// <p>The expression that defines when the schedule runs. The following formats are supported.</p>
55    /// <ul>
56    /// <li>
57    /// <p><code>at</code> expression - <code>at(yyyy-mm-ddThh:mm:ss)</code></p></li>
58    /// <li>
59    /// <p><code>rate</code> expression - <code>rate(value unit)</code></p></li>
60    /// <li>
61    /// <p><code>cron</code> expression - <code>cron(fields)</code></p></li>
62    /// </ul>
63    /// <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>
64    /// <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>
65    /// <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>
66    /// <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>
67    pub fn schedule_expression(&self) -> ::std::option::Option<&str> {
68        self.schedule_expression.as_deref()
69    }
70    /// <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>
71    pub fn start_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
72        self.start_date.as_ref()
73    }
74    /// <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>
75    pub fn end_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
76        self.end_date.as_ref()
77    }
78    /// <p>The description you specify for the schedule.</p>
79    pub fn description(&self) -> ::std::option::Option<&str> {
80        self.description.as_deref()
81    }
82    /// <p>The timezone in which the scheduling expression is evaluated.</p>
83    pub fn schedule_expression_timezone(&self) -> ::std::option::Option<&str> {
84        self.schedule_expression_timezone.as_deref()
85    }
86    /// <p>Specifies whether the schedule is enabled or disabled.</p>
87    pub fn state(&self) -> ::std::option::Option<&crate::types::ScheduleState> {
88        self.state.as_ref()
89    }
90    /// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
91    pub fn kms_key_arn(&self) -> ::std::option::Option<&str> {
92        self.kms_key_arn.as_deref()
93    }
94    /// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
95    pub fn target(&self) -> ::std::option::Option<&crate::types::Target> {
96        self.target.as_ref()
97    }
98    /// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
99    pub fn flexible_time_window(&self) -> ::std::option::Option<&crate::types::FlexibleTimeWindow> {
100        self.flexible_time_window.as_ref()
101    }
102    /// <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>
103    pub fn client_token(&self) -> ::std::option::Option<&str> {
104        self.client_token.as_deref()
105    }
106    /// <p>Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.</p>
107    pub fn action_after_completion(&self) -> ::std::option::Option<&crate::types::ActionAfterCompletion> {
108        self.action_after_completion.as_ref()
109    }
110}
111impl UpdateScheduleInput {
112    /// Creates a new builder-style object to manufacture [`UpdateScheduleInput`](crate::operation::update_schedule::UpdateScheduleInput).
113    pub fn builder() -> crate::operation::update_schedule::builders::UpdateScheduleInputBuilder {
114        crate::operation::update_schedule::builders::UpdateScheduleInputBuilder::default()
115    }
116}
117
118/// A builder for [`UpdateScheduleInput`](crate::operation::update_schedule::UpdateScheduleInput).
119#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
120#[non_exhaustive]
121pub struct UpdateScheduleInputBuilder {
122    pub(crate) name: ::std::option::Option<::std::string::String>,
123    pub(crate) group_name: ::std::option::Option<::std::string::String>,
124    pub(crate) schedule_expression: ::std::option::Option<::std::string::String>,
125    pub(crate) start_date: ::std::option::Option<::aws_smithy_types::DateTime>,
126    pub(crate) end_date: ::std::option::Option<::aws_smithy_types::DateTime>,
127    pub(crate) description: ::std::option::Option<::std::string::String>,
128    pub(crate) schedule_expression_timezone: ::std::option::Option<::std::string::String>,
129    pub(crate) state: ::std::option::Option<crate::types::ScheduleState>,
130    pub(crate) kms_key_arn: ::std::option::Option<::std::string::String>,
131    pub(crate) target: ::std::option::Option<crate::types::Target>,
132    pub(crate) flexible_time_window: ::std::option::Option<crate::types::FlexibleTimeWindow>,
133    pub(crate) client_token: ::std::option::Option<::std::string::String>,
134    pub(crate) action_after_completion: ::std::option::Option<crate::types::ActionAfterCompletion>,
135}
136impl UpdateScheduleInputBuilder {
137    /// <p>The name of the schedule that you are updating.</p>
138    /// This field is required.
139    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
140        self.name = ::std::option::Option::Some(input.into());
141        self
142    }
143    /// <p>The name of the schedule that you are updating.</p>
144    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
145        self.name = input;
146        self
147    }
148    /// <p>The name of the schedule that you are updating.</p>
149    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
150        &self.name
151    }
152    /// <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>
153    pub fn group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
154        self.group_name = ::std::option::Option::Some(input.into());
155        self
156    }
157    /// <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>
158    pub fn set_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
159        self.group_name = input;
160        self
161    }
162    /// <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>
163    pub fn get_group_name(&self) -> &::std::option::Option<::std::string::String> {
164        &self.group_name
165    }
166    /// <p>The expression that defines when the schedule runs. The following formats are supported.</p>
167    /// <ul>
168    /// <li>
169    /// <p><code>at</code> expression - <code>at(yyyy-mm-ddThh:mm:ss)</code></p></li>
170    /// <li>
171    /// <p><code>rate</code> expression - <code>rate(value unit)</code></p></li>
172    /// <li>
173    /// <p><code>cron</code> expression - <code>cron(fields)</code></p></li>
174    /// </ul>
175    /// <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>
176    /// <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>
177    /// <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>
178    /// <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>
179    /// This field is required.
180    pub fn schedule_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
181        self.schedule_expression = ::std::option::Option::Some(input.into());
182        self
183    }
184    /// <p>The expression that defines when the schedule runs. The following formats are supported.</p>
185    /// <ul>
186    /// <li>
187    /// <p><code>at</code> expression - <code>at(yyyy-mm-ddThh:mm:ss)</code></p></li>
188    /// <li>
189    /// <p><code>rate</code> expression - <code>rate(value unit)</code></p></li>
190    /// <li>
191    /// <p><code>cron</code> expression - <code>cron(fields)</code></p></li>
192    /// </ul>
193    /// <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>
194    /// <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>
195    /// <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>
196    /// <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>
197    pub fn set_schedule_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
198        self.schedule_expression = input;
199        self
200    }
201    /// <p>The expression that defines when the schedule runs. The following formats are supported.</p>
202    /// <ul>
203    /// <li>
204    /// <p><code>at</code> expression - <code>at(yyyy-mm-ddThh:mm:ss)</code></p></li>
205    /// <li>
206    /// <p><code>rate</code> expression - <code>rate(value unit)</code></p></li>
207    /// <li>
208    /// <p><code>cron</code> expression - <code>cron(fields)</code></p></li>
209    /// </ul>
210    /// <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>
211    /// <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>
212    /// <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>
213    /// <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>
214    pub fn get_schedule_expression(&self) -> &::std::option::Option<::std::string::String> {
215        &self.schedule_expression
216    }
217    /// <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>
218    pub fn start_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
219        self.start_date = ::std::option::Option::Some(input);
220        self
221    }
222    /// <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>
223    pub fn set_start_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
224        self.start_date = input;
225        self
226    }
227    /// <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>
228    pub fn get_start_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
229        &self.start_date
230    }
231    /// <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>
232    pub fn end_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
233        self.end_date = ::std::option::Option::Some(input);
234        self
235    }
236    /// <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>
237    pub fn set_end_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
238        self.end_date = input;
239        self
240    }
241    /// <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>
242    pub fn get_end_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
243        &self.end_date
244    }
245    /// <p>The description you specify for the schedule.</p>
246    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
247        self.description = ::std::option::Option::Some(input.into());
248        self
249    }
250    /// <p>The description you specify for the schedule.</p>
251    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
252        self.description = input;
253        self
254    }
255    /// <p>The description you specify for the schedule.</p>
256    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
257        &self.description
258    }
259    /// <p>The timezone in which the scheduling expression is evaluated.</p>
260    pub fn schedule_expression_timezone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
261        self.schedule_expression_timezone = ::std::option::Option::Some(input.into());
262        self
263    }
264    /// <p>The timezone in which the scheduling expression is evaluated.</p>
265    pub fn set_schedule_expression_timezone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
266        self.schedule_expression_timezone = input;
267        self
268    }
269    /// <p>The timezone in which the scheduling expression is evaluated.</p>
270    pub fn get_schedule_expression_timezone(&self) -> &::std::option::Option<::std::string::String> {
271        &self.schedule_expression_timezone
272    }
273    /// <p>Specifies whether the schedule is enabled or disabled.</p>
274    pub fn state(mut self, input: crate::types::ScheduleState) -> Self {
275        self.state = ::std::option::Option::Some(input);
276        self
277    }
278    /// <p>Specifies whether the schedule is enabled or disabled.</p>
279    pub fn set_state(mut self, input: ::std::option::Option<crate::types::ScheduleState>) -> Self {
280        self.state = input;
281        self
282    }
283    /// <p>Specifies whether the schedule is enabled or disabled.</p>
284    pub fn get_state(&self) -> &::std::option::Option<crate::types::ScheduleState> {
285        &self.state
286    }
287    /// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
288    pub fn kms_key_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
289        self.kms_key_arn = ::std::option::Option::Some(input.into());
290        self
291    }
292    /// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
293    pub fn set_kms_key_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
294        self.kms_key_arn = input;
295        self
296    }
297    /// <p>The ARN for the customer managed KMS key that that you want EventBridge Scheduler to use to encrypt and decrypt your data.</p>
298    pub fn get_kms_key_arn(&self) -> &::std::option::Option<::std::string::String> {
299        &self.kms_key_arn
300    }
301    /// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
302    /// This field is required.
303    pub fn target(mut self, input: crate::types::Target) -> Self {
304        self.target = ::std::option::Option::Some(input);
305        self
306    }
307    /// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
308    pub fn set_target(mut self, input: ::std::option::Option<crate::types::Target>) -> Self {
309        self.target = input;
310        self
311    }
312    /// <p>The schedule target. You can use this operation to change the target that your schedule invokes.</p>
313    pub fn get_target(&self) -> &::std::option::Option<crate::types::Target> {
314        &self.target
315    }
316    /// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
317    /// This field is required.
318    pub fn flexible_time_window(mut self, input: crate::types::FlexibleTimeWindow) -> Self {
319        self.flexible_time_window = ::std::option::Option::Some(input);
320        self
321    }
322    /// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
323    pub fn set_flexible_time_window(mut self, input: ::std::option::Option<crate::types::FlexibleTimeWindow>) -> Self {
324        self.flexible_time_window = input;
325        self
326    }
327    /// <p>Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.</p>
328    pub fn get_flexible_time_window(&self) -> &::std::option::Option<crate::types::FlexibleTimeWindow> {
329        &self.flexible_time_window
330    }
331    /// <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>
332    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
333        self.client_token = ::std::option::Option::Some(input.into());
334        self
335    }
336    /// <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>
337    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
338        self.client_token = input;
339        self
340    }
341    /// <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>
342    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
343        &self.client_token
344    }
345    /// <p>Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.</p>
346    pub fn action_after_completion(mut self, input: crate::types::ActionAfterCompletion) -> Self {
347        self.action_after_completion = ::std::option::Option::Some(input);
348        self
349    }
350    /// <p>Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.</p>
351    pub fn set_action_after_completion(mut self, input: ::std::option::Option<crate::types::ActionAfterCompletion>) -> Self {
352        self.action_after_completion = input;
353        self
354    }
355    /// <p>Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.</p>
356    pub fn get_action_after_completion(&self) -> &::std::option::Option<crate::types::ActionAfterCompletion> {
357        &self.action_after_completion
358    }
359    /// Consumes the builder and constructs a [`UpdateScheduleInput`](crate::operation::update_schedule::UpdateScheduleInput).
360    pub fn build(
361        self,
362    ) -> ::std::result::Result<crate::operation::update_schedule::UpdateScheduleInput, ::aws_smithy_types::error::operation::BuildError> {
363        ::std::result::Result::Ok(crate::operation::update_schedule::UpdateScheduleInput {
364            name: self.name,
365            group_name: self.group_name,
366            schedule_expression: self.schedule_expression,
367            start_date: self.start_date,
368            end_date: self.end_date,
369            description: self.description,
370            schedule_expression_timezone: self.schedule_expression_timezone,
371            state: self.state,
372            kms_key_arn: self.kms_key_arn,
373            target: self.target,
374            flexible_time_window: self.flexible_time_window,
375            client_token: self.client_token,
376            action_after_completion: self.action_after_completion,
377        })
378    }
379}