aws_sdk_sfn/operation/start_execution/_start_execution_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)]
5pub struct StartExecutionInput {
6 /// <p>The Amazon Resource Name (ARN) of the state machine to execute.</p>
7 /// <p>The <code>stateMachineArn</code> parameter accepts one of the following inputs:</p>
8 /// <ul>
9 /// <li>
10 /// <p><b>An unqualified state machine ARN</b> – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.</p>
11 /// <p><code>arn:<partition>
12 /// :states:
13 /// <region>
14 /// :
15 /// <account-id>
16 /// :stateMachine:
17 /// <mystatemachine></mystatemachine>
18 /// </account-id>
19 /// </region>
20 /// </partition></code></p>
21 /// <p>Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.</p></li>
22 /// <li>
23 /// <p><b>A state machine version ARN</b> – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.</p>
24 /// <p><code>arn:<partition>
25 /// :states:
26 /// <region>
27 /// :
28 /// <account-id>
29 /// :stateMachine:
30 /// <mystatemachine>
31 /// :10
32 /// </mystatemachine>
33 /// </account-id>
34 /// </region>
35 /// </partition></code></p>
36 /// <p>Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.</p></li>
37 /// <li>
38 /// <p><b>A state machine alias ARN</b> – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named <code>PROD</code>.</p>
39 /// <p><code>arn:<partition>
40 /// :states:
41 /// <region>
42 /// :
43 /// <account-id>
44 /// :stateMachine:
45 /// <mystatemachine:prod></mystatemachine:prod>
46 /// </account-id>
47 /// </region>
48 /// </partition></code></p>
49 /// <p>Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.</p></li>
50 /// </ul>
51 pub state_machine_arn: ::std::option::Option<::std::string::String>,
52 /// <p>Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions"> Limits Related to State Machine Executions</a> in the <i>Step Functions Developer Guide</i>.</p>
53 /// <p>If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.</p>
54 /// <p>A name must <i>not</i> contain:</p>
55 /// <ul>
56 /// <li>
57 /// <p>white space</p></li>
58 /// <li>
59 /// <p>brackets <code>< > { } \[ \]</code></p></li>
60 /// <li>
61 /// <p>wildcard characters <code>? *</code></p></li>
62 /// <li>
63 /// <p>special characters <code>" # % \ ^ | ~ ` $ & , ; : /</code></p></li>
64 /// <li>
65 /// <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li>
66 /// <li>
67 /// <p>surrogates (<code>U+D800-DFFF</code>)</p></li>
68 /// <li>
69 /// <p>invalid characters (<code> U+10FFFF</code>)</p></li>
70 /// </ul>
71 /// <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>
72 pub name: ::std::option::Option<::std::string::String>,
73 /// <p>The string that contains the JSON input data for the execution, for example:</p>
74 /// <p><code>"{\"first_name\" : \"Alejandro\"}"</code></p><note>
75 /// <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"{}"</code></p>
76 /// </note>
77 /// <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p>
78 pub input: ::std::option::Option<::std::string::String>,
79 /// <p>Passes the X-Ray trace header. The trace header can also be passed in the request payload.</p><note>
80 /// <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p>
81 /// </note>
82 pub trace_header: ::std::option::Option<::std::string::String>,
83}
84impl StartExecutionInput {
85 /// <p>The Amazon Resource Name (ARN) of the state machine to execute.</p>
86 /// <p>The <code>stateMachineArn</code> parameter accepts one of the following inputs:</p>
87 /// <ul>
88 /// <li>
89 /// <p><b>An unqualified state machine ARN</b> – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.</p>
90 /// <p><code>arn:<partition>
91 /// :states:
92 /// <region>
93 /// :
94 /// <account-id>
95 /// :stateMachine:
96 /// <mystatemachine></mystatemachine>
97 /// </account-id>
98 /// </region>
99 /// </partition></code></p>
100 /// <p>Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.</p></li>
101 /// <li>
102 /// <p><b>A state machine version ARN</b> – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.</p>
103 /// <p><code>arn:<partition>
104 /// :states:
105 /// <region>
106 /// :
107 /// <account-id>
108 /// :stateMachine:
109 /// <mystatemachine>
110 /// :10
111 /// </mystatemachine>
112 /// </account-id>
113 /// </region>
114 /// </partition></code></p>
115 /// <p>Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.</p></li>
116 /// <li>
117 /// <p><b>A state machine alias ARN</b> – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named <code>PROD</code>.</p>
118 /// <p><code>arn:<partition>
119 /// :states:
120 /// <region>
121 /// :
122 /// <account-id>
123 /// :stateMachine:
124 /// <mystatemachine:prod></mystatemachine:prod>
125 /// </account-id>
126 /// </region>
127 /// </partition></code></p>
128 /// <p>Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.</p></li>
129 /// </ul>
130 pub fn state_machine_arn(&self) -> ::std::option::Option<&str> {
131 self.state_machine_arn.as_deref()
132 }
133 /// <p>Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions"> Limits Related to State Machine Executions</a> in the <i>Step Functions Developer Guide</i>.</p>
134 /// <p>If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.</p>
135 /// <p>A name must <i>not</i> contain:</p>
136 /// <ul>
137 /// <li>
138 /// <p>white space</p></li>
139 /// <li>
140 /// <p>brackets <code>< > { } \[ \]</code></p></li>
141 /// <li>
142 /// <p>wildcard characters <code>? *</code></p></li>
143 /// <li>
144 /// <p>special characters <code>" # % \ ^ | ~ ` $ & , ; : /</code></p></li>
145 /// <li>
146 /// <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li>
147 /// <li>
148 /// <p>surrogates (<code>U+D800-DFFF</code>)</p></li>
149 /// <li>
150 /// <p>invalid characters (<code> U+10FFFF</code>)</p></li>
151 /// </ul>
152 /// <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>
153 pub fn name(&self) -> ::std::option::Option<&str> {
154 self.name.as_deref()
155 }
156 /// <p>The string that contains the JSON input data for the execution, for example:</p>
157 /// <p><code>"{\"first_name\" : \"Alejandro\"}"</code></p><note>
158 /// <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"{}"</code></p>
159 /// </note>
160 /// <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p>
161 pub fn input(&self) -> ::std::option::Option<&str> {
162 self.input.as_deref()
163 }
164 /// <p>Passes the X-Ray trace header. The trace header can also be passed in the request payload.</p><note>
165 /// <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p>
166 /// </note>
167 pub fn trace_header(&self) -> ::std::option::Option<&str> {
168 self.trace_header.as_deref()
169 }
170}
171impl ::std::fmt::Debug for StartExecutionInput {
172 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
173 let mut formatter = f.debug_struct("StartExecutionInput");
174 formatter.field("state_machine_arn", &self.state_machine_arn);
175 formatter.field("name", &self.name);
176 formatter.field("input", &"*** Sensitive Data Redacted ***");
177 formatter.field("trace_header", &self.trace_header);
178 formatter.finish()
179 }
180}
181impl StartExecutionInput {
182 /// Creates a new builder-style object to manufacture [`StartExecutionInput`](crate::operation::start_execution::StartExecutionInput).
183 pub fn builder() -> crate::operation::start_execution::builders::StartExecutionInputBuilder {
184 crate::operation::start_execution::builders::StartExecutionInputBuilder::default()
185 }
186}
187
188/// A builder for [`StartExecutionInput`](crate::operation::start_execution::StartExecutionInput).
189#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
190#[non_exhaustive]
191pub struct StartExecutionInputBuilder {
192 pub(crate) state_machine_arn: ::std::option::Option<::std::string::String>,
193 pub(crate) name: ::std::option::Option<::std::string::String>,
194 pub(crate) input: ::std::option::Option<::std::string::String>,
195 pub(crate) trace_header: ::std::option::Option<::std::string::String>,
196}
197impl StartExecutionInputBuilder {
198 /// <p>The Amazon Resource Name (ARN) of the state machine to execute.</p>
199 /// <p>The <code>stateMachineArn</code> parameter accepts one of the following inputs:</p>
200 /// <ul>
201 /// <li>
202 /// <p><b>An unqualified state machine ARN</b> – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.</p>
203 /// <p><code>arn:<partition>
204 /// :states:
205 /// <region>
206 /// :
207 /// <account-id>
208 /// :stateMachine:
209 /// <mystatemachine></mystatemachine>
210 /// </account-id>
211 /// </region>
212 /// </partition></code></p>
213 /// <p>Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.</p></li>
214 /// <li>
215 /// <p><b>A state machine version ARN</b> – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.</p>
216 /// <p><code>arn:<partition>
217 /// :states:
218 /// <region>
219 /// :
220 /// <account-id>
221 /// :stateMachine:
222 /// <mystatemachine>
223 /// :10
224 /// </mystatemachine>
225 /// </account-id>
226 /// </region>
227 /// </partition></code></p>
228 /// <p>Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.</p></li>
229 /// <li>
230 /// <p><b>A state machine alias ARN</b> – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named <code>PROD</code>.</p>
231 /// <p><code>arn:<partition>
232 /// :states:
233 /// <region>
234 /// :
235 /// <account-id>
236 /// :stateMachine:
237 /// <mystatemachine:prod></mystatemachine:prod>
238 /// </account-id>
239 /// </region>
240 /// </partition></code></p>
241 /// <p>Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.</p></li>
242 /// </ul>
243 /// This field is required.
244 pub fn state_machine_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
245 self.state_machine_arn = ::std::option::Option::Some(input.into());
246 self
247 }
248 /// <p>The Amazon Resource Name (ARN) of the state machine to execute.</p>
249 /// <p>The <code>stateMachineArn</code> parameter accepts one of the following inputs:</p>
250 /// <ul>
251 /// <li>
252 /// <p><b>An unqualified state machine ARN</b> – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.</p>
253 /// <p><code>arn:<partition>
254 /// :states:
255 /// <region>
256 /// :
257 /// <account-id>
258 /// :stateMachine:
259 /// <mystatemachine></mystatemachine>
260 /// </account-id>
261 /// </region>
262 /// </partition></code></p>
263 /// <p>Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.</p></li>
264 /// <li>
265 /// <p><b>A state machine version ARN</b> – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.</p>
266 /// <p><code>arn:<partition>
267 /// :states:
268 /// <region>
269 /// :
270 /// <account-id>
271 /// :stateMachine:
272 /// <mystatemachine>
273 /// :10
274 /// </mystatemachine>
275 /// </account-id>
276 /// </region>
277 /// </partition></code></p>
278 /// <p>Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.</p></li>
279 /// <li>
280 /// <p><b>A state machine alias ARN</b> – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named <code>PROD</code>.</p>
281 /// <p><code>arn:<partition>
282 /// :states:
283 /// <region>
284 /// :
285 /// <account-id>
286 /// :stateMachine:
287 /// <mystatemachine:prod></mystatemachine:prod>
288 /// </account-id>
289 /// </region>
290 /// </partition></code></p>
291 /// <p>Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.</p></li>
292 /// </ul>
293 pub fn set_state_machine_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
294 self.state_machine_arn = input;
295 self
296 }
297 /// <p>The Amazon Resource Name (ARN) of the state machine to execute.</p>
298 /// <p>The <code>stateMachineArn</code> parameter accepts one of the following inputs:</p>
299 /// <ul>
300 /// <li>
301 /// <p><b>An unqualified state machine ARN</b> – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.</p>
302 /// <p><code>arn:<partition>
303 /// :states:
304 /// <region>
305 /// :
306 /// <account-id>
307 /// :stateMachine:
308 /// <mystatemachine></mystatemachine>
309 /// </account-id>
310 /// </region>
311 /// </partition></code></p>
312 /// <p>Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.</p></li>
313 /// <li>
314 /// <p><b>A state machine version ARN</b> – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.</p>
315 /// <p><code>arn:<partition>
316 /// :states:
317 /// <region>
318 /// :
319 /// <account-id>
320 /// :stateMachine:
321 /// <mystatemachine>
322 /// :10
323 /// </mystatemachine>
324 /// </account-id>
325 /// </region>
326 /// </partition></code></p>
327 /// <p>Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.</p></li>
328 /// <li>
329 /// <p><b>A state machine alias ARN</b> – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named <code>PROD</code>.</p>
330 /// <p><code>arn:<partition>
331 /// :states:
332 /// <region>
333 /// :
334 /// <account-id>
335 /// :stateMachine:
336 /// <mystatemachine:prod></mystatemachine:prod>
337 /// </account-id>
338 /// </region>
339 /// </partition></code></p>
340 /// <p>Step Functions associates executions that you start with an alias ARN with that alias and the state machine version used for that execution.</p></li>
341 /// </ul>
342 pub fn get_state_machine_arn(&self) -> &::std::option::Option<::std::string::String> {
343 &self.state_machine_arn
344 }
345 /// <p>Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions"> Limits Related to State Machine Executions</a> in the <i>Step Functions Developer Guide</i>.</p>
346 /// <p>If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.</p>
347 /// <p>A name must <i>not</i> contain:</p>
348 /// <ul>
349 /// <li>
350 /// <p>white space</p></li>
351 /// <li>
352 /// <p>brackets <code>< > { } \[ \]</code></p></li>
353 /// <li>
354 /// <p>wildcard characters <code>? *</code></p></li>
355 /// <li>
356 /// <p>special characters <code>" # % \ ^ | ~ ` $ & , ; : /</code></p></li>
357 /// <li>
358 /// <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li>
359 /// <li>
360 /// <p>surrogates (<code>U+D800-DFFF</code>)</p></li>
361 /// <li>
362 /// <p>invalid characters (<code> U+10FFFF</code>)</p></li>
363 /// </ul>
364 /// <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>
365 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
366 self.name = ::std::option::Option::Some(input.into());
367 self
368 }
369 /// <p>Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions"> Limits Related to State Machine Executions</a> in the <i>Step Functions Developer Guide</i>.</p>
370 /// <p>If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.</p>
371 /// <p>A name must <i>not</i> contain:</p>
372 /// <ul>
373 /// <li>
374 /// <p>white space</p></li>
375 /// <li>
376 /// <p>brackets <code>< > { } \[ \]</code></p></li>
377 /// <li>
378 /// <p>wildcard characters <code>? *</code></p></li>
379 /// <li>
380 /// <p>special characters <code>" # % \ ^ | ~ ` $ & , ; : /</code></p></li>
381 /// <li>
382 /// <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li>
383 /// <li>
384 /// <p>surrogates (<code>U+D800-DFFF</code>)</p></li>
385 /// <li>
386 /// <p>invalid characters (<code> U+10FFFF</code>)</p></li>
387 /// </ul>
388 /// <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>
389 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
390 self.name = input;
391 self
392 }
393 /// <p>Optional name of the execution. This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, see <a href="https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions"> Limits Related to State Machine Executions</a> in the <i>Step Functions Developer Guide</i>.</p>
394 /// <p>If you don't provide a name for the execution, Step Functions automatically generates a universally unique identifier (UUID) as the execution name.</p>
395 /// <p>A name must <i>not</i> contain:</p>
396 /// <ul>
397 /// <li>
398 /// <p>white space</p></li>
399 /// <li>
400 /// <p>brackets <code>< > { } \[ \]</code></p></li>
401 /// <li>
402 /// <p>wildcard characters <code>? *</code></p></li>
403 /// <li>
404 /// <p>special characters <code>" # % \ ^ | ~ ` $ & , ; : /</code></p></li>
405 /// <li>
406 /// <p>control characters (<code>U+0000-001F</code>, <code>U+007F-009F</code>, <code>U+FFFE-FFFF</code>)</p></li>
407 /// <li>
408 /// <p>surrogates (<code>U+D800-DFFF</code>)</p></li>
409 /// <li>
410 /// <p>invalid characters (<code> U+10FFFF</code>)</p></li>
411 /// </ul>
412 /// <p>To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.</p>
413 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
414 &self.name
415 }
416 /// <p>The string that contains the JSON input data for the execution, for example:</p>
417 /// <p><code>"{\"first_name\" : \"Alejandro\"}"</code></p><note>
418 /// <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"{}"</code></p>
419 /// </note>
420 /// <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p>
421 pub fn input(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
422 self.input = ::std::option::Option::Some(input.into());
423 self
424 }
425 /// <p>The string that contains the JSON input data for the execution, for example:</p>
426 /// <p><code>"{\"first_name\" : \"Alejandro\"}"</code></p><note>
427 /// <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"{}"</code></p>
428 /// </note>
429 /// <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p>
430 pub fn set_input(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
431 self.input = input;
432 self
433 }
434 /// <p>The string that contains the JSON input data for the execution, for example:</p>
435 /// <p><code>"{\"first_name\" : \"Alejandro\"}"</code></p><note>
436 /// <p>If you don't include any JSON input data, you still must include the two braces, for example: <code>"{}"</code></p>
437 /// </note>
438 /// <p>Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.</p>
439 pub fn get_input(&self) -> &::std::option::Option<::std::string::String> {
440 &self.input
441 }
442 /// <p>Passes the X-Ray trace header. The trace header can also be passed in the request payload.</p><note>
443 /// <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p>
444 /// </note>
445 pub fn trace_header(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
446 self.trace_header = ::std::option::Option::Some(input.into());
447 self
448 }
449 /// <p>Passes the X-Ray trace header. The trace header can also be passed in the request payload.</p><note>
450 /// <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p>
451 /// </note>
452 pub fn set_trace_header(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
453 self.trace_header = input;
454 self
455 }
456 /// <p>Passes the X-Ray trace header. The trace header can also be passed in the request payload.</p><note>
457 /// <p>For X-Ray traces, all Amazon Web Services services use the <code>X-Amzn-Trace-Id</code> header from the HTTP request. Using the header is the preferred mechanism to identify a trace. <code>StartExecution</code> and <code>StartSyncExecution</code> API operations can also use <code>traceHeader</code> from the body of the request payload. If <b>both</b> sources are provided, Step Functions will use the <b>header value</b> (preferred) over the value in the request body.</p>
458 /// </note>
459 pub fn get_trace_header(&self) -> &::std::option::Option<::std::string::String> {
460 &self.trace_header
461 }
462 /// Consumes the builder and constructs a [`StartExecutionInput`](crate::operation::start_execution::StartExecutionInput).
463 pub fn build(
464 self,
465 ) -> ::std::result::Result<crate::operation::start_execution::StartExecutionInput, ::aws_smithy_types::error::operation::BuildError> {
466 ::std::result::Result::Ok(crate::operation::start_execution::StartExecutionInput {
467 state_machine_arn: self.state_machine_arn,
468 name: self.name,
469 input: self.input,
470 trace_header: self.trace_header,
471 })
472 }
473}
474impl ::std::fmt::Debug for StartExecutionInputBuilder {
475 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
476 let mut formatter = f.debug_struct("StartExecutionInputBuilder");
477 formatter.field("state_machine_arn", &self.state_machine_arn);
478 formatter.field("name", &self.name);
479 formatter.field("input", &"*** Sensitive Data Redacted ***");
480 formatter.field("trace_header", &self.trace_header);
481 formatter.finish()
482 }
483}