aws_sdk_ssm/operation/start_change_request_execution/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_change_request_execution::_start_change_request_execution_output::StartChangeRequestExecutionOutputBuilder;
3
4pub use crate::operation::start_change_request_execution::_start_change_request_execution_input::StartChangeRequestExecutionInputBuilder;
5
6impl crate::operation::start_change_request_execution::builders::StartChangeRequestExecutionInputBuilder {
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::start_change_request_execution::StartChangeRequestExecutionOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::start_change_request_execution::StartChangeRequestExecutionError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.start_change_request_execution();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `StartChangeRequestExecution`.
24///
25/// <p>Creates a change request for Change Manager. The Automation runbooks specified in the change request run only after all required approvals for the change request have been received.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct StartChangeRequestExecutionFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::start_change_request_execution::builders::StartChangeRequestExecutionInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::start_change_request_execution::StartChangeRequestExecutionOutput,
35 crate::operation::start_change_request_execution::StartChangeRequestExecutionError,
36 > for StartChangeRequestExecutionFluentBuilder
37{
38 fn send(
39 self,
40 config_override: crate::config::Builder,
41 ) -> crate::client::customize::internal::BoxFuture<
42 crate::client::customize::internal::SendResult<
43 crate::operation::start_change_request_execution::StartChangeRequestExecutionOutput,
44 crate::operation::start_change_request_execution::StartChangeRequestExecutionError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl StartChangeRequestExecutionFluentBuilder {
51 /// Creates a new `StartChangeRequestExecutionFluentBuilder`.
52 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53 Self {
54 handle,
55 inner: ::std::default::Default::default(),
56 config_override: ::std::option::Option::None,
57 }
58 }
59 /// Access the StartChangeRequestExecution as a reference.
60 pub fn as_input(&self) -> &crate::operation::start_change_request_execution::builders::StartChangeRequestExecutionInputBuilder {
61 &self.inner
62 }
63 /// Sends the request and returns the response.
64 ///
65 /// If an error occurs, an `SdkError` will be returned with additional details that
66 /// can be matched against.
67 ///
68 /// By default, any retryable failures will be retried twice. Retry behavior
69 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70 /// set when configuring the client.
71 pub async fn send(
72 self,
73 ) -> ::std::result::Result<
74 crate::operation::start_change_request_execution::StartChangeRequestExecutionOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::start_change_request_execution::StartChangeRequestExecutionError,
77 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78 >,
79 > {
80 let input = self
81 .inner
82 .build()
83 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84 let runtime_plugins = crate::operation::start_change_request_execution::StartChangeRequestExecution::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::start_change_request_execution::StartChangeRequestExecution::orchestrate(&runtime_plugins, input).await
90 }
91
92 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93 pub fn customize(
94 self,
95 ) -> crate::client::customize::CustomizableOperation<
96 crate::operation::start_change_request_execution::StartChangeRequestExecutionOutput,
97 crate::operation::start_change_request_execution::StartChangeRequestExecutionError,
98 Self,
99 > {
100 crate::client::customize::CustomizableOperation::new(self)
101 }
102 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103 self.set_config_override(::std::option::Option::Some(config_override.into()));
104 self
105 }
106
107 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108 self.config_override = config_override;
109 self
110 }
111 /// <p>The date and time specified in the change request to run the Automation runbooks.</p><note>
112 /// <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p>
113 /// </note>
114 pub fn scheduled_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
115 self.inner = self.inner.scheduled_time(input);
116 self
117 }
118 /// <p>The date and time specified in the change request to run the Automation runbooks.</p><note>
119 /// <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p>
120 /// </note>
121 pub fn set_scheduled_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
122 self.inner = self.inner.set_scheduled_time(input);
123 self
124 }
125 /// <p>The date and time specified in the change request to run the Automation runbooks.</p><note>
126 /// <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p>
127 /// </note>
128 pub fn get_scheduled_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
129 self.inner.get_scheduled_time()
130 }
131 /// <p>The name of the change template document to run during the runbook workflow.</p>
132 pub fn document_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
133 self.inner = self.inner.document_name(input.into());
134 self
135 }
136 /// <p>The name of the change template document to run during the runbook workflow.</p>
137 pub fn set_document_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
138 self.inner = self.inner.set_document_name(input);
139 self
140 }
141 /// <p>The name of the change template document to run during the runbook workflow.</p>
142 pub fn get_document_name(&self) -> &::std::option::Option<::std::string::String> {
143 self.inner.get_document_name()
144 }
145 /// <p>The version of the change template document to run during the runbook workflow.</p>
146 pub fn document_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
147 self.inner = self.inner.document_version(input.into());
148 self
149 }
150 /// <p>The version of the change template document to run during the runbook workflow.</p>
151 pub fn set_document_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152 self.inner = self.inner.set_document_version(input);
153 self
154 }
155 /// <p>The version of the change template document to run during the runbook workflow.</p>
156 pub fn get_document_version(&self) -> &::std::option::Option<::std::string::String> {
157 self.inner.get_document_version()
158 }
159 ///
160 /// Adds a key-value pair to `Parameters`.
161 ///
162 /// To override the contents of this collection use [`set_parameters`](Self::set_parameters).
163 ///
164 /// <p>A key-value map of parameters that match the declared parameters in the change template document.</p>
165 pub fn parameters(mut self, k: impl ::std::convert::Into<::std::string::String>, v: ::std::vec::Vec<::std::string::String>) -> Self {
166 self.inner = self.inner.parameters(k.into(), v);
167 self
168 }
169 /// <p>A key-value map of parameters that match the declared parameters in the change template document.</p>
170 pub fn set_parameters(
171 mut self,
172 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
173 ) -> Self {
174 self.inner = self.inner.set_parameters(input);
175 self
176 }
177 /// <p>A key-value map of parameters that match the declared parameters in the change template document.</p>
178 pub fn get_parameters(
179 &self,
180 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>> {
181 self.inner.get_parameters()
182 }
183 /// <p>The name of the change request associated with the runbook workflow to be run.</p>
184 pub fn change_request_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
185 self.inner = self.inner.change_request_name(input.into());
186 self
187 }
188 /// <p>The name of the change request associated with the runbook workflow to be run.</p>
189 pub fn set_change_request_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
190 self.inner = self.inner.set_change_request_name(input);
191 self
192 }
193 /// <p>The name of the change request associated with the runbook workflow to be run.</p>
194 pub fn get_change_request_name(&self) -> &::std::option::Option<::std::string::String> {
195 self.inner.get_change_request_name()
196 }
197 /// <p>The user-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>
198 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
199 self.inner = self.inner.client_token(input.into());
200 self
201 }
202 /// <p>The user-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>
203 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
204 self.inner = self.inner.set_client_token(input);
205 self
206 }
207 /// <p>The user-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.</p>
208 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
209 self.inner.get_client_token()
210 }
211 /// <p>Indicates whether the change request can be approved automatically without the need for manual approvals.</p>
212 /// <p>If <code>AutoApprovable</code> is enabled in a change template, then setting <code>AutoApprove</code> to <code>true</code> in <code>StartChangeRequestExecution</code> creates a change request that bypasses approver review.</p><note>
213 /// <p>Change Calendar restrictions are not bypassed in this scenario. If the state of an associated calendar is <code>CLOSED</code>, change freeze approvers must still grant permission for this change request to run. If they don't, the change won't be processed until the calendar state is again <code>OPEN</code>.</p>
214 /// </note>
215 pub fn auto_approve(mut self, input: bool) -> Self {
216 self.inner = self.inner.auto_approve(input);
217 self
218 }
219 /// <p>Indicates whether the change request can be approved automatically without the need for manual approvals.</p>
220 /// <p>If <code>AutoApprovable</code> is enabled in a change template, then setting <code>AutoApprove</code> to <code>true</code> in <code>StartChangeRequestExecution</code> creates a change request that bypasses approver review.</p><note>
221 /// <p>Change Calendar restrictions are not bypassed in this scenario. If the state of an associated calendar is <code>CLOSED</code>, change freeze approvers must still grant permission for this change request to run. If they don't, the change won't be processed until the calendar state is again <code>OPEN</code>.</p>
222 /// </note>
223 pub fn set_auto_approve(mut self, input: ::std::option::Option<bool>) -> Self {
224 self.inner = self.inner.set_auto_approve(input);
225 self
226 }
227 /// <p>Indicates whether the change request can be approved automatically without the need for manual approvals.</p>
228 /// <p>If <code>AutoApprovable</code> is enabled in a change template, then setting <code>AutoApprove</code> to <code>true</code> in <code>StartChangeRequestExecution</code> creates a change request that bypasses approver review.</p><note>
229 /// <p>Change Calendar restrictions are not bypassed in this scenario. If the state of an associated calendar is <code>CLOSED</code>, change freeze approvers must still grant permission for this change request to run. If they don't, the change won't be processed until the calendar state is again <code>OPEN</code>.</p>
230 /// </note>
231 pub fn get_auto_approve(&self) -> &::std::option::Option<bool> {
232 self.inner.get_auto_approve()
233 }
234 ///
235 /// Appends an item to `Runbooks`.
236 ///
237 /// To override the contents of this collection use [`set_runbooks`](Self::set_runbooks).
238 ///
239 /// <p>Information about the Automation runbooks that are run during the runbook workflow.</p><note>
240 /// <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p>
241 /// </note>
242 pub fn runbooks(mut self, input: crate::types::Runbook) -> Self {
243 self.inner = self.inner.runbooks(input);
244 self
245 }
246 /// <p>Information about the Automation runbooks that are run during the runbook workflow.</p><note>
247 /// <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p>
248 /// </note>
249 pub fn set_runbooks(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Runbook>>) -> Self {
250 self.inner = self.inner.set_runbooks(input);
251 self
252 }
253 /// <p>Information about the Automation runbooks that are run during the runbook workflow.</p><note>
254 /// <p>The Automation runbooks specified for the runbook workflow can't run until all required approvals for the change request have been received.</p>
255 /// </note>
256 pub fn get_runbooks(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Runbook>> {
257 self.inner.get_runbooks()
258 }
259 ///
260 /// Appends an item to `Tags`.
261 ///
262 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
263 ///
264 /// <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:</p>
265 /// <ul>
266 /// <li>
267 /// <p><code>Key=Environment,Value=Production</code></p></li>
268 /// <li>
269 /// <p><code>Key=Region,Value=us-east-2</code></p></li>
270 /// </ul><note>
271 /// <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the <code>StartChangeRequestExecution</code> action, you can specify a maximum of 5 tags. You can, however, use the <code>AddTagsToResource</code> action to add up to a total of 50 tags to an existing change request configuration.</p>
272 /// </note>
273 pub fn tags(mut self, input: crate::types::Tag) -> Self {
274 self.inner = self.inner.tags(input);
275 self
276 }
277 /// <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:</p>
278 /// <ul>
279 /// <li>
280 /// <p><code>Key=Environment,Value=Production</code></p></li>
281 /// <li>
282 /// <p><code>Key=Region,Value=us-east-2</code></p></li>
283 /// </ul><note>
284 /// <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the <code>StartChangeRequestExecution</code> action, you can specify a maximum of 5 tags. You can, however, use the <code>AddTagsToResource</code> action to add up to a total of 50 tags to an existing change request configuration.</p>
285 /// </note>
286 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
287 self.inner = self.inner.set_tags(input);
288 self
289 }
290 /// <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a change request to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:</p>
291 /// <ul>
292 /// <li>
293 /// <p><code>Key=Environment,Value=Production</code></p></li>
294 /// <li>
295 /// <p><code>Key=Region,Value=us-east-2</code></p></li>
296 /// </ul><note>
297 /// <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes capacity reserved for internal operations. When calling the <code>StartChangeRequestExecution</code> action, you can specify a maximum of 5 tags. You can, however, use the <code>AddTagsToResource</code> action to add up to a total of 50 tags to an existing change request configuration.</p>
298 /// </note>
299 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
300 self.inner.get_tags()
301 }
302 /// <p>The time that the requester expects the runbook workflow related to the change request to complete. The time is an estimate only that the requester provides for reviewers.</p>
303 pub fn scheduled_end_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
304 self.inner = self.inner.scheduled_end_time(input);
305 self
306 }
307 /// <p>The time that the requester expects the runbook workflow related to the change request to complete. The time is an estimate only that the requester provides for reviewers.</p>
308 pub fn set_scheduled_end_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
309 self.inner = self.inner.set_scheduled_end_time(input);
310 self
311 }
312 /// <p>The time that the requester expects the runbook workflow related to the change request to complete. The time is an estimate only that the requester provides for reviewers.</p>
313 pub fn get_scheduled_end_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
314 self.inner.get_scheduled_end_time()
315 }
316 /// <p>User-provided details about the change. If no details are provided, content specified in the <b>Template information</b> section of the associated change template is added.</p>
317 pub fn change_details(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
318 self.inner = self.inner.change_details(input.into());
319 self
320 }
321 /// <p>User-provided details about the change. If no details are provided, content specified in the <b>Template information</b> section of the associated change template is added.</p>
322 pub fn set_change_details(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
323 self.inner = self.inner.set_change_details(input);
324 self
325 }
326 /// <p>User-provided details about the change. If no details are provided, content specified in the <b>Template information</b> section of the associated change template is added.</p>
327 pub fn get_change_details(&self) -> &::std::option::Option<::std::string::String> {
328 self.inner.get_change_details()
329 }
330}