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