aws_sdk_ssm/operation/create_ops_item/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_ops_item::_create_ops_item_output::CreateOpsItemOutputBuilder;
3
4pub use crate::operation::create_ops_item::_create_ops_item_input::CreateOpsItemInputBuilder;
5
6impl crate::operation::create_ops_item::builders::CreateOpsItemInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::create_ops_item::CreateOpsItemOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_ops_item::CreateOpsItemError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_ops_item();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateOpsItem`.
24///
25/// <p>Creates a new OpsItem. You must have permission in Identity and Access Management (IAM) to create a new OpsItem. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
26/// <p>Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their Amazon Web Services resources. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html">Amazon Web Services Systems Manager OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
27#[derive(::std::clone::Clone, ::std::fmt::Debug)]
28pub struct CreateOpsItemFluentBuilder {
29    handle: ::std::sync::Arc<crate::client::Handle>,
30    inner: crate::operation::create_ops_item::builders::CreateOpsItemInputBuilder,
31    config_override: ::std::option::Option<crate::config::Builder>,
32}
33impl
34    crate::client::customize::internal::CustomizableSend<
35        crate::operation::create_ops_item::CreateOpsItemOutput,
36        crate::operation::create_ops_item::CreateOpsItemError,
37    > for CreateOpsItemFluentBuilder
38{
39    fn send(
40        self,
41        config_override: crate::config::Builder,
42    ) -> crate::client::customize::internal::BoxFuture<
43        crate::client::customize::internal::SendResult<
44            crate::operation::create_ops_item::CreateOpsItemOutput,
45            crate::operation::create_ops_item::CreateOpsItemError,
46        >,
47    > {
48        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
49    }
50}
51impl CreateOpsItemFluentBuilder {
52    /// Creates a new `CreateOpsItemFluentBuilder`.
53    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
54        Self {
55            handle,
56            inner: ::std::default::Default::default(),
57            config_override: ::std::option::Option::None,
58        }
59    }
60    /// Access the CreateOpsItem as a reference.
61    pub fn as_input(&self) -> &crate::operation::create_ops_item::builders::CreateOpsItemInputBuilder {
62        &self.inner
63    }
64    /// Sends the request and returns the response.
65    ///
66    /// If an error occurs, an `SdkError` will be returned with additional details that
67    /// can be matched against.
68    ///
69    /// By default, any retryable failures will be retried twice. Retry behavior
70    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
71    /// set when configuring the client.
72    pub async fn send(
73        self,
74    ) -> ::std::result::Result<
75        crate::operation::create_ops_item::CreateOpsItemOutput,
76        ::aws_smithy_runtime_api::client::result::SdkError<
77            crate::operation::create_ops_item::CreateOpsItemError,
78            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
79        >,
80    > {
81        let input = self
82            .inner
83            .build()
84            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
85        let runtime_plugins = crate::operation::create_ops_item::CreateOpsItem::operation_runtime_plugins(
86            self.handle.runtime_plugins.clone(),
87            &self.handle.conf,
88            self.config_override,
89        );
90        crate::operation::create_ops_item::CreateOpsItem::orchestrate(&runtime_plugins, input).await
91    }
92
93    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
94    pub fn customize(
95        self,
96    ) -> crate::client::customize::CustomizableOperation<
97        crate::operation::create_ops_item::CreateOpsItemOutput,
98        crate::operation::create_ops_item::CreateOpsItemError,
99        Self,
100    > {
101        crate::client::customize::CustomizableOperation::new(self)
102    }
103    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
104        self.set_config_override(::std::option::Option::Some(config_override.into()));
105        self
106    }
107
108    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
109        self.config_override = config_override;
110        self
111    }
112    /// <p>User-defined text that contains information about the OpsItem, in Markdown format.</p><note>
113    /// <p>Provide enough information so that users viewing this OpsItem for the first time understand the issue.</p>
114    /// </note>
115    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
116        self.inner = self.inner.description(input.into());
117        self
118    }
119    /// <p>User-defined text that contains information about the OpsItem, in Markdown format.</p><note>
120    /// <p>Provide enough information so that users viewing this OpsItem for the first time understand the issue.</p>
121    /// </note>
122    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
123        self.inner = self.inner.set_description(input);
124        self
125    }
126    /// <p>User-defined text that contains information about the OpsItem, in Markdown format.</p><note>
127    /// <p>Provide enough information so that users viewing this OpsItem for the first time understand the issue.</p>
128    /// </note>
129    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
130        self.inner.get_description()
131    }
132    /// <p>The type of OpsItem to create. Systems Manager supports the following types of OpsItems:</p>
133    /// <ul>
134    /// <li>
135    /// <p><code>/aws/issue</code></p>
136    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
137    /// <li>
138    /// <p><code>/aws/insight</code></p>
139    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
140    /// <li>
141    /// <p><code>/aws/changerequest</code></p>
142    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p><important>
143    /// <p>Amazon Web Services Systems Manager Change Manager will no longer be open to new customers starting November 7, 2025. If you would like to use Change Manager, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/change-manager-availability-change.html">Amazon Web Services Systems Manager Change Manager availability change</a>.</p>
144    /// </important></li>
145    /// </ul>
146    pub fn ops_item_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147        self.inner = self.inner.ops_item_type(input.into());
148        self
149    }
150    /// <p>The type of OpsItem to create. Systems Manager supports the following types of OpsItems:</p>
151    /// <ul>
152    /// <li>
153    /// <p><code>/aws/issue</code></p>
154    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
155    /// <li>
156    /// <p><code>/aws/insight</code></p>
157    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
158    /// <li>
159    /// <p><code>/aws/changerequest</code></p>
160    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p><important>
161    /// <p>Amazon Web Services Systems Manager Change Manager will no longer be open to new customers starting November 7, 2025. If you would like to use Change Manager, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/change-manager-availability-change.html">Amazon Web Services Systems Manager Change Manager availability change</a>.</p>
162    /// </important></li>
163    /// </ul>
164    pub fn set_ops_item_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165        self.inner = self.inner.set_ops_item_type(input);
166        self
167    }
168    /// <p>The type of OpsItem to create. Systems Manager supports the following types of OpsItems:</p>
169    /// <ul>
170    /// <li>
171    /// <p><code>/aws/issue</code></p>
172    /// <p>This type of OpsItem is used for default OpsItems created by OpsCenter.</p></li>
173    /// <li>
174    /// <p><code>/aws/insight</code></p>
175    /// <p>This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.</p></li>
176    /// <li>
177    /// <p><code>/aws/changerequest</code></p>
178    /// <p>This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.</p><important>
179    /// <p>Amazon Web Services Systems Manager Change Manager will no longer be open to new customers starting November 7, 2025. If you would like to use Change Manager, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/change-manager-availability-change.html">Amazon Web Services Systems Manager Change Manager availability change</a>.</p>
180    /// </important></li>
181    /// </ul>
182    pub fn get_ops_item_type(&self) -> &::std::option::Option<::std::string::String> {
183        self.inner.get_ops_item_type()
184    }
185    ///
186    /// Adds a key-value pair to `OperationalData`.
187    ///
188    /// To override the contents of this collection use [`set_operational_data`](Self::set_operational_data).
189    ///
190    /// <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p><important>
191    /// <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
192    /// </important>
193    /// <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <code>DescribeOpsItems</code> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <code>GetOpsItem</code> API operation).</p>
194    /// <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Create OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
195    pub fn operational_data(mut self, k: impl ::std::convert::Into<::std::string::String>, v: crate::types::OpsItemDataValue) -> Self {
196        self.inner = self.inner.operational_data(k.into(), v);
197        self
198    }
199    /// <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p><important>
200    /// <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
201    /// </important>
202    /// <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <code>DescribeOpsItems</code> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <code>GetOpsItem</code> API operation).</p>
203    /// <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Create OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
204    pub fn set_operational_data(
205        mut self,
206        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>>,
207    ) -> Self {
208        self.inner = self.inner.set_operational_data(input);
209        self
210    }
211    /// <p>Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.</p><important>
212    /// <p>Operational data keys <i>can't</i> begin with the following: <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>, <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
213    /// </important>
214    /// <p>You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the <code>DescribeOpsItems</code> API operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the <code>GetOpsItem</code> API operation).</p>
215    /// <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in the request. Use the <code>/aws/automations</code> key in OperationalData to associate an Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Create OpsItems manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
216    pub fn get_operational_data(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, crate::types::OpsItemDataValue>> {
217        self.inner.get_operational_data()
218    }
219    ///
220    /// Appends an item to `Notifications`.
221    ///
222    /// To override the contents of this collection use [`set_notifications`](Self::set_notifications).
223    ///
224    /// <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>
225    pub fn notifications(mut self, input: crate::types::OpsItemNotification) -> Self {
226        self.inner = self.inner.notifications(input);
227        self
228    }
229    /// <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>
230    pub fn set_notifications(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>>) -> Self {
231        self.inner = self.inner.set_notifications(input);
232        self
233    }
234    /// <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.</p>
235    pub fn get_notifications(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OpsItemNotification>> {
236        self.inner.get_notifications()
237    }
238    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
239    pub fn priority(mut self, input: i32) -> Self {
240        self.inner = self.inner.priority(input);
241        self
242    }
243    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
244    pub fn set_priority(mut self, input: ::std::option::Option<i32>) -> Self {
245        self.inner = self.inner.set_priority(input);
246        self
247    }
248    /// <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
249    pub fn get_priority(&self) -> &::std::option::Option<i32> {
250        self.inner.get_priority()
251    }
252    ///
253    /// Appends an item to `RelatedOpsItems`.
254    ///
255    /// To override the contents of this collection use [`set_related_ops_items`](Self::set_related_ops_items).
256    ///
257    /// <p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
258    pub fn related_ops_items(mut self, input: crate::types::RelatedOpsItem) -> Self {
259        self.inner = self.inner.related_ops_items(input);
260        self
261    }
262    /// <p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
263    pub fn set_related_ops_items(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>>) -> Self {
264        self.inner = self.inner.set_related_ops_items(input);
265        self
266    }
267    /// <p>One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.</p>
268    pub fn get_related_ops_items(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::RelatedOpsItem>> {
269        self.inner.get_related_ops_items()
270    }
271    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager.</p><note>
272    /// <p>The source name can't contain the following strings: <code>aws</code>, <code>amazon</code>, and <code>amzn</code>.</p>
273    /// </note>
274    pub fn source(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
275        self.inner = self.inner.source(input.into());
276        self
277    }
278    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager.</p><note>
279    /// <p>The source name can't contain the following strings: <code>aws</code>, <code>amazon</code>, and <code>amzn</code>.</p>
280    /// </note>
281    pub fn set_source(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
282        self.inner = self.inner.set_source(input);
283        self
284    }
285    /// <p>The origin of the OpsItem, such as Amazon EC2 or Systems Manager.</p><note>
286    /// <p>The source name can't contain the following strings: <code>aws</code>, <code>amazon</code>, and <code>amzn</code>.</p>
287    /// </note>
288    pub fn get_source(&self) -> &::std::option::Option<::std::string::String> {
289        self.inner.get_source()
290    }
291    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
292    pub fn title(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
293        self.inner = self.inner.title(input.into());
294        self
295    }
296    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
297    pub fn set_title(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
298        self.inner = self.inner.set_title(input);
299        self
300    }
301    /// <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
302    pub fn get_title(&self) -> &::std::option::Option<::std::string::String> {
303        self.inner.get_title()
304    }
305    ///
306    /// Appends an item to `Tags`.
307    ///
308    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
309    ///
310    /// <p>Optional metadata that you assign to a resource.</p>
311    /// <p>Tags use a key-value pair. For example:</p>
312    /// <p><code>Key=Department,Value=Finance</code></p><important>
313    /// <p>To add tags to a new OpsItem, a user must have IAM permissions for both the <code>ssm:CreateOpsItems</code> operation and the <code>ssm:AddTagsToResource</code> operation. To add tags to an existing OpsItem, use the <code>AddTagsToResource</code> operation.</p>
314    /// </important>
315    pub fn tags(mut self, input: crate::types::Tag) -> Self {
316        self.inner = self.inner.tags(input);
317        self
318    }
319    /// <p>Optional metadata that you assign to a resource.</p>
320    /// <p>Tags use a key-value pair. For example:</p>
321    /// <p><code>Key=Department,Value=Finance</code></p><important>
322    /// <p>To add tags to a new OpsItem, a user must have IAM permissions for both the <code>ssm:CreateOpsItems</code> operation and the <code>ssm:AddTagsToResource</code> operation. To add tags to an existing OpsItem, use the <code>AddTagsToResource</code> operation.</p>
323    /// </important>
324    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
325        self.inner = self.inner.set_tags(input);
326        self
327    }
328    /// <p>Optional metadata that you assign to a resource.</p>
329    /// <p>Tags use a key-value pair. For example:</p>
330    /// <p><code>Key=Department,Value=Finance</code></p><important>
331    /// <p>To add tags to a new OpsItem, a user must have IAM permissions for both the <code>ssm:CreateOpsItems</code> operation and the <code>ssm:AddTagsToResource</code> operation. To add tags to an existing OpsItem, use the <code>AddTagsToResource</code> operation.</p>
332    /// </important>
333    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
334        self.inner.get_tags()
335    }
336    /// <p>Specify a category to assign to an OpsItem.</p>
337    pub fn category(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
338        self.inner = self.inner.category(input.into());
339        self
340    }
341    /// <p>Specify a category to assign to an OpsItem.</p>
342    pub fn set_category(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
343        self.inner = self.inner.set_category(input);
344        self
345    }
346    /// <p>Specify a category to assign to an OpsItem.</p>
347    pub fn get_category(&self) -> &::std::option::Option<::std::string::String> {
348        self.inner.get_category()
349    }
350    /// <p>Specify a severity to assign to an OpsItem.</p>
351    pub fn severity(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
352        self.inner = self.inner.severity(input.into());
353        self
354    }
355    /// <p>Specify a severity to assign to an OpsItem.</p>
356    pub fn set_severity(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
357        self.inner = self.inner.set_severity(input);
358        self
359    }
360    /// <p>Specify a severity to assign to an OpsItem.</p>
361    pub fn get_severity(&self) -> &::std::option::Option<::std::string::String> {
362        self.inner.get_severity()
363    }
364    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
365    pub fn actual_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
366        self.inner = self.inner.actual_start_time(input);
367        self
368    }
369    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
370    pub fn set_actual_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
371        self.inner = self.inner.set_actual_start_time(input);
372        self
373    }
374    /// <p>The time a runbook workflow started. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
375    pub fn get_actual_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
376        self.inner.get_actual_start_time()
377    }
378    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
379    pub fn actual_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
380        self.inner = self.inner.actual_end_time(input);
381        self
382    }
383    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
384    pub fn set_actual_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
385        self.inner = self.inner.set_actual_end_time(input);
386        self
387    }
388    /// <p>The time a runbook workflow ended. Currently reported only for the OpsItem type <code>/aws/changerequest</code>.</p>
389    pub fn get_actual_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
390        self.inner.get_actual_end_time()
391    }
392    /// <p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
393    pub fn planned_start_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
394        self.inner = self.inner.planned_start_time(input);
395        self
396    }
397    /// <p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
398    pub fn set_planned_start_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
399        self.inner = self.inner.set_planned_start_time(input);
400        self
401    }
402    /// <p>The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
403    pub fn get_planned_start_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
404        self.inner.get_planned_start_time()
405    }
406    /// <p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
407    pub fn planned_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
408        self.inner = self.inner.planned_end_time(input);
409        self
410    }
411    /// <p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
412    pub fn set_planned_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
413        self.inner = self.inner.set_planned_end_time(input);
414        self
415    }
416    /// <p>The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type <code>/aws/changerequest</code>.</p>
417    pub fn get_planned_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
418        self.inner.get_planned_end_time()
419    }
420    /// <p>The target Amazon Web Services account where you want to create an OpsItem. To make this call, your account must be configured to work with OpsItems across accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
421    pub fn account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
422        self.inner = self.inner.account_id(input.into());
423        self
424    }
425    /// <p>The target Amazon Web Services account where you want to create an OpsItem. To make this call, your account must be configured to work with OpsItems across accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
426    pub fn set_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
427        self.inner = self.inner.set_account_id(input);
428        self
429    }
430    /// <p>The target Amazon Web Services account where you want to create an OpsItem. To make this call, your account must be configured to work with OpsItems across accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setup.html">Set up OpsCenter</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
431    pub fn get_account_id(&self) -> &::std::option::Option<::std::string::String> {
432        self.inner.get_account_id()
433    }
434}