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}