aws_sdk_scheduler/operation/create_schedule/_create_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 CreateScheduleInput {
6 /// <p>The name of the schedule that you are creating.</p>
7 pub name: ::std::option::Option<::std::string::String>,
8 /// <p>The name of the schedule group to associate with this schedule. If you omit this, the default schedule group is used.</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 Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.</p>
35 pub kms_key_arn: ::std::option::Option<::std::string::String>,
36 /// <p>The schedule's target.</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 CreateScheduleInput {
46 /// <p>The name of the schedule that you are creating.</p>
47 pub fn name(&self) -> ::std::option::Option<&str> {
48 self.name.as_deref()
49 }
50 /// <p>The name of the schedule group to associate with this schedule. If you omit this, the default schedule group is used.</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 Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will 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's target.</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 CreateScheduleInput {
112 /// Creates a new builder-style object to manufacture [`CreateScheduleInput`](crate::operation::create_schedule::CreateScheduleInput).
113 pub fn builder() -> crate::operation::create_schedule::builders::CreateScheduleInputBuilder {
114 crate::operation::create_schedule::builders::CreateScheduleInputBuilder::default()
115 }
116}
117
118/// A builder for [`CreateScheduleInput`](crate::operation::create_schedule::CreateScheduleInput).
119#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
120#[non_exhaustive]
121pub struct CreateScheduleInputBuilder {
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 CreateScheduleInputBuilder {
137 /// <p>The name of the schedule that you are creating.</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 creating.</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 creating.</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 to associate with this schedule. If you omit this, the default schedule group is used.</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 to associate with this schedule. If you omit this, the default schedule group is used.</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 to associate with this schedule. If you omit this, the default schedule group is used.</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 Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will 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 Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will 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 Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will 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's target.</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's target.</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's target.</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 [`CreateScheduleInput`](crate::operation::create_schedule::CreateScheduleInput).
360 pub fn build(
361 self,
362 ) -> ::std::result::Result<crate::operation::create_schedule::CreateScheduleInput, ::aws_smithy_types::error::operation::BuildError> {
363 ::std::result::Result::Ok(crate::operation::create_schedule::CreateScheduleInput {
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}