rusoto_swf/generated.rs
1// =================================================================
2//
3// * WARNING *
4//
5// This file is generated!
6//
7// Changes made to this file will be overwritten. If changes are
8// required to the generated code, the service_crategen project
9// must be updated to generate the changes.
10//
11// =================================================================
12
13use std::error::Error;
14use std::fmt;
15
16use async_trait::async_trait;
17use rusoto_core::credential::ProvideAwsCredentials;
18use rusoto_core::region;
19use rusoto_core::request::{BufferedHttpResponse, DispatchSignedRequest};
20use rusoto_core::{Client, RusotoError};
21
22use rusoto_core::proto;
23use rusoto_core::request::HttpResponse;
24use rusoto_core::signature::SignedRequest;
25#[allow(unused_imports)]
26use serde::{Deserialize, Serialize};
27
28impl SwfClient {
29 fn new_signed_request(&self, http_method: &str, request_uri: &str) -> SignedRequest {
30 let mut request = SignedRequest::new(http_method, "swf", &self.region, request_uri);
31
32 request.set_content_type("application/x-amz-json-1.0".to_owned());
33
34 request
35 }
36
37 async fn sign_and_dispatch<E>(
38 &self,
39 request: SignedRequest,
40 from_response: fn(BufferedHttpResponse) -> RusotoError<E>,
41 ) -> Result<HttpResponse, RusotoError<E>> {
42 let mut response = self.client.sign_and_dispatch(request).await?;
43 if !response.status.is_success() {
44 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
45 return Err(from_response(response));
46 }
47
48 Ok(response)
49 }
50}
51
52use serde_json;
53/// <p>Unit of work sent to an activity worker.</p>
54#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
55#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
56pub struct ActivityTask {
57 /// <p>The unique ID of the task.</p>
58 #[serde(rename = "activityId")]
59 pub activity_id: String,
60 /// <p>The type of this activity task.</p>
61 #[serde(rename = "activityType")]
62 pub activity_type: ActivityType,
63 /// <p>The inputs provided when the activity task was scheduled. The form of the input is user defined and should be meaningful to the activity implementation.</p>
64 #[serde(rename = "input")]
65 #[serde(skip_serializing_if = "Option::is_none")]
66 pub input: Option<String>,
67 /// <p>The ID of the <code>ActivityTaskStarted</code> event recorded in the history.</p>
68 #[serde(rename = "startedEventId")]
69 pub started_event_id: i64,
70 /// <p>The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.</p>
71 #[serde(rename = "taskToken")]
72 pub task_token: String,
73 /// <p>The workflow execution that started this activity task.</p>
74 #[serde(rename = "workflowExecution")]
75 pub workflow_execution: WorkflowExecution,
76}
77
78/// <p>Provides the details of the <code>ActivityTaskCancelRequested</code> event.</p>
79#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
80#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
81pub struct ActivityTaskCancelRequestedEventAttributes {
82 /// <p>The unique ID of the task.</p>
83 #[serde(rename = "activityId")]
84 pub activity_id: String,
85 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>RequestCancelActivityTask</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
86 #[serde(rename = "decisionTaskCompletedEventId")]
87 pub decision_task_completed_event_id: i64,
88}
89
90/// <p>Provides the details of the <code>ActivityTaskCanceled</code> event.</p>
91#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
92#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
93pub struct ActivityTaskCanceledEventAttributes {
94 /// <p>Details of the cancellation.</p>
95 #[serde(rename = "details")]
96 #[serde(skip_serializing_if = "Option::is_none")]
97 pub details: Option<String>,
98 /// <p>If set, contains the ID of the last <code>ActivityTaskCancelRequested</code> event recorded for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
99 #[serde(rename = "latestCancelRequestedEventId")]
100 #[serde(skip_serializing_if = "Option::is_none")]
101 pub latest_cancel_requested_event_id: Option<i64>,
102 /// <p>The ID of the <code>ActivityTaskScheduled</code> event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
103 #[serde(rename = "scheduledEventId")]
104 pub scheduled_event_id: i64,
105 /// <p>The ID of the <code>ActivityTaskStarted</code> event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
106 #[serde(rename = "startedEventId")]
107 pub started_event_id: i64,
108}
109
110/// <p>Provides the details of the <code>ActivityTaskCompleted</code> event.</p>
111#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
112#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
113pub struct ActivityTaskCompletedEventAttributes {
114 /// <p>The results of the activity task.</p>
115 #[serde(rename = "result")]
116 #[serde(skip_serializing_if = "Option::is_none")]
117 pub result: Option<String>,
118 /// <p>The ID of the <code>ActivityTaskScheduled</code> event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
119 #[serde(rename = "scheduledEventId")]
120 pub scheduled_event_id: i64,
121 /// <p>The ID of the <code>ActivityTaskStarted</code> event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
122 #[serde(rename = "startedEventId")]
123 pub started_event_id: i64,
124}
125
126/// <p>Provides the details of the <code>ActivityTaskFailed</code> event.</p>
127#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
128#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
129pub struct ActivityTaskFailedEventAttributes {
130 /// <p>The details of the failure.</p>
131 #[serde(rename = "details")]
132 #[serde(skip_serializing_if = "Option::is_none")]
133 pub details: Option<String>,
134 /// <p>The reason provided for the failure.</p>
135 #[serde(rename = "reason")]
136 #[serde(skip_serializing_if = "Option::is_none")]
137 pub reason: Option<String>,
138 /// <p>The ID of the <code>ActivityTaskScheduled</code> event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
139 #[serde(rename = "scheduledEventId")]
140 pub scheduled_event_id: i64,
141 /// <p>The ID of the <code>ActivityTaskStarted</code> event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
142 #[serde(rename = "startedEventId")]
143 pub started_event_id: i64,
144}
145
146/// <p>Provides the details of the <code>ActivityTaskScheduled</code> event.</p>
147#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
148#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
149pub struct ActivityTaskScheduledEventAttributes {
150 /// <p>The unique ID of the activity task.</p>
151 #[serde(rename = "activityId")]
152 pub activity_id: String,
153 /// <p>The type of the activity task.</p>
154 #[serde(rename = "activityType")]
155 pub activity_type: ActivityType,
156 /// <p>Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.</p>
157 #[serde(rename = "control")]
158 #[serde(skip_serializing_if = "Option::is_none")]
159 pub control: Option<String>,
160 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
161 #[serde(rename = "decisionTaskCompletedEventId")]
162 pub decision_task_completed_event_id: i64,
163 /// <p>The maximum time before which the worker processing this task must report progress by calling <a>RecordActivityTaskHeartbeat</a>. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or return a result, it is ignored.</p>
164 #[serde(rename = "heartbeatTimeout")]
165 #[serde(skip_serializing_if = "Option::is_none")]
166 pub heartbeat_timeout: Option<String>,
167 /// <p>The input provided to the activity task.</p>
168 #[serde(rename = "input")]
169 #[serde(skip_serializing_if = "Option::is_none")]
170 pub input: Option<String>,
171 /// <p>The maximum amount of time for this activity task.</p>
172 #[serde(rename = "scheduleToCloseTimeout")]
173 #[serde(skip_serializing_if = "Option::is_none")]
174 pub schedule_to_close_timeout: Option<String>,
175 /// <p>The maximum amount of time the activity task can wait to be assigned to a worker.</p>
176 #[serde(rename = "scheduleToStartTimeout")]
177 #[serde(skip_serializing_if = "Option::is_none")]
178 pub schedule_to_start_timeout: Option<String>,
179 /// <p>The maximum amount of time a worker may take to process the activity task.</p>
180 #[serde(rename = "startToCloseTimeout")]
181 #[serde(skip_serializing_if = "Option::is_none")]
182 pub start_to_close_timeout: Option<String>,
183 /// <p>The task list in which the activity task has been scheduled.</p>
184 #[serde(rename = "taskList")]
185 pub task_list: TaskList,
186 /// <p> The priority to assign to the scheduled activity task. If set, this overrides any default priority value that was assigned when the activity type was registered.</p> <p>Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
187 #[serde(rename = "taskPriority")]
188 #[serde(skip_serializing_if = "Option::is_none")]
189 pub task_priority: Option<String>,
190}
191
192/// <p>Provides the details of the <code>ActivityTaskStarted</code> event.</p>
193#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
194#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
195pub struct ActivityTaskStartedEventAttributes {
196 /// <p>Identity of the worker that was assigned this task. This aids diagnostics when problems arise. The form of this identity is user defined.</p>
197 #[serde(rename = "identity")]
198 #[serde(skip_serializing_if = "Option::is_none")]
199 pub identity: Option<String>,
200 /// <p>The ID of the <code>ActivityTaskScheduled</code> event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
201 #[serde(rename = "scheduledEventId")]
202 pub scheduled_event_id: i64,
203}
204
205/// <p>Status information about an activity task.</p>
206#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
207#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
208pub struct ActivityTaskStatus {
209 /// <p>Set to <code>true</code> if cancellation of the task is requested.</p>
210 #[serde(rename = "cancelRequested")]
211 pub cancel_requested: bool,
212}
213
214/// <p>Provides the details of the <code>ActivityTaskTimedOut</code> event.</p>
215#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
216#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
217pub struct ActivityTaskTimedOutEventAttributes {
218 /// <p>Contains the content of the <code>details</code> parameter for the last call made by the activity to <code>RecordActivityTaskHeartbeat</code>.</p>
219 #[serde(rename = "details")]
220 #[serde(skip_serializing_if = "Option::is_none")]
221 pub details: Option<String>,
222 /// <p>The ID of the <code>ActivityTaskScheduled</code> event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
223 #[serde(rename = "scheduledEventId")]
224 pub scheduled_event_id: i64,
225 /// <p>The ID of the <code>ActivityTaskStarted</code> event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
226 #[serde(rename = "startedEventId")]
227 pub started_event_id: i64,
228 /// <p>The type of the timeout that caused this event.</p>
229 #[serde(rename = "timeoutType")]
230 pub timeout_type: String,
231}
232
233/// <p>Represents an activity type.</p>
234#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
235pub struct ActivityType {
236 /// <p><p>The name of this activity.</p> <note> <p>The combination of activity type name and version must be unique within a domain.</p> </note></p>
237 #[serde(rename = "name")]
238 pub name: String,
239 /// <p><p>The version of this activity.</p> <note> <p>The combination of activity type name and version must be unique with in a domain.</p> </note></p>
240 #[serde(rename = "version")]
241 pub version: String,
242}
243
244/// <p>Configuration settings registered with the activity type.</p>
245#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
246#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
247pub struct ActivityTypeConfiguration {
248 /// <p> The default maximum time, in seconds, before which a worker processing a task must report progress by calling <a>RecordActivityTaskHeartbeat</a>.</p> <p>You can specify this value only when <i>registering</i> an activity type. The registered default value can be overridden when you schedule a task through the <code>ScheduleActivityTask</code> <a>Decision</a>. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an <code>UnknownResource</code> fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
249 #[serde(rename = "defaultTaskHeartbeatTimeout")]
250 #[serde(skip_serializing_if = "Option::is_none")]
251 pub default_task_heartbeat_timeout: Option<String>,
252 /// <p> The default task list specified for this activity type at registration. This default is used if a task list isn't provided when a task is scheduled through the <code>ScheduleActivityTask</code> <a>Decision</a>. You can override the default registered task list when scheduling a task through the <code>ScheduleActivityTask</code> <a>Decision</a>.</p>
253 #[serde(rename = "defaultTaskList")]
254 #[serde(skip_serializing_if = "Option::is_none")]
255 pub default_task_list: Option<TaskList>,
256 /// <p> The default task priority for tasks of this activity type, specified at registration. If not set, then <code>0</code> is used as the default priority. This default can be overridden when scheduling an activity task.</p> <p>Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
257 #[serde(rename = "defaultTaskPriority")]
258 #[serde(skip_serializing_if = "Option::is_none")]
259 pub default_task_priority: Option<String>,
260 /// <p> The default maximum duration, specified when registering the activity type, for tasks of this activity type. You can override this default when scheduling a task through the <code>ScheduleActivityTask</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
261 #[serde(rename = "defaultTaskScheduleToCloseTimeout")]
262 #[serde(skip_serializing_if = "Option::is_none")]
263 pub default_task_schedule_to_close_timeout: Option<String>,
264 /// <p> The default maximum duration, specified when registering the activity type, that a task of an activity type can wait before being assigned to a worker. You can override this default when scheduling a task through the <code>ScheduleActivityTask</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
265 #[serde(rename = "defaultTaskScheduleToStartTimeout")]
266 #[serde(skip_serializing_if = "Option::is_none")]
267 pub default_task_schedule_to_start_timeout: Option<String>,
268 /// <p> The default maximum duration for tasks of an activity type specified when registering the activity type. You can override this default when scheduling a task through the <code>ScheduleActivityTask</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
269 #[serde(rename = "defaultTaskStartToCloseTimeout")]
270 #[serde(skip_serializing_if = "Option::is_none")]
271 pub default_task_start_to_close_timeout: Option<String>,
272}
273
274/// <p>Detailed information about an activity type.</p>
275#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
276#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
277pub struct ActivityTypeDetail {
278 /// <p>The configuration settings registered with the activity type.</p>
279 #[serde(rename = "configuration")]
280 pub configuration: ActivityTypeConfiguration,
281 /// <p><p>General information about the activity type.</p> <p>The status of activity type (returned in the ActivityTypeInfo structure) can be one of the following.</p> <ul> <li> <p> <code>REGISTERED</code> – The type is registered and available. Workers supporting this type should be running. </p> </li> <li> <p> <code>DEPRECATED</code> – The type was deprecated using <a>DeprecateActivityType</a>, but is still in use. You should keep workers supporting this type running. You cannot create new tasks of this type. </p> </li> </ul></p>
282 #[serde(rename = "typeInfo")]
283 pub type_info: ActivityTypeInfo,
284}
285
286/// <p>Detailed information about an activity type.</p>
287#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
288#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
289pub struct ActivityTypeInfo {
290 /// <p>The <a>ActivityType</a> type structure representing the activity type.</p>
291 #[serde(rename = "activityType")]
292 pub activity_type: ActivityType,
293 /// <p>The date and time this activity type was created through <a>RegisterActivityType</a>.</p>
294 #[serde(rename = "creationDate")]
295 pub creation_date: f64,
296 /// <p>If DEPRECATED, the date and time <a>DeprecateActivityType</a> was called.</p>
297 #[serde(rename = "deprecationDate")]
298 #[serde(skip_serializing_if = "Option::is_none")]
299 pub deprecation_date: Option<f64>,
300 /// <p>The description of the activity type provided in <a>RegisterActivityType</a>.</p>
301 #[serde(rename = "description")]
302 #[serde(skip_serializing_if = "Option::is_none")]
303 pub description: Option<String>,
304 /// <p>The current status of the activity type.</p>
305 #[serde(rename = "status")]
306 pub status: String,
307}
308
309/// <p>Contains a paginated list of activity type information structures.</p>
310#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
311#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
312pub struct ActivityTypeInfos {
313 /// <p>If a <code>NextPageToken</code> was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in <code>nextPageToken</code>. Keep all other arguments unchanged.</p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call.</p>
314 #[serde(rename = "nextPageToken")]
315 #[serde(skip_serializing_if = "Option::is_none")]
316 pub next_page_token: Option<String>,
317 /// <p>List of activity type information.</p>
318 #[serde(rename = "typeInfos")]
319 pub type_infos: Vec<ActivityTypeInfo>,
320}
321
322/// <p>Provides the details of the <code>CancelTimer</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
323#[derive(Clone, Debug, Default, PartialEq, Serialize)]
324#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
325pub struct CancelTimerDecisionAttributes {
326 /// <p> The unique ID of the timer to cancel.</p>
327 #[serde(rename = "timerId")]
328 pub timer_id: String,
329}
330
331/// <p>Provides the details of the <code>CancelTimerFailed</code> event.</p>
332#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
333#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
334pub struct CancelTimerFailedEventAttributes {
335 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
336 #[serde(rename = "cause")]
337 pub cause: String,
338 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>CancelTimer</code> decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
339 #[serde(rename = "decisionTaskCompletedEventId")]
340 pub decision_task_completed_event_id: i64,
341 /// <p>The timerId provided in the <code>CancelTimer</code> decision that failed.</p>
342 #[serde(rename = "timerId")]
343 pub timer_id: String,
344}
345
346/// <p>Provides the details of the <code>CancelWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
347#[derive(Clone, Debug, Default, PartialEq, Serialize)]
348#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
349pub struct CancelWorkflowExecutionDecisionAttributes {
350 /// <p> Details of the cancellation.</p>
351 #[serde(rename = "details")]
352 #[serde(skip_serializing_if = "Option::is_none")]
353 pub details: Option<String>,
354}
355
356/// <p>Provides the details of the <code>CancelWorkflowExecutionFailed</code> event.</p>
357#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
358#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
359pub struct CancelWorkflowExecutionFailedEventAttributes {
360 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
361 #[serde(rename = "cause")]
362 pub cause: String,
363 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>CancelWorkflowExecution</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
364 #[serde(rename = "decisionTaskCompletedEventId")]
365 pub decision_task_completed_event_id: i64,
366}
367
368/// <p>Provide details of the <code>ChildWorkflowExecutionCanceled</code> event.</p>
369#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
370#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
371pub struct ChildWorkflowExecutionCanceledEventAttributes {
372 /// <p>Details of the cancellation (if provided).</p>
373 #[serde(rename = "details")]
374 #[serde(skip_serializing_if = "Option::is_none")]
375 pub details: Option<String>,
376 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
377 #[serde(rename = "initiatedEventId")]
378 pub initiated_event_id: i64,
379 /// <p>The ID of the <code>ChildWorkflowExecutionStarted</code> event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
380 #[serde(rename = "startedEventId")]
381 pub started_event_id: i64,
382 /// <p>The child workflow execution that was canceled.</p>
383 #[serde(rename = "workflowExecution")]
384 pub workflow_execution: WorkflowExecution,
385 /// <p>The type of the child workflow execution.</p>
386 #[serde(rename = "workflowType")]
387 pub workflow_type: WorkflowType,
388}
389
390/// <p>Provides the details of the <code>ChildWorkflowExecutionCompleted</code> event.</p>
391#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
392#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
393pub struct ChildWorkflowExecutionCompletedEventAttributes {
394 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
395 #[serde(rename = "initiatedEventId")]
396 pub initiated_event_id: i64,
397 /// <p>The result of the child workflow execution.</p>
398 #[serde(rename = "result")]
399 #[serde(skip_serializing_if = "Option::is_none")]
400 pub result: Option<String>,
401 /// <p>The ID of the <code>ChildWorkflowExecutionStarted</code> event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
402 #[serde(rename = "startedEventId")]
403 pub started_event_id: i64,
404 /// <p>The child workflow execution that was completed.</p>
405 #[serde(rename = "workflowExecution")]
406 pub workflow_execution: WorkflowExecution,
407 /// <p>The type of the child workflow execution.</p>
408 #[serde(rename = "workflowType")]
409 pub workflow_type: WorkflowType,
410}
411
412/// <p>Provides the details of the <code>ChildWorkflowExecutionFailed</code> event.</p>
413#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
414#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
415pub struct ChildWorkflowExecutionFailedEventAttributes {
416 /// <p>The details of the failure (if provided).</p>
417 #[serde(rename = "details")]
418 #[serde(skip_serializing_if = "Option::is_none")]
419 pub details: Option<String>,
420 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
421 #[serde(rename = "initiatedEventId")]
422 pub initiated_event_id: i64,
423 /// <p>The reason for the failure (if provided).</p>
424 #[serde(rename = "reason")]
425 #[serde(skip_serializing_if = "Option::is_none")]
426 pub reason: Option<String>,
427 /// <p>The ID of the <code>ChildWorkflowExecutionStarted</code> event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
428 #[serde(rename = "startedEventId")]
429 pub started_event_id: i64,
430 /// <p>The child workflow execution that failed.</p>
431 #[serde(rename = "workflowExecution")]
432 pub workflow_execution: WorkflowExecution,
433 /// <p>The type of the child workflow execution.</p>
434 #[serde(rename = "workflowType")]
435 pub workflow_type: WorkflowType,
436}
437
438/// <p>Provides the details of the <code>ChildWorkflowExecutionStarted</code> event.</p>
439#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
440#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
441pub struct ChildWorkflowExecutionStartedEventAttributes {
442 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
443 #[serde(rename = "initiatedEventId")]
444 pub initiated_event_id: i64,
445 /// <p>The child workflow execution that was started.</p>
446 #[serde(rename = "workflowExecution")]
447 pub workflow_execution: WorkflowExecution,
448 /// <p>The type of the child workflow execution.</p>
449 #[serde(rename = "workflowType")]
450 pub workflow_type: WorkflowType,
451}
452
453/// <p>Provides the details of the <code>ChildWorkflowExecutionTerminated</code> event.</p>
454#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
455#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
456pub struct ChildWorkflowExecutionTerminatedEventAttributes {
457 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
458 #[serde(rename = "initiatedEventId")]
459 pub initiated_event_id: i64,
460 /// <p>The ID of the <code>ChildWorkflowExecutionStarted</code> event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
461 #[serde(rename = "startedEventId")]
462 pub started_event_id: i64,
463 /// <p>The child workflow execution that was terminated.</p>
464 #[serde(rename = "workflowExecution")]
465 pub workflow_execution: WorkflowExecution,
466 /// <p>The type of the child workflow execution.</p>
467 #[serde(rename = "workflowType")]
468 pub workflow_type: WorkflowType,
469}
470
471/// <p>Provides the details of the <code>ChildWorkflowExecutionTimedOut</code> event.</p>
472#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
473#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
474pub struct ChildWorkflowExecutionTimedOutEventAttributes {
475 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
476 #[serde(rename = "initiatedEventId")]
477 pub initiated_event_id: i64,
478 /// <p>The ID of the <code>ChildWorkflowExecutionStarted</code> event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
479 #[serde(rename = "startedEventId")]
480 pub started_event_id: i64,
481 /// <p>The type of the timeout that caused the child workflow execution to time out.</p>
482 #[serde(rename = "timeoutType")]
483 pub timeout_type: String,
484 /// <p>The child workflow execution that timed out.</p>
485 #[serde(rename = "workflowExecution")]
486 pub workflow_execution: WorkflowExecution,
487 /// <p>The type of the child workflow execution.</p>
488 #[serde(rename = "workflowType")]
489 pub workflow_type: WorkflowType,
490}
491
492/// <p>Used to filter the closed workflow executions in visibility APIs by their close status.</p>
493#[derive(Clone, Debug, Default, PartialEq, Serialize)]
494#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
495pub struct CloseStatusFilter {
496 /// <p> The close status that must match the close status of an execution for it to meet the criteria of this filter.</p>
497 #[serde(rename = "status")]
498 pub status: String,
499}
500
501/// <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
502#[derive(Clone, Debug, Default, PartialEq, Serialize)]
503#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
504pub struct CompleteWorkflowExecutionDecisionAttributes {
505 /// <p>The result of the workflow execution. The form of the result is implementation defined.</p>
506 #[serde(rename = "result")]
507 #[serde(skip_serializing_if = "Option::is_none")]
508 pub result: Option<String>,
509}
510
511/// <p>Provides the details of the <code>CompleteWorkflowExecutionFailed</code> event.</p>
512#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
513#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
514pub struct CompleteWorkflowExecutionFailedEventAttributes {
515 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
516 #[serde(rename = "cause")]
517 pub cause: String,
518 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>CompleteWorkflowExecution</code> decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
519 #[serde(rename = "decisionTaskCompletedEventId")]
520 pub decision_task_completed_event_id: i64,
521}
522
523/// <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tag</code> – A tag used to identify the workflow execution</p> </li> <li> <p> <code>taskList</code> – String constraint. The key is <code>swf:taskList.name</code>.</p> </li> <li> <p> <code>workflowType.version</code> – String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
524#[derive(Clone, Debug, Default, PartialEq, Serialize)]
525#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
526pub struct ContinueAsNewWorkflowExecutionDecisionAttributes {
527 /// <p><p>If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul> <note> <p>A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.</p> </note></p>
528 #[serde(rename = "childPolicy")]
529 #[serde(skip_serializing_if = "Option::is_none")]
530 pub child_policy: Option<String>,
531 /// <p><p>If set, specifies the total duration for this workflow execution. This overrides the <code>defaultExecutionStartToCloseTimeout</code> specified when registering the workflow type.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
532 #[serde(rename = "executionStartToCloseTimeout")]
533 #[serde(skip_serializing_if = "Option::is_none")]
534 pub execution_start_to_close_timeout: Option<String>,
535 /// <p>The input provided to the new workflow execution.</p>
536 #[serde(rename = "input")]
537 #[serde(skip_serializing_if = "Option::is_none")]
538 pub input: Option<String>,
539 /// <p>The IAM role to attach to the new (continued) execution.</p>
540 #[serde(rename = "lambdaRole")]
541 #[serde(skip_serializing_if = "Option::is_none")]
542 pub lambda_role: Option<String>,
543 /// <p>The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> and specifying a <a>TagFilter</a>.</p>
544 #[serde(rename = "tagList")]
545 #[serde(skip_serializing_if = "Option::is_none")]
546 pub tag_list: Option<Vec<String>>,
547 /// <p>The task list to use for the decisions of the new (continued) workflow execution.</p>
548 #[serde(rename = "taskList")]
549 #[serde(skip_serializing_if = "Option::is_none")]
550 pub task_list: Option<TaskList>,
551 /// <p> The task priority that, if set, specifies the priority for the decision tasks for this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
552 #[serde(rename = "taskPriority")]
553 #[serde(skip_serializing_if = "Option::is_none")]
554 pub task_priority: Option<String>,
555 /// <p><p>Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the <code>defaultTaskStartToCloseTimout</code> specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
556 #[serde(rename = "taskStartToCloseTimeout")]
557 #[serde(skip_serializing_if = "Option::is_none")]
558 pub task_start_to_close_timeout: Option<String>,
559 /// <p>The version of the workflow to start.</p>
560 #[serde(rename = "workflowTypeVersion")]
561 #[serde(skip_serializing_if = "Option::is_none")]
562 pub workflow_type_version: Option<String>,
563}
564
565/// <p>Provides the details of the <code>ContinueAsNewWorkflowExecutionFailed</code> event.</p>
566#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
567#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
568pub struct ContinueAsNewWorkflowExecutionFailedEventAttributes {
569 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
570 #[serde(rename = "cause")]
571 pub cause: String,
572 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>ContinueAsNewWorkflowExecution</code> decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
573 #[serde(rename = "decisionTaskCompletedEventId")]
574 pub decision_task_completed_event_id: i64,
575}
576
577#[derive(Clone, Debug, Default, PartialEq, Serialize)]
578#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
579pub struct CountClosedWorkflowExecutionsInput {
580 /// <p><p>If specified, only workflow executions that match this close status are counted. This filter has an affect only if <code>executionStatus</code> is specified as <code>CLOSED</code>.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
581 #[serde(rename = "closeStatusFilter")]
582 #[serde(skip_serializing_if = "Option::is_none")]
583 pub close_status_filter: Option<CloseStatusFilter>,
584 /// <p><p>If specified, only workflow executions that meet the close time criteria of the filter are counted.</p> <note> <p> <code>startTimeFilter</code> and <code>closeTimeFilter</code> are mutually exclusive. You must specify one of these in a request but not both.</p> </note></p>
585 #[serde(rename = "closeTimeFilter")]
586 #[serde(skip_serializing_if = "Option::is_none")]
587 pub close_time_filter: Option<ExecutionTimeFilter>,
588 /// <p>The name of the domain containing the workflow executions to count.</p>
589 #[serde(rename = "domain")]
590 pub domain: String,
591 /// <p><p>If specified, only workflow executions matching the <code>WorkflowId</code> in the filter are counted.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
592 #[serde(rename = "executionFilter")]
593 #[serde(skip_serializing_if = "Option::is_none")]
594 pub execution_filter: Option<WorkflowExecutionFilter>,
595 /// <p><p>If specified, only workflow executions that meet the start time criteria of the filter are counted.</p> <note> <p> <code>startTimeFilter</code> and <code>closeTimeFilter</code> are mutually exclusive. You must specify one of these in a request but not both.</p> </note></p>
596 #[serde(rename = "startTimeFilter")]
597 #[serde(skip_serializing_if = "Option::is_none")]
598 pub start_time_filter: Option<ExecutionTimeFilter>,
599 /// <p><p>If specified, only executions that have a tag that matches the filter are counted.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
600 #[serde(rename = "tagFilter")]
601 #[serde(skip_serializing_if = "Option::is_none")]
602 pub tag_filter: Option<TagFilter>,
603 /// <p><p>If specified, indicates the type of the workflow executions to be counted.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
604 #[serde(rename = "typeFilter")]
605 #[serde(skip_serializing_if = "Option::is_none")]
606 pub type_filter: Option<WorkflowTypeFilter>,
607}
608
609#[derive(Clone, Debug, Default, PartialEq, Serialize)]
610#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
611pub struct CountOpenWorkflowExecutionsInput {
612 /// <p>The name of the domain containing the workflow executions to count.</p>
613 #[serde(rename = "domain")]
614 pub domain: String,
615 /// <p><p>If specified, only workflow executions matching the <code>WorkflowId</code> in the filter are counted.</p> <note> <p> <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
616 #[serde(rename = "executionFilter")]
617 #[serde(skip_serializing_if = "Option::is_none")]
618 pub execution_filter: Option<WorkflowExecutionFilter>,
619 /// <p>Specifies the start time criteria that workflow executions must meet in order to be counted.</p>
620 #[serde(rename = "startTimeFilter")]
621 pub start_time_filter: ExecutionTimeFilter,
622 /// <p><p>If specified, only executions that have a tag that matches the filter are counted.</p> <note> <p> <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
623 #[serde(rename = "tagFilter")]
624 #[serde(skip_serializing_if = "Option::is_none")]
625 pub tag_filter: Option<TagFilter>,
626 /// <p><p>Specifies the type of the workflow executions to be counted.</p> <note> <p> <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
627 #[serde(rename = "typeFilter")]
628 #[serde(skip_serializing_if = "Option::is_none")]
629 pub type_filter: Option<WorkflowTypeFilter>,
630}
631
632#[derive(Clone, Debug, Default, PartialEq, Serialize)]
633#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
634pub struct CountPendingActivityTasksInput {
635 /// <p>The name of the domain that contains the task list.</p>
636 #[serde(rename = "domain")]
637 pub domain: String,
638 /// <p>The name of the task list.</p>
639 #[serde(rename = "taskList")]
640 pub task_list: TaskList,
641}
642
643#[derive(Clone, Debug, Default, PartialEq, Serialize)]
644#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
645pub struct CountPendingDecisionTasksInput {
646 /// <p>The name of the domain that contains the task list.</p>
647 #[serde(rename = "domain")]
648 pub domain: String,
649 /// <p>The name of the task list.</p>
650 #[serde(rename = "taskList")]
651 pub task_list: TaskList,
652}
653
654/// <p><p>Specifies a decision made by the decider. A decision can be one of these types:</p> <ul> <li> <p> <code>CancelTimer</code> – Cancels a previously started timer and records a <code>TimerCanceled</code> event in the history.</p> </li> <li> <p> <code>CancelWorkflowExecution</code> – Closes the workflow execution and records a <code>WorkflowExecutionCanceled</code> event in the history.</p> </li> <li> <p> <code>CompleteWorkflowExecution</code> – Closes the workflow execution and records a <code>WorkflowExecutionCompleted</code> event in the history .</p> </li> <li> <p> <code>ContinueAsNewWorkflowExecution</code> – Closes the workflow execution and starts a new workflow execution of the same type using the same workflow ID and a unique run Id. A <code>WorkflowExecutionContinuedAsNew</code> event is recorded in the history.</p> </li> <li> <p> <code>FailWorkflowExecution</code> – Closes the workflow execution and records a <code>WorkflowExecutionFailed</code> event in the history.</p> </li> <li> <p> <code>RecordMarker</code> – Records a <code>MarkerRecorded</code> event in the history. Markers can be used for adding custom information in the history for instance to let deciders know that they don't need to look at the history beyond the marker event.</p> </li> <li> <p> <code>RequestCancelActivityTask</code> – Attempts to cancel a previously scheduled activity task. If the activity task was scheduled but has not been assigned to a worker, then it is canceled. If the activity task was already assigned to a worker, then the worker is informed that cancellation has been requested in the response to <a>RecordActivityTaskHeartbeat</a>.</p> </li> <li> <p> <code>RequestCancelExternalWorkflowExecution</code> – Requests that a request be made to cancel the specified external workflow execution and records a <code>RequestCancelExternalWorkflowExecutionInitiated</code> event in the history.</p> </li> <li> <p> <code>ScheduleActivityTask</code> – Schedules an activity task.</p> </li> <li> <p> <code>SignalExternalWorkflowExecution</code> – Requests a signal to be delivered to the specified external workflow execution and records a <code>SignalExternalWorkflowExecutionInitiated</code> event in the history.</p> </li> <li> <p> <code>StartChildWorkflowExecution</code> – Requests that a child workflow execution be started and records a <code>StartChildWorkflowExecutionInitiated</code> event in the history. The child workflow execution is a separate workflow execution with its own history.</p> </li> <li> <p> <code>StartTimer</code> – Starts a timer for this workflow execution and records a <code>TimerStarted</code> event in the history. This timer fires after the specified delay and record a <code>TimerFired</code> event.</p> </li> </ul> <p> <b>Access Control</b> </p> <p>If you grant permission to use <code>RespondDecisionTaskCompleted</code>, you can use IAM policies to express permissions for the list of decisions returned by this action as if they were members of the API. Treating decisions as a pseudo API maintains a uniform conceptual model and helps keep policies readable. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> <p> <b>Decision Failure</b> </p> <p>Decisions can fail for several reasons</p> <ul> <li> <p>The ordering of decisions should follow a logical flow. Some decisions might not make sense in the current context of the workflow execution and therefore fails.</p> </li> <li> <p>A limit on your account was reached.</p> </li> <li> <p>The decision lacks sufficient permissions.</p> </li> </ul> <p>One of the following events might be added to the history to indicate an error. The event attribute's <code>cause</code> parameter indicates the cause. If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> <ul> <li> <p> <code>ScheduleActivityTaskFailed</code> – A <code>ScheduleActivityTask</code> decision failed. This could happen if the activity type specified in the decision isn't registered, is in a deprecated state, or the decision isn't properly configured.</p> </li> <li> <p> <code>RequestCancelActivityTaskFailed</code> – A <code>RequestCancelActivityTask</code> decision failed. This could happen if there is no open activity task with the specified activityId.</p> </li> <li> <p> <code>StartTimerFailed</code> – A <code>StartTimer</code> decision failed. This could happen if there is another open timer with the same timerId.</p> </li> <li> <p> <code>CancelTimerFailed</code> – A <code>CancelTimer</code> decision failed. This could happen if there is no open timer with the specified timerId.</p> </li> <li> <p> <code>StartChildWorkflowExecutionFailed</code> – A <code>StartChildWorkflowExecution</code> decision failed. This could happen if the workflow type specified isn't registered, is deprecated, or the decision isn't properly configured.</p> </li> <li> <p> <code>SignalExternalWorkflowExecutionFailed</code> – A <code>SignalExternalWorkflowExecution</code> decision failed. This could happen if the <code>workflowID</code> specified in the decision was incorrect.</p> </li> <li> <p> <code>RequestCancelExternalWorkflowExecutionFailed</code> – A <code>RequestCancelExternalWorkflowExecution</code> decision failed. This could happen if the <code>workflowID</code> specified in the decision was incorrect.</p> </li> <li> <p> <code>CancelWorkflowExecutionFailed</code> – A <code>CancelWorkflowExecution</code> decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.</p> </li> <li> <p> <code>CompleteWorkflowExecutionFailed</code> – A <code>CompleteWorkflowExecution</code> decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.</p> </li> <li> <p> <code>ContinueAsNewWorkflowExecutionFailed</code> – A <code>ContinueAsNewWorkflowExecution</code> decision failed. This could happen if there is an unhandled decision task pending in the workflow execution or the ContinueAsNewWorkflowExecution decision was not configured correctly.</p> </li> <li> <p> <code>FailWorkflowExecutionFailed</code> – A <code>FailWorkflowExecution</code> decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.</p> </li> </ul> <p>The preceding error events might occur due to an error in the decider logic, which might put the workflow execution in an unstable state The cause field in the event structure for the error event indicates the cause of the error.</p> <note> <p>A workflow execution may be closed by the decider by returning one of the following decisions when completing a decision task: <code>CompleteWorkflowExecution</code>, <code>FailWorkflowExecution</code>, <code>CancelWorkflowExecution</code> and <code>ContinueAsNewWorkflowExecution</code>. An <code>UnhandledDecision</code> fault is returned if a workflow closing decision is specified and a signal or activity event had been added to the history while the decision task was being performed by the decider. Unlike the above situations which are logic issues, this fault is always possible because of race conditions in a distributed system. The right action here is to call <a>RespondDecisionTaskCompleted</a> without any decisions. This would result in another decision task with these new events included in the history. The decider should handle the new events and may decide to close the workflow execution.</p> </note> <p> <b>How to Code a Decision</b> </p> <p>You code a decision by first setting the decision type field to one of the above decision values, and then set the corresponding attributes field shown below:</p> <ul> <li> <p> <code> <a>ScheduleActivityTaskDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>RequestCancelActivityTaskDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>CompleteWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>FailWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>CancelWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>ContinueAsNewWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>RecordMarkerDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>StartTimerDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>CancelTimerDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>SignalExternalWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>RequestCancelExternalWorkflowExecutionDecisionAttributes</a> </code> </p> </li> <li> <p> <code> <a>StartChildWorkflowExecutionDecisionAttributes</a> </code> </p> </li> </ul></p>
655#[derive(Clone, Debug, Default, PartialEq, Serialize)]
656#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
657pub struct Decision {
658 /// <p>Provides the details of the <code>CancelTimer</code> decision. It isn't set for other decision types.</p>
659 #[serde(rename = "cancelTimerDecisionAttributes")]
660 #[serde(skip_serializing_if = "Option::is_none")]
661 pub cancel_timer_decision_attributes: Option<CancelTimerDecisionAttributes>,
662 /// <p>Provides the details of the <code>CancelWorkflowExecution</code> decision. It isn't set for other decision types.</p>
663 #[serde(rename = "cancelWorkflowExecutionDecisionAttributes")]
664 #[serde(skip_serializing_if = "Option::is_none")]
665 pub cancel_workflow_execution_decision_attributes:
666 Option<CancelWorkflowExecutionDecisionAttributes>,
667 /// <p>Provides the details of the <code>CompleteWorkflowExecution</code> decision. It isn't set for other decision types.</p>
668 #[serde(rename = "completeWorkflowExecutionDecisionAttributes")]
669 #[serde(skip_serializing_if = "Option::is_none")]
670 pub complete_workflow_execution_decision_attributes:
671 Option<CompleteWorkflowExecutionDecisionAttributes>,
672 /// <p>Provides the details of the <code>ContinueAsNewWorkflowExecution</code> decision. It isn't set for other decision types.</p>
673 #[serde(rename = "continueAsNewWorkflowExecutionDecisionAttributes")]
674 #[serde(skip_serializing_if = "Option::is_none")]
675 pub continue_as_new_workflow_execution_decision_attributes:
676 Option<ContinueAsNewWorkflowExecutionDecisionAttributes>,
677 /// <p>Specifies the type of the decision.</p>
678 #[serde(rename = "decisionType")]
679 pub decision_type: String,
680 /// <p>Provides the details of the <code>FailWorkflowExecution</code> decision. It isn't set for other decision types.</p>
681 #[serde(rename = "failWorkflowExecutionDecisionAttributes")]
682 #[serde(skip_serializing_if = "Option::is_none")]
683 pub fail_workflow_execution_decision_attributes:
684 Option<FailWorkflowExecutionDecisionAttributes>,
685 /// <p>Provides the details of the <code>RecordMarker</code> decision. It isn't set for other decision types.</p>
686 #[serde(rename = "recordMarkerDecisionAttributes")]
687 #[serde(skip_serializing_if = "Option::is_none")]
688 pub record_marker_decision_attributes: Option<RecordMarkerDecisionAttributes>,
689 /// <p>Provides the details of the <code>RequestCancelActivityTask</code> decision. It isn't set for other decision types.</p>
690 #[serde(rename = "requestCancelActivityTaskDecisionAttributes")]
691 #[serde(skip_serializing_if = "Option::is_none")]
692 pub request_cancel_activity_task_decision_attributes:
693 Option<RequestCancelActivityTaskDecisionAttributes>,
694 /// <p>Provides the details of the <code>RequestCancelExternalWorkflowExecution</code> decision. It isn't set for other decision types.</p>
695 #[serde(rename = "requestCancelExternalWorkflowExecutionDecisionAttributes")]
696 #[serde(skip_serializing_if = "Option::is_none")]
697 pub request_cancel_external_workflow_execution_decision_attributes:
698 Option<RequestCancelExternalWorkflowExecutionDecisionAttributes>,
699 /// <p>Provides the details of the <code>ScheduleActivityTask</code> decision. It isn't set for other decision types.</p>
700 #[serde(rename = "scheduleActivityTaskDecisionAttributes")]
701 #[serde(skip_serializing_if = "Option::is_none")]
702 pub schedule_activity_task_decision_attributes: Option<ScheduleActivityTaskDecisionAttributes>,
703 /// <p>Provides the details of the <code>ScheduleLambdaFunction</code> decision. It isn't set for other decision types.</p>
704 #[serde(rename = "scheduleLambdaFunctionDecisionAttributes")]
705 #[serde(skip_serializing_if = "Option::is_none")]
706 pub schedule_lambda_function_decision_attributes:
707 Option<ScheduleLambdaFunctionDecisionAttributes>,
708 /// <p>Provides the details of the <code>SignalExternalWorkflowExecution</code> decision. It isn't set for other decision types.</p>
709 #[serde(rename = "signalExternalWorkflowExecutionDecisionAttributes")]
710 #[serde(skip_serializing_if = "Option::is_none")]
711 pub signal_external_workflow_execution_decision_attributes:
712 Option<SignalExternalWorkflowExecutionDecisionAttributes>,
713 /// <p>Provides the details of the <code>StartChildWorkflowExecution</code> decision. It isn't set for other decision types.</p>
714 #[serde(rename = "startChildWorkflowExecutionDecisionAttributes")]
715 #[serde(skip_serializing_if = "Option::is_none")]
716 pub start_child_workflow_execution_decision_attributes:
717 Option<StartChildWorkflowExecutionDecisionAttributes>,
718 /// <p>Provides the details of the <code>StartTimer</code> decision. It isn't set for other decision types.</p>
719 #[serde(rename = "startTimerDecisionAttributes")]
720 #[serde(skip_serializing_if = "Option::is_none")]
721 pub start_timer_decision_attributes: Option<StartTimerDecisionAttributes>,
722}
723
724/// <p>A structure that represents a decision task. Decision tasks are sent to deciders in order for them to make decisions.</p>
725#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
726#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
727pub struct DecisionTask {
728 /// <p>A paginated list of history events of the workflow execution. The decider uses this during the processing of the decision task.</p>
729 #[serde(rename = "events")]
730 pub events: Vec<HistoryEvent>,
731 /// <p>If a <code>NextPageToken</code> was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in <code>nextPageToken</code>. Keep all other arguments unchanged.</p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call.</p>
732 #[serde(rename = "nextPageToken")]
733 #[serde(skip_serializing_if = "Option::is_none")]
734 pub next_page_token: Option<String>,
735 /// <p>The ID of the DecisionTaskStarted event of the previous decision task of this workflow execution that was processed by the decider. This can be used to determine the events in the history new since the last decision task received by the decider.</p>
736 #[serde(rename = "previousStartedEventId")]
737 #[serde(skip_serializing_if = "Option::is_none")]
738 pub previous_started_event_id: Option<i64>,
739 /// <p>The ID of the <code>DecisionTaskStarted</code> event recorded in the history.</p>
740 #[serde(rename = "startedEventId")]
741 pub started_event_id: i64,
742 /// <p>The opaque string used as a handle on the task. This token is used by workers to communicate progress and response information back to the system about the task.</p>
743 #[serde(rename = "taskToken")]
744 pub task_token: String,
745 /// <p>The workflow execution for which this decision task was created.</p>
746 #[serde(rename = "workflowExecution")]
747 pub workflow_execution: WorkflowExecution,
748 /// <p>The type of the workflow execution for which this decision task was created.</p>
749 #[serde(rename = "workflowType")]
750 pub workflow_type: WorkflowType,
751}
752
753/// <p>Provides the details of the <code>DecisionTaskCompleted</code> event.</p>
754#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
755#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
756pub struct DecisionTaskCompletedEventAttributes {
757 /// <p>User defined context for the workflow execution.</p>
758 #[serde(rename = "executionContext")]
759 #[serde(skip_serializing_if = "Option::is_none")]
760 pub execution_context: Option<String>,
761 /// <p>The ID of the <code>DecisionTaskScheduled</code> event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
762 #[serde(rename = "scheduledEventId")]
763 pub scheduled_event_id: i64,
764 /// <p>The ID of the <code>DecisionTaskStarted</code> event recorded when this decision task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
765 #[serde(rename = "startedEventId")]
766 pub started_event_id: i64,
767}
768
769/// <p>Provides details about the <code>DecisionTaskScheduled</code> event.</p>
770#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
771#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
772pub struct DecisionTaskScheduledEventAttributes {
773 /// <p>The maximum duration for this decision task. The task is considered timed out if it doesn't completed within this duration.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
774 #[serde(rename = "startToCloseTimeout")]
775 #[serde(skip_serializing_if = "Option::is_none")]
776 pub start_to_close_timeout: Option<String>,
777 /// <p>The name of the task list in which the decision task was scheduled.</p>
778 #[serde(rename = "taskList")]
779 pub task_list: TaskList,
780 /// <p> A task priority that, if set, specifies the priority for this decision task. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
781 #[serde(rename = "taskPriority")]
782 #[serde(skip_serializing_if = "Option::is_none")]
783 pub task_priority: Option<String>,
784}
785
786/// <p>Provides the details of the <code>DecisionTaskStarted</code> event.</p>
787#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
788#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
789pub struct DecisionTaskStartedEventAttributes {
790 /// <p>Identity of the decider making the request. This enables diagnostic tracing when problems arise. The form of this identity is user defined.</p>
791 #[serde(rename = "identity")]
792 #[serde(skip_serializing_if = "Option::is_none")]
793 pub identity: Option<String>,
794 /// <p>The ID of the <code>DecisionTaskScheduled</code> event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
795 #[serde(rename = "scheduledEventId")]
796 pub scheduled_event_id: i64,
797}
798
799/// <p>Provides the details of the <code>DecisionTaskTimedOut</code> event.</p>
800#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
801#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
802pub struct DecisionTaskTimedOutEventAttributes {
803 /// <p>The ID of the <code>DecisionTaskScheduled</code> event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
804 #[serde(rename = "scheduledEventId")]
805 pub scheduled_event_id: i64,
806 /// <p>The ID of the <code>DecisionTaskStarted</code> event recorded when this decision task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
807 #[serde(rename = "startedEventId")]
808 pub started_event_id: i64,
809 /// <p>The type of timeout that expired before the decision task could be completed.</p>
810 #[serde(rename = "timeoutType")]
811 pub timeout_type: String,
812}
813
814#[derive(Clone, Debug, Default, PartialEq, Serialize)]
815#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
816pub struct DeprecateActivityTypeInput {
817 /// <p>The activity type to deprecate.</p>
818 #[serde(rename = "activityType")]
819 pub activity_type: ActivityType,
820 /// <p>The name of the domain in which the activity type is registered.</p>
821 #[serde(rename = "domain")]
822 pub domain: String,
823}
824
825#[derive(Clone, Debug, Default, PartialEq, Serialize)]
826#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
827pub struct DeprecateDomainInput {
828 /// <p>The name of the domain to deprecate.</p>
829 #[serde(rename = "name")]
830 pub name: String,
831}
832
833#[derive(Clone, Debug, Default, PartialEq, Serialize)]
834#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
835pub struct DeprecateWorkflowTypeInput {
836 /// <p>The name of the domain in which the workflow type is registered.</p>
837 #[serde(rename = "domain")]
838 pub domain: String,
839 /// <p>The workflow type to deprecate.</p>
840 #[serde(rename = "workflowType")]
841 pub workflow_type: WorkflowType,
842}
843
844#[derive(Clone, Debug, Default, PartialEq, Serialize)]
845#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
846pub struct DescribeActivityTypeInput {
847 /// <p>The activity type to get information about. Activity types are identified by the <code>name</code> and <code>version</code> that were supplied when the activity was registered.</p>
848 #[serde(rename = "activityType")]
849 pub activity_type: ActivityType,
850 /// <p>The name of the domain in which the activity type is registered.</p>
851 #[serde(rename = "domain")]
852 pub domain: String,
853}
854
855#[derive(Clone, Debug, Default, PartialEq, Serialize)]
856#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
857pub struct DescribeDomainInput {
858 /// <p>The name of the domain to describe.</p>
859 #[serde(rename = "name")]
860 pub name: String,
861}
862
863#[derive(Clone, Debug, Default, PartialEq, Serialize)]
864#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
865pub struct DescribeWorkflowExecutionInput {
866 /// <p>The name of the domain containing the workflow execution.</p>
867 #[serde(rename = "domain")]
868 pub domain: String,
869 /// <p>The workflow execution to describe.</p>
870 #[serde(rename = "execution")]
871 pub execution: WorkflowExecution,
872}
873
874#[derive(Clone, Debug, Default, PartialEq, Serialize)]
875#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
876pub struct DescribeWorkflowTypeInput {
877 /// <p>The name of the domain in which this workflow type is registered.</p>
878 #[serde(rename = "domain")]
879 pub domain: String,
880 /// <p>The workflow type to describe.</p>
881 #[serde(rename = "workflowType")]
882 pub workflow_type: WorkflowType,
883}
884
885/// <p>Contains the configuration settings of a domain.</p>
886#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
887#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
888pub struct DomainConfiguration {
889 /// <p>The retention period for workflow executions in this domain.</p>
890 #[serde(rename = "workflowExecutionRetentionPeriodInDays")]
891 pub workflow_execution_retention_period_in_days: String,
892}
893
894/// <p>Contains details of a domain.</p>
895#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
896#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
897pub struct DomainDetail {
898 /// <p>The domain configuration. Currently, this includes only the domain's retention period.</p>
899 #[serde(rename = "configuration")]
900 pub configuration: DomainConfiguration,
901 /// <p>The basic information about a domain, such as its name, status, and description.</p>
902 #[serde(rename = "domainInfo")]
903 pub domain_info: DomainInfo,
904}
905
906/// <p>Contains general information about a domain.</p>
907#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
908#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
909pub struct DomainInfo {
910 /// <p>The ARN of the domain.</p>
911 #[serde(rename = "arn")]
912 #[serde(skip_serializing_if = "Option::is_none")]
913 pub arn: Option<String>,
914 /// <p>The description of the domain provided through <a>RegisterDomain</a>.</p>
915 #[serde(rename = "description")]
916 #[serde(skip_serializing_if = "Option::is_none")]
917 pub description: Option<String>,
918 /// <p>The name of the domain. This name is unique within the account.</p>
919 #[serde(rename = "name")]
920 pub name: String,
921 /// <p><p>The status of the domain:</p> <ul> <li> <p> <code>REGISTERED</code> – The domain is properly registered and available. You can use this domain for registering types and creating new workflow executions. </p> </li> <li> <p> <code>DEPRECATED</code> – The domain was deprecated using <a>DeprecateDomain</a>, but is still in use. You should not create new workflow executions in this domain. </p> </li> </ul></p>
922 #[serde(rename = "status")]
923 pub status: String,
924}
925
926/// <p>Contains a paginated collection of DomainInfo structures.</p>
927#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
928#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
929pub struct DomainInfos {
930 /// <p>A list of DomainInfo structures.</p>
931 #[serde(rename = "domainInfos")]
932 pub domain_infos: Vec<DomainInfo>,
933 /// <p>If a <code>NextPageToken</code> was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in <code>nextPageToken</code>. Keep all other arguments unchanged.</p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call.</p>
934 #[serde(rename = "nextPageToken")]
935 #[serde(skip_serializing_if = "Option::is_none")]
936 pub next_page_token: Option<String>,
937}
938
939/// <p>Used to filter the workflow executions in visibility APIs by various time-based rules. Each parameter, if specified, defines a rule that must be satisfied by each returned query result. The parameter values are in the <a href="https://en.wikipedia.org/wiki/Unix_time">Unix Time format</a>. For example: <code>"oldestDate": 1325376070.</code> </p>
940#[derive(Clone, Debug, Default, PartialEq, Serialize)]
941#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
942pub struct ExecutionTimeFilter {
943 /// <p>Specifies the latest start or close date and time to return.</p>
944 #[serde(rename = "latestDate")]
945 #[serde(skip_serializing_if = "Option::is_none")]
946 pub latest_date: Option<f64>,
947 /// <p>Specifies the oldest start or close date and time to return.</p>
948 #[serde(rename = "oldestDate")]
949 pub oldest_date: f64,
950}
951
952/// <p>Provides the details of the <code>ExternalWorkflowExecutionCancelRequested</code> event.</p>
953#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
954#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
955pub struct ExternalWorkflowExecutionCancelRequestedEventAttributes {
956 /// <p>The ID of the <code>RequestCancelExternalWorkflowExecutionInitiated</code> event corresponding to the <code>RequestCancelExternalWorkflowExecution</code> decision to cancel this external workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
957 #[serde(rename = "initiatedEventId")]
958 pub initiated_event_id: i64,
959 /// <p>The external workflow execution to which the cancellation request was delivered.</p>
960 #[serde(rename = "workflowExecution")]
961 pub workflow_execution: WorkflowExecution,
962}
963
964/// <p>Provides the details of the <code>ExternalWorkflowExecutionSignaled</code> event.</p>
965#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
966#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
967pub struct ExternalWorkflowExecutionSignaledEventAttributes {
968 /// <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event corresponding to the <code>SignalExternalWorkflowExecution</code> decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
969 #[serde(rename = "initiatedEventId")]
970 pub initiated_event_id: i64,
971 /// <p>The external workflow execution that the signal was delivered to.</p>
972 #[serde(rename = "workflowExecution")]
973 pub workflow_execution: WorkflowExecution,
974}
975
976/// <p>Provides the details of the <code>FailWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
977#[derive(Clone, Debug, Default, PartialEq, Serialize)]
978#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
979pub struct FailWorkflowExecutionDecisionAttributes {
980 /// <p> Details of the failure.</p>
981 #[serde(rename = "details")]
982 #[serde(skip_serializing_if = "Option::is_none")]
983 pub details: Option<String>,
984 /// <p>A descriptive reason for the failure that may help in diagnostics.</p>
985 #[serde(rename = "reason")]
986 #[serde(skip_serializing_if = "Option::is_none")]
987 pub reason: Option<String>,
988}
989
990/// <p>Provides the details of the <code>FailWorkflowExecutionFailed</code> event.</p>
991#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
992#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
993pub struct FailWorkflowExecutionFailedEventAttributes {
994 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
995 #[serde(rename = "cause")]
996 pub cause: String,
997 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>FailWorkflowExecution</code> decision to fail this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
998 #[serde(rename = "decisionTaskCompletedEventId")]
999 pub decision_task_completed_event_id: i64,
1000}
1001
1002#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1003#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1004pub struct GetWorkflowExecutionHistoryInput {
1005 /// <p>The name of the domain containing the workflow execution.</p>
1006 #[serde(rename = "domain")]
1007 pub domain: String,
1008 /// <p>Specifies the workflow execution for which to return the history.</p>
1009 #[serde(rename = "execution")]
1010 pub execution: WorkflowExecution,
1011 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p>
1012 #[serde(rename = "maximumPageSize")]
1013 #[serde(skip_serializing_if = "Option::is_none")]
1014 pub maximum_page_size: Option<i64>,
1015 /// <p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p>
1016 #[serde(rename = "nextPageToken")]
1017 #[serde(skip_serializing_if = "Option::is_none")]
1018 pub next_page_token: Option<String>,
1019 /// <p>When set to <code>true</code>, returns the events in reverse order. By default the results are returned in ascending order of the <code>eventTimeStamp</code> of the events.</p>
1020 #[serde(rename = "reverseOrder")]
1021 #[serde(skip_serializing_if = "Option::is_none")]
1022 pub reverse_order: Option<bool>,
1023}
1024
1025/// <p>Paginated representation of a workflow history for a workflow execution. This is the up to date, complete and authoritative record of the events related to all tasks and events in the life of the workflow execution.</p>
1026#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1027#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1028pub struct History {
1029 /// <p>The list of history events.</p>
1030 #[serde(rename = "events")]
1031 pub events: Vec<HistoryEvent>,
1032 /// <p>If a <code>NextPageToken</code> was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in <code>nextPageToken</code>. Keep all other arguments unchanged.</p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call.</p>
1033 #[serde(rename = "nextPageToken")]
1034 #[serde(skip_serializing_if = "Option::is_none")]
1035 pub next_page_token: Option<String>,
1036}
1037
1038/// <p><p>Event within a workflow execution. A history event can be one of these types:</p> <ul> <li> <p> <code>ActivityTaskCancelRequested</code> – A <code>RequestCancelActivityTask</code> decision was received by the system.</p> </li> <li> <p> <code>ActivityTaskCanceled</code> – The activity task was successfully canceled.</p> </li> <li> <p> <code>ActivityTaskCompleted</code> – An activity worker successfully completed an activity task by calling <a>RespondActivityTaskCompleted</a>.</p> </li> <li> <p> <code>ActivityTaskFailed</code> – An activity worker failed an activity task by calling <a>RespondActivityTaskFailed</a>.</p> </li> <li> <p> <code>ActivityTaskScheduled</code> – An activity task was scheduled for execution.</p> </li> <li> <p> <code>ActivityTaskStarted</code> – The scheduled activity task was dispatched to a worker.</p> </li> <li> <p> <code>ActivityTaskTimedOut</code> – The activity task timed out.</p> </li> <li> <p> <code>CancelTimerFailed</code> – Failed to process CancelTimer decision. This happens when the decision isn't configured properly, for example no timer exists with the specified timer Id.</p> </li> <li> <p> <code>CancelWorkflowExecutionFailed</code> – A request to cancel a workflow execution failed.</p> </li> <li> <p> <code>ChildWorkflowExecutionCanceled</code> – A child workflow execution, started by this workflow execution, was canceled and closed.</p> </li> <li> <p> <code>ChildWorkflowExecutionCompleted</code> – A child workflow execution, started by this workflow execution, completed successfully and was closed.</p> </li> <li> <p> <code>ChildWorkflowExecutionFailed</code> – A child workflow execution, started by this workflow execution, failed to complete successfully and was closed.</p> </li> <li> <p> <code>ChildWorkflowExecutionStarted</code> – A child workflow execution was successfully started.</p> </li> <li> <p> <code>ChildWorkflowExecutionTerminated</code> – A child workflow execution, started by this workflow execution, was terminated.</p> </li> <li> <p> <code>ChildWorkflowExecutionTimedOut</code> – A child workflow execution, started by this workflow execution, timed out and was closed.</p> </li> <li> <p> <code>CompleteWorkflowExecutionFailed</code> – The workflow execution failed to complete.</p> </li> <li> <p> <code>ContinueAsNewWorkflowExecutionFailed</code> – The workflow execution failed to complete after being continued as a new workflow execution.</p> </li> <li> <p> <code>DecisionTaskCompleted</code> – The decider successfully completed a decision task by calling <a>RespondDecisionTaskCompleted</a>.</p> </li> <li> <p> <code>DecisionTaskScheduled</code> – A decision task was scheduled for the workflow execution.</p> </li> <li> <p> <code>DecisionTaskStarted</code> – The decision task was dispatched to a decider.</p> </li> <li> <p> <code>DecisionTaskTimedOut</code> – The decision task timed out.</p> </li> <li> <p> <code>ExternalWorkflowExecutionCancelRequested</code> – Request to cancel an external workflow execution was successfully delivered to the target execution.</p> </li> <li> <p> <code>ExternalWorkflowExecutionSignaled</code> – A signal, requested by this workflow execution, was successfully delivered to the target external workflow execution.</p> </li> <li> <p> <code>FailWorkflowExecutionFailed</code> – A request to mark a workflow execution as failed, itself failed.</p> </li> <li> <p> <code>MarkerRecorded</code> – A marker was recorded in the workflow history as the result of a <code>RecordMarker</code> decision.</p> </li> <li> <p> <code>RecordMarkerFailed</code> – A <code>RecordMarker</code> decision was returned as failed.</p> </li> <li> <p> <code>RequestCancelActivityTaskFailed</code> – Failed to process RequestCancelActivityTask decision. This happens when the decision isn't configured properly.</p> </li> <li> <p> <code>RequestCancelExternalWorkflowExecutionFailed</code> – Request to cancel an external workflow execution failed.</p> </li> <li> <p> <code>RequestCancelExternalWorkflowExecutionInitiated</code> – A request was made to request the cancellation of an external workflow execution.</p> </li> <li> <p> <code>ScheduleActivityTaskFailed</code> – Failed to process ScheduleActivityTask decision. This happens when the decision isn't configured properly, for example the activity type specified isn't registered.</p> </li> <li> <p> <code>SignalExternalWorkflowExecutionFailed</code> – The request to signal an external workflow execution failed.</p> </li> <li> <p> <code>SignalExternalWorkflowExecutionInitiated</code> – A request to signal an external workflow was made.</p> </li> <li> <p> <code>StartActivityTaskFailed</code> – A scheduled activity task failed to start.</p> </li> <li> <p> <code>StartChildWorkflowExecutionFailed</code> – Failed to process StartChildWorkflowExecution decision. This happens when the decision isn't configured properly, for example the workflow type specified isn't registered.</p> </li> <li> <p> <code>StartChildWorkflowExecutionInitiated</code> – A request was made to start a child workflow execution.</p> </li> <li> <p> <code>StartTimerFailed</code> – Failed to process StartTimer decision. This happens when the decision isn't configured properly, for example a timer already exists with the specified timer Id.</p> </li> <li> <p> <code>TimerCanceled</code> – A timer, previously started for this workflow execution, was successfully canceled.</p> </li> <li> <p> <code>TimerFired</code> – A timer, previously started for this workflow execution, fired.</p> </li> <li> <p> <code>TimerStarted</code> – A timer was started for the workflow execution due to a <code>StartTimer</code> decision.</p> </li> <li> <p> <code>WorkflowExecutionCancelRequested</code> – A request to cancel this workflow execution was made.</p> </li> <li> <p> <code>WorkflowExecutionCanceled</code> – The workflow execution was successfully canceled and closed.</p> </li> <li> <p> <code>WorkflowExecutionCompleted</code> – The workflow execution was closed due to successful completion.</p> </li> <li> <p> <code>WorkflowExecutionContinuedAsNew</code> – The workflow execution was closed and a new execution of the same type was created with the same workflowId.</p> </li> <li> <p> <code>WorkflowExecutionFailed</code> – The workflow execution closed due to a failure.</p> </li> <li> <p> <code>WorkflowExecutionSignaled</code> – An external signal was received for the workflow execution.</p> </li> <li> <p> <code>WorkflowExecutionStarted</code> – The workflow execution was started.</p> </li> <li> <p> <code>WorkflowExecutionTerminated</code> – The workflow execution was terminated.</p> </li> <li> <p> <code>WorkflowExecutionTimedOut</code> – The workflow execution was closed because a time out was exceeded.</p> </li> </ul></p>
1039#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1040#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1041pub struct HistoryEvent {
1042 /// <p>If the event is of type <code>ActivityTaskcancelRequested</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1043 #[serde(rename = "activityTaskCancelRequestedEventAttributes")]
1044 #[serde(skip_serializing_if = "Option::is_none")]
1045 pub activity_task_cancel_requested_event_attributes:
1046 Option<ActivityTaskCancelRequestedEventAttributes>,
1047 /// <p>If the event is of type <code>ActivityTaskCanceled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1048 #[serde(rename = "activityTaskCanceledEventAttributes")]
1049 #[serde(skip_serializing_if = "Option::is_none")]
1050 pub activity_task_canceled_event_attributes: Option<ActivityTaskCanceledEventAttributes>,
1051 /// <p>If the event is of type <code>ActivityTaskCompleted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1052 #[serde(rename = "activityTaskCompletedEventAttributes")]
1053 #[serde(skip_serializing_if = "Option::is_none")]
1054 pub activity_task_completed_event_attributes: Option<ActivityTaskCompletedEventAttributes>,
1055 /// <p>If the event is of type <code>ActivityTaskFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1056 #[serde(rename = "activityTaskFailedEventAttributes")]
1057 #[serde(skip_serializing_if = "Option::is_none")]
1058 pub activity_task_failed_event_attributes: Option<ActivityTaskFailedEventAttributes>,
1059 /// <p>If the event is of type <code>ActivityTaskScheduled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1060 #[serde(rename = "activityTaskScheduledEventAttributes")]
1061 #[serde(skip_serializing_if = "Option::is_none")]
1062 pub activity_task_scheduled_event_attributes: Option<ActivityTaskScheduledEventAttributes>,
1063 /// <p>If the event is of type <code>ActivityTaskStarted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1064 #[serde(rename = "activityTaskStartedEventAttributes")]
1065 #[serde(skip_serializing_if = "Option::is_none")]
1066 pub activity_task_started_event_attributes: Option<ActivityTaskStartedEventAttributes>,
1067 /// <p>If the event is of type <code>ActivityTaskTimedOut</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1068 #[serde(rename = "activityTaskTimedOutEventAttributes")]
1069 #[serde(skip_serializing_if = "Option::is_none")]
1070 pub activity_task_timed_out_event_attributes: Option<ActivityTaskTimedOutEventAttributes>,
1071 /// <p>If the event is of type <code>CancelTimerFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1072 #[serde(rename = "cancelTimerFailedEventAttributes")]
1073 #[serde(skip_serializing_if = "Option::is_none")]
1074 pub cancel_timer_failed_event_attributes: Option<CancelTimerFailedEventAttributes>,
1075 /// <p>If the event is of type <code>CancelWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1076 #[serde(rename = "cancelWorkflowExecutionFailedEventAttributes")]
1077 #[serde(skip_serializing_if = "Option::is_none")]
1078 pub cancel_workflow_execution_failed_event_attributes:
1079 Option<CancelWorkflowExecutionFailedEventAttributes>,
1080 /// <p>If the event is of type <code>ChildWorkflowExecutionCanceled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1081 #[serde(rename = "childWorkflowExecutionCanceledEventAttributes")]
1082 #[serde(skip_serializing_if = "Option::is_none")]
1083 pub child_workflow_execution_canceled_event_attributes:
1084 Option<ChildWorkflowExecutionCanceledEventAttributes>,
1085 /// <p>If the event is of type <code>ChildWorkflowExecutionCompleted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1086 #[serde(rename = "childWorkflowExecutionCompletedEventAttributes")]
1087 #[serde(skip_serializing_if = "Option::is_none")]
1088 pub child_workflow_execution_completed_event_attributes:
1089 Option<ChildWorkflowExecutionCompletedEventAttributes>,
1090 /// <p>If the event is of type <code>ChildWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1091 #[serde(rename = "childWorkflowExecutionFailedEventAttributes")]
1092 #[serde(skip_serializing_if = "Option::is_none")]
1093 pub child_workflow_execution_failed_event_attributes:
1094 Option<ChildWorkflowExecutionFailedEventAttributes>,
1095 /// <p>If the event is of type <code>ChildWorkflowExecutionStarted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1096 #[serde(rename = "childWorkflowExecutionStartedEventAttributes")]
1097 #[serde(skip_serializing_if = "Option::is_none")]
1098 pub child_workflow_execution_started_event_attributes:
1099 Option<ChildWorkflowExecutionStartedEventAttributes>,
1100 /// <p>If the event is of type <code>ChildWorkflowExecutionTerminated</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1101 #[serde(rename = "childWorkflowExecutionTerminatedEventAttributes")]
1102 #[serde(skip_serializing_if = "Option::is_none")]
1103 pub child_workflow_execution_terminated_event_attributes:
1104 Option<ChildWorkflowExecutionTerminatedEventAttributes>,
1105 /// <p>If the event is of type <code>ChildWorkflowExecutionTimedOut</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1106 #[serde(rename = "childWorkflowExecutionTimedOutEventAttributes")]
1107 #[serde(skip_serializing_if = "Option::is_none")]
1108 pub child_workflow_execution_timed_out_event_attributes:
1109 Option<ChildWorkflowExecutionTimedOutEventAttributes>,
1110 /// <p>If the event is of type <code>CompleteWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1111 #[serde(rename = "completeWorkflowExecutionFailedEventAttributes")]
1112 #[serde(skip_serializing_if = "Option::is_none")]
1113 pub complete_workflow_execution_failed_event_attributes:
1114 Option<CompleteWorkflowExecutionFailedEventAttributes>,
1115 /// <p>If the event is of type <code>ContinueAsNewWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1116 #[serde(rename = "continueAsNewWorkflowExecutionFailedEventAttributes")]
1117 #[serde(skip_serializing_if = "Option::is_none")]
1118 pub continue_as_new_workflow_execution_failed_event_attributes:
1119 Option<ContinueAsNewWorkflowExecutionFailedEventAttributes>,
1120 /// <p>If the event is of type <code>DecisionTaskCompleted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1121 #[serde(rename = "decisionTaskCompletedEventAttributes")]
1122 #[serde(skip_serializing_if = "Option::is_none")]
1123 pub decision_task_completed_event_attributes: Option<DecisionTaskCompletedEventAttributes>,
1124 /// <p>If the event is of type <code>DecisionTaskScheduled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1125 #[serde(rename = "decisionTaskScheduledEventAttributes")]
1126 #[serde(skip_serializing_if = "Option::is_none")]
1127 pub decision_task_scheduled_event_attributes: Option<DecisionTaskScheduledEventAttributes>,
1128 /// <p>If the event is of type <code>DecisionTaskStarted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1129 #[serde(rename = "decisionTaskStartedEventAttributes")]
1130 #[serde(skip_serializing_if = "Option::is_none")]
1131 pub decision_task_started_event_attributes: Option<DecisionTaskStartedEventAttributes>,
1132 /// <p>If the event is of type <code>DecisionTaskTimedOut</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1133 #[serde(rename = "decisionTaskTimedOutEventAttributes")]
1134 #[serde(skip_serializing_if = "Option::is_none")]
1135 pub decision_task_timed_out_event_attributes: Option<DecisionTaskTimedOutEventAttributes>,
1136 /// <p>The system generated ID of the event. This ID uniquely identifies the event with in the workflow execution history.</p>
1137 #[serde(rename = "eventId")]
1138 pub event_id: i64,
1139 /// <p>The date and time when the event occurred.</p>
1140 #[serde(rename = "eventTimestamp")]
1141 pub event_timestamp: f64,
1142 /// <p>The type of the history event.</p>
1143 #[serde(rename = "eventType")]
1144 pub event_type: String,
1145 /// <p>If the event is of type <code>ExternalWorkflowExecutionCancelRequested</code> then this member is set and provides detailed information about the event. It isn't set for other event types. </p>
1146 #[serde(rename = "externalWorkflowExecutionCancelRequestedEventAttributes")]
1147 #[serde(skip_serializing_if = "Option::is_none")]
1148 pub external_workflow_execution_cancel_requested_event_attributes:
1149 Option<ExternalWorkflowExecutionCancelRequestedEventAttributes>,
1150 /// <p>If the event is of type <code>ExternalWorkflowExecutionSignaled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1151 #[serde(rename = "externalWorkflowExecutionSignaledEventAttributes")]
1152 #[serde(skip_serializing_if = "Option::is_none")]
1153 pub external_workflow_execution_signaled_event_attributes:
1154 Option<ExternalWorkflowExecutionSignaledEventAttributes>,
1155 /// <p>If the event is of type <code>FailWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1156 #[serde(rename = "failWorkflowExecutionFailedEventAttributes")]
1157 #[serde(skip_serializing_if = "Option::is_none")]
1158 pub fail_workflow_execution_failed_event_attributes:
1159 Option<FailWorkflowExecutionFailedEventAttributes>,
1160 /// <p>Provides the details of the <code>LambdaFunctionCompleted</code> event. It isn't set for other event types.</p>
1161 #[serde(rename = "lambdaFunctionCompletedEventAttributes")]
1162 #[serde(skip_serializing_if = "Option::is_none")]
1163 pub lambda_function_completed_event_attributes: Option<LambdaFunctionCompletedEventAttributes>,
1164 /// <p>Provides the details of the <code>LambdaFunctionFailed</code> event. It isn't set for other event types.</p>
1165 #[serde(rename = "lambdaFunctionFailedEventAttributes")]
1166 #[serde(skip_serializing_if = "Option::is_none")]
1167 pub lambda_function_failed_event_attributes: Option<LambdaFunctionFailedEventAttributes>,
1168 /// <p>Provides the details of the <code>LambdaFunctionScheduled</code> event. It isn't set for other event types.</p>
1169 #[serde(rename = "lambdaFunctionScheduledEventAttributes")]
1170 #[serde(skip_serializing_if = "Option::is_none")]
1171 pub lambda_function_scheduled_event_attributes: Option<LambdaFunctionScheduledEventAttributes>,
1172 /// <p>Provides the details of the <code>LambdaFunctionStarted</code> event. It isn't set for other event types.</p>
1173 #[serde(rename = "lambdaFunctionStartedEventAttributes")]
1174 #[serde(skip_serializing_if = "Option::is_none")]
1175 pub lambda_function_started_event_attributes: Option<LambdaFunctionStartedEventAttributes>,
1176 /// <p>Provides the details of the <code>LambdaFunctionTimedOut</code> event. It isn't set for other event types.</p>
1177 #[serde(rename = "lambdaFunctionTimedOutEventAttributes")]
1178 #[serde(skip_serializing_if = "Option::is_none")]
1179 pub lambda_function_timed_out_event_attributes: Option<LambdaFunctionTimedOutEventAttributes>,
1180 /// <p>If the event is of type <code>MarkerRecorded</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1181 #[serde(rename = "markerRecordedEventAttributes")]
1182 #[serde(skip_serializing_if = "Option::is_none")]
1183 pub marker_recorded_event_attributes: Option<MarkerRecordedEventAttributes>,
1184 /// <p>If the event is of type <code>DecisionTaskFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1185 #[serde(rename = "recordMarkerFailedEventAttributes")]
1186 #[serde(skip_serializing_if = "Option::is_none")]
1187 pub record_marker_failed_event_attributes: Option<RecordMarkerFailedEventAttributes>,
1188 /// <p>If the event is of type <code>RequestCancelActivityTaskFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1189 #[serde(rename = "requestCancelActivityTaskFailedEventAttributes")]
1190 #[serde(skip_serializing_if = "Option::is_none")]
1191 pub request_cancel_activity_task_failed_event_attributes:
1192 Option<RequestCancelActivityTaskFailedEventAttributes>,
1193 /// <p>If the event is of type <code>RequestCancelExternalWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1194 #[serde(rename = "requestCancelExternalWorkflowExecutionFailedEventAttributes")]
1195 #[serde(skip_serializing_if = "Option::is_none")]
1196 pub request_cancel_external_workflow_execution_failed_event_attributes:
1197 Option<RequestCancelExternalWorkflowExecutionFailedEventAttributes>,
1198 /// <p>If the event is of type <code>RequestCancelExternalWorkflowExecutionInitiated</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1199 #[serde(rename = "requestCancelExternalWorkflowExecutionInitiatedEventAttributes")]
1200 #[serde(skip_serializing_if = "Option::is_none")]
1201 pub request_cancel_external_workflow_execution_initiated_event_attributes:
1202 Option<RequestCancelExternalWorkflowExecutionInitiatedEventAttributes>,
1203 /// <p>If the event is of type <code>ScheduleActivityTaskFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1204 #[serde(rename = "scheduleActivityTaskFailedEventAttributes")]
1205 #[serde(skip_serializing_if = "Option::is_none")]
1206 pub schedule_activity_task_failed_event_attributes:
1207 Option<ScheduleActivityTaskFailedEventAttributes>,
1208 /// <p>Provides the details of the <code>ScheduleLambdaFunctionFailed</code> event. It isn't set for other event types.</p>
1209 #[serde(rename = "scheduleLambdaFunctionFailedEventAttributes")]
1210 #[serde(skip_serializing_if = "Option::is_none")]
1211 pub schedule_lambda_function_failed_event_attributes:
1212 Option<ScheduleLambdaFunctionFailedEventAttributes>,
1213 /// <p>If the event is of type <code>SignalExternalWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1214 #[serde(rename = "signalExternalWorkflowExecutionFailedEventAttributes")]
1215 #[serde(skip_serializing_if = "Option::is_none")]
1216 pub signal_external_workflow_execution_failed_event_attributes:
1217 Option<SignalExternalWorkflowExecutionFailedEventAttributes>,
1218 /// <p>If the event is of type <code>SignalExternalWorkflowExecutionInitiated</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1219 #[serde(rename = "signalExternalWorkflowExecutionInitiatedEventAttributes")]
1220 #[serde(skip_serializing_if = "Option::is_none")]
1221 pub signal_external_workflow_execution_initiated_event_attributes:
1222 Option<SignalExternalWorkflowExecutionInitiatedEventAttributes>,
1223 /// <p>If the event is of type <code>StartChildWorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1224 #[serde(rename = "startChildWorkflowExecutionFailedEventAttributes")]
1225 #[serde(skip_serializing_if = "Option::is_none")]
1226 pub start_child_workflow_execution_failed_event_attributes:
1227 Option<StartChildWorkflowExecutionFailedEventAttributes>,
1228 /// <p>If the event is of type <code>StartChildWorkflowExecutionInitiated</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1229 #[serde(rename = "startChildWorkflowExecutionInitiatedEventAttributes")]
1230 #[serde(skip_serializing_if = "Option::is_none")]
1231 pub start_child_workflow_execution_initiated_event_attributes:
1232 Option<StartChildWorkflowExecutionInitiatedEventAttributes>,
1233 /// <p>Provides the details of the <code>StartLambdaFunctionFailed</code> event. It isn't set for other event types.</p>
1234 #[serde(rename = "startLambdaFunctionFailedEventAttributes")]
1235 #[serde(skip_serializing_if = "Option::is_none")]
1236 pub start_lambda_function_failed_event_attributes:
1237 Option<StartLambdaFunctionFailedEventAttributes>,
1238 /// <p>If the event is of type <code>StartTimerFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1239 #[serde(rename = "startTimerFailedEventAttributes")]
1240 #[serde(skip_serializing_if = "Option::is_none")]
1241 pub start_timer_failed_event_attributes: Option<StartTimerFailedEventAttributes>,
1242 /// <p>If the event is of type <code>TimerCanceled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1243 #[serde(rename = "timerCanceledEventAttributes")]
1244 #[serde(skip_serializing_if = "Option::is_none")]
1245 pub timer_canceled_event_attributes: Option<TimerCanceledEventAttributes>,
1246 /// <p>If the event is of type <code>TimerFired</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1247 #[serde(rename = "timerFiredEventAttributes")]
1248 #[serde(skip_serializing_if = "Option::is_none")]
1249 pub timer_fired_event_attributes: Option<TimerFiredEventAttributes>,
1250 /// <p>If the event is of type <code>TimerStarted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1251 #[serde(rename = "timerStartedEventAttributes")]
1252 #[serde(skip_serializing_if = "Option::is_none")]
1253 pub timer_started_event_attributes: Option<TimerStartedEventAttributes>,
1254 /// <p>If the event is of type <code>WorkflowExecutionCancelRequested</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1255 #[serde(rename = "workflowExecutionCancelRequestedEventAttributes")]
1256 #[serde(skip_serializing_if = "Option::is_none")]
1257 pub workflow_execution_cancel_requested_event_attributes:
1258 Option<WorkflowExecutionCancelRequestedEventAttributes>,
1259 /// <p>If the event is of type <code>WorkflowExecutionCanceled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1260 #[serde(rename = "workflowExecutionCanceledEventAttributes")]
1261 #[serde(skip_serializing_if = "Option::is_none")]
1262 pub workflow_execution_canceled_event_attributes:
1263 Option<WorkflowExecutionCanceledEventAttributes>,
1264 /// <p>If the event is of type <code>WorkflowExecutionCompleted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1265 #[serde(rename = "workflowExecutionCompletedEventAttributes")]
1266 #[serde(skip_serializing_if = "Option::is_none")]
1267 pub workflow_execution_completed_event_attributes:
1268 Option<WorkflowExecutionCompletedEventAttributes>,
1269 /// <p>If the event is of type <code>WorkflowExecutionContinuedAsNew</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1270 #[serde(rename = "workflowExecutionContinuedAsNewEventAttributes")]
1271 #[serde(skip_serializing_if = "Option::is_none")]
1272 pub workflow_execution_continued_as_new_event_attributes:
1273 Option<WorkflowExecutionContinuedAsNewEventAttributes>,
1274 /// <p>If the event is of type <code>WorkflowExecutionFailed</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1275 #[serde(rename = "workflowExecutionFailedEventAttributes")]
1276 #[serde(skip_serializing_if = "Option::is_none")]
1277 pub workflow_execution_failed_event_attributes: Option<WorkflowExecutionFailedEventAttributes>,
1278 /// <p>If the event is of type <code>WorkflowExecutionSignaled</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1279 #[serde(rename = "workflowExecutionSignaledEventAttributes")]
1280 #[serde(skip_serializing_if = "Option::is_none")]
1281 pub workflow_execution_signaled_event_attributes:
1282 Option<WorkflowExecutionSignaledEventAttributes>,
1283 /// <p>If the event is of type <code>WorkflowExecutionStarted</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1284 #[serde(rename = "workflowExecutionStartedEventAttributes")]
1285 #[serde(skip_serializing_if = "Option::is_none")]
1286 pub workflow_execution_started_event_attributes:
1287 Option<WorkflowExecutionStartedEventAttributes>,
1288 /// <p>If the event is of type <code>WorkflowExecutionTerminated</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1289 #[serde(rename = "workflowExecutionTerminatedEventAttributes")]
1290 #[serde(skip_serializing_if = "Option::is_none")]
1291 pub workflow_execution_terminated_event_attributes:
1292 Option<WorkflowExecutionTerminatedEventAttributes>,
1293 /// <p>If the event is of type <code>WorkflowExecutionTimedOut</code> then this member is set and provides detailed information about the event. It isn't set for other event types.</p>
1294 #[serde(rename = "workflowExecutionTimedOutEventAttributes")]
1295 #[serde(skip_serializing_if = "Option::is_none")]
1296 pub workflow_execution_timed_out_event_attributes:
1297 Option<WorkflowExecutionTimedOutEventAttributes>,
1298}
1299
1300/// <p>Provides the details of the <code>LambdaFunctionCompleted</code> event. It isn't set for other event types.</p>
1301#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1302#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1303pub struct LambdaFunctionCompletedEventAttributes {
1304 /// <p>The results of the Lambda task.</p>
1305 #[serde(rename = "result")]
1306 #[serde(skip_serializing_if = "Option::is_none")]
1307 pub result: Option<String>,
1308 /// <p>The ID of the <code>LambdaFunctionScheduled</code> event that was recorded when this Lambda task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1309 #[serde(rename = "scheduledEventId")]
1310 pub scheduled_event_id: i64,
1311 /// <p>The ID of the <code>LambdaFunctionStarted</code> event recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1312 #[serde(rename = "startedEventId")]
1313 pub started_event_id: i64,
1314}
1315
1316/// <p>Provides the details of the <code>LambdaFunctionFailed</code> event. It isn't set for other event types.</p>
1317#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1318#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1319pub struct LambdaFunctionFailedEventAttributes {
1320 /// <p>The details of the failure.</p>
1321 #[serde(rename = "details")]
1322 #[serde(skip_serializing_if = "Option::is_none")]
1323 pub details: Option<String>,
1324 /// <p>The reason provided for the failure.</p>
1325 #[serde(rename = "reason")]
1326 #[serde(skip_serializing_if = "Option::is_none")]
1327 pub reason: Option<String>,
1328 /// <p>The ID of the <code>LambdaFunctionScheduled</code> event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1329 #[serde(rename = "scheduledEventId")]
1330 pub scheduled_event_id: i64,
1331 /// <p>The ID of the <code>LambdaFunctionStarted</code> event recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1332 #[serde(rename = "startedEventId")]
1333 pub started_event_id: i64,
1334}
1335
1336/// <p>Provides the details of the <code>LambdaFunctionScheduled</code> event. It isn't set for other event types.</p>
1337#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1338#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1339pub struct LambdaFunctionScheduledEventAttributes {
1340 /// <p>Data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the Lambda task.</p>
1341 #[serde(rename = "control")]
1342 #[serde(skip_serializing_if = "Option::is_none")]
1343 pub control: Option<String>,
1344 /// <p>The ID of the <code>LambdaFunctionCompleted</code> event corresponding to the decision that resulted in scheduling this activity task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1345 #[serde(rename = "decisionTaskCompletedEventId")]
1346 pub decision_task_completed_event_id: i64,
1347 /// <p>The unique ID of the Lambda task.</p>
1348 #[serde(rename = "id")]
1349 pub id: String,
1350 /// <p>The input provided to the Lambda task.</p>
1351 #[serde(rename = "input")]
1352 #[serde(skip_serializing_if = "Option::is_none")]
1353 pub input: Option<String>,
1354 /// <p>The name of the Lambda function.</p>
1355 #[serde(rename = "name")]
1356 pub name: String,
1357 /// <p>The maximum amount of time a worker can take to process the Lambda task.</p>
1358 #[serde(rename = "startToCloseTimeout")]
1359 #[serde(skip_serializing_if = "Option::is_none")]
1360 pub start_to_close_timeout: Option<String>,
1361}
1362
1363/// <p>Provides the details of the <code>LambdaFunctionStarted</code> event. It isn't set for other event types.</p>
1364#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1365#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1366pub struct LambdaFunctionStartedEventAttributes {
1367 /// <p>The ID of the <code>LambdaFunctionScheduled</code> event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1368 #[serde(rename = "scheduledEventId")]
1369 pub scheduled_event_id: i64,
1370}
1371
1372/// <p>Provides details of the <code>LambdaFunctionTimedOut</code> event.</p>
1373#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1374#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1375pub struct LambdaFunctionTimedOutEventAttributes {
1376 /// <p>The ID of the <code>LambdaFunctionScheduled</code> event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1377 #[serde(rename = "scheduledEventId")]
1378 pub scheduled_event_id: i64,
1379 /// <p>The ID of the <code>ActivityTaskStarted</code> event that was recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
1380 #[serde(rename = "startedEventId")]
1381 pub started_event_id: i64,
1382 /// <p>The type of the timeout that caused this event.</p>
1383 #[serde(rename = "timeoutType")]
1384 #[serde(skip_serializing_if = "Option::is_none")]
1385 pub timeout_type: Option<String>,
1386}
1387
1388#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1389#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1390pub struct ListActivityTypesInput {
1391 /// <p>The name of the domain in which the activity types have been registered.</p>
1392 #[serde(rename = "domain")]
1393 pub domain: String,
1394 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p>
1395 #[serde(rename = "maximumPageSize")]
1396 #[serde(skip_serializing_if = "Option::is_none")]
1397 pub maximum_page_size: Option<i64>,
1398 /// <p>If specified, only lists the activity types that have this name.</p>
1399 #[serde(rename = "name")]
1400 #[serde(skip_serializing_if = "Option::is_none")]
1401 pub name: Option<String>,
1402 /// <p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p>
1403 #[serde(rename = "nextPageToken")]
1404 #[serde(skip_serializing_if = "Option::is_none")]
1405 pub next_page_token: Option<String>,
1406 /// <p>Specifies the registration status of the activity types to list.</p>
1407 #[serde(rename = "registrationStatus")]
1408 pub registration_status: String,
1409 /// <p>When set to <code>true</code>, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by <code>name</code> of the activity types.</p>
1410 #[serde(rename = "reverseOrder")]
1411 #[serde(skip_serializing_if = "Option::is_none")]
1412 pub reverse_order: Option<bool>,
1413}
1414
1415#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1416#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1417pub struct ListClosedWorkflowExecutionsInput {
1418 /// <p><p>If specified, only workflow executions that match this <i>close status</i> are listed. For example, if TERMINATED is specified, then only TERMINATED workflow executions are listed.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1419 #[serde(rename = "closeStatusFilter")]
1420 #[serde(skip_serializing_if = "Option::is_none")]
1421 pub close_status_filter: Option<CloseStatusFilter>,
1422 /// <p><p>If specified, the workflow executions are included in the returned results based on whether their close times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their close times.</p> <note> <p> <code>startTimeFilter</code> and <code>closeTimeFilter</code> are mutually exclusive. You must specify one of these in a request but not both.</p> </note></p>
1423 #[serde(rename = "closeTimeFilter")]
1424 #[serde(skip_serializing_if = "Option::is_none")]
1425 pub close_time_filter: Option<ExecutionTimeFilter>,
1426 /// <p>The name of the domain that contains the workflow executions to list.</p>
1427 #[serde(rename = "domain")]
1428 pub domain: String,
1429 /// <p><p>If specified, only workflow executions matching the workflow ID specified in the filter are returned.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1430 #[serde(rename = "executionFilter")]
1431 #[serde(skip_serializing_if = "Option::is_none")]
1432 pub execution_filter: Option<WorkflowExecutionFilter>,
1433 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p>
1434 #[serde(rename = "maximumPageSize")]
1435 #[serde(skip_serializing_if = "Option::is_none")]
1436 pub maximum_page_size: Option<i64>,
1437 /// <p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p>
1438 #[serde(rename = "nextPageToken")]
1439 #[serde(skip_serializing_if = "Option::is_none")]
1440 pub next_page_token: Option<String>,
1441 /// <p>When set to <code>true</code>, returns the results in reverse order. By default the results are returned in descending order of the start or the close time of the executions.</p>
1442 #[serde(rename = "reverseOrder")]
1443 #[serde(skip_serializing_if = "Option::is_none")]
1444 pub reverse_order: Option<bool>,
1445 /// <p><p>If specified, the workflow executions are included in the returned results based on whether their start times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their start times.</p> <note> <p> <code>startTimeFilter</code> and <code>closeTimeFilter</code> are mutually exclusive. You must specify one of these in a request but not both.</p> </note></p>
1446 #[serde(rename = "startTimeFilter")]
1447 #[serde(skip_serializing_if = "Option::is_none")]
1448 pub start_time_filter: Option<ExecutionTimeFilter>,
1449 /// <p><p>If specified, only executions that have the matching tag are listed.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1450 #[serde(rename = "tagFilter")]
1451 #[serde(skip_serializing_if = "Option::is_none")]
1452 pub tag_filter: Option<TagFilter>,
1453 /// <p><p>If specified, only executions of the type specified in the filter are returned.</p> <note> <p> <code>closeStatusFilter</code>, <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1454 #[serde(rename = "typeFilter")]
1455 #[serde(skip_serializing_if = "Option::is_none")]
1456 pub type_filter: Option<WorkflowTypeFilter>,
1457}
1458
1459#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1460#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1461pub struct ListDomainsInput {
1462 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p>
1463 #[serde(rename = "maximumPageSize")]
1464 #[serde(skip_serializing_if = "Option::is_none")]
1465 pub maximum_page_size: Option<i64>,
1466 /// <p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p>
1467 #[serde(rename = "nextPageToken")]
1468 #[serde(skip_serializing_if = "Option::is_none")]
1469 pub next_page_token: Option<String>,
1470 /// <p>Specifies the registration status of the domains to list.</p>
1471 #[serde(rename = "registrationStatus")]
1472 pub registration_status: String,
1473 /// <p>When set to <code>true</code>, returns the results in reverse order. By default, the results are returned in ascending alphabetical order by <code>name</code> of the domains.</p>
1474 #[serde(rename = "reverseOrder")]
1475 #[serde(skip_serializing_if = "Option::is_none")]
1476 pub reverse_order: Option<bool>,
1477}
1478
1479#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1480#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1481pub struct ListOpenWorkflowExecutionsInput {
1482 /// <p>The name of the domain that contains the workflow executions to list.</p>
1483 #[serde(rename = "domain")]
1484 pub domain: String,
1485 /// <p><p>If specified, only workflow executions matching the workflow ID specified in the filter are returned.</p> <note> <p> <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1486 #[serde(rename = "executionFilter")]
1487 #[serde(skip_serializing_if = "Option::is_none")]
1488 pub execution_filter: Option<WorkflowExecutionFilter>,
1489 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p>
1490 #[serde(rename = "maximumPageSize")]
1491 #[serde(skip_serializing_if = "Option::is_none")]
1492 pub maximum_page_size: Option<i64>,
1493 /// <p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p>
1494 #[serde(rename = "nextPageToken")]
1495 #[serde(skip_serializing_if = "Option::is_none")]
1496 pub next_page_token: Option<String>,
1497 /// <p>When set to <code>true</code>, returns the results in reverse order. By default the results are returned in descending order of the start time of the executions.</p>
1498 #[serde(rename = "reverseOrder")]
1499 #[serde(skip_serializing_if = "Option::is_none")]
1500 pub reverse_order: Option<bool>,
1501 /// <p>Workflow executions are included in the returned results based on whether their start times are within the range specified by this filter.</p>
1502 #[serde(rename = "startTimeFilter")]
1503 pub start_time_filter: ExecutionTimeFilter,
1504 /// <p><p>If specified, only executions that have the matching tag are listed.</p> <note> <p> <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1505 #[serde(rename = "tagFilter")]
1506 #[serde(skip_serializing_if = "Option::is_none")]
1507 pub tag_filter: Option<TagFilter>,
1508 /// <p><p>If specified, only executions of the type specified in the filter are returned.</p> <note> <p> <code>executionFilter</code>, <code>typeFilter</code> and <code>tagFilter</code> are mutually exclusive. You can specify at most one of these in a request.</p> </note></p>
1509 #[serde(rename = "typeFilter")]
1510 #[serde(skip_serializing_if = "Option::is_none")]
1511 pub type_filter: Option<WorkflowTypeFilter>,
1512}
1513
1514#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1515#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1516pub struct ListTagsForResourceInput {
1517 /// <p>The Amazon Resource Name (ARN) for the Amazon SWF domain.</p>
1518 #[serde(rename = "resourceArn")]
1519 pub resource_arn: String,
1520}
1521
1522#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1523#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1524pub struct ListTagsForResourceOutput {
1525 /// <p>An array of tags associated with the domain.</p>
1526 #[serde(rename = "tags")]
1527 #[serde(skip_serializing_if = "Option::is_none")]
1528 pub tags: Option<Vec<ResourceTag>>,
1529}
1530
1531#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1532#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1533pub struct ListWorkflowTypesInput {
1534 /// <p>The name of the domain in which the workflow types have been registered.</p>
1535 #[serde(rename = "domain")]
1536 pub domain: String,
1537 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p>
1538 #[serde(rename = "maximumPageSize")]
1539 #[serde(skip_serializing_if = "Option::is_none")]
1540 pub maximum_page_size: Option<i64>,
1541 /// <p>If specified, lists the workflow type with this name.</p>
1542 #[serde(rename = "name")]
1543 #[serde(skip_serializing_if = "Option::is_none")]
1544 pub name: Option<String>,
1545 /// <p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p>
1546 #[serde(rename = "nextPageToken")]
1547 #[serde(skip_serializing_if = "Option::is_none")]
1548 pub next_page_token: Option<String>,
1549 /// <p>Specifies the registration status of the workflow types to list.</p>
1550 #[serde(rename = "registrationStatus")]
1551 pub registration_status: String,
1552 /// <p>When set to <code>true</code>, returns the results in reverse order. By default the results are returned in ascending alphabetical order of the <code>name</code> of the workflow types.</p>
1553 #[serde(rename = "reverseOrder")]
1554 #[serde(skip_serializing_if = "Option::is_none")]
1555 pub reverse_order: Option<bool>,
1556}
1557
1558/// <p>Provides the details of the <code>MarkerRecorded</code> event.</p>
1559#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1560#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1561pub struct MarkerRecordedEventAttributes {
1562 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>RecordMarker</code> decision that requested this marker. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
1563 #[serde(rename = "decisionTaskCompletedEventId")]
1564 pub decision_task_completed_event_id: i64,
1565 /// <p>The details of the marker.</p>
1566 #[serde(rename = "details")]
1567 #[serde(skip_serializing_if = "Option::is_none")]
1568 pub details: Option<String>,
1569 /// <p>The name of the marker.</p>
1570 #[serde(rename = "markerName")]
1571 pub marker_name: String,
1572}
1573
1574/// <p>Contains the count of tasks in a task list.</p>
1575#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1576#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1577pub struct PendingTaskCount {
1578 /// <p>The number of tasks in the task list.</p>
1579 #[serde(rename = "count")]
1580 pub count: i64,
1581 /// <p>If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.</p>
1582 #[serde(rename = "truncated")]
1583 #[serde(skip_serializing_if = "Option::is_none")]
1584 pub truncated: Option<bool>,
1585}
1586
1587#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1588#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1589pub struct PollForActivityTaskInput {
1590 /// <p>The name of the domain that contains the task lists being polled.</p>
1591 #[serde(rename = "domain")]
1592 pub domain: String,
1593 /// <p>Identity of the worker making the request, recorded in the <code>ActivityTaskStarted</code> event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined.</p>
1594 #[serde(rename = "identity")]
1595 #[serde(skip_serializing_if = "Option::is_none")]
1596 pub identity: Option<String>,
1597 /// <p>Specifies the task list to poll for activity tasks.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1598 #[serde(rename = "taskList")]
1599 pub task_list: TaskList,
1600}
1601
1602#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1603#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1604pub struct PollForDecisionTaskInput {
1605 /// <p>The name of the domain containing the task lists to poll.</p>
1606 #[serde(rename = "domain")]
1607 pub domain: String,
1608 /// <p>Identity of the decider making the request, which is recorded in the DecisionTaskStarted event in the workflow history. This enables diagnostic tracing when problems arise. The form of this identity is user defined.</p>
1609 #[serde(rename = "identity")]
1610 #[serde(skip_serializing_if = "Option::is_none")]
1611 pub identity: Option<String>,
1612 /// <p>The maximum number of results that are returned per call. Use <code>nextPageToken</code> to obtain further pages of results. </p> <p>This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.</p>
1613 #[serde(rename = "maximumPageSize")]
1614 #[serde(skip_serializing_if = "Option::is_none")]
1615 pub maximum_page_size: Option<i64>,
1616 /// <p><p>If <code>NextPageToken</code> is returned there are more results available. The value of <code>NextPageToken</code> is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a <code>400</code> error: "<code>Specified token has exceeded its maximum lifetime</code>". </p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call. </p> <note> <p>The <code>nextPageToken</code> returned by this action cannot be used with <a>GetWorkflowExecutionHistory</a> to get the next page. You must call <a>PollForDecisionTask</a> again (with the <code>nextPageToken</code>) to retrieve the next page of history records. Calling <a>PollForDecisionTask</a> with a <code>nextPageToken</code> doesn't return a new decision task.</p> </note></p>
1617 #[serde(rename = "nextPageToken")]
1618 #[serde(skip_serializing_if = "Option::is_none")]
1619 pub next_page_token: Option<String>,
1620 /// <p>When set to <code>true</code>, returns the events in reverse order. By default the results are returned in ascending order of the <code>eventTimestamp</code> of the events.</p>
1621 #[serde(rename = "reverseOrder")]
1622 #[serde(skip_serializing_if = "Option::is_none")]
1623 pub reverse_order: Option<bool>,
1624 /// <p>Specifies the task list to poll for decision tasks.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1625 #[serde(rename = "taskList")]
1626 pub task_list: TaskList,
1627}
1628
1629#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1630#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1631pub struct RecordActivityTaskHeartbeatInput {
1632 /// <p>If specified, contains details about the progress of the task.</p>
1633 #[serde(rename = "details")]
1634 #[serde(skip_serializing_if = "Option::is_none")]
1635 pub details: Option<String>,
1636 /// <p><p>The <code>taskToken</code> of the <a>ActivityTask</a>.</p> <important> <p> <code>taskToken</code> is generated by the service and should be treated as an opaque value. If the task is passed to another process, its <code>taskToken</code> must also be passed. This enables it to provide its progress and respond with results. </p> </important></p>
1637 #[serde(rename = "taskToken")]
1638 pub task_token: String,
1639}
1640
1641/// <p>Provides the details of the <code>RecordMarker</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1642#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1643#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1644pub struct RecordMarkerDecisionAttributes {
1645 /// <p> The details of the marker.</p>
1646 #[serde(rename = "details")]
1647 #[serde(skip_serializing_if = "Option::is_none")]
1648 pub details: Option<String>,
1649 /// <p> The name of the marker.</p>
1650 #[serde(rename = "markerName")]
1651 pub marker_name: String,
1652}
1653
1654/// <p>Provides the details of the <code>RecordMarkerFailed</code> event.</p>
1655#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1656#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1657pub struct RecordMarkerFailedEventAttributes {
1658 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
1659 #[serde(rename = "cause")]
1660 pub cause: String,
1661 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>RecordMarkerFailed</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
1662 #[serde(rename = "decisionTaskCompletedEventId")]
1663 pub decision_task_completed_event_id: i64,
1664 /// <p>The marker's name.</p>
1665 #[serde(rename = "markerName")]
1666 pub marker_name: String,
1667}
1668
1669#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1670#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1671pub struct RegisterActivityTypeInput {
1672 /// <p>If set, specifies the default maximum time before which a worker processing a task of this type must report progress by calling <a>RecordActivityTaskHeartbeat</a>. If the timeout is exceeded, the activity task is automatically timed out. This default can be overridden when scheduling an activity task using the <code>ScheduleActivityTask</code> <a>Decision</a>. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an <code>UnknownResource</code> fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
1673 #[serde(rename = "defaultTaskHeartbeatTimeout")]
1674 #[serde(skip_serializing_if = "Option::is_none")]
1675 pub default_task_heartbeat_timeout: Option<String>,
1676 /// <p>If set, specifies the default task list to use for scheduling tasks of this activity type. This default task list is used if a task list isn't provided when a task is scheduled through the <code>ScheduleActivityTask</code> <a>Decision</a>.</p>
1677 #[serde(rename = "defaultTaskList")]
1678 #[serde(skip_serializing_if = "Option::is_none")]
1679 pub default_task_list: Option<TaskList>,
1680 /// <p>The default task priority to assign to the activity type. If not assigned, then <code>0</code> is used. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>in the <i>Amazon SWF Developer Guide</i>.</i>.</p>
1681 #[serde(rename = "defaultTaskPriority")]
1682 #[serde(skip_serializing_if = "Option::is_none")]
1683 pub default_task_priority: Option<String>,
1684 /// <p>If set, specifies the default maximum duration for a task of this activity type. This default can be overridden when scheduling an activity task using the <code>ScheduleActivityTask</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
1685 #[serde(rename = "defaultTaskScheduleToCloseTimeout")]
1686 #[serde(skip_serializing_if = "Option::is_none")]
1687 pub default_task_schedule_to_close_timeout: Option<String>,
1688 /// <p>If set, specifies the default maximum duration that a task of this activity type can wait before being assigned to a worker. This default can be overridden when scheduling an activity task using the <code>ScheduleActivityTask</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
1689 #[serde(rename = "defaultTaskScheduleToStartTimeout")]
1690 #[serde(skip_serializing_if = "Option::is_none")]
1691 pub default_task_schedule_to_start_timeout: Option<String>,
1692 /// <p>If set, specifies the default maximum duration that a worker can take to process tasks of this activity type. This default can be overridden when scheduling an activity task using the <code>ScheduleActivityTask</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
1693 #[serde(rename = "defaultTaskStartToCloseTimeout")]
1694 #[serde(skip_serializing_if = "Option::is_none")]
1695 pub default_task_start_to_close_timeout: Option<String>,
1696 /// <p>A textual description of the activity type.</p>
1697 #[serde(rename = "description")]
1698 #[serde(skip_serializing_if = "Option::is_none")]
1699 pub description: Option<String>,
1700 /// <p>The name of the domain in which this activity is to be registered.</p>
1701 #[serde(rename = "domain")]
1702 pub domain: String,
1703 /// <p>The name of the activity type within the domain.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1704 #[serde(rename = "name")]
1705 pub name: String,
1706 /// <p>The version of the activity type.</p> <note> <p>The activity type consists of the name and version, the combination of which must be unique within the domain.</p> </note> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1707 #[serde(rename = "version")]
1708 pub version: String,
1709}
1710
1711#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1712#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1713pub struct RegisterDomainInput {
1714 /// <p>A text description of the domain.</p>
1715 #[serde(rename = "description")]
1716 #[serde(skip_serializing_if = "Option::is_none")]
1717 pub description: Option<String>,
1718 /// <p>Name of the domain to register. The name must be unique in the region that the domain is registered in.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1719 #[serde(rename = "name")]
1720 pub name: String,
1721 /// <p>Tags to be added when registering a domain.</p> <p>Tags may only contain unicode letters, digits, whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
1722 #[serde(rename = "tags")]
1723 #[serde(skip_serializing_if = "Option::is_none")]
1724 pub tags: Option<Vec<ResourceTag>>,
1725 /// <p>The duration (in days) that records and histories of workflow executions on the domain should be kept by the service. After the retention period, the workflow execution isn't available in the results of visibility calls.</p> <p>If you pass the value <code>NONE</code> or <code>0</code> (zero), then the workflow execution history isn't retained. As soon as the workflow execution completes, the execution record and its history are deleted.</p> <p>The maximum workflow execution retention period is 90 days. For more information about Amazon SWF service limits, see: <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-limits.html">Amazon SWF Service Limits</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1726 #[serde(rename = "workflowExecutionRetentionPeriodInDays")]
1727 pub workflow_execution_retention_period_in_days: String,
1728}
1729
1730#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1731#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1732pub struct RegisterWorkflowTypeInput {
1733 /// <p><p>If set, specifies the default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
1734 #[serde(rename = "defaultChildPolicy")]
1735 #[serde(skip_serializing_if = "Option::is_none")]
1736 pub default_child_policy: Option<String>,
1737 /// <p>If set, specifies the default maximum duration for executions of this workflow type. You can override this default when starting an execution through the <a>StartWorkflowExecution</a> Action or <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p> <p>The duration is specified in seconds; an integer greater than or equal to 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for <code>defaultExecutionStartToCloseTimeout</code>; there is a one-year max limit on the time that a workflow execution can run. Exceeding this limit always causes the workflow execution to time out.</p>
1738 #[serde(rename = "defaultExecutionStartToCloseTimeout")]
1739 #[serde(skip_serializing_if = "Option::is_none")]
1740 pub default_execution_start_to_close_timeout: Option<String>,
1741 /// <p><p>The default IAM role attached to this workflow type.</p> <note> <p>Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when you start this workflow type, the default Lambda role is attached to the execution. For more information, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
1742 #[serde(rename = "defaultLambdaRole")]
1743 #[serde(skip_serializing_if = "Option::is_none")]
1744 pub default_lambda_role: Option<String>,
1745 /// <p>If set, specifies the default task list to use for scheduling decision tasks for executions of this workflow type. This default is used only if a task list isn't provided when starting the execution through the <a>StartWorkflowExecution</a> Action or <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p>
1746 #[serde(rename = "defaultTaskList")]
1747 #[serde(skip_serializing_if = "Option::is_none")]
1748 pub default_task_list: Option<TaskList>,
1749 /// <p>The default task priority to assign to the workflow type. If not assigned, then <code>0</code> is used. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1750 #[serde(rename = "defaultTaskPriority")]
1751 #[serde(skip_serializing_if = "Option::is_none")]
1752 pub default_task_priority: Option<String>,
1753 /// <p>If set, specifies the default maximum duration of decision tasks for this workflow type. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
1754 #[serde(rename = "defaultTaskStartToCloseTimeout")]
1755 #[serde(skip_serializing_if = "Option::is_none")]
1756 pub default_task_start_to_close_timeout: Option<String>,
1757 /// <p>Textual description of the workflow type.</p>
1758 #[serde(rename = "description")]
1759 #[serde(skip_serializing_if = "Option::is_none")]
1760 pub description: Option<String>,
1761 /// <p>The name of the domain in which to register the workflow type.</p>
1762 #[serde(rename = "domain")]
1763 pub domain: String,
1764 /// <p>The name of the workflow type.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1765 #[serde(rename = "name")]
1766 pub name: String,
1767 /// <p>The version of the workflow type.</p> <note> <p>The workflow type consists of the name and version, the combination of which must be unique within the domain. To get a list of all currently registered workflow types, use the <a>ListWorkflowTypes</a> action.</p> </note> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
1768 #[serde(rename = "version")]
1769 pub version: String,
1770}
1771
1772/// <p>Provides the details of the <code>RequestCancelActivityTask</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1773#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1774#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1775pub struct RequestCancelActivityTaskDecisionAttributes {
1776 /// <p>The <code>activityId</code> of the activity task to be canceled.</p>
1777 #[serde(rename = "activityId")]
1778 pub activity_id: String,
1779}
1780
1781/// <p>Provides the details of the <code>RequestCancelActivityTaskFailed</code> event.</p>
1782#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1783#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1784pub struct RequestCancelActivityTaskFailedEventAttributes {
1785 /// <p>The activityId provided in the <code>RequestCancelActivityTask</code> decision that failed.</p>
1786 #[serde(rename = "activityId")]
1787 pub activity_id: String,
1788 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
1789 #[serde(rename = "cause")]
1790 pub cause: String,
1791 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>RequestCancelActivityTask</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
1792 #[serde(rename = "decisionTaskCompletedEventId")]
1793 pub decision_task_completed_event_id: i64,
1794}
1795
1796/// <p>Provides the details of the <code>RequestCancelExternalWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1797#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1798#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1799pub struct RequestCancelExternalWorkflowExecutionDecisionAttributes {
1800 /// <p>The data attached to the event that can be used by the decider in subsequent workflow tasks.</p>
1801 #[serde(rename = "control")]
1802 #[serde(skip_serializing_if = "Option::is_none")]
1803 pub control: Option<String>,
1804 /// <p>The <code>runId</code> of the external workflow execution to cancel.</p>
1805 #[serde(rename = "runId")]
1806 #[serde(skip_serializing_if = "Option::is_none")]
1807 pub run_id: Option<String>,
1808 /// <p> The <code>workflowId</code> of the external workflow execution to cancel.</p>
1809 #[serde(rename = "workflowId")]
1810 pub workflow_id: String,
1811}
1812
1813/// <p>Provides the details of the <code>RequestCancelExternalWorkflowExecutionFailed</code> event.</p>
1814#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1815#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1816pub struct RequestCancelExternalWorkflowExecutionFailedEventAttributes {
1817 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
1818 #[serde(rename = "cause")]
1819 pub cause: String,
1820 /// <p>The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the workflow execution.</p>
1821 #[serde(rename = "control")]
1822 #[serde(skip_serializing_if = "Option::is_none")]
1823 pub control: Option<String>,
1824 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>RequestCancelExternalWorkflowExecution</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
1825 #[serde(rename = "decisionTaskCompletedEventId")]
1826 pub decision_task_completed_event_id: i64,
1827 /// <p>The ID of the <code>RequestCancelExternalWorkflowExecutionInitiated</code> event corresponding to the <code>RequestCancelExternalWorkflowExecution</code> decision to cancel this external workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
1828 #[serde(rename = "initiatedEventId")]
1829 pub initiated_event_id: i64,
1830 /// <p>The <code>runId</code> of the external workflow execution.</p>
1831 #[serde(rename = "runId")]
1832 #[serde(skip_serializing_if = "Option::is_none")]
1833 pub run_id: Option<String>,
1834 /// <p>The <code>workflowId</code> of the external workflow to which the cancel request was to be delivered.</p>
1835 #[serde(rename = "workflowId")]
1836 pub workflow_id: String,
1837}
1838
1839/// <p>Provides the details of the <code>RequestCancelExternalWorkflowExecutionInitiated</code> event.</p>
1840#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1841#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1842pub struct RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
1843 /// <p>Data attached to the event that can be used by the decider in subsequent workflow tasks.</p>
1844 #[serde(rename = "control")]
1845 #[serde(skip_serializing_if = "Option::is_none")]
1846 pub control: Option<String>,
1847 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>RequestCancelExternalWorkflowExecution</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
1848 #[serde(rename = "decisionTaskCompletedEventId")]
1849 pub decision_task_completed_event_id: i64,
1850 /// <p>The <code>runId</code> of the external workflow execution to be canceled.</p>
1851 #[serde(rename = "runId")]
1852 #[serde(skip_serializing_if = "Option::is_none")]
1853 pub run_id: Option<String>,
1854 /// <p>The <code>workflowId</code> of the external workflow execution to be canceled.</p>
1855 #[serde(rename = "workflowId")]
1856 pub workflow_id: String,
1857}
1858
1859#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1860#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1861pub struct RequestCancelWorkflowExecutionInput {
1862 /// <p>The name of the domain containing the workflow execution to cancel.</p>
1863 #[serde(rename = "domain")]
1864 pub domain: String,
1865 /// <p>The runId of the workflow execution to cancel.</p>
1866 #[serde(rename = "runId")]
1867 #[serde(skip_serializing_if = "Option::is_none")]
1868 pub run_id: Option<String>,
1869 /// <p>The workflowId of the workflow execution to cancel.</p>
1870 #[serde(rename = "workflowId")]
1871 pub workflow_id: String,
1872}
1873
1874/// <p>Tags are key-value pairs that can be associated with Amazon SWF state machines and activities.</p> <p>Tags may only contain unicode letters, digits, whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
1875#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
1876pub struct ResourceTag {
1877 /// <p>The key of a tag.</p>
1878 #[serde(rename = "key")]
1879 pub key: String,
1880 /// <p>The value of a tag.</p>
1881 #[serde(rename = "value")]
1882 #[serde(skip_serializing_if = "Option::is_none")]
1883 pub value: Option<String>,
1884}
1885
1886#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1887#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1888pub struct RespondActivityTaskCanceledInput {
1889 /// <p> Information about the cancellation.</p>
1890 #[serde(rename = "details")]
1891 #[serde(skip_serializing_if = "Option::is_none")]
1892 pub details: Option<String>,
1893 /// <p><p>The <code>taskToken</code> of the <a>ActivityTask</a>.</p> <important> <p> <code>taskToken</code> is generated by the service and should be treated as an opaque value. If the task is passed to another process, its <code>taskToken</code> must also be passed. This enables it to provide its progress and respond with results.</p> </important></p>
1894 #[serde(rename = "taskToken")]
1895 pub task_token: String,
1896}
1897
1898#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1899#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1900pub struct RespondActivityTaskCompletedInput {
1901 /// <p>The result of the activity task. It is a free form string that is implementation specific.</p>
1902 #[serde(rename = "result")]
1903 #[serde(skip_serializing_if = "Option::is_none")]
1904 pub result: Option<String>,
1905 /// <p><p>The <code>taskToken</code> of the <a>ActivityTask</a>.</p> <important> <p> <code>taskToken</code> is generated by the service and should be treated as an opaque value. If the task is passed to another process, its <code>taskToken</code> must also be passed. This enables it to provide its progress and respond with results.</p> </important></p>
1906 #[serde(rename = "taskToken")]
1907 pub task_token: String,
1908}
1909
1910#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1911#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1912pub struct RespondActivityTaskFailedInput {
1913 /// <p> Detailed information about the failure.</p>
1914 #[serde(rename = "details")]
1915 #[serde(skip_serializing_if = "Option::is_none")]
1916 pub details: Option<String>,
1917 /// <p>Description of the error that may assist in diagnostics.</p>
1918 #[serde(rename = "reason")]
1919 #[serde(skip_serializing_if = "Option::is_none")]
1920 pub reason: Option<String>,
1921 /// <p><p>The <code>taskToken</code> of the <a>ActivityTask</a>.</p> <important> <p> <code>taskToken</code> is generated by the service and should be treated as an opaque value. If the task is passed to another process, its <code>taskToken</code> must also be passed. This enables it to provide its progress and respond with results.</p> </important></p>
1922 #[serde(rename = "taskToken")]
1923 pub task_token: String,
1924}
1925
1926/// <p>Input data for a TaskCompleted response to a decision task.</p>
1927#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1928#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1929pub struct RespondDecisionTaskCompletedInput {
1930 /// <p>The list of decisions (possibly empty) made by the decider while processing this decision task. See the docs for the <a>Decision</a> structure for details.</p>
1931 #[serde(rename = "decisions")]
1932 #[serde(skip_serializing_if = "Option::is_none")]
1933 pub decisions: Option<Vec<Decision>>,
1934 /// <p>User defined context to add to workflow execution.</p>
1935 #[serde(rename = "executionContext")]
1936 #[serde(skip_serializing_if = "Option::is_none")]
1937 pub execution_context: Option<String>,
1938 /// <p><p>The <code>taskToken</code> from the <a>DecisionTask</a>.</p> <important> <p> <code>taskToken</code> is generated by the service and should be treated as an opaque value. If the task is passed to another process, its <code>taskToken</code> must also be passed. This enables it to provide its progress and respond with results.</p> </important></p>
1939 #[serde(rename = "taskToken")]
1940 pub task_token: String,
1941}
1942
1943/// <p>Specifies the <code>runId</code> of a workflow execution.</p>
1944#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1945#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
1946pub struct Run {
1947 /// <p>The <code>runId</code> of a workflow execution. This ID is generated by the service and can be used to uniquely identify the workflow execution within a domain.</p>
1948 #[serde(rename = "runId")]
1949 #[serde(skip_serializing_if = "Option::is_none")]
1950 pub run_id: Option<String>,
1951}
1952
1953/// <p>Provides the details of the <code>ScheduleActivityTask</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code> – String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code> – String constraint. The key is <code>swf:activityType.version</code>.</p> </li> <li> <p> <code>taskList</code> – String constraint. The key is <code>swf:taskList.name</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1954#[derive(Clone, Debug, Default, PartialEq, Serialize)]
1955#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
1956pub struct ScheduleActivityTaskDecisionAttributes {
1957 /// <p> The <code>activityId</code> of the activity task.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not contain the literal string <code>arn</code>.</p>
1958 #[serde(rename = "activityId")]
1959 pub activity_id: String,
1960 /// <p> The type of the activity task to schedule.</p>
1961 #[serde(rename = "activityType")]
1962 pub activity_type: ActivityType,
1963 /// <p>Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.</p>
1964 #[serde(rename = "control")]
1965 #[serde(skip_serializing_if = "Option::is_none")]
1966 pub control: Option<String>,
1967 /// <p>If set, specifies the maximum time before which a worker processing a task of this type must report progress by calling <a>RecordActivityTaskHeartbeat</a>. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or returns a result, it is ignored. This overrides the default heartbeat timeout specified when registering the activity type using <a>RegisterActivityType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
1968 #[serde(rename = "heartbeatTimeout")]
1969 #[serde(skip_serializing_if = "Option::is_none")]
1970 pub heartbeat_timeout: Option<String>,
1971 /// <p>The input provided to the activity task.</p>
1972 #[serde(rename = "input")]
1973 #[serde(skip_serializing_if = "Option::is_none")]
1974 pub input: Option<String>,
1975 /// <p><p>The maximum duration for this activity task.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>A schedule-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
1976 #[serde(rename = "scheduleToCloseTimeout")]
1977 #[serde(skip_serializing_if = "Option::is_none")]
1978 pub schedule_to_close_timeout: Option<String>,
1979 /// <p><p> If set, specifies the maximum duration the activity task can wait to be assigned to a worker. This overrides the default schedule-to-start timeout specified when registering the activity type using <a>RegisterActivityType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault is returned.</p> </note></p>
1980 #[serde(rename = "scheduleToStartTimeout")]
1981 #[serde(skip_serializing_if = "Option::is_none")]
1982 pub schedule_to_start_timeout: Option<String>,
1983 /// <p><p>If set, specifies the maximum duration a worker may take to process this activity task. This overrides the default start-to-close timeout specified when registering the activity type using <a>RegisterActivityType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>A start-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default start-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
1984 #[serde(rename = "startToCloseTimeout")]
1985 #[serde(skip_serializing_if = "Option::is_none")]
1986 pub start_to_close_timeout: Option<String>,
1987 /// <p>If set, specifies the name of the task list in which to schedule the activity task. If not specified, the <code>defaultTaskList</code> registered with the activity type is used.</p> <note> <p>A task list for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default task list was specified at registration time then a fault is returned.</p> </note> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not contain the literal string <code>arn</code>.</p>
1988 #[serde(rename = "taskList")]
1989 #[serde(skip_serializing_if = "Option::is_none")]
1990 pub task_list: Option<TaskList>,
1991 /// <p> If set, specifies the priority with which the activity task is to be assigned to a worker. This overrides the defaultTaskPriority specified when registering the activity type using <a>RegisterActivityType</a>. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
1992 #[serde(rename = "taskPriority")]
1993 #[serde(skip_serializing_if = "Option::is_none")]
1994 pub task_priority: Option<String>,
1995}
1996
1997/// <p>Provides the details of the <code>ScheduleActivityTaskFailed</code> event.</p>
1998#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
1999#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2000pub struct ScheduleActivityTaskFailedEventAttributes {
2001 /// <p>The activityId provided in the <code>ScheduleActivityTask</code> decision that failed.</p>
2002 #[serde(rename = "activityId")]
2003 pub activity_id: String,
2004 /// <p>The activity type provided in the <code>ScheduleActivityTask</code> decision that failed.</p>
2005 #[serde(rename = "activityType")]
2006 pub activity_type: ActivityType,
2007 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2008 #[serde(rename = "cause")]
2009 pub cause: String,
2010 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2011 #[serde(rename = "decisionTaskCompletedEventId")]
2012 pub decision_task_completed_event_id: i64,
2013}
2014
2015/// <p>Decision attributes specified in <code>scheduleLambdaFunctionDecisionAttributes</code> within the list of decisions <code>decisions</code> passed to <a>RespondDecisionTaskCompleted</a>.</p>
2016#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2017#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2018pub struct ScheduleLambdaFunctionDecisionAttributes {
2019 /// <p>The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the Lambda task.</p>
2020 #[serde(rename = "control")]
2021 #[serde(skip_serializing_if = "Option::is_none")]
2022 pub control: Option<String>,
2023 /// <p>A string that identifies the Lambda function execution in the event history.</p>
2024 #[serde(rename = "id")]
2025 pub id: String,
2026 /// <p>The optional input data to be supplied to the Lambda function.</p>
2027 #[serde(rename = "input")]
2028 #[serde(skip_serializing_if = "Option::is_none")]
2029 pub input: Option<String>,
2030 /// <p>The name, or ARN, of the Lambda function to schedule.</p>
2031 #[serde(rename = "name")]
2032 pub name: String,
2033 /// <p>The timeout value, in seconds, after which the Lambda function is considered to be failed once it has started. This can be any integer from 1-300 (1s-5m). If no value is supplied, than a default value of 300s is assumed.</p>
2034 #[serde(rename = "startToCloseTimeout")]
2035 #[serde(skip_serializing_if = "Option::is_none")]
2036 pub start_to_close_timeout: Option<String>,
2037}
2038
2039/// <p>Provides the details of the <code>ScheduleLambdaFunctionFailed</code> event. It isn't set for other event types.</p>
2040#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2041#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2042pub struct ScheduleLambdaFunctionFailedEventAttributes {
2043 /// <p><p>The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2044 #[serde(rename = "cause")]
2045 pub cause: String,
2046 /// <p>The ID of the <code>LambdaFunctionCompleted</code> event corresponding to the decision that resulted in scheduling this Lambda task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
2047 #[serde(rename = "decisionTaskCompletedEventId")]
2048 pub decision_task_completed_event_id: i64,
2049 /// <p>The ID provided in the <code>ScheduleLambdaFunction</code> decision that failed. </p>
2050 #[serde(rename = "id")]
2051 pub id: String,
2052 /// <p>The name of the Lambda function.</p>
2053 #[serde(rename = "name")]
2054 pub name: String,
2055}
2056
2057/// <p>Provides the details of the <code>SignalExternalWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2058#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2059#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2060pub struct SignalExternalWorkflowExecutionDecisionAttributes {
2061 /// <p>The data attached to the event that can be used by the decider in subsequent decision tasks.</p>
2062 #[serde(rename = "control")]
2063 #[serde(skip_serializing_if = "Option::is_none")]
2064 pub control: Option<String>,
2065 /// <p> The input data to be provided with the signal. The target workflow execution uses the signal name and input data to process the signal.</p>
2066 #[serde(rename = "input")]
2067 #[serde(skip_serializing_if = "Option::is_none")]
2068 pub input: Option<String>,
2069 /// <p>The <code>runId</code> of the workflow execution to be signaled.</p>
2070 #[serde(rename = "runId")]
2071 #[serde(skip_serializing_if = "Option::is_none")]
2072 pub run_id: Option<String>,
2073 /// <p> The name of the signal.The target workflow execution uses the signal name and input to process the signal.</p>
2074 #[serde(rename = "signalName")]
2075 pub signal_name: String,
2076 /// <p> The <code>workflowId</code> of the workflow execution to be signaled.</p>
2077 #[serde(rename = "workflowId")]
2078 pub workflow_id: String,
2079}
2080
2081/// <p>Provides the details of the <code>SignalExternalWorkflowExecutionFailed</code> event.</p>
2082#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2083#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2084pub struct SignalExternalWorkflowExecutionFailedEventAttributes {
2085 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2086 #[serde(rename = "cause")]
2087 pub cause: String,
2088 /// <p>The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the workflow execution.</p>
2089 #[serde(rename = "control")]
2090 #[serde(skip_serializing_if = "Option::is_none")]
2091 pub control: Option<String>,
2092 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>SignalExternalWorkflowExecution</code> decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2093 #[serde(rename = "decisionTaskCompletedEventId")]
2094 pub decision_task_completed_event_id: i64,
2095 /// <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event corresponding to the <code>SignalExternalWorkflowExecution</code> decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2096 #[serde(rename = "initiatedEventId")]
2097 pub initiated_event_id: i64,
2098 /// <p>The <code>runId</code> of the external workflow execution that the signal was being delivered to.</p>
2099 #[serde(rename = "runId")]
2100 #[serde(skip_serializing_if = "Option::is_none")]
2101 pub run_id: Option<String>,
2102 /// <p>The <code>workflowId</code> of the external workflow execution that the signal was being delivered to.</p>
2103 #[serde(rename = "workflowId")]
2104 pub workflow_id: String,
2105}
2106
2107/// <p>Provides the details of the <code>SignalExternalWorkflowExecutionInitiated</code> event.</p>
2108#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2109#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2110pub struct SignalExternalWorkflowExecutionInitiatedEventAttributes {
2111 /// <p>Data attached to the event that can be used by the decider in subsequent decision tasks.</p>
2112 #[serde(rename = "control")]
2113 #[serde(skip_serializing_if = "Option::is_none")]
2114 pub control: Option<String>,
2115 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>SignalExternalWorkflowExecution</code> decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2116 #[serde(rename = "decisionTaskCompletedEventId")]
2117 pub decision_task_completed_event_id: i64,
2118 /// <p>The input provided to the signal.</p>
2119 #[serde(rename = "input")]
2120 #[serde(skip_serializing_if = "Option::is_none")]
2121 pub input: Option<String>,
2122 /// <p>The <code>runId</code> of the external workflow execution to send the signal to.</p>
2123 #[serde(rename = "runId")]
2124 #[serde(skip_serializing_if = "Option::is_none")]
2125 pub run_id: Option<String>,
2126 /// <p>The name of the signal.</p>
2127 #[serde(rename = "signalName")]
2128 pub signal_name: String,
2129 /// <p>The <code>workflowId</code> of the external workflow execution.</p>
2130 #[serde(rename = "workflowId")]
2131 pub workflow_id: String,
2132}
2133
2134#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2135#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2136pub struct SignalWorkflowExecutionInput {
2137 /// <p>The name of the domain containing the workflow execution to signal.</p>
2138 #[serde(rename = "domain")]
2139 pub domain: String,
2140 /// <p>Data to attach to the <code>WorkflowExecutionSignaled</code> event in the target workflow execution's history.</p>
2141 #[serde(rename = "input")]
2142 #[serde(skip_serializing_if = "Option::is_none")]
2143 pub input: Option<String>,
2144 /// <p>The runId of the workflow execution to signal.</p>
2145 #[serde(rename = "runId")]
2146 #[serde(skip_serializing_if = "Option::is_none")]
2147 pub run_id: Option<String>,
2148 /// <p>The name of the signal. This name must be meaningful to the target workflow.</p>
2149 #[serde(rename = "signalName")]
2150 pub signal_name: String,
2151 /// <p>The workflowId of the workflow execution to signal.</p>
2152 #[serde(rename = "workflowId")]
2153 pub workflow_id: String,
2154}
2155
2156/// <p>Provides the details of the <code>StartChildWorkflowExecution</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagList.member.N</code> – The key is "swf:tagList.N" where N is the tag number from 0 to 4, inclusive.</p> </li> <li> <p> <code>taskList</code> – String constraint. The key is <code>swf:taskList.name</code>.</p> </li> <li> <p> <code>workflowType.name</code> – String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code> – String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2157#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2158#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2159pub struct StartChildWorkflowExecutionDecisionAttributes {
2160 /// <p><p> If set, specifies the policy to use for the child workflow executions if the workflow execution being started is terminated by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul> <note> <p>A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.</p> </note></p>
2161 #[serde(rename = "childPolicy")]
2162 #[serde(skip_serializing_if = "Option::is_none")]
2163 pub child_policy: Option<String>,
2164 /// <p>The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.</p>
2165 #[serde(rename = "control")]
2166 #[serde(skip_serializing_if = "Option::is_none")]
2167 pub control: Option<String>,
2168 /// <p><p>The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
2169 #[serde(rename = "executionStartToCloseTimeout")]
2170 #[serde(skip_serializing_if = "Option::is_none")]
2171 pub execution_start_to_close_timeout: Option<String>,
2172 /// <p>The input to be provided to the workflow execution.</p>
2173 #[serde(rename = "input")]
2174 #[serde(skip_serializing_if = "Option::is_none")]
2175 pub input: Option<String>,
2176 /// <p>The IAM role attached to the child workflow execution.</p>
2177 #[serde(rename = "lambdaRole")]
2178 #[serde(skip_serializing_if = "Option::is_none")]
2179 pub lambda_role: Option<String>,
2180 /// <p>The list of tags to associate with the child workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> and specifying a <a>TagFilter</a>.</p>
2181 #[serde(rename = "tagList")]
2182 #[serde(skip_serializing_if = "Option::is_none")]
2183 pub tag_list: Option<Vec<String>>,
2184 /// <p>The name of the task list to be used for decision tasks of the child workflow execution.</p> <note> <p>A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned.</p> </note> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not contain the literal string <code>arn</code>.</p>
2185 #[serde(rename = "taskList")]
2186 #[serde(skip_serializing_if = "Option::is_none")]
2187 pub task_list: Option<TaskList>,
2188 /// <p> A task priority that, if set, specifies the priority for a decision task of this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2189 #[serde(rename = "taskPriority")]
2190 #[serde(skip_serializing_if = "Option::is_none")]
2191 pub task_priority: Option<String>,
2192 /// <p><p>Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the <code>defaultTaskStartToCloseTimout</code> specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
2193 #[serde(rename = "taskStartToCloseTimeout")]
2194 #[serde(skip_serializing_if = "Option::is_none")]
2195 pub task_start_to_close_timeout: Option<String>,
2196 /// <p> The <code>workflowId</code> of the workflow execution.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not contain the literal string <code>arn</code>.</p>
2197 #[serde(rename = "workflowId")]
2198 pub workflow_id: String,
2199 /// <p> The type of the workflow execution to be started.</p>
2200 #[serde(rename = "workflowType")]
2201 pub workflow_type: WorkflowType,
2202}
2203
2204/// <p>Provides the details of the <code>StartChildWorkflowExecutionFailed</code> event.</p>
2205#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2206#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2207pub struct StartChildWorkflowExecutionFailedEventAttributes {
2208 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>When <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision fails because it lacks sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html"> Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2209 #[serde(rename = "cause")]
2210 pub cause: String,
2211 /// <p>The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the child workflow execution.</p>
2212 #[serde(rename = "control")]
2213 #[serde(skip_serializing_if = "Option::is_none")]
2214 pub control: Option<String>,
2215 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>StartChildWorkflowExecution</code> <a>Decision</a> to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events.</p>
2216 #[serde(rename = "decisionTaskCompletedEventId")]
2217 pub decision_task_completed_event_id: i64,
2218 /// <p>When the <code>cause</code> is <code>WORKFLOW_ALREADY_RUNNING</code>, <code>initiatedEventId</code> is the ID of the <code>StartChildWorkflowExecutionInitiated</code> event that corresponds to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start the workflow execution. You can use this information to diagnose problems by tracing back the chain of events leading up to this event.</p> <p>When the <code>cause</code> isn't <code>WORKFLOW_ALREADY_RUNNING</code>, <code>initiatedEventId</code> is set to <code>0</code> because the <code>StartChildWorkflowExecutionInitiated</code> event doesn't exist.</p>
2219 #[serde(rename = "initiatedEventId")]
2220 pub initiated_event_id: i64,
2221 /// <p>The <code>workflowId</code> of the child workflow execution.</p>
2222 #[serde(rename = "workflowId")]
2223 pub workflow_id: String,
2224 /// <p>The workflow type provided in the <code>StartChildWorkflowExecution</code> <a>Decision</a> that failed.</p>
2225 #[serde(rename = "workflowType")]
2226 pub workflow_type: WorkflowType,
2227}
2228
2229/// <p>Provides the details of the <code>StartChildWorkflowExecutionInitiated</code> event.</p>
2230#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2231#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2232pub struct StartChildWorkflowExecutionInitiatedEventAttributes {
2233 /// <p><p>The policy to use for the child workflow executions if this execution gets terminated by explicitly calling the <a>TerminateWorkflowExecution</a> action or due to an expired timeout.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2234 #[serde(rename = "childPolicy")]
2235 pub child_policy: String,
2236 /// <p>Data attached to the event that can be used by the decider in subsequent decision tasks. This data isn't sent to the activity.</p>
2237 #[serde(rename = "control")]
2238 #[serde(skip_serializing_if = "Option::is_none")]
2239 pub control: Option<String>,
2240 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>StartChildWorkflowExecution</code> <a>Decision</a> to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the cause of events.</p>
2241 #[serde(rename = "decisionTaskCompletedEventId")]
2242 pub decision_task_completed_event_id: i64,
2243 /// <p>The maximum duration for the child workflow execution. If the workflow execution isn't closed within this duration, it is timed out and force-terminated.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2244 #[serde(rename = "executionStartToCloseTimeout")]
2245 #[serde(skip_serializing_if = "Option::is_none")]
2246 pub execution_start_to_close_timeout: Option<String>,
2247 /// <p>The inputs provided to the child workflow execution.</p>
2248 #[serde(rename = "input")]
2249 #[serde(skip_serializing_if = "Option::is_none")]
2250 pub input: Option<String>,
2251 /// <p>The IAM role to attach to the child workflow execution.</p>
2252 #[serde(rename = "lambdaRole")]
2253 #[serde(skip_serializing_if = "Option::is_none")]
2254 pub lambda_role: Option<String>,
2255 /// <p>The list of tags to associated with the child workflow execution.</p>
2256 #[serde(rename = "tagList")]
2257 #[serde(skip_serializing_if = "Option::is_none")]
2258 pub tag_list: Option<Vec<String>>,
2259 /// <p>The name of the task list used for the decision tasks of the child workflow execution.</p>
2260 #[serde(rename = "taskList")]
2261 pub task_list: TaskList,
2262 /// <p> The priority assigned for the decision tasks for this workflow execution. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2263 #[serde(rename = "taskPriority")]
2264 #[serde(skip_serializing_if = "Option::is_none")]
2265 pub task_priority: Option<String>,
2266 /// <p>The maximum duration allowed for the decision tasks for this workflow execution.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2267 #[serde(rename = "taskStartToCloseTimeout")]
2268 #[serde(skip_serializing_if = "Option::is_none")]
2269 pub task_start_to_close_timeout: Option<String>,
2270 /// <p>The <code>workflowId</code> of the child workflow execution.</p>
2271 #[serde(rename = "workflowId")]
2272 pub workflow_id: String,
2273 /// <p>The type of the child workflow execution.</p>
2274 #[serde(rename = "workflowType")]
2275 pub workflow_type: WorkflowType,
2276}
2277
2278/// <p>Provides the details of the <code>StartLambdaFunctionFailed</code> event. It isn't set for other event types.</p>
2279#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2280#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2281pub struct StartLambdaFunctionFailedEventAttributes {
2282 /// <p><p>The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because the IAM role attached to the execution lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">Lambda Tasks</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2283 #[serde(rename = "cause")]
2284 #[serde(skip_serializing_if = "Option::is_none")]
2285 pub cause: Option<String>,
2286 /// <p>A description that can help diagnose the cause of the fault.</p>
2287 #[serde(rename = "message")]
2288 #[serde(skip_serializing_if = "Option::is_none")]
2289 pub message: Option<String>,
2290 /// <p>The ID of the <code>ActivityTaskScheduled</code> event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.</p>
2291 #[serde(rename = "scheduledEventId")]
2292 #[serde(skip_serializing_if = "Option::is_none")]
2293 pub scheduled_event_id: Option<i64>,
2294}
2295
2296/// <p>Provides the details of the <code>StartTimer</code> decision.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this decision's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2297#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2298#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2299pub struct StartTimerDecisionAttributes {
2300 /// <p>The data attached to the event that can be used by the decider in subsequent workflow tasks.</p>
2301 #[serde(rename = "control")]
2302 #[serde(skip_serializing_if = "Option::is_none")]
2303 pub control: Option<String>,
2304 /// <p> The duration to wait before firing the timer.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>.</p>
2305 #[serde(rename = "startToFireTimeout")]
2306 pub start_to_fire_timeout: String,
2307 /// <p> The unique ID of the timer.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not contain the literal string <code>arn</code>.</p>
2308 #[serde(rename = "timerId")]
2309 pub timer_id: String,
2310}
2311
2312/// <p>Provides the details of the <code>StartTimerFailed</code> event.</p>
2313#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2314#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2315pub struct StartTimerFailedEventAttributes {
2316 /// <p><p>The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.</p> <note> <p>If <code>cause</code> is set to <code>OPERATION<em>NOT</em>PERMITTED</code>, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2317 #[serde(rename = "cause")]
2318 pub cause: String,
2319 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>StartTimer</code> decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2320 #[serde(rename = "decisionTaskCompletedEventId")]
2321 pub decision_task_completed_event_id: i64,
2322 /// <p>The timerId provided in the <code>StartTimer</code> decision that failed.</p>
2323 #[serde(rename = "timerId")]
2324 pub timer_id: String,
2325}
2326
2327#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2328#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2329pub struct StartWorkflowExecutionInput {
2330 /// <p><p>If set, specifies the policy to use for the child workflow executions of this workflow execution if it is terminated, by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul> <note> <p>A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.</p> </note></p>
2331 #[serde(rename = "childPolicy")]
2332 #[serde(skip_serializing_if = "Option::is_none")]
2333 pub child_policy: Option<String>,
2334 /// <p>The name of the domain in which the workflow execution is created.</p>
2335 #[serde(rename = "domain")]
2336 pub domain: String,
2337 /// <p><p>The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.</p> <p>The duration is specified in seconds; an integer greater than or equal to <code>0</code>. Exceeding this limit causes the workflow execution to time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of "NONE" for this timeout; there is a one-year max limit on the time that a workflow execution can run.</p> <note> <p>An execution start-to-close timeout must be specified either through this parameter or as a default when the workflow type is registered. If neither this parameter nor a default execution start-to-close timeout is specified, a fault is returned.</p> </note></p>
2338 #[serde(rename = "executionStartToCloseTimeout")]
2339 #[serde(skip_serializing_if = "Option::is_none")]
2340 pub execution_start_to_close_timeout: Option<String>,
2341 /// <p>The input for the workflow execution. This is a free form string which should be meaningful to the workflow you are starting. This <code>input</code> is made available to the new workflow execution in the <code>WorkflowExecutionStarted</code> history event.</p>
2342 #[serde(rename = "input")]
2343 #[serde(skip_serializing_if = "Option::is_none")]
2344 pub input: Option<String>,
2345 /// <p><p>The IAM role to attach to this workflow execution.</p> <note> <p>Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't attach an IAM role, any attempt to schedule a Lambda task fails. This results in a <code>ScheduleLambdaFunctionFailed</code> history event. For more information, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2346 #[serde(rename = "lambdaRole")]
2347 #[serde(skip_serializing_if = "Option::is_none")]
2348 pub lambda_role: Option<String>,
2349 /// <p>The list of tags to associate with the workflow execution. You can specify a maximum of 5 tags. You can list workflow executions with a specific tag by calling <a>ListOpenWorkflowExecutions</a> or <a>ListClosedWorkflowExecutions</a> and specifying a <a>TagFilter</a>.</p>
2350 #[serde(rename = "tagList")]
2351 #[serde(skip_serializing_if = "Option::is_none")]
2352 pub tag_list: Option<Vec<String>>,
2353 /// <p>The task list to use for the decision tasks generated for this workflow execution. This overrides the <code>defaultTaskList</code> specified when registering the workflow type.</p> <note> <p>A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned.</p> </note> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
2354 #[serde(rename = "taskList")]
2355 #[serde(skip_serializing_if = "Option::is_none")]
2356 pub task_list: Option<TaskList>,
2357 /// <p>The task priority to use for this workflow execution. This overrides any default priority that was assigned when the workflow type was registered. If not set, then the default task priority for the workflow type is used. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2358 #[serde(rename = "taskPriority")]
2359 #[serde(skip_serializing_if = "Option::is_none")]
2360 pub task_priority: Option<String>,
2361 /// <p><p>Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the <code>defaultTaskStartToCloseTimout</code> specified when registering the workflow type using <a>RegisterWorkflowType</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p> <note> <p>A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.</p> </note></p>
2362 #[serde(rename = "taskStartToCloseTimeout")]
2363 #[serde(skip_serializing_if = "Option::is_none")]
2364 pub task_start_to_close_timeout: Option<String>,
2365 /// <p>The user defined identifier associated with the workflow execution. You can use this to associate a custom identifier with the workflow execution. You may specify the same identifier if a workflow execution is logically a <i>restart</i> of a previous execution. You cannot have two open workflow executions with the same <code>workflowId</code> at the same time within the same domain.</p> <p>The specified string must not start or end with whitespace. It must not contain a <code>:</code> (colon), <code>/</code> (slash), <code>|</code> (vertical bar), or any control characters (<code>\u0000-\u001f</code> | <code>\u007f-\u009f</code>). Also, it must not <i>be</i> the literal string <code>arn</code>.</p>
2366 #[serde(rename = "workflowId")]
2367 pub workflow_id: String,
2368 /// <p>The type of the workflow to start.</p>
2369 #[serde(rename = "workflowType")]
2370 pub workflow_type: WorkflowType,
2371}
2372
2373/// <p>Used to filter the workflow executions in visibility APIs based on a tag.</p>
2374#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2375#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2376pub struct TagFilter {
2377 /// <p> Specifies the tag that must be associated with the execution for it to meet the filter criteria.</p> <p>Tags may only contain unicode letters, digits, whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
2378 #[serde(rename = "tag")]
2379 pub tag: String,
2380}
2381
2382#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2383#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2384pub struct TagResourceInput {
2385 /// <p>The Amazon Resource Name (ARN) for the Amazon SWF domain.</p>
2386 #[serde(rename = "resourceArn")]
2387 pub resource_arn: String,
2388 /// <p>The list of tags to add to a domain. </p> <p>Tags may only contain unicode letters, digits, whitespace, or these symbols: <code>_ . : / = + - @</code>.</p>
2389 #[serde(rename = "tags")]
2390 pub tags: Vec<ResourceTag>,
2391}
2392
2393/// <p>Represents a task list.</p>
2394#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2395pub struct TaskList {
2396 /// <p>The name of the task list.</p>
2397 #[serde(rename = "name")]
2398 pub name: String,
2399}
2400
2401#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2402#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2403pub struct TerminateWorkflowExecutionInput {
2404 /// <p><p>If set, specifies the policy to use for the child workflow executions of the workflow execution being terminated. This policy overrides the child policy specified for the workflow execution at registration time or when starting the execution.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul> <note> <p>A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.</p> </note></p>
2405 #[serde(rename = "childPolicy")]
2406 #[serde(skip_serializing_if = "Option::is_none")]
2407 pub child_policy: Option<String>,
2408 /// <p> Details for terminating the workflow execution.</p>
2409 #[serde(rename = "details")]
2410 #[serde(skip_serializing_if = "Option::is_none")]
2411 pub details: Option<String>,
2412 /// <p>The domain of the workflow execution to terminate.</p>
2413 #[serde(rename = "domain")]
2414 pub domain: String,
2415 /// <p> A descriptive reason for terminating the workflow execution.</p>
2416 #[serde(rename = "reason")]
2417 #[serde(skip_serializing_if = "Option::is_none")]
2418 pub reason: Option<String>,
2419 /// <p>The runId of the workflow execution to terminate.</p>
2420 #[serde(rename = "runId")]
2421 #[serde(skip_serializing_if = "Option::is_none")]
2422 pub run_id: Option<String>,
2423 /// <p>The workflowId of the workflow execution to terminate.</p>
2424 #[serde(rename = "workflowId")]
2425 pub workflow_id: String,
2426}
2427
2428/// <p> Provides the details of the <code>TimerCanceled</code> event. </p>
2429#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2430#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2431pub struct TimerCanceledEventAttributes {
2432 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>CancelTimer</code> decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2433 #[serde(rename = "decisionTaskCompletedEventId")]
2434 pub decision_task_completed_event_id: i64,
2435 /// <p>The ID of the <code>TimerStarted</code> event that was recorded when this timer was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2436 #[serde(rename = "startedEventId")]
2437 pub started_event_id: i64,
2438 /// <p>The unique ID of the timer that was canceled.</p>
2439 #[serde(rename = "timerId")]
2440 pub timer_id: String,
2441}
2442
2443/// <p>Provides the details of the <code>TimerFired</code> event.</p>
2444#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2445#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2446pub struct TimerFiredEventAttributes {
2447 /// <p>The ID of the <code>TimerStarted</code> event that was recorded when this timer was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2448 #[serde(rename = "startedEventId")]
2449 pub started_event_id: i64,
2450 /// <p>The unique ID of the timer that fired.</p>
2451 #[serde(rename = "timerId")]
2452 pub timer_id: String,
2453}
2454
2455/// <p>Provides the details of the <code>TimerStarted</code> event.</p>
2456#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2457#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2458pub struct TimerStartedEventAttributes {
2459 /// <p>Data attached to the event that can be used by the decider in subsequent workflow tasks.</p>
2460 #[serde(rename = "control")]
2461 #[serde(skip_serializing_if = "Option::is_none")]
2462 pub control: Option<String>,
2463 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>StartTimer</code> decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2464 #[serde(rename = "decisionTaskCompletedEventId")]
2465 pub decision_task_completed_event_id: i64,
2466 /// <p>The duration of time after which the timer fires.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>.</p>
2467 #[serde(rename = "startToFireTimeout")]
2468 pub start_to_fire_timeout: String,
2469 /// <p>The unique ID of the timer that was started.</p>
2470 #[serde(rename = "timerId")]
2471 pub timer_id: String,
2472}
2473
2474#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2475#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2476pub struct UndeprecateActivityTypeInput {
2477 /// <p>The activity type to undeprecate.</p>
2478 #[serde(rename = "activityType")]
2479 pub activity_type: ActivityType,
2480 /// <p>The name of the domain of the deprecated activity type.</p>
2481 #[serde(rename = "domain")]
2482 pub domain: String,
2483}
2484
2485#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2486#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2487pub struct UndeprecateDomainInput {
2488 /// <p>The name of the domain of the deprecated workflow type.</p>
2489 #[serde(rename = "name")]
2490 pub name: String,
2491}
2492
2493#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2494#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2495pub struct UndeprecateWorkflowTypeInput {
2496 /// <p>The name of the domain of the deprecated workflow type.</p>
2497 #[serde(rename = "domain")]
2498 pub domain: String,
2499 /// <p>The name of the domain of the deprecated workflow type.</p>
2500 #[serde(rename = "workflowType")]
2501 pub workflow_type: WorkflowType,
2502}
2503
2504#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2505#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2506pub struct UntagResourceInput {
2507 /// <p>The Amazon Resource Name (ARN) for the Amazon SWF domain.</p>
2508 #[serde(rename = "resourceArn")]
2509 pub resource_arn: String,
2510 /// <p>The list of tags to remove from the Amazon SWF domain.</p>
2511 #[serde(rename = "tagKeys")]
2512 pub tag_keys: Vec<String>,
2513}
2514
2515/// <p>Represents a workflow execution.</p>
2516#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2517pub struct WorkflowExecution {
2518 /// <p>A system-generated unique identifier for the workflow execution.</p>
2519 #[serde(rename = "runId")]
2520 pub run_id: String,
2521 /// <p>The user defined identifier associated with the workflow execution.</p>
2522 #[serde(rename = "workflowId")]
2523 pub workflow_id: String,
2524}
2525
2526/// <p>Provides the details of the <code>WorkflowExecutionCancelRequested</code> event.</p>
2527#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2528#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2529pub struct WorkflowExecutionCancelRequestedEventAttributes {
2530 /// <p>If set, indicates that the request to cancel the workflow execution was automatically generated, and specifies the cause. This happens if the parent workflow execution times out or is terminated, and the child policy is set to cancel child executions.</p>
2531 #[serde(rename = "cause")]
2532 #[serde(skip_serializing_if = "Option::is_none")]
2533 pub cause: Option<String>,
2534 /// <p>The ID of the <code>RequestCancelExternalWorkflowExecutionInitiated</code> event corresponding to the <code>RequestCancelExternalWorkflowExecution</code> decision to cancel this workflow execution.The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2535 #[serde(rename = "externalInitiatedEventId")]
2536 #[serde(skip_serializing_if = "Option::is_none")]
2537 pub external_initiated_event_id: Option<i64>,
2538 /// <p>The external workflow execution for which the cancellation was requested.</p>
2539 #[serde(rename = "externalWorkflowExecution")]
2540 #[serde(skip_serializing_if = "Option::is_none")]
2541 pub external_workflow_execution: Option<WorkflowExecution>,
2542}
2543
2544/// <p>Provides the details of the <code>WorkflowExecutionCanceled</code> event.</p>
2545#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2546#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2547pub struct WorkflowExecutionCanceledEventAttributes {
2548 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>CancelWorkflowExecution</code> decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2549 #[serde(rename = "decisionTaskCompletedEventId")]
2550 pub decision_task_completed_event_id: i64,
2551 /// <p>The details of the cancellation.</p>
2552 #[serde(rename = "details")]
2553 #[serde(skip_serializing_if = "Option::is_none")]
2554 pub details: Option<String>,
2555}
2556
2557/// <p>Provides the details of the <code>WorkflowExecutionCompleted</code> event.</p>
2558#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2559#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2560pub struct WorkflowExecutionCompletedEventAttributes {
2561 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>CompleteWorkflowExecution</code> decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2562 #[serde(rename = "decisionTaskCompletedEventId")]
2563 pub decision_task_completed_event_id: i64,
2564 /// <p>The result produced by the workflow execution upon successful completion.</p>
2565 #[serde(rename = "result")]
2566 #[serde(skip_serializing_if = "Option::is_none")]
2567 pub result: Option<String>,
2568}
2569
2570/// <p>The configuration settings for a workflow execution including timeout values, tasklist etc. These configuration settings are determined from the defaults specified when registering the workflow type and those specified when starting the workflow execution.</p>
2571#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2572#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2573pub struct WorkflowExecutionConfiguration {
2574 /// <p><p>The policy to use for the child workflow executions if this workflow execution is terminated, by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2575 #[serde(rename = "childPolicy")]
2576 pub child_policy: String,
2577 /// <p>The total duration for this workflow execution.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2578 #[serde(rename = "executionStartToCloseTimeout")]
2579 pub execution_start_to_close_timeout: String,
2580 /// <p>The IAM role attached to the child workflow execution.</p>
2581 #[serde(rename = "lambdaRole")]
2582 #[serde(skip_serializing_if = "Option::is_none")]
2583 pub lambda_role: Option<String>,
2584 /// <p>The task list used for the decision tasks generated for this workflow execution.</p>
2585 #[serde(rename = "taskList")]
2586 pub task_list: TaskList,
2587 /// <p>The priority assigned to decision tasks for this workflow execution. Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2588 #[serde(rename = "taskPriority")]
2589 #[serde(skip_serializing_if = "Option::is_none")]
2590 pub task_priority: Option<String>,
2591 /// <p>The maximum duration allowed for decision tasks for this workflow execution.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2592 #[serde(rename = "taskStartToCloseTimeout")]
2593 pub task_start_to_close_timeout: String,
2594}
2595
2596/// <p>Provides the details of the <code>WorkflowExecutionContinuedAsNew</code> event.</p>
2597#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2598#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2599pub struct WorkflowExecutionContinuedAsNewEventAttributes {
2600 /// <p><p>The policy to use for the child workflow executions of the new execution if it is terminated by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2601 #[serde(rename = "childPolicy")]
2602 pub child_policy: String,
2603 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>ContinueAsNewWorkflowExecution</code> decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2604 #[serde(rename = "decisionTaskCompletedEventId")]
2605 pub decision_task_completed_event_id: i64,
2606 /// <p>The total duration allowed for the new workflow execution.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2607 #[serde(rename = "executionStartToCloseTimeout")]
2608 #[serde(skip_serializing_if = "Option::is_none")]
2609 pub execution_start_to_close_timeout: Option<String>,
2610 /// <p>The input provided to the new workflow execution.</p>
2611 #[serde(rename = "input")]
2612 #[serde(skip_serializing_if = "Option::is_none")]
2613 pub input: Option<String>,
2614 /// <p>The IAM role to attach to the new (continued) workflow execution.</p>
2615 #[serde(rename = "lambdaRole")]
2616 #[serde(skip_serializing_if = "Option::is_none")]
2617 pub lambda_role: Option<String>,
2618 /// <p>The <code>runId</code> of the new workflow execution.</p>
2619 #[serde(rename = "newExecutionRunId")]
2620 pub new_execution_run_id: String,
2621 /// <p>The list of tags associated with the new workflow execution.</p>
2622 #[serde(rename = "tagList")]
2623 #[serde(skip_serializing_if = "Option::is_none")]
2624 pub tag_list: Option<Vec<String>>,
2625 /// <p>The task list to use for the decisions of the new (continued) workflow execution.</p>
2626 #[serde(rename = "taskList")]
2627 pub task_list: TaskList,
2628 /// <p>The priority of the task to use for the decisions of the new (continued) workflow execution.</p>
2629 #[serde(rename = "taskPriority")]
2630 #[serde(skip_serializing_if = "Option::is_none")]
2631 pub task_priority: Option<String>,
2632 /// <p>The maximum duration of decision tasks for the new workflow execution.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2633 #[serde(rename = "taskStartToCloseTimeout")]
2634 #[serde(skip_serializing_if = "Option::is_none")]
2635 pub task_start_to_close_timeout: Option<String>,
2636 /// <p>The workflow type of this execution.</p>
2637 #[serde(rename = "workflowType")]
2638 pub workflow_type: WorkflowType,
2639}
2640
2641/// <p>Contains the count of workflow executions returned from <a>CountOpenWorkflowExecutions</a> or <a>CountClosedWorkflowExecutions</a> </p>
2642#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2643#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2644pub struct WorkflowExecutionCount {
2645 /// <p>The number of workflow executions.</p>
2646 #[serde(rename = "count")]
2647 pub count: i64,
2648 /// <p>If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.</p>
2649 #[serde(rename = "truncated")]
2650 #[serde(skip_serializing_if = "Option::is_none")]
2651 pub truncated: Option<bool>,
2652}
2653
2654/// <p>Contains details about a workflow execution.</p>
2655#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2656#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2657pub struct WorkflowExecutionDetail {
2658 /// <p>The configuration settings for this workflow execution including timeout values, tasklist etc.</p>
2659 #[serde(rename = "executionConfiguration")]
2660 pub execution_configuration: WorkflowExecutionConfiguration,
2661 /// <p>Information about the workflow execution.</p>
2662 #[serde(rename = "executionInfo")]
2663 pub execution_info: WorkflowExecutionInfo,
2664 /// <p>The time when the last activity task was scheduled for this workflow execution. You can use this information to determine if the workflow has not made progress for an unusually long period of time and might require a corrective action.</p>
2665 #[serde(rename = "latestActivityTaskTimestamp")]
2666 #[serde(skip_serializing_if = "Option::is_none")]
2667 pub latest_activity_task_timestamp: Option<f64>,
2668 /// <p>The latest executionContext provided by the decider for this workflow execution. A decider can provide an executionContext (a free-form string) when closing a decision task using <a>RespondDecisionTaskCompleted</a>.</p>
2669 #[serde(rename = "latestExecutionContext")]
2670 #[serde(skip_serializing_if = "Option::is_none")]
2671 pub latest_execution_context: Option<String>,
2672 /// <p>The number of tasks for this workflow execution. This includes open and closed tasks of all types.</p>
2673 #[serde(rename = "openCounts")]
2674 pub open_counts: WorkflowExecutionOpenCounts,
2675}
2676
2677/// <p>Provides the details of the <code>WorkflowExecutionFailed</code> event.</p>
2678#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2679#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2680pub struct WorkflowExecutionFailedEventAttributes {
2681 /// <p>The ID of the <code>DecisionTaskCompleted</code> event corresponding to the decision task that resulted in the <code>FailWorkflowExecution</code> decision to fail this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2682 #[serde(rename = "decisionTaskCompletedEventId")]
2683 pub decision_task_completed_event_id: i64,
2684 /// <p>The details of the failure.</p>
2685 #[serde(rename = "details")]
2686 #[serde(skip_serializing_if = "Option::is_none")]
2687 pub details: Option<String>,
2688 /// <p>The descriptive reason provided for the failure.</p>
2689 #[serde(rename = "reason")]
2690 #[serde(skip_serializing_if = "Option::is_none")]
2691 pub reason: Option<String>,
2692}
2693
2694/// <p>Used to filter the workflow executions in visibility APIs by their <code>workflowId</code>.</p>
2695#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2696#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2697pub struct WorkflowExecutionFilter {
2698 /// <p>The workflowId to pass of match the criteria of this filter.</p>
2699 #[serde(rename = "workflowId")]
2700 pub workflow_id: String,
2701}
2702
2703/// <p>Contains information about a workflow execution.</p>
2704#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2705#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2706pub struct WorkflowExecutionInfo {
2707 /// <p>Set to true if a cancellation is requested for this workflow execution.</p>
2708 #[serde(rename = "cancelRequested")]
2709 #[serde(skip_serializing_if = "Option::is_none")]
2710 pub cancel_requested: Option<bool>,
2711 /// <p><p>If the execution status is closed then this specifies how the execution was closed:</p> <ul> <li> <p> <code>COMPLETED</code> – the execution was successfully completed.</p> </li> <li> <p> <code>CANCELED</code> – the execution was canceled.Cancellation allows the implementation to gracefully clean up before the execution is closed.</p> </li> <li> <p> <code>TERMINATED</code> – the execution was force terminated.</p> </li> <li> <p> <code>FAILED</code> – the execution failed to complete.</p> </li> <li> <p> <code>TIMED<em>OUT</code> – the execution did not complete in the alloted time and was automatically timed out.</p> </li> <li> <p> <code>CONTINUED</em>AS_NEW</code> – the execution is logically continued. This means the current execution was completed and a new execution was started to carry on the workflow.</p> </li> </ul></p>
2712 #[serde(rename = "closeStatus")]
2713 #[serde(skip_serializing_if = "Option::is_none")]
2714 pub close_status: Option<String>,
2715 /// <p>The time when the workflow execution was closed. Set only if the execution status is CLOSED.</p>
2716 #[serde(rename = "closeTimestamp")]
2717 #[serde(skip_serializing_if = "Option::is_none")]
2718 pub close_timestamp: Option<f64>,
2719 /// <p>The workflow execution this information is about.</p>
2720 #[serde(rename = "execution")]
2721 pub execution: WorkflowExecution,
2722 /// <p>The current status of the execution.</p>
2723 #[serde(rename = "executionStatus")]
2724 pub execution_status: String,
2725 /// <p>If this workflow execution is a child of another execution then contains the workflow execution that started this execution.</p>
2726 #[serde(rename = "parent")]
2727 #[serde(skip_serializing_if = "Option::is_none")]
2728 pub parent: Option<WorkflowExecution>,
2729 /// <p>The time when the execution was started.</p>
2730 #[serde(rename = "startTimestamp")]
2731 pub start_timestamp: f64,
2732 /// <p>The list of tags associated with the workflow execution. Tags can be used to identify and list workflow executions of interest through the visibility APIs. A workflow execution can have a maximum of 5 tags.</p>
2733 #[serde(rename = "tagList")]
2734 #[serde(skip_serializing_if = "Option::is_none")]
2735 pub tag_list: Option<Vec<String>>,
2736 /// <p>The type of the workflow execution.</p>
2737 #[serde(rename = "workflowType")]
2738 pub workflow_type: WorkflowType,
2739}
2740
2741/// <p>Contains a paginated list of information about workflow executions.</p>
2742#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2743#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2744pub struct WorkflowExecutionInfos {
2745 /// <p>The list of workflow information structures.</p>
2746 #[serde(rename = "executionInfos")]
2747 pub execution_infos: Vec<WorkflowExecutionInfo>,
2748 /// <p>If a <code>NextPageToken</code> was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in <code>nextPageToken</code>. Keep all other arguments unchanged.</p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call.</p>
2749 #[serde(rename = "nextPageToken")]
2750 #[serde(skip_serializing_if = "Option::is_none")]
2751 pub next_page_token: Option<String>,
2752}
2753
2754/// <p>Contains the counts of open tasks, child workflow executions and timers for a workflow execution.</p>
2755#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2756#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2757pub struct WorkflowExecutionOpenCounts {
2758 /// <p>The count of activity tasks whose status is <code>OPEN</code>.</p>
2759 #[serde(rename = "openActivityTasks")]
2760 pub open_activity_tasks: i64,
2761 /// <p>The count of child workflow executions whose status is <code>OPEN</code>.</p>
2762 #[serde(rename = "openChildWorkflowExecutions")]
2763 pub open_child_workflow_executions: i64,
2764 /// <p>The count of decision tasks whose status is OPEN. A workflow execution can have at most one open decision task.</p>
2765 #[serde(rename = "openDecisionTasks")]
2766 pub open_decision_tasks: i64,
2767 /// <p>The count of Lambda tasks whose status is <code>OPEN</code>.</p>
2768 #[serde(rename = "openLambdaFunctions")]
2769 #[serde(skip_serializing_if = "Option::is_none")]
2770 pub open_lambda_functions: Option<i64>,
2771 /// <p>The count of timers started by this workflow execution that have not fired yet.</p>
2772 #[serde(rename = "openTimers")]
2773 pub open_timers: i64,
2774}
2775
2776/// <p>Provides the details of the <code>WorkflowExecutionSignaled</code> event.</p>
2777#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2778#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2779pub struct WorkflowExecutionSignaledEventAttributes {
2780 /// <p>The ID of the <code>SignalExternalWorkflowExecutionInitiated</code> event corresponding to the <code>SignalExternalWorkflow</code> decision to signal this workflow execution.The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event. This field is set only if the signal was initiated by another workflow execution.</p>
2781 #[serde(rename = "externalInitiatedEventId")]
2782 #[serde(skip_serializing_if = "Option::is_none")]
2783 pub external_initiated_event_id: Option<i64>,
2784 /// <p>The workflow execution that sent the signal. This is set only of the signal was sent by another workflow execution.</p>
2785 #[serde(rename = "externalWorkflowExecution")]
2786 #[serde(skip_serializing_if = "Option::is_none")]
2787 pub external_workflow_execution: Option<WorkflowExecution>,
2788 /// <p>The inputs provided with the signal. The decider can use the signal name and inputs to determine how to process the signal.</p>
2789 #[serde(rename = "input")]
2790 #[serde(skip_serializing_if = "Option::is_none")]
2791 pub input: Option<String>,
2792 /// <p>The name of the signal received. The decider can use the signal name and inputs to determine how to the process the signal.</p>
2793 #[serde(rename = "signalName")]
2794 pub signal_name: String,
2795}
2796
2797/// <p>Provides details of <code>WorkflowExecutionStarted</code> event.</p>
2798#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2799#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2800pub struct WorkflowExecutionStartedEventAttributes {
2801 /// <p><p>The policy to use for the child workflow executions if this workflow execution is terminated, by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2802 #[serde(rename = "childPolicy")]
2803 pub child_policy: String,
2804 /// <p>If this workflow execution was started due to a <code>ContinueAsNewWorkflowExecution</code> decision, then it contains the <code>runId</code> of the previous workflow execution that was closed and continued as this execution.</p>
2805 #[serde(rename = "continuedExecutionRunId")]
2806 #[serde(skip_serializing_if = "Option::is_none")]
2807 pub continued_execution_run_id: Option<String>,
2808 /// <p>The maximum duration for this workflow execution.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2809 #[serde(rename = "executionStartToCloseTimeout")]
2810 #[serde(skip_serializing_if = "Option::is_none")]
2811 pub execution_start_to_close_timeout: Option<String>,
2812 /// <p>The input provided to the workflow execution.</p>
2813 #[serde(rename = "input")]
2814 #[serde(skip_serializing_if = "Option::is_none")]
2815 pub input: Option<String>,
2816 /// <p>The IAM role attached to the workflow execution.</p>
2817 #[serde(rename = "lambdaRole")]
2818 #[serde(skip_serializing_if = "Option::is_none")]
2819 pub lambda_role: Option<String>,
2820 /// <p>The ID of the <code>StartChildWorkflowExecutionInitiated</code> event corresponding to the <code>StartChildWorkflowExecution</code> <a>Decision</a> to start this workflow execution. The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.</p>
2821 #[serde(rename = "parentInitiatedEventId")]
2822 #[serde(skip_serializing_if = "Option::is_none")]
2823 pub parent_initiated_event_id: Option<i64>,
2824 /// <p>The source workflow execution that started this workflow execution. The member isn't set if the workflow execution was not started by a workflow.</p>
2825 #[serde(rename = "parentWorkflowExecution")]
2826 #[serde(skip_serializing_if = "Option::is_none")]
2827 pub parent_workflow_execution: Option<WorkflowExecution>,
2828 /// <p>The list of tags associated with this workflow execution. An execution can have up to 5 tags.</p>
2829 #[serde(rename = "tagList")]
2830 #[serde(skip_serializing_if = "Option::is_none")]
2831 pub tag_list: Option<Vec<String>>,
2832 /// <p>The name of the task list for scheduling the decision tasks for this workflow execution.</p>
2833 #[serde(rename = "taskList")]
2834 pub task_list: TaskList,
2835 /// <p>The priority of the decision tasks in the workflow execution.</p>
2836 #[serde(rename = "taskPriority")]
2837 #[serde(skip_serializing_if = "Option::is_none")]
2838 pub task_priority: Option<String>,
2839 /// <p>The maximum duration of decision tasks for this workflow type.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2840 #[serde(rename = "taskStartToCloseTimeout")]
2841 #[serde(skip_serializing_if = "Option::is_none")]
2842 pub task_start_to_close_timeout: Option<String>,
2843 /// <p>The workflow type of this execution.</p>
2844 #[serde(rename = "workflowType")]
2845 pub workflow_type: WorkflowType,
2846}
2847
2848/// <p>Provides the details of the <code>WorkflowExecutionTerminated</code> event.</p>
2849#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2850#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2851pub struct WorkflowExecutionTerminatedEventAttributes {
2852 /// <p>If set, indicates that the workflow execution was automatically terminated, and specifies the cause. This happens if the parent workflow execution times out or is terminated and the child policy is set to terminate child executions.</p>
2853 #[serde(rename = "cause")]
2854 #[serde(skip_serializing_if = "Option::is_none")]
2855 pub cause: Option<String>,
2856 /// <p><p>The policy used for the child workflow executions of this workflow execution.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2857 #[serde(rename = "childPolicy")]
2858 pub child_policy: String,
2859 /// <p>The details provided for the termination.</p>
2860 #[serde(rename = "details")]
2861 #[serde(skip_serializing_if = "Option::is_none")]
2862 pub details: Option<String>,
2863 /// <p>The reason provided for the termination.</p>
2864 #[serde(rename = "reason")]
2865 #[serde(skip_serializing_if = "Option::is_none")]
2866 pub reason: Option<String>,
2867}
2868
2869/// <p>Provides the details of the <code>WorkflowExecutionTimedOut</code> event.</p>
2870#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2871#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2872pub struct WorkflowExecutionTimedOutEventAttributes {
2873 /// <p><p>The policy used for the child workflow executions of this workflow execution.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2874 #[serde(rename = "childPolicy")]
2875 pub child_policy: String,
2876 /// <p>The type of timeout that caused this event.</p>
2877 #[serde(rename = "timeoutType")]
2878 pub timeout_type: String,
2879}
2880
2881/// <p>Represents a workflow type.</p>
2882#[derive(Clone, Debug, Default, Deserialize, PartialEq, Serialize)]
2883pub struct WorkflowType {
2884 /// <p><p> The name of the workflow type.</p> <note> <p>The combination of workflow type name and version must be unique with in a domain.</p> </note></p>
2885 #[serde(rename = "name")]
2886 pub name: String,
2887 /// <p><p> The version of the workflow type.</p> <note> <p>The combination of workflow type name and version must be unique with in a domain.</p> </note></p>
2888 #[serde(rename = "version")]
2889 pub version: String,
2890}
2891
2892/// <p>The configuration settings of a workflow type.</p>
2893#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2894#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2895pub struct WorkflowTypeConfiguration {
2896 /// <p><p> The default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the <a>TerminateWorkflowExecution</a> action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p> <p>The supported child policies are:</p> <ul> <li> <p> <code>TERMINATE</code> – The child executions are terminated.</p> </li> <li> <p> <code>REQUEST_CANCEL</code> – A request to cancel is attempted for each child execution by recording a <code>WorkflowExecutionCancelRequested</code> event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> </li> <li> <p> <code>ABANDON</code> – No action is taken. The child executions continue to run.</p> </li> </ul></p>
2897 #[serde(rename = "defaultChildPolicy")]
2898 #[serde(skip_serializing_if = "Option::is_none")]
2899 pub default_child_policy: Option<String>,
2900 /// <p> The default maximum duration, specified when registering the workflow type, for executions of this workflow type. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2901 #[serde(rename = "defaultExecutionStartToCloseTimeout")]
2902 #[serde(skip_serializing_if = "Option::is_none")]
2903 pub default_execution_start_to_close_timeout: Option<String>,
2904 /// <p><p>The default IAM role attached to this workflow type.</p> <note> <p>Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when starting this workflow type, the default Lambda role is attached to the execution. For more information, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html">https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html</a> in the <i>Amazon SWF Developer Guide</i>.</p> </note></p>
2905 #[serde(rename = "defaultLambdaRole")]
2906 #[serde(skip_serializing_if = "Option::is_none")]
2907 pub default_lambda_role: Option<String>,
2908 /// <p> The default task list, specified when registering the workflow type, for decisions tasks scheduled for workflow executions of this type. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p>
2909 #[serde(rename = "defaultTaskList")]
2910 #[serde(skip_serializing_if = "Option::is_none")]
2911 pub default_task_list: Option<TaskList>,
2912 /// <p> The default task priority, specified when registering the workflow type, for all decision tasks of this workflow type. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> decision.</p> <p>Valid values are integers that range from Java's <code>Integer.MIN_VALUE</code> (-2147483648) to <code>Integer.MAX_VALUE</code> (2147483647). Higher numbers indicate higher priority.</p> <p>For more information about setting task priority, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html">Setting Task Priority</a> in the <i>Amazon SWF Developer Guide</i>.</p>
2913 #[serde(rename = "defaultTaskPriority")]
2914 #[serde(skip_serializing_if = "Option::is_none")]
2915 pub default_task_priority: Option<String>,
2916 /// <p> The default maximum duration, specified when registering the workflow type, that a decision task for executions of this workflow type might take before returning completion or failure. If the task doesn'tdo close in the specified time then the task is automatically timed out and rescheduled. If the decider eventually reports a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using the <a>StartWorkflowExecution</a> action or the <code>StartChildWorkflowExecution</code> <a>Decision</a>.</p> <p>The duration is specified in seconds, an integer greater than or equal to <code>0</code>. You can use <code>NONE</code> to specify unlimited duration.</p>
2917 #[serde(rename = "defaultTaskStartToCloseTimeout")]
2918 #[serde(skip_serializing_if = "Option::is_none")]
2919 pub default_task_start_to_close_timeout: Option<String>,
2920}
2921
2922/// <p>Contains details about a workflow type.</p>
2923#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2924#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2925pub struct WorkflowTypeDetail {
2926 /// <p>Configuration settings of the workflow type registered through <a>RegisterWorkflowType</a> </p>
2927 #[serde(rename = "configuration")]
2928 pub configuration: WorkflowTypeConfiguration,
2929 /// <p><p>General information about the workflow type.</p> <p>The status of the workflow type (returned in the WorkflowTypeInfo structure) can be one of the following.</p> <ul> <li> <p> <code>REGISTERED</code> – The type is registered and available. Workers supporting this type should be running.</p> </li> <li> <p> <code>DEPRECATED</code> – The type was deprecated using <a>DeprecateWorkflowType</a>, but is still in use. You should keep workers supporting this type running. You cannot create new workflow executions of this type.</p> </li> </ul></p>
2930 #[serde(rename = "typeInfo")]
2931 pub type_info: WorkflowTypeInfo,
2932}
2933
2934/// <p>Used to filter workflow execution query results by type. Each parameter, if specified, defines a rule that must be satisfied by each returned result.</p>
2935#[derive(Clone, Debug, Default, PartialEq, Serialize)]
2936#[cfg_attr(feature = "deserialize_structs", derive(Deserialize))]
2937pub struct WorkflowTypeFilter {
2938 /// <p> Name of the workflow type.</p>
2939 #[serde(rename = "name")]
2940 pub name: String,
2941 /// <p>Version of the workflow type.</p>
2942 #[serde(rename = "version")]
2943 #[serde(skip_serializing_if = "Option::is_none")]
2944 pub version: Option<String>,
2945}
2946
2947/// <p>Contains information about a workflow type.</p>
2948#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2949#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2950pub struct WorkflowTypeInfo {
2951 /// <p>The date when this type was registered.</p>
2952 #[serde(rename = "creationDate")]
2953 pub creation_date: f64,
2954 /// <p>If the type is in deprecated state, then it is set to the date when the type was deprecated.</p>
2955 #[serde(rename = "deprecationDate")]
2956 #[serde(skip_serializing_if = "Option::is_none")]
2957 pub deprecation_date: Option<f64>,
2958 /// <p>The description of the type registered through <a>RegisterWorkflowType</a>.</p>
2959 #[serde(rename = "description")]
2960 #[serde(skip_serializing_if = "Option::is_none")]
2961 pub description: Option<String>,
2962 /// <p>The current status of the workflow type.</p>
2963 #[serde(rename = "status")]
2964 pub status: String,
2965 /// <p>The workflow type this information is about.</p>
2966 #[serde(rename = "workflowType")]
2967 pub workflow_type: WorkflowType,
2968}
2969
2970/// <p>Contains a paginated list of information structures about workflow types.</p>
2971#[derive(Clone, Debug, Default, Deserialize, PartialEq)]
2972#[cfg_attr(any(test, feature = "serialize_structs"), derive(Serialize))]
2973pub struct WorkflowTypeInfos {
2974 /// <p>If a <code>NextPageToken</code> was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in <code>nextPageToken</code>. Keep all other arguments unchanged.</p> <p>The configured <code>maximumPageSize</code> determines how many results can be returned in a single call.</p>
2975 #[serde(rename = "nextPageToken")]
2976 #[serde(skip_serializing_if = "Option::is_none")]
2977 pub next_page_token: Option<String>,
2978 /// <p>The list of workflow type information.</p>
2979 #[serde(rename = "typeInfos")]
2980 pub type_infos: Vec<WorkflowTypeInfo>,
2981}
2982
2983/// Errors returned by CountClosedWorkflowExecutions
2984#[derive(Debug, PartialEq)]
2985pub enum CountClosedWorkflowExecutionsError {
2986 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
2987 OperationNotPermittedFault(String),
2988 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
2989 UnknownResourceFault(String),
2990}
2991
2992impl CountClosedWorkflowExecutionsError {
2993 pub fn from_response(
2994 res: BufferedHttpResponse,
2995 ) -> RusotoError<CountClosedWorkflowExecutionsError> {
2996 if let Some(err) = proto::json::Error::parse(&res) {
2997 match err.typ.as_str() {
2998 "OperationNotPermittedFault" => {
2999 return RusotoError::Service(
3000 CountClosedWorkflowExecutionsError::OperationNotPermittedFault(err.msg),
3001 )
3002 }
3003 "UnknownResourceFault" => {
3004 return RusotoError::Service(
3005 CountClosedWorkflowExecutionsError::UnknownResourceFault(err.msg),
3006 )
3007 }
3008 "ValidationException" => return RusotoError::Validation(err.msg),
3009 _ => {}
3010 }
3011 }
3012 RusotoError::Unknown(res)
3013 }
3014}
3015impl fmt::Display for CountClosedWorkflowExecutionsError {
3016 #[allow(unused_variables)]
3017 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3018 match *self {
3019 CountClosedWorkflowExecutionsError::OperationNotPermittedFault(ref cause) => {
3020 write!(f, "{}", cause)
3021 }
3022 CountClosedWorkflowExecutionsError::UnknownResourceFault(ref cause) => {
3023 write!(f, "{}", cause)
3024 }
3025 }
3026 }
3027}
3028impl Error for CountClosedWorkflowExecutionsError {}
3029/// Errors returned by CountOpenWorkflowExecutions
3030#[derive(Debug, PartialEq)]
3031pub enum CountOpenWorkflowExecutionsError {
3032 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3033 OperationNotPermittedFault(String),
3034 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3035 UnknownResourceFault(String),
3036}
3037
3038impl CountOpenWorkflowExecutionsError {
3039 pub fn from_response(
3040 res: BufferedHttpResponse,
3041 ) -> RusotoError<CountOpenWorkflowExecutionsError> {
3042 if let Some(err) = proto::json::Error::parse(&res) {
3043 match err.typ.as_str() {
3044 "OperationNotPermittedFault" => {
3045 return RusotoError::Service(
3046 CountOpenWorkflowExecutionsError::OperationNotPermittedFault(err.msg),
3047 )
3048 }
3049 "UnknownResourceFault" => {
3050 return RusotoError::Service(
3051 CountOpenWorkflowExecutionsError::UnknownResourceFault(err.msg),
3052 )
3053 }
3054 "ValidationException" => return RusotoError::Validation(err.msg),
3055 _ => {}
3056 }
3057 }
3058 RusotoError::Unknown(res)
3059 }
3060}
3061impl fmt::Display for CountOpenWorkflowExecutionsError {
3062 #[allow(unused_variables)]
3063 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3064 match *self {
3065 CountOpenWorkflowExecutionsError::OperationNotPermittedFault(ref cause) => {
3066 write!(f, "{}", cause)
3067 }
3068 CountOpenWorkflowExecutionsError::UnknownResourceFault(ref cause) => {
3069 write!(f, "{}", cause)
3070 }
3071 }
3072 }
3073}
3074impl Error for CountOpenWorkflowExecutionsError {}
3075/// Errors returned by CountPendingActivityTasks
3076#[derive(Debug, PartialEq)]
3077pub enum CountPendingActivityTasksError {
3078 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3079 OperationNotPermittedFault(String),
3080 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3081 UnknownResourceFault(String),
3082}
3083
3084impl CountPendingActivityTasksError {
3085 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CountPendingActivityTasksError> {
3086 if let Some(err) = proto::json::Error::parse(&res) {
3087 match err.typ.as_str() {
3088 "OperationNotPermittedFault" => {
3089 return RusotoError::Service(
3090 CountPendingActivityTasksError::OperationNotPermittedFault(err.msg),
3091 )
3092 }
3093 "UnknownResourceFault" => {
3094 return RusotoError::Service(
3095 CountPendingActivityTasksError::UnknownResourceFault(err.msg),
3096 )
3097 }
3098 "ValidationException" => return RusotoError::Validation(err.msg),
3099 _ => {}
3100 }
3101 }
3102 RusotoError::Unknown(res)
3103 }
3104}
3105impl fmt::Display for CountPendingActivityTasksError {
3106 #[allow(unused_variables)]
3107 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3108 match *self {
3109 CountPendingActivityTasksError::OperationNotPermittedFault(ref cause) => {
3110 write!(f, "{}", cause)
3111 }
3112 CountPendingActivityTasksError::UnknownResourceFault(ref cause) => {
3113 write!(f, "{}", cause)
3114 }
3115 }
3116 }
3117}
3118impl Error for CountPendingActivityTasksError {}
3119/// Errors returned by CountPendingDecisionTasks
3120#[derive(Debug, PartialEq)]
3121pub enum CountPendingDecisionTasksError {
3122 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3123 OperationNotPermittedFault(String),
3124 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3125 UnknownResourceFault(String),
3126}
3127
3128impl CountPendingDecisionTasksError {
3129 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<CountPendingDecisionTasksError> {
3130 if let Some(err) = proto::json::Error::parse(&res) {
3131 match err.typ.as_str() {
3132 "OperationNotPermittedFault" => {
3133 return RusotoError::Service(
3134 CountPendingDecisionTasksError::OperationNotPermittedFault(err.msg),
3135 )
3136 }
3137 "UnknownResourceFault" => {
3138 return RusotoError::Service(
3139 CountPendingDecisionTasksError::UnknownResourceFault(err.msg),
3140 )
3141 }
3142 "ValidationException" => return RusotoError::Validation(err.msg),
3143 _ => {}
3144 }
3145 }
3146 RusotoError::Unknown(res)
3147 }
3148}
3149impl fmt::Display for CountPendingDecisionTasksError {
3150 #[allow(unused_variables)]
3151 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3152 match *self {
3153 CountPendingDecisionTasksError::OperationNotPermittedFault(ref cause) => {
3154 write!(f, "{}", cause)
3155 }
3156 CountPendingDecisionTasksError::UnknownResourceFault(ref cause) => {
3157 write!(f, "{}", cause)
3158 }
3159 }
3160 }
3161}
3162impl Error for CountPendingDecisionTasksError {}
3163/// Errors returned by DeprecateActivityType
3164#[derive(Debug, PartialEq)]
3165pub enum DeprecateActivityTypeError {
3166 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3167 OperationNotPermittedFault(String),
3168 /// <p>Returned when the specified activity or workflow type was already deprecated.</p>
3169 TypeDeprecatedFault(String),
3170 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3171 UnknownResourceFault(String),
3172}
3173
3174impl DeprecateActivityTypeError {
3175 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeprecateActivityTypeError> {
3176 if let Some(err) = proto::json::Error::parse(&res) {
3177 match err.typ.as_str() {
3178 "OperationNotPermittedFault" => {
3179 return RusotoError::Service(
3180 DeprecateActivityTypeError::OperationNotPermittedFault(err.msg),
3181 )
3182 }
3183 "TypeDeprecatedFault" => {
3184 return RusotoError::Service(DeprecateActivityTypeError::TypeDeprecatedFault(
3185 err.msg,
3186 ))
3187 }
3188 "UnknownResourceFault" => {
3189 return RusotoError::Service(DeprecateActivityTypeError::UnknownResourceFault(
3190 err.msg,
3191 ))
3192 }
3193 "ValidationException" => return RusotoError::Validation(err.msg),
3194 _ => {}
3195 }
3196 }
3197 RusotoError::Unknown(res)
3198 }
3199}
3200impl fmt::Display for DeprecateActivityTypeError {
3201 #[allow(unused_variables)]
3202 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3203 match *self {
3204 DeprecateActivityTypeError::OperationNotPermittedFault(ref cause) => {
3205 write!(f, "{}", cause)
3206 }
3207 DeprecateActivityTypeError::TypeDeprecatedFault(ref cause) => write!(f, "{}", cause),
3208 DeprecateActivityTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3209 }
3210 }
3211}
3212impl Error for DeprecateActivityTypeError {}
3213/// Errors returned by DeprecateDomain
3214#[derive(Debug, PartialEq)]
3215pub enum DeprecateDomainError {
3216 /// <p>Returned when the specified domain has been deprecated.</p>
3217 DomainDeprecatedFault(String),
3218 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3219 OperationNotPermittedFault(String),
3220 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3221 UnknownResourceFault(String),
3222}
3223
3224impl DeprecateDomainError {
3225 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeprecateDomainError> {
3226 if let Some(err) = proto::json::Error::parse(&res) {
3227 match err.typ.as_str() {
3228 "DomainDeprecatedFault" => {
3229 return RusotoError::Service(DeprecateDomainError::DomainDeprecatedFault(
3230 err.msg,
3231 ))
3232 }
3233 "OperationNotPermittedFault" => {
3234 return RusotoError::Service(DeprecateDomainError::OperationNotPermittedFault(
3235 err.msg,
3236 ))
3237 }
3238 "UnknownResourceFault" => {
3239 return RusotoError::Service(DeprecateDomainError::UnknownResourceFault(
3240 err.msg,
3241 ))
3242 }
3243 "ValidationException" => return RusotoError::Validation(err.msg),
3244 _ => {}
3245 }
3246 }
3247 RusotoError::Unknown(res)
3248 }
3249}
3250impl fmt::Display for DeprecateDomainError {
3251 #[allow(unused_variables)]
3252 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3253 match *self {
3254 DeprecateDomainError::DomainDeprecatedFault(ref cause) => write!(f, "{}", cause),
3255 DeprecateDomainError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
3256 DeprecateDomainError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3257 }
3258 }
3259}
3260impl Error for DeprecateDomainError {}
3261/// Errors returned by DeprecateWorkflowType
3262#[derive(Debug, PartialEq)]
3263pub enum DeprecateWorkflowTypeError {
3264 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3265 OperationNotPermittedFault(String),
3266 /// <p>Returned when the specified activity or workflow type was already deprecated.</p>
3267 TypeDeprecatedFault(String),
3268 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3269 UnknownResourceFault(String),
3270}
3271
3272impl DeprecateWorkflowTypeError {
3273 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DeprecateWorkflowTypeError> {
3274 if let Some(err) = proto::json::Error::parse(&res) {
3275 match err.typ.as_str() {
3276 "OperationNotPermittedFault" => {
3277 return RusotoError::Service(
3278 DeprecateWorkflowTypeError::OperationNotPermittedFault(err.msg),
3279 )
3280 }
3281 "TypeDeprecatedFault" => {
3282 return RusotoError::Service(DeprecateWorkflowTypeError::TypeDeprecatedFault(
3283 err.msg,
3284 ))
3285 }
3286 "UnknownResourceFault" => {
3287 return RusotoError::Service(DeprecateWorkflowTypeError::UnknownResourceFault(
3288 err.msg,
3289 ))
3290 }
3291 "ValidationException" => return RusotoError::Validation(err.msg),
3292 _ => {}
3293 }
3294 }
3295 RusotoError::Unknown(res)
3296 }
3297}
3298impl fmt::Display for DeprecateWorkflowTypeError {
3299 #[allow(unused_variables)]
3300 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3301 match *self {
3302 DeprecateWorkflowTypeError::OperationNotPermittedFault(ref cause) => {
3303 write!(f, "{}", cause)
3304 }
3305 DeprecateWorkflowTypeError::TypeDeprecatedFault(ref cause) => write!(f, "{}", cause),
3306 DeprecateWorkflowTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3307 }
3308 }
3309}
3310impl Error for DeprecateWorkflowTypeError {}
3311/// Errors returned by DescribeActivityType
3312#[derive(Debug, PartialEq)]
3313pub enum DescribeActivityTypeError {
3314 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3315 OperationNotPermittedFault(String),
3316 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3317 UnknownResourceFault(String),
3318}
3319
3320impl DescribeActivityTypeError {
3321 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeActivityTypeError> {
3322 if let Some(err) = proto::json::Error::parse(&res) {
3323 match err.typ.as_str() {
3324 "OperationNotPermittedFault" => {
3325 return RusotoError::Service(
3326 DescribeActivityTypeError::OperationNotPermittedFault(err.msg),
3327 )
3328 }
3329 "UnknownResourceFault" => {
3330 return RusotoError::Service(DescribeActivityTypeError::UnknownResourceFault(
3331 err.msg,
3332 ))
3333 }
3334 "ValidationException" => return RusotoError::Validation(err.msg),
3335 _ => {}
3336 }
3337 }
3338 RusotoError::Unknown(res)
3339 }
3340}
3341impl fmt::Display for DescribeActivityTypeError {
3342 #[allow(unused_variables)]
3343 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3344 match *self {
3345 DescribeActivityTypeError::OperationNotPermittedFault(ref cause) => {
3346 write!(f, "{}", cause)
3347 }
3348 DescribeActivityTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3349 }
3350 }
3351}
3352impl Error for DescribeActivityTypeError {}
3353/// Errors returned by DescribeDomain
3354#[derive(Debug, PartialEq)]
3355pub enum DescribeDomainError {
3356 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3357 OperationNotPermittedFault(String),
3358 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3359 UnknownResourceFault(String),
3360}
3361
3362impl DescribeDomainError {
3363 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeDomainError> {
3364 if let Some(err) = proto::json::Error::parse(&res) {
3365 match err.typ.as_str() {
3366 "OperationNotPermittedFault" => {
3367 return RusotoError::Service(DescribeDomainError::OperationNotPermittedFault(
3368 err.msg,
3369 ))
3370 }
3371 "UnknownResourceFault" => {
3372 return RusotoError::Service(DescribeDomainError::UnknownResourceFault(err.msg))
3373 }
3374 "ValidationException" => return RusotoError::Validation(err.msg),
3375 _ => {}
3376 }
3377 }
3378 RusotoError::Unknown(res)
3379 }
3380}
3381impl fmt::Display for DescribeDomainError {
3382 #[allow(unused_variables)]
3383 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3384 match *self {
3385 DescribeDomainError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
3386 DescribeDomainError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3387 }
3388 }
3389}
3390impl Error for DescribeDomainError {}
3391/// Errors returned by DescribeWorkflowExecution
3392#[derive(Debug, PartialEq)]
3393pub enum DescribeWorkflowExecutionError {
3394 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3395 OperationNotPermittedFault(String),
3396 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3397 UnknownResourceFault(String),
3398}
3399
3400impl DescribeWorkflowExecutionError {
3401 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeWorkflowExecutionError> {
3402 if let Some(err) = proto::json::Error::parse(&res) {
3403 match err.typ.as_str() {
3404 "OperationNotPermittedFault" => {
3405 return RusotoError::Service(
3406 DescribeWorkflowExecutionError::OperationNotPermittedFault(err.msg),
3407 )
3408 }
3409 "UnknownResourceFault" => {
3410 return RusotoError::Service(
3411 DescribeWorkflowExecutionError::UnknownResourceFault(err.msg),
3412 )
3413 }
3414 "ValidationException" => return RusotoError::Validation(err.msg),
3415 _ => {}
3416 }
3417 }
3418 RusotoError::Unknown(res)
3419 }
3420}
3421impl fmt::Display for DescribeWorkflowExecutionError {
3422 #[allow(unused_variables)]
3423 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3424 match *self {
3425 DescribeWorkflowExecutionError::OperationNotPermittedFault(ref cause) => {
3426 write!(f, "{}", cause)
3427 }
3428 DescribeWorkflowExecutionError::UnknownResourceFault(ref cause) => {
3429 write!(f, "{}", cause)
3430 }
3431 }
3432 }
3433}
3434impl Error for DescribeWorkflowExecutionError {}
3435/// Errors returned by DescribeWorkflowType
3436#[derive(Debug, PartialEq)]
3437pub enum DescribeWorkflowTypeError {
3438 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3439 OperationNotPermittedFault(String),
3440 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3441 UnknownResourceFault(String),
3442}
3443
3444impl DescribeWorkflowTypeError {
3445 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<DescribeWorkflowTypeError> {
3446 if let Some(err) = proto::json::Error::parse(&res) {
3447 match err.typ.as_str() {
3448 "OperationNotPermittedFault" => {
3449 return RusotoError::Service(
3450 DescribeWorkflowTypeError::OperationNotPermittedFault(err.msg),
3451 )
3452 }
3453 "UnknownResourceFault" => {
3454 return RusotoError::Service(DescribeWorkflowTypeError::UnknownResourceFault(
3455 err.msg,
3456 ))
3457 }
3458 "ValidationException" => return RusotoError::Validation(err.msg),
3459 _ => {}
3460 }
3461 }
3462 RusotoError::Unknown(res)
3463 }
3464}
3465impl fmt::Display for DescribeWorkflowTypeError {
3466 #[allow(unused_variables)]
3467 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3468 match *self {
3469 DescribeWorkflowTypeError::OperationNotPermittedFault(ref cause) => {
3470 write!(f, "{}", cause)
3471 }
3472 DescribeWorkflowTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3473 }
3474 }
3475}
3476impl Error for DescribeWorkflowTypeError {}
3477/// Errors returned by GetWorkflowExecutionHistory
3478#[derive(Debug, PartialEq)]
3479pub enum GetWorkflowExecutionHistoryError {
3480 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3481 OperationNotPermittedFault(String),
3482 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3483 UnknownResourceFault(String),
3484}
3485
3486impl GetWorkflowExecutionHistoryError {
3487 pub fn from_response(
3488 res: BufferedHttpResponse,
3489 ) -> RusotoError<GetWorkflowExecutionHistoryError> {
3490 if let Some(err) = proto::json::Error::parse(&res) {
3491 match err.typ.as_str() {
3492 "OperationNotPermittedFault" => {
3493 return RusotoError::Service(
3494 GetWorkflowExecutionHistoryError::OperationNotPermittedFault(err.msg),
3495 )
3496 }
3497 "UnknownResourceFault" => {
3498 return RusotoError::Service(
3499 GetWorkflowExecutionHistoryError::UnknownResourceFault(err.msg),
3500 )
3501 }
3502 "ValidationException" => return RusotoError::Validation(err.msg),
3503 _ => {}
3504 }
3505 }
3506 RusotoError::Unknown(res)
3507 }
3508}
3509impl fmt::Display for GetWorkflowExecutionHistoryError {
3510 #[allow(unused_variables)]
3511 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3512 match *self {
3513 GetWorkflowExecutionHistoryError::OperationNotPermittedFault(ref cause) => {
3514 write!(f, "{}", cause)
3515 }
3516 GetWorkflowExecutionHistoryError::UnknownResourceFault(ref cause) => {
3517 write!(f, "{}", cause)
3518 }
3519 }
3520 }
3521}
3522impl Error for GetWorkflowExecutionHistoryError {}
3523/// Errors returned by ListActivityTypes
3524#[derive(Debug, PartialEq)]
3525pub enum ListActivityTypesError {
3526 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3527 OperationNotPermittedFault(String),
3528 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3529 UnknownResourceFault(String),
3530}
3531
3532impl ListActivityTypesError {
3533 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListActivityTypesError> {
3534 if let Some(err) = proto::json::Error::parse(&res) {
3535 match err.typ.as_str() {
3536 "OperationNotPermittedFault" => {
3537 return RusotoError::Service(
3538 ListActivityTypesError::OperationNotPermittedFault(err.msg),
3539 )
3540 }
3541 "UnknownResourceFault" => {
3542 return RusotoError::Service(ListActivityTypesError::UnknownResourceFault(
3543 err.msg,
3544 ))
3545 }
3546 "ValidationException" => return RusotoError::Validation(err.msg),
3547 _ => {}
3548 }
3549 }
3550 RusotoError::Unknown(res)
3551 }
3552}
3553impl fmt::Display for ListActivityTypesError {
3554 #[allow(unused_variables)]
3555 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3556 match *self {
3557 ListActivityTypesError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
3558 ListActivityTypesError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3559 }
3560 }
3561}
3562impl Error for ListActivityTypesError {}
3563/// Errors returned by ListClosedWorkflowExecutions
3564#[derive(Debug, PartialEq)]
3565pub enum ListClosedWorkflowExecutionsError {
3566 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3567 OperationNotPermittedFault(String),
3568 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3569 UnknownResourceFault(String),
3570}
3571
3572impl ListClosedWorkflowExecutionsError {
3573 pub fn from_response(
3574 res: BufferedHttpResponse,
3575 ) -> RusotoError<ListClosedWorkflowExecutionsError> {
3576 if let Some(err) = proto::json::Error::parse(&res) {
3577 match err.typ.as_str() {
3578 "OperationNotPermittedFault" => {
3579 return RusotoError::Service(
3580 ListClosedWorkflowExecutionsError::OperationNotPermittedFault(err.msg),
3581 )
3582 }
3583 "UnknownResourceFault" => {
3584 return RusotoError::Service(
3585 ListClosedWorkflowExecutionsError::UnknownResourceFault(err.msg),
3586 )
3587 }
3588 "ValidationException" => return RusotoError::Validation(err.msg),
3589 _ => {}
3590 }
3591 }
3592 RusotoError::Unknown(res)
3593 }
3594}
3595impl fmt::Display for ListClosedWorkflowExecutionsError {
3596 #[allow(unused_variables)]
3597 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3598 match *self {
3599 ListClosedWorkflowExecutionsError::OperationNotPermittedFault(ref cause) => {
3600 write!(f, "{}", cause)
3601 }
3602 ListClosedWorkflowExecutionsError::UnknownResourceFault(ref cause) => {
3603 write!(f, "{}", cause)
3604 }
3605 }
3606 }
3607}
3608impl Error for ListClosedWorkflowExecutionsError {}
3609/// Errors returned by ListDomains
3610#[derive(Debug, PartialEq)]
3611pub enum ListDomainsError {
3612 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3613 OperationNotPermittedFault(String),
3614}
3615
3616impl ListDomainsError {
3617 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListDomainsError> {
3618 if let Some(err) = proto::json::Error::parse(&res) {
3619 match err.typ.as_str() {
3620 "OperationNotPermittedFault" => {
3621 return RusotoError::Service(ListDomainsError::OperationNotPermittedFault(
3622 err.msg,
3623 ))
3624 }
3625 "ValidationException" => return RusotoError::Validation(err.msg),
3626 _ => {}
3627 }
3628 }
3629 RusotoError::Unknown(res)
3630 }
3631}
3632impl fmt::Display for ListDomainsError {
3633 #[allow(unused_variables)]
3634 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3635 match *self {
3636 ListDomainsError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
3637 }
3638 }
3639}
3640impl Error for ListDomainsError {}
3641/// Errors returned by ListOpenWorkflowExecutions
3642#[derive(Debug, PartialEq)]
3643pub enum ListOpenWorkflowExecutionsError {
3644 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3645 OperationNotPermittedFault(String),
3646 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3647 UnknownResourceFault(String),
3648}
3649
3650impl ListOpenWorkflowExecutionsError {
3651 pub fn from_response(
3652 res: BufferedHttpResponse,
3653 ) -> RusotoError<ListOpenWorkflowExecutionsError> {
3654 if let Some(err) = proto::json::Error::parse(&res) {
3655 match err.typ.as_str() {
3656 "OperationNotPermittedFault" => {
3657 return RusotoError::Service(
3658 ListOpenWorkflowExecutionsError::OperationNotPermittedFault(err.msg),
3659 )
3660 }
3661 "UnknownResourceFault" => {
3662 return RusotoError::Service(
3663 ListOpenWorkflowExecutionsError::UnknownResourceFault(err.msg),
3664 )
3665 }
3666 "ValidationException" => return RusotoError::Validation(err.msg),
3667 _ => {}
3668 }
3669 }
3670 RusotoError::Unknown(res)
3671 }
3672}
3673impl fmt::Display for ListOpenWorkflowExecutionsError {
3674 #[allow(unused_variables)]
3675 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3676 match *self {
3677 ListOpenWorkflowExecutionsError::OperationNotPermittedFault(ref cause) => {
3678 write!(f, "{}", cause)
3679 }
3680 ListOpenWorkflowExecutionsError::UnknownResourceFault(ref cause) => {
3681 write!(f, "{}", cause)
3682 }
3683 }
3684 }
3685}
3686impl Error for ListOpenWorkflowExecutionsError {}
3687/// Errors returned by ListTagsForResource
3688#[derive(Debug, PartialEq)]
3689pub enum ListTagsForResourceError {
3690 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
3691 LimitExceededFault(String),
3692 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3693 OperationNotPermittedFault(String),
3694 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3695 UnknownResourceFault(String),
3696}
3697
3698impl ListTagsForResourceError {
3699 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListTagsForResourceError> {
3700 if let Some(err) = proto::json::Error::parse(&res) {
3701 match err.typ.as_str() {
3702 "LimitExceededFault" => {
3703 return RusotoError::Service(ListTagsForResourceError::LimitExceededFault(
3704 err.msg,
3705 ))
3706 }
3707 "OperationNotPermittedFault" => {
3708 return RusotoError::Service(
3709 ListTagsForResourceError::OperationNotPermittedFault(err.msg),
3710 )
3711 }
3712 "UnknownResourceFault" => {
3713 return RusotoError::Service(ListTagsForResourceError::UnknownResourceFault(
3714 err.msg,
3715 ))
3716 }
3717 "ValidationException" => return RusotoError::Validation(err.msg),
3718 _ => {}
3719 }
3720 }
3721 RusotoError::Unknown(res)
3722 }
3723}
3724impl fmt::Display for ListTagsForResourceError {
3725 #[allow(unused_variables)]
3726 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3727 match *self {
3728 ListTagsForResourceError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
3729 ListTagsForResourceError::OperationNotPermittedFault(ref cause) => {
3730 write!(f, "{}", cause)
3731 }
3732 ListTagsForResourceError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3733 }
3734 }
3735}
3736impl Error for ListTagsForResourceError {}
3737/// Errors returned by ListWorkflowTypes
3738#[derive(Debug, PartialEq)]
3739pub enum ListWorkflowTypesError {
3740 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3741 OperationNotPermittedFault(String),
3742 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3743 UnknownResourceFault(String),
3744}
3745
3746impl ListWorkflowTypesError {
3747 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<ListWorkflowTypesError> {
3748 if let Some(err) = proto::json::Error::parse(&res) {
3749 match err.typ.as_str() {
3750 "OperationNotPermittedFault" => {
3751 return RusotoError::Service(
3752 ListWorkflowTypesError::OperationNotPermittedFault(err.msg),
3753 )
3754 }
3755 "UnknownResourceFault" => {
3756 return RusotoError::Service(ListWorkflowTypesError::UnknownResourceFault(
3757 err.msg,
3758 ))
3759 }
3760 "ValidationException" => return RusotoError::Validation(err.msg),
3761 _ => {}
3762 }
3763 }
3764 RusotoError::Unknown(res)
3765 }
3766}
3767impl fmt::Display for ListWorkflowTypesError {
3768 #[allow(unused_variables)]
3769 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3770 match *self {
3771 ListWorkflowTypesError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
3772 ListWorkflowTypesError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3773 }
3774 }
3775}
3776impl Error for ListWorkflowTypesError {}
3777/// Errors returned by PollForActivityTask
3778#[derive(Debug, PartialEq)]
3779pub enum PollForActivityTaskError {
3780 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
3781 LimitExceededFault(String),
3782 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3783 OperationNotPermittedFault(String),
3784 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3785 UnknownResourceFault(String),
3786}
3787
3788impl PollForActivityTaskError {
3789 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PollForActivityTaskError> {
3790 if let Some(err) = proto::json::Error::parse(&res) {
3791 match err.typ.as_str() {
3792 "LimitExceededFault" => {
3793 return RusotoError::Service(PollForActivityTaskError::LimitExceededFault(
3794 err.msg,
3795 ))
3796 }
3797 "OperationNotPermittedFault" => {
3798 return RusotoError::Service(
3799 PollForActivityTaskError::OperationNotPermittedFault(err.msg),
3800 )
3801 }
3802 "UnknownResourceFault" => {
3803 return RusotoError::Service(PollForActivityTaskError::UnknownResourceFault(
3804 err.msg,
3805 ))
3806 }
3807 "ValidationException" => return RusotoError::Validation(err.msg),
3808 _ => {}
3809 }
3810 }
3811 RusotoError::Unknown(res)
3812 }
3813}
3814impl fmt::Display for PollForActivityTaskError {
3815 #[allow(unused_variables)]
3816 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3817 match *self {
3818 PollForActivityTaskError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
3819 PollForActivityTaskError::OperationNotPermittedFault(ref cause) => {
3820 write!(f, "{}", cause)
3821 }
3822 PollForActivityTaskError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3823 }
3824 }
3825}
3826impl Error for PollForActivityTaskError {}
3827/// Errors returned by PollForDecisionTask
3828#[derive(Debug, PartialEq)]
3829pub enum PollForDecisionTaskError {
3830 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
3831 LimitExceededFault(String),
3832 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3833 OperationNotPermittedFault(String),
3834 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3835 UnknownResourceFault(String),
3836}
3837
3838impl PollForDecisionTaskError {
3839 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<PollForDecisionTaskError> {
3840 if let Some(err) = proto::json::Error::parse(&res) {
3841 match err.typ.as_str() {
3842 "LimitExceededFault" => {
3843 return RusotoError::Service(PollForDecisionTaskError::LimitExceededFault(
3844 err.msg,
3845 ))
3846 }
3847 "OperationNotPermittedFault" => {
3848 return RusotoError::Service(
3849 PollForDecisionTaskError::OperationNotPermittedFault(err.msg),
3850 )
3851 }
3852 "UnknownResourceFault" => {
3853 return RusotoError::Service(PollForDecisionTaskError::UnknownResourceFault(
3854 err.msg,
3855 ))
3856 }
3857 "ValidationException" => return RusotoError::Validation(err.msg),
3858 _ => {}
3859 }
3860 }
3861 RusotoError::Unknown(res)
3862 }
3863}
3864impl fmt::Display for PollForDecisionTaskError {
3865 #[allow(unused_variables)]
3866 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3867 match *self {
3868 PollForDecisionTaskError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
3869 PollForDecisionTaskError::OperationNotPermittedFault(ref cause) => {
3870 write!(f, "{}", cause)
3871 }
3872 PollForDecisionTaskError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3873 }
3874 }
3875}
3876impl Error for PollForDecisionTaskError {}
3877/// Errors returned by RecordActivityTaskHeartbeat
3878#[derive(Debug, PartialEq)]
3879pub enum RecordActivityTaskHeartbeatError {
3880 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3881 OperationNotPermittedFault(String),
3882 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3883 UnknownResourceFault(String),
3884}
3885
3886impl RecordActivityTaskHeartbeatError {
3887 pub fn from_response(
3888 res: BufferedHttpResponse,
3889 ) -> RusotoError<RecordActivityTaskHeartbeatError> {
3890 if let Some(err) = proto::json::Error::parse(&res) {
3891 match err.typ.as_str() {
3892 "OperationNotPermittedFault" => {
3893 return RusotoError::Service(
3894 RecordActivityTaskHeartbeatError::OperationNotPermittedFault(err.msg),
3895 )
3896 }
3897 "UnknownResourceFault" => {
3898 return RusotoError::Service(
3899 RecordActivityTaskHeartbeatError::UnknownResourceFault(err.msg),
3900 )
3901 }
3902 "ValidationException" => return RusotoError::Validation(err.msg),
3903 _ => {}
3904 }
3905 }
3906 RusotoError::Unknown(res)
3907 }
3908}
3909impl fmt::Display for RecordActivityTaskHeartbeatError {
3910 #[allow(unused_variables)]
3911 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3912 match *self {
3913 RecordActivityTaskHeartbeatError::OperationNotPermittedFault(ref cause) => {
3914 write!(f, "{}", cause)
3915 }
3916 RecordActivityTaskHeartbeatError::UnknownResourceFault(ref cause) => {
3917 write!(f, "{}", cause)
3918 }
3919 }
3920 }
3921}
3922impl Error for RecordActivityTaskHeartbeatError {}
3923/// Errors returned by RegisterActivityType
3924#[derive(Debug, PartialEq)]
3925pub enum RegisterActivityTypeError {
3926 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
3927 LimitExceededFault(String),
3928 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3929 OperationNotPermittedFault(String),
3930 /// <p>Returned if the type already exists in the specified domain. You may get this fault if you are registering a type that is either already registered or deprecated, or if you undeprecate a type that is currently registered.</p>
3931 TypeAlreadyExistsFault(String),
3932 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
3933 UnknownResourceFault(String),
3934}
3935
3936impl RegisterActivityTypeError {
3937 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RegisterActivityTypeError> {
3938 if let Some(err) = proto::json::Error::parse(&res) {
3939 match err.typ.as_str() {
3940 "LimitExceededFault" => {
3941 return RusotoError::Service(RegisterActivityTypeError::LimitExceededFault(
3942 err.msg,
3943 ))
3944 }
3945 "OperationNotPermittedFault" => {
3946 return RusotoError::Service(
3947 RegisterActivityTypeError::OperationNotPermittedFault(err.msg),
3948 )
3949 }
3950 "TypeAlreadyExistsFault" => {
3951 return RusotoError::Service(RegisterActivityTypeError::TypeAlreadyExistsFault(
3952 err.msg,
3953 ))
3954 }
3955 "UnknownResourceFault" => {
3956 return RusotoError::Service(RegisterActivityTypeError::UnknownResourceFault(
3957 err.msg,
3958 ))
3959 }
3960 "ValidationException" => return RusotoError::Validation(err.msg),
3961 _ => {}
3962 }
3963 }
3964 RusotoError::Unknown(res)
3965 }
3966}
3967impl fmt::Display for RegisterActivityTypeError {
3968 #[allow(unused_variables)]
3969 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
3970 match *self {
3971 RegisterActivityTypeError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
3972 RegisterActivityTypeError::OperationNotPermittedFault(ref cause) => {
3973 write!(f, "{}", cause)
3974 }
3975 RegisterActivityTypeError::TypeAlreadyExistsFault(ref cause) => write!(f, "{}", cause),
3976 RegisterActivityTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
3977 }
3978 }
3979}
3980impl Error for RegisterActivityTypeError {}
3981/// Errors returned by RegisterDomain
3982#[derive(Debug, PartialEq)]
3983pub enum RegisterDomainError {
3984 /// <p>Returned if the domain already exists. You may get this fault if you are registering a domain that is either already registered or deprecated, or if you undeprecate a domain that is currently registered.</p>
3985 DomainAlreadyExistsFault(String),
3986 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
3987 LimitExceededFault(String),
3988 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
3989 OperationNotPermittedFault(String),
3990 /// <p>You've exceeded the number of tags allowed for a domain.</p>
3991 TooManyTagsFault(String),
3992}
3993
3994impl RegisterDomainError {
3995 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RegisterDomainError> {
3996 if let Some(err) = proto::json::Error::parse(&res) {
3997 match err.typ.as_str() {
3998 "DomainAlreadyExistsFault" => {
3999 return RusotoError::Service(RegisterDomainError::DomainAlreadyExistsFault(
4000 err.msg,
4001 ))
4002 }
4003 "LimitExceededFault" => {
4004 return RusotoError::Service(RegisterDomainError::LimitExceededFault(err.msg))
4005 }
4006 "OperationNotPermittedFault" => {
4007 return RusotoError::Service(RegisterDomainError::OperationNotPermittedFault(
4008 err.msg,
4009 ))
4010 }
4011 "TooManyTagsFault" => {
4012 return RusotoError::Service(RegisterDomainError::TooManyTagsFault(err.msg))
4013 }
4014 "ValidationException" => return RusotoError::Validation(err.msg),
4015 _ => {}
4016 }
4017 }
4018 RusotoError::Unknown(res)
4019 }
4020}
4021impl fmt::Display for RegisterDomainError {
4022 #[allow(unused_variables)]
4023 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4024 match *self {
4025 RegisterDomainError::DomainAlreadyExistsFault(ref cause) => write!(f, "{}", cause),
4026 RegisterDomainError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
4027 RegisterDomainError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
4028 RegisterDomainError::TooManyTagsFault(ref cause) => write!(f, "{}", cause),
4029 }
4030 }
4031}
4032impl Error for RegisterDomainError {}
4033/// Errors returned by RegisterWorkflowType
4034#[derive(Debug, PartialEq)]
4035pub enum RegisterWorkflowTypeError {
4036 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
4037 LimitExceededFault(String),
4038 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4039 OperationNotPermittedFault(String),
4040 /// <p>Returned if the type already exists in the specified domain. You may get this fault if you are registering a type that is either already registered or deprecated, or if you undeprecate a type that is currently registered.</p>
4041 TypeAlreadyExistsFault(String),
4042 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4043 UnknownResourceFault(String),
4044}
4045
4046impl RegisterWorkflowTypeError {
4047 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RegisterWorkflowTypeError> {
4048 if let Some(err) = proto::json::Error::parse(&res) {
4049 match err.typ.as_str() {
4050 "LimitExceededFault" => {
4051 return RusotoError::Service(RegisterWorkflowTypeError::LimitExceededFault(
4052 err.msg,
4053 ))
4054 }
4055 "OperationNotPermittedFault" => {
4056 return RusotoError::Service(
4057 RegisterWorkflowTypeError::OperationNotPermittedFault(err.msg),
4058 )
4059 }
4060 "TypeAlreadyExistsFault" => {
4061 return RusotoError::Service(RegisterWorkflowTypeError::TypeAlreadyExistsFault(
4062 err.msg,
4063 ))
4064 }
4065 "UnknownResourceFault" => {
4066 return RusotoError::Service(RegisterWorkflowTypeError::UnknownResourceFault(
4067 err.msg,
4068 ))
4069 }
4070 "ValidationException" => return RusotoError::Validation(err.msg),
4071 _ => {}
4072 }
4073 }
4074 RusotoError::Unknown(res)
4075 }
4076}
4077impl fmt::Display for RegisterWorkflowTypeError {
4078 #[allow(unused_variables)]
4079 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4080 match *self {
4081 RegisterWorkflowTypeError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
4082 RegisterWorkflowTypeError::OperationNotPermittedFault(ref cause) => {
4083 write!(f, "{}", cause)
4084 }
4085 RegisterWorkflowTypeError::TypeAlreadyExistsFault(ref cause) => write!(f, "{}", cause),
4086 RegisterWorkflowTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4087 }
4088 }
4089}
4090impl Error for RegisterWorkflowTypeError {}
4091/// Errors returned by RequestCancelWorkflowExecution
4092#[derive(Debug, PartialEq)]
4093pub enum RequestCancelWorkflowExecutionError {
4094 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4095 OperationNotPermittedFault(String),
4096 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4097 UnknownResourceFault(String),
4098}
4099
4100impl RequestCancelWorkflowExecutionError {
4101 pub fn from_response(
4102 res: BufferedHttpResponse,
4103 ) -> RusotoError<RequestCancelWorkflowExecutionError> {
4104 if let Some(err) = proto::json::Error::parse(&res) {
4105 match err.typ.as_str() {
4106 "OperationNotPermittedFault" => {
4107 return RusotoError::Service(
4108 RequestCancelWorkflowExecutionError::OperationNotPermittedFault(err.msg),
4109 )
4110 }
4111 "UnknownResourceFault" => {
4112 return RusotoError::Service(
4113 RequestCancelWorkflowExecutionError::UnknownResourceFault(err.msg),
4114 )
4115 }
4116 "ValidationException" => return RusotoError::Validation(err.msg),
4117 _ => {}
4118 }
4119 }
4120 RusotoError::Unknown(res)
4121 }
4122}
4123impl fmt::Display for RequestCancelWorkflowExecutionError {
4124 #[allow(unused_variables)]
4125 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4126 match *self {
4127 RequestCancelWorkflowExecutionError::OperationNotPermittedFault(ref cause) => {
4128 write!(f, "{}", cause)
4129 }
4130 RequestCancelWorkflowExecutionError::UnknownResourceFault(ref cause) => {
4131 write!(f, "{}", cause)
4132 }
4133 }
4134 }
4135}
4136impl Error for RequestCancelWorkflowExecutionError {}
4137/// Errors returned by RespondActivityTaskCanceled
4138#[derive(Debug, PartialEq)]
4139pub enum RespondActivityTaskCanceledError {
4140 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4141 OperationNotPermittedFault(String),
4142 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4143 UnknownResourceFault(String),
4144}
4145
4146impl RespondActivityTaskCanceledError {
4147 pub fn from_response(
4148 res: BufferedHttpResponse,
4149 ) -> RusotoError<RespondActivityTaskCanceledError> {
4150 if let Some(err) = proto::json::Error::parse(&res) {
4151 match err.typ.as_str() {
4152 "OperationNotPermittedFault" => {
4153 return RusotoError::Service(
4154 RespondActivityTaskCanceledError::OperationNotPermittedFault(err.msg),
4155 )
4156 }
4157 "UnknownResourceFault" => {
4158 return RusotoError::Service(
4159 RespondActivityTaskCanceledError::UnknownResourceFault(err.msg),
4160 )
4161 }
4162 "ValidationException" => return RusotoError::Validation(err.msg),
4163 _ => {}
4164 }
4165 }
4166 RusotoError::Unknown(res)
4167 }
4168}
4169impl fmt::Display for RespondActivityTaskCanceledError {
4170 #[allow(unused_variables)]
4171 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4172 match *self {
4173 RespondActivityTaskCanceledError::OperationNotPermittedFault(ref cause) => {
4174 write!(f, "{}", cause)
4175 }
4176 RespondActivityTaskCanceledError::UnknownResourceFault(ref cause) => {
4177 write!(f, "{}", cause)
4178 }
4179 }
4180 }
4181}
4182impl Error for RespondActivityTaskCanceledError {}
4183/// Errors returned by RespondActivityTaskCompleted
4184#[derive(Debug, PartialEq)]
4185pub enum RespondActivityTaskCompletedError {
4186 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4187 OperationNotPermittedFault(String),
4188 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4189 UnknownResourceFault(String),
4190}
4191
4192impl RespondActivityTaskCompletedError {
4193 pub fn from_response(
4194 res: BufferedHttpResponse,
4195 ) -> RusotoError<RespondActivityTaskCompletedError> {
4196 if let Some(err) = proto::json::Error::parse(&res) {
4197 match err.typ.as_str() {
4198 "OperationNotPermittedFault" => {
4199 return RusotoError::Service(
4200 RespondActivityTaskCompletedError::OperationNotPermittedFault(err.msg),
4201 )
4202 }
4203 "UnknownResourceFault" => {
4204 return RusotoError::Service(
4205 RespondActivityTaskCompletedError::UnknownResourceFault(err.msg),
4206 )
4207 }
4208 "ValidationException" => return RusotoError::Validation(err.msg),
4209 _ => {}
4210 }
4211 }
4212 RusotoError::Unknown(res)
4213 }
4214}
4215impl fmt::Display for RespondActivityTaskCompletedError {
4216 #[allow(unused_variables)]
4217 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4218 match *self {
4219 RespondActivityTaskCompletedError::OperationNotPermittedFault(ref cause) => {
4220 write!(f, "{}", cause)
4221 }
4222 RespondActivityTaskCompletedError::UnknownResourceFault(ref cause) => {
4223 write!(f, "{}", cause)
4224 }
4225 }
4226 }
4227}
4228impl Error for RespondActivityTaskCompletedError {}
4229/// Errors returned by RespondActivityTaskFailed
4230#[derive(Debug, PartialEq)]
4231pub enum RespondActivityTaskFailedError {
4232 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4233 OperationNotPermittedFault(String),
4234 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4235 UnknownResourceFault(String),
4236}
4237
4238impl RespondActivityTaskFailedError {
4239 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<RespondActivityTaskFailedError> {
4240 if let Some(err) = proto::json::Error::parse(&res) {
4241 match err.typ.as_str() {
4242 "OperationNotPermittedFault" => {
4243 return RusotoError::Service(
4244 RespondActivityTaskFailedError::OperationNotPermittedFault(err.msg),
4245 )
4246 }
4247 "UnknownResourceFault" => {
4248 return RusotoError::Service(
4249 RespondActivityTaskFailedError::UnknownResourceFault(err.msg),
4250 )
4251 }
4252 "ValidationException" => return RusotoError::Validation(err.msg),
4253 _ => {}
4254 }
4255 }
4256 RusotoError::Unknown(res)
4257 }
4258}
4259impl fmt::Display for RespondActivityTaskFailedError {
4260 #[allow(unused_variables)]
4261 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4262 match *self {
4263 RespondActivityTaskFailedError::OperationNotPermittedFault(ref cause) => {
4264 write!(f, "{}", cause)
4265 }
4266 RespondActivityTaskFailedError::UnknownResourceFault(ref cause) => {
4267 write!(f, "{}", cause)
4268 }
4269 }
4270 }
4271}
4272impl Error for RespondActivityTaskFailedError {}
4273/// Errors returned by RespondDecisionTaskCompleted
4274#[derive(Debug, PartialEq)]
4275pub enum RespondDecisionTaskCompletedError {
4276 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4277 OperationNotPermittedFault(String),
4278 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4279 UnknownResourceFault(String),
4280}
4281
4282impl RespondDecisionTaskCompletedError {
4283 pub fn from_response(
4284 res: BufferedHttpResponse,
4285 ) -> RusotoError<RespondDecisionTaskCompletedError> {
4286 if let Some(err) = proto::json::Error::parse(&res) {
4287 match err.typ.as_str() {
4288 "OperationNotPermittedFault" => {
4289 return RusotoError::Service(
4290 RespondDecisionTaskCompletedError::OperationNotPermittedFault(err.msg),
4291 )
4292 }
4293 "UnknownResourceFault" => {
4294 return RusotoError::Service(
4295 RespondDecisionTaskCompletedError::UnknownResourceFault(err.msg),
4296 )
4297 }
4298 "ValidationException" => return RusotoError::Validation(err.msg),
4299 _ => {}
4300 }
4301 }
4302 RusotoError::Unknown(res)
4303 }
4304}
4305impl fmt::Display for RespondDecisionTaskCompletedError {
4306 #[allow(unused_variables)]
4307 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4308 match *self {
4309 RespondDecisionTaskCompletedError::OperationNotPermittedFault(ref cause) => {
4310 write!(f, "{}", cause)
4311 }
4312 RespondDecisionTaskCompletedError::UnknownResourceFault(ref cause) => {
4313 write!(f, "{}", cause)
4314 }
4315 }
4316 }
4317}
4318impl Error for RespondDecisionTaskCompletedError {}
4319/// Errors returned by SignalWorkflowExecution
4320#[derive(Debug, PartialEq)]
4321pub enum SignalWorkflowExecutionError {
4322 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4323 OperationNotPermittedFault(String),
4324 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4325 UnknownResourceFault(String),
4326}
4327
4328impl SignalWorkflowExecutionError {
4329 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<SignalWorkflowExecutionError> {
4330 if let Some(err) = proto::json::Error::parse(&res) {
4331 match err.typ.as_str() {
4332 "OperationNotPermittedFault" => {
4333 return RusotoError::Service(
4334 SignalWorkflowExecutionError::OperationNotPermittedFault(err.msg),
4335 )
4336 }
4337 "UnknownResourceFault" => {
4338 return RusotoError::Service(
4339 SignalWorkflowExecutionError::UnknownResourceFault(err.msg),
4340 )
4341 }
4342 "ValidationException" => return RusotoError::Validation(err.msg),
4343 _ => {}
4344 }
4345 }
4346 RusotoError::Unknown(res)
4347 }
4348}
4349impl fmt::Display for SignalWorkflowExecutionError {
4350 #[allow(unused_variables)]
4351 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4352 match *self {
4353 SignalWorkflowExecutionError::OperationNotPermittedFault(ref cause) => {
4354 write!(f, "{}", cause)
4355 }
4356 SignalWorkflowExecutionError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4357 }
4358 }
4359}
4360impl Error for SignalWorkflowExecutionError {}
4361/// Errors returned by StartWorkflowExecution
4362#[derive(Debug, PartialEq)]
4363pub enum StartWorkflowExecutionError {
4364 /// <p><p>The <code>StartWorkflowExecution</code> API action was called without the required parameters set.</p> <p>Some workflow execution parameters, such as the decision <code>taskList</code>, must be set to start the execution. However, these parameters might have been set as defaults when the workflow type was registered. In this case, you can omit these parameters from the <code>StartWorkflowExecution</code> call and Amazon SWF uses the values defined in the workflow type.</p> <note> <p>If these parameters aren't set and no default parameters were defined in the workflow type, this error is displayed.</p> </note></p>
4365 DefaultUndefinedFault(String),
4366 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
4367 LimitExceededFault(String),
4368 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4369 OperationNotPermittedFault(String),
4370 /// <p>Returned when the specified activity or workflow type was already deprecated.</p>
4371 TypeDeprecatedFault(String),
4372 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4373 UnknownResourceFault(String),
4374 /// <p>Returned by <a>StartWorkflowExecution</a> when an open execution with the same workflowId is already running in the specified domain.</p>
4375 WorkflowExecutionAlreadyStartedFault(String),
4376}
4377
4378impl StartWorkflowExecutionError {
4379 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<StartWorkflowExecutionError> {
4380 if let Some(err) = proto::json::Error::parse(&res) {
4381 match err.typ.as_str() {
4382 "DefaultUndefinedFault" => {
4383 return RusotoError::Service(
4384 StartWorkflowExecutionError::DefaultUndefinedFault(err.msg),
4385 )
4386 }
4387 "LimitExceededFault" => {
4388 return RusotoError::Service(StartWorkflowExecutionError::LimitExceededFault(
4389 err.msg,
4390 ))
4391 }
4392 "OperationNotPermittedFault" => {
4393 return RusotoError::Service(
4394 StartWorkflowExecutionError::OperationNotPermittedFault(err.msg),
4395 )
4396 }
4397 "TypeDeprecatedFault" => {
4398 return RusotoError::Service(StartWorkflowExecutionError::TypeDeprecatedFault(
4399 err.msg,
4400 ))
4401 }
4402 "UnknownResourceFault" => {
4403 return RusotoError::Service(StartWorkflowExecutionError::UnknownResourceFault(
4404 err.msg,
4405 ))
4406 }
4407 "WorkflowExecutionAlreadyStartedFault" => {
4408 return RusotoError::Service(
4409 StartWorkflowExecutionError::WorkflowExecutionAlreadyStartedFault(err.msg),
4410 )
4411 }
4412 "ValidationException" => return RusotoError::Validation(err.msg),
4413 _ => {}
4414 }
4415 }
4416 RusotoError::Unknown(res)
4417 }
4418}
4419impl fmt::Display for StartWorkflowExecutionError {
4420 #[allow(unused_variables)]
4421 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4422 match *self {
4423 StartWorkflowExecutionError::DefaultUndefinedFault(ref cause) => write!(f, "{}", cause),
4424 StartWorkflowExecutionError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
4425 StartWorkflowExecutionError::OperationNotPermittedFault(ref cause) => {
4426 write!(f, "{}", cause)
4427 }
4428 StartWorkflowExecutionError::TypeDeprecatedFault(ref cause) => write!(f, "{}", cause),
4429 StartWorkflowExecutionError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4430 StartWorkflowExecutionError::WorkflowExecutionAlreadyStartedFault(ref cause) => {
4431 write!(f, "{}", cause)
4432 }
4433 }
4434 }
4435}
4436impl Error for StartWorkflowExecutionError {}
4437/// Errors returned by TagResource
4438#[derive(Debug, PartialEq)]
4439pub enum TagResourceError {
4440 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
4441 LimitExceededFault(String),
4442 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4443 OperationNotPermittedFault(String),
4444 /// <p>You've exceeded the number of tags allowed for a domain.</p>
4445 TooManyTagsFault(String),
4446 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4447 UnknownResourceFault(String),
4448}
4449
4450impl TagResourceError {
4451 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<TagResourceError> {
4452 if let Some(err) = proto::json::Error::parse(&res) {
4453 match err.typ.as_str() {
4454 "LimitExceededFault" => {
4455 return RusotoError::Service(TagResourceError::LimitExceededFault(err.msg))
4456 }
4457 "OperationNotPermittedFault" => {
4458 return RusotoError::Service(TagResourceError::OperationNotPermittedFault(
4459 err.msg,
4460 ))
4461 }
4462 "TooManyTagsFault" => {
4463 return RusotoError::Service(TagResourceError::TooManyTagsFault(err.msg))
4464 }
4465 "UnknownResourceFault" => {
4466 return RusotoError::Service(TagResourceError::UnknownResourceFault(err.msg))
4467 }
4468 "ValidationException" => return RusotoError::Validation(err.msg),
4469 _ => {}
4470 }
4471 }
4472 RusotoError::Unknown(res)
4473 }
4474}
4475impl fmt::Display for TagResourceError {
4476 #[allow(unused_variables)]
4477 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4478 match *self {
4479 TagResourceError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
4480 TagResourceError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
4481 TagResourceError::TooManyTagsFault(ref cause) => write!(f, "{}", cause),
4482 TagResourceError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4483 }
4484 }
4485}
4486impl Error for TagResourceError {}
4487/// Errors returned by TerminateWorkflowExecution
4488#[derive(Debug, PartialEq)]
4489pub enum TerminateWorkflowExecutionError {
4490 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4491 OperationNotPermittedFault(String),
4492 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4493 UnknownResourceFault(String),
4494}
4495
4496impl TerminateWorkflowExecutionError {
4497 pub fn from_response(
4498 res: BufferedHttpResponse,
4499 ) -> RusotoError<TerminateWorkflowExecutionError> {
4500 if let Some(err) = proto::json::Error::parse(&res) {
4501 match err.typ.as_str() {
4502 "OperationNotPermittedFault" => {
4503 return RusotoError::Service(
4504 TerminateWorkflowExecutionError::OperationNotPermittedFault(err.msg),
4505 )
4506 }
4507 "UnknownResourceFault" => {
4508 return RusotoError::Service(
4509 TerminateWorkflowExecutionError::UnknownResourceFault(err.msg),
4510 )
4511 }
4512 "ValidationException" => return RusotoError::Validation(err.msg),
4513 _ => {}
4514 }
4515 }
4516 RusotoError::Unknown(res)
4517 }
4518}
4519impl fmt::Display for TerminateWorkflowExecutionError {
4520 #[allow(unused_variables)]
4521 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4522 match *self {
4523 TerminateWorkflowExecutionError::OperationNotPermittedFault(ref cause) => {
4524 write!(f, "{}", cause)
4525 }
4526 TerminateWorkflowExecutionError::UnknownResourceFault(ref cause) => {
4527 write!(f, "{}", cause)
4528 }
4529 }
4530 }
4531}
4532impl Error for TerminateWorkflowExecutionError {}
4533/// Errors returned by UndeprecateActivityType
4534#[derive(Debug, PartialEq)]
4535pub enum UndeprecateActivityTypeError {
4536 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4537 OperationNotPermittedFault(String),
4538 /// <p>Returned if the type already exists in the specified domain. You may get this fault if you are registering a type that is either already registered or deprecated, or if you undeprecate a type that is currently registered.</p>
4539 TypeAlreadyExistsFault(String),
4540 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4541 UnknownResourceFault(String),
4542}
4543
4544impl UndeprecateActivityTypeError {
4545 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UndeprecateActivityTypeError> {
4546 if let Some(err) = proto::json::Error::parse(&res) {
4547 match err.typ.as_str() {
4548 "OperationNotPermittedFault" => {
4549 return RusotoError::Service(
4550 UndeprecateActivityTypeError::OperationNotPermittedFault(err.msg),
4551 )
4552 }
4553 "TypeAlreadyExistsFault" => {
4554 return RusotoError::Service(
4555 UndeprecateActivityTypeError::TypeAlreadyExistsFault(err.msg),
4556 )
4557 }
4558 "UnknownResourceFault" => {
4559 return RusotoError::Service(
4560 UndeprecateActivityTypeError::UnknownResourceFault(err.msg),
4561 )
4562 }
4563 "ValidationException" => return RusotoError::Validation(err.msg),
4564 _ => {}
4565 }
4566 }
4567 RusotoError::Unknown(res)
4568 }
4569}
4570impl fmt::Display for UndeprecateActivityTypeError {
4571 #[allow(unused_variables)]
4572 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4573 match *self {
4574 UndeprecateActivityTypeError::OperationNotPermittedFault(ref cause) => {
4575 write!(f, "{}", cause)
4576 }
4577 UndeprecateActivityTypeError::TypeAlreadyExistsFault(ref cause) => {
4578 write!(f, "{}", cause)
4579 }
4580 UndeprecateActivityTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4581 }
4582 }
4583}
4584impl Error for UndeprecateActivityTypeError {}
4585/// Errors returned by UndeprecateDomain
4586#[derive(Debug, PartialEq)]
4587pub enum UndeprecateDomainError {
4588 /// <p>Returned if the domain already exists. You may get this fault if you are registering a domain that is either already registered or deprecated, or if you undeprecate a domain that is currently registered.</p>
4589 DomainAlreadyExistsFault(String),
4590 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4591 OperationNotPermittedFault(String),
4592 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4593 UnknownResourceFault(String),
4594}
4595
4596impl UndeprecateDomainError {
4597 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UndeprecateDomainError> {
4598 if let Some(err) = proto::json::Error::parse(&res) {
4599 match err.typ.as_str() {
4600 "DomainAlreadyExistsFault" => {
4601 return RusotoError::Service(UndeprecateDomainError::DomainAlreadyExistsFault(
4602 err.msg,
4603 ))
4604 }
4605 "OperationNotPermittedFault" => {
4606 return RusotoError::Service(
4607 UndeprecateDomainError::OperationNotPermittedFault(err.msg),
4608 )
4609 }
4610 "UnknownResourceFault" => {
4611 return RusotoError::Service(UndeprecateDomainError::UnknownResourceFault(
4612 err.msg,
4613 ))
4614 }
4615 "ValidationException" => return RusotoError::Validation(err.msg),
4616 _ => {}
4617 }
4618 }
4619 RusotoError::Unknown(res)
4620 }
4621}
4622impl fmt::Display for UndeprecateDomainError {
4623 #[allow(unused_variables)]
4624 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4625 match *self {
4626 UndeprecateDomainError::DomainAlreadyExistsFault(ref cause) => write!(f, "{}", cause),
4627 UndeprecateDomainError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
4628 UndeprecateDomainError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4629 }
4630 }
4631}
4632impl Error for UndeprecateDomainError {}
4633/// Errors returned by UndeprecateWorkflowType
4634#[derive(Debug, PartialEq)]
4635pub enum UndeprecateWorkflowTypeError {
4636 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4637 OperationNotPermittedFault(String),
4638 /// <p>Returned if the type already exists in the specified domain. You may get this fault if you are registering a type that is either already registered or deprecated, or if you undeprecate a type that is currently registered.</p>
4639 TypeAlreadyExistsFault(String),
4640 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4641 UnknownResourceFault(String),
4642}
4643
4644impl UndeprecateWorkflowTypeError {
4645 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UndeprecateWorkflowTypeError> {
4646 if let Some(err) = proto::json::Error::parse(&res) {
4647 match err.typ.as_str() {
4648 "OperationNotPermittedFault" => {
4649 return RusotoError::Service(
4650 UndeprecateWorkflowTypeError::OperationNotPermittedFault(err.msg),
4651 )
4652 }
4653 "TypeAlreadyExistsFault" => {
4654 return RusotoError::Service(
4655 UndeprecateWorkflowTypeError::TypeAlreadyExistsFault(err.msg),
4656 )
4657 }
4658 "UnknownResourceFault" => {
4659 return RusotoError::Service(
4660 UndeprecateWorkflowTypeError::UnknownResourceFault(err.msg),
4661 )
4662 }
4663 "ValidationException" => return RusotoError::Validation(err.msg),
4664 _ => {}
4665 }
4666 }
4667 RusotoError::Unknown(res)
4668 }
4669}
4670impl fmt::Display for UndeprecateWorkflowTypeError {
4671 #[allow(unused_variables)]
4672 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4673 match *self {
4674 UndeprecateWorkflowTypeError::OperationNotPermittedFault(ref cause) => {
4675 write!(f, "{}", cause)
4676 }
4677 UndeprecateWorkflowTypeError::TypeAlreadyExistsFault(ref cause) => {
4678 write!(f, "{}", cause)
4679 }
4680 UndeprecateWorkflowTypeError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4681 }
4682 }
4683}
4684impl Error for UndeprecateWorkflowTypeError {}
4685/// Errors returned by UntagResource
4686#[derive(Debug, PartialEq)]
4687pub enum UntagResourceError {
4688 /// <p>Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.</p>
4689 LimitExceededFault(String),
4690 /// <p>Returned when the caller doesn't have sufficient permissions to invoke the action.</p>
4691 OperationNotPermittedFault(String),
4692 /// <p>Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.</p>
4693 UnknownResourceFault(String),
4694}
4695
4696impl UntagResourceError {
4697 pub fn from_response(res: BufferedHttpResponse) -> RusotoError<UntagResourceError> {
4698 if let Some(err) = proto::json::Error::parse(&res) {
4699 match err.typ.as_str() {
4700 "LimitExceededFault" => {
4701 return RusotoError::Service(UntagResourceError::LimitExceededFault(err.msg))
4702 }
4703 "OperationNotPermittedFault" => {
4704 return RusotoError::Service(UntagResourceError::OperationNotPermittedFault(
4705 err.msg,
4706 ))
4707 }
4708 "UnknownResourceFault" => {
4709 return RusotoError::Service(UntagResourceError::UnknownResourceFault(err.msg))
4710 }
4711 "ValidationException" => return RusotoError::Validation(err.msg),
4712 _ => {}
4713 }
4714 }
4715 RusotoError::Unknown(res)
4716 }
4717}
4718impl fmt::Display for UntagResourceError {
4719 #[allow(unused_variables)]
4720 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
4721 match *self {
4722 UntagResourceError::LimitExceededFault(ref cause) => write!(f, "{}", cause),
4723 UntagResourceError::OperationNotPermittedFault(ref cause) => write!(f, "{}", cause),
4724 UntagResourceError::UnknownResourceFault(ref cause) => write!(f, "{}", cause),
4725 }
4726 }
4727}
4728impl Error for UntagResourceError {}
4729/// Trait representing the capabilities of the Amazon SWF API. Amazon SWF clients implement this trait.
4730#[async_trait]
4731pub trait Swf {
4732 /// <p>Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4733 async fn count_closed_workflow_executions(
4734 &self,
4735 input: CountClosedWorkflowExecutionsInput,
4736 ) -> Result<WorkflowExecutionCount, RusotoError<CountClosedWorkflowExecutionsError>>;
4737
4738 /// <p>Returns the number of open workflow executions within the given domain that meet the specified filtering criteria.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4739 async fn count_open_workflow_executions(
4740 &self,
4741 input: CountOpenWorkflowExecutionsInput,
4742 ) -> Result<WorkflowExecutionCount, RusotoError<CountOpenWorkflowExecutionsError>>;
4743
4744 /// <p>Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then <code>0</code> is returned.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4745 async fn count_pending_activity_tasks(
4746 &self,
4747 input: CountPendingActivityTasksInput,
4748 ) -> Result<PendingTaskCount, RusotoError<CountPendingActivityTasksError>>;
4749
4750 /// <p>Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then <code>0</code> is returned.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4751 async fn count_pending_decision_tasks(
4752 &self,
4753 input: CountPendingDecisionTasksInput,
4754 ) -> Result<PendingTaskCount, RusotoError<CountPendingDecisionTasksError>>;
4755
4756 /// <p>Deprecates the specified <i>activity type</i>. After an activity type has been deprecated, you cannot create new tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated continue to run.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code>: String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code>: String constraint. The key is <code>swf:activityType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4757 async fn deprecate_activity_type(
4758 &self,
4759 input: DeprecateActivityTypeInput,
4760 ) -> Result<(), RusotoError<DeprecateActivityTypeError>>;
4761
4762 /// <p>Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow executions or register new types. However, you can still use visibility actions on this domain. Deprecating a domain also deprecates all activity and workflow types registered in the domain. Executions that were started before the domain was deprecated continues to run.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4763 async fn deprecate_domain(
4764 &self,
4765 input: DeprecateDomainInput,
4766 ) -> Result<(), RusotoError<DeprecateDomainError>>;
4767
4768 /// <p>Deprecates the specified <i>workflow type</i>. After a workflow type has been deprecated, you cannot create new executions of that type. Executions that were started before the type was deprecated continues to run. A deprecated workflow type may still be used when calling visibility actions.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4769 async fn deprecate_workflow_type(
4770 &self,
4771 input: DeprecateWorkflowTypeInput,
4772 ) -> Result<(), RusotoError<DeprecateWorkflowTypeError>>;
4773
4774 /// <p>Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code>: String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code>: String constraint. The key is <code>swf:activityType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4775 async fn describe_activity_type(
4776 &self,
4777 input: DescribeActivityTypeInput,
4778 ) -> Result<ActivityTypeDetail, RusotoError<DescribeActivityTypeError>>;
4779
4780 /// <p>Returns information about the specified domain, including description and status.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4781 async fn describe_domain(
4782 &self,
4783 input: DescribeDomainInput,
4784 ) -> Result<DomainDetail, RusotoError<DescribeDomainError>>;
4785
4786 /// <p>Returns information about the specified workflow execution including its type and some statistics.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4787 async fn describe_workflow_execution(
4788 &self,
4789 input: DescribeWorkflowExecutionInput,
4790 ) -> Result<WorkflowExecutionDetail, RusotoError<DescribeWorkflowExecutionError>>;
4791
4792 /// <p>Returns information about the specified <i>workflow type</i>. This includes configuration settings specified when the type was registered and other information such as creation date, current status, etc.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4793 async fn describe_workflow_type(
4794 &self,
4795 input: DescribeWorkflowTypeInput,
4796 ) -> Result<WorkflowTypeDetail, RusotoError<DescribeWorkflowTypeError>>;
4797
4798 /// <p>Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the <code>nextPageToken</code> returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4799 async fn get_workflow_execution_history(
4800 &self,
4801 input: GetWorkflowExecutionHistoryInput,
4802 ) -> Result<History, RusotoError<GetWorkflowExecutionHistoryError>>;
4803
4804 /// <p>Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the <code>nextPageToken</code> returned by the initial call.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4805 async fn list_activity_types(
4806 &self,
4807 input: ListActivityTypesInput,
4808 ) -> Result<ActivityTypeInfos, RusotoError<ListActivityTypesError>>;
4809
4810 /// <p>Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4811 async fn list_closed_workflow_executions(
4812 &self,
4813 input: ListClosedWorkflowExecutionsInput,
4814 ) -> Result<WorkflowExecutionInfos, RusotoError<ListClosedWorkflowExecutionsError>>;
4815
4816 /// <p>Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains. The element must be set to <code>arn:aws:swf::AccountID:domain/*</code>, where <i>AccountID</i> is the account ID, with no dashes.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4817 async fn list_domains(
4818 &self,
4819 input: ListDomainsInput,
4820 ) -> Result<DomainInfos, RusotoError<ListDomainsError>>;
4821
4822 /// <p>Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4823 async fn list_open_workflow_executions(
4824 &self,
4825 input: ListOpenWorkflowExecutionsInput,
4826 ) -> Result<WorkflowExecutionInfos, RusotoError<ListOpenWorkflowExecutionsError>>;
4827
4828 /// <p>List tags for a given domain.</p>
4829 async fn list_tags_for_resource(
4830 &self,
4831 input: ListTagsForResourceInput,
4832 ) -> Result<ListTagsForResourceOutput, RusotoError<ListTagsForResourceError>>;
4833
4834 /// <p>Returns information about workflow types in the specified domain. The results may be split into multiple pages that can be retrieved by making the call repeatedly.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4835 async fn list_workflow_types(
4836 &self,
4837 input: ListWorkflowTypesInput,
4838 ) -> Result<WorkflowTypeInfos, RusotoError<ListWorkflowTypesError>>;
4839
4840 /// <p>Used by workers to get an <a>ActivityTask</a> from the specified activity <code>taskList</code>. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its type to identify and process it correctly.</p> <important> <p>Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the poll request).</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4841 async fn poll_for_activity_task(
4842 &self,
4843 input: PollForActivityTaskInput,
4844 ) -> Result<ActivityTask, RusotoError<PollForActivityTaskError>>;
4845
4846 /// <p>Used by deciders to get a <a>DecisionTask</a> from the specified decision <code>taskList</code>. A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle the task.</p> <p>This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string.</p> <important> <p>Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the timeout).</p> </important> <important> <p>Because the number of workflow history events for a single workflow execution might be very large, the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to <code>PollForDecisionTask</code> using the <code>nextPageToken</code> returned by the initial call. Note that you do <i>not</i> call <code>GetWorkflowExecutionHistory</code> with this <code>nextPageToken</code>. Instead, call <code>PollForDecisionTask</code> again.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4847 async fn poll_for_decision_task(
4848 &self,
4849 input: PollForDecisionTaskInput,
4850 ) -> Result<DecisionTask, RusotoError<PollForDecisionTaskError>>;
4851
4852 /// <p>Used by activity workers to report to the service that the <a>ActivityTask</a> represented by the specified <code>taskToken</code> is still making progress. The worker can also specify details of the progress, for example percent complete, using the <code>details</code> parameter. This action can also be used by the worker as a mechanism to check if cancellation is being requested for the activity task. If a cancellation is being attempted for the specified task, then the boolean <code>cancelRequested</code> flag returned by the service is set to <code>true</code>.</p> <p>This action resets the <code>taskHeartbeatTimeout</code> clock. The <code>taskHeartbeatTimeout</code> is specified in <a>RegisterActivityType</a>.</p> <p>This action doesn't in itself create an event in the workflow execution history. However, if the task times out, the workflow execution history contains a <code>ActivityTaskTimedOut</code> event that contains the information from the last heartbeat generated by the activity worker.</p> <note> <p>The <code>taskStartToCloseTimeout</code> of an activity type is the maximum duration of an activity task, regardless of the number of <a>RecordActivityTaskHeartbeat</a> requests received. The <code>taskStartToCloseTimeout</code> is also specified in <a>RegisterActivityType</a>.</p> </note> <note> <p>This operation is only useful for long-lived activities to report liveliness of the task and to determine if a cancellation is being attempted.</p> </note> <important> <p>If the <code>cancelRequested</code> flag returns <code>true</code>, a cancellation is being attempted. If the worker can cancel the activity, it should respond with <a>RespondActivityTaskCanceled</a>. Otherwise, it should ignore the cancellation request.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4853 async fn record_activity_task_heartbeat(
4854 &self,
4855 input: RecordActivityTaskHeartbeatInput,
4856 ) -> Result<ActivityTaskStatus, RusotoError<RecordActivityTaskHeartbeatError>>;
4857
4858 /// <p>Registers a new <i>activity type</i> along with its configuration settings in the specified domain.</p> <important> <p>A <code>TypeAlreadyExists</code> fault is returned if the type already exists in the domain. You cannot change any configuration settings of the type after its registration, and it must be registered as a new version.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>defaultTaskList.name</code>: String constraint. The key is <code>swf:defaultTaskList.name</code>.</p> </li> <li> <p> <code>name</code>: String constraint. The key is <code>swf:name</code>.</p> </li> <li> <p> <code>version</code>: String constraint. The key is <code>swf:version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4859 async fn register_activity_type(
4860 &self,
4861 input: RegisterActivityTypeInput,
4862 ) -> Result<(), RusotoError<RegisterActivityTypeError>>;
4863
4864 /// <p>Registers a new domain.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4865 async fn register_domain(
4866 &self,
4867 input: RegisterDomainInput,
4868 ) -> Result<(), RusotoError<RegisterDomainError>>;
4869
4870 /// <p>Registers a new <i>workflow type</i> and its configuration settings in the specified domain.</p> <p>The retention period for the workflow history is set by the <a>RegisterDomain</a> action.</p> <important> <p>If the type already exists, then a <code>TypeAlreadyExists</code> fault is returned. You cannot change the configuration settings of a workflow type once it is registered and it must be registered as a new version.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>defaultTaskList.name</code>: String constraint. The key is <code>swf:defaultTaskList.name</code>.</p> </li> <li> <p> <code>name</code>: String constraint. The key is <code>swf:name</code>.</p> </li> <li> <p> <code>version</code>: String constraint. The key is <code>swf:version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4871 async fn register_workflow_type(
4872 &self,
4873 input: RegisterWorkflowTypeInput,
4874 ) -> Result<(), RusotoError<RegisterWorkflowTypeError>>;
4875
4876 /// <p>Records a <code>WorkflowExecutionCancelRequested</code> event in the currently running workflow execution identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> <note> <p>If the runId isn't specified, the <code>WorkflowExecutionCancelRequested</code> event is recorded in the history of the current open workflow execution with the specified workflowId in the domain.</p> </note> <note> <p>Because this action allows the workflow to properly clean up and gracefully close, it should be used instead of <a>TerminateWorkflowExecution</a> when possible.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4877 async fn request_cancel_workflow_execution(
4878 &self,
4879 input: RequestCancelWorkflowExecutionInput,
4880 ) -> Result<(), RusotoError<RequestCancelWorkflowExecutionError>>;
4881
4882 /// <p>Used by workers to tell the service that the <a>ActivityTask</a> identified by the <code>taskToken</code> was successfully canceled. Additional <code>details</code> can be provided using the <code>details</code> argument.</p> <p>These <code>details</code> (if provided) appear in the <code>ActivityTaskCanceled</code> event added to the workflow history.</p> <important> <p>Only use this operation if the <code>canceled</code> flag of a <a>RecordActivityTaskHeartbeat</a> request returns <code>true</code> and if the activity can be safely undone or abandoned.</p> </important> <p>A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to <a>RespondActivityTaskCompleted</a>, RespondActivityTaskCanceled, <a>RespondActivityTaskFailed</a>, or the task has <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types">timed out</a>.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4883 async fn respond_activity_task_canceled(
4884 &self,
4885 input: RespondActivityTaskCanceledInput,
4886 ) -> Result<(), RusotoError<RespondActivityTaskCanceledError>>;
4887
4888 /// <p>Used by workers to tell the service that the <a>ActivityTask</a> identified by the <code>taskToken</code> completed successfully with a <code>result</code> (if provided). The <code>result</code> appears in the <code>ActivityTaskCompleted</code> event in the workflow history.</p> <important> <p>If the requested task doesn't complete successfully, use <a>RespondActivityTaskFailed</a> instead. If the worker finds that the task is canceled through the <code>canceled</code> flag returned by <a>RecordActivityTaskHeartbeat</a>, it should cancel the task, clean up and then call <a>RespondActivityTaskCanceled</a>.</p> </important> <p>A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, <a>RespondActivityTaskCanceled</a>, <a>RespondActivityTaskFailed</a>, or the task has <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types">timed out</a>.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4889 async fn respond_activity_task_completed(
4890 &self,
4891 input: RespondActivityTaskCompletedInput,
4892 ) -> Result<(), RusotoError<RespondActivityTaskCompletedError>>;
4893
4894 /// <p>Used by workers to tell the service that the <a>ActivityTask</a> identified by the <code>taskToken</code> has failed with <code>reason</code> (if specified). The <code>reason</code> and <code>details</code> appear in the <code>ActivityTaskFailed</code> event added to the workflow history.</p> <p>A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to <a>RespondActivityTaskCompleted</a>, <a>RespondActivityTaskCanceled</a>, RespondActivityTaskFailed, or the task has <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types">timed out</a>.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4895 async fn respond_activity_task_failed(
4896 &self,
4897 input: RespondActivityTaskFailedInput,
4898 ) -> Result<(), RusotoError<RespondActivityTaskFailedError>>;
4899
4900 /// <p>Used by deciders to tell the service that the <a>DecisionTask</a> identified by the <code>taskToken</code> has successfully completed. The <code>decisions</code> argument specifies the list of decisions made while processing the task.</p> <p>A <code>DecisionTaskCompleted</code> event is added to the workflow history. The <code>executionContext</code> specified is attached to the event in the workflow execution history.</p> <p> <b>Access Control</b> </p> <p>If an IAM policy grants permission to use <code>RespondDecisionTaskCompleted</code>, it can express permissions for the list of decisions in the <code>decisions</code> parameter. Each of the decisions has one or more parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For more information, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4901 async fn respond_decision_task_completed(
4902 &self,
4903 input: RespondDecisionTaskCompletedInput,
4904 ) -> Result<(), RusotoError<RespondDecisionTaskCompletedError>>;
4905
4906 /// <p>Records a <code>WorkflowExecutionSignaled</code> event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with the specified user defined signalName and input (if provided).</p> <note> <p>If a runId isn't specified, then the <code>WorkflowExecutionSignaled</code> event is recorded in the history of the current open workflow with the matching workflowId in the domain.</p> </note> <note> <p>If the specified workflow execution isn't open, this method fails with <code>UnknownResource</code>.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4907 async fn signal_workflow_execution(
4908 &self,
4909 input: SignalWorkflowExecutionInput,
4910 ) -> Result<(), RusotoError<SignalWorkflowExecutionError>>;
4911
4912 /// <p>Starts an execution of the workflow type in the specified domain using the provided <code>workflowId</code> and input data.</p> <p>This action returns the newly started workflow execution.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagList.member.0</code>: The key is <code>swf:tagList.member.0</code>.</p> </li> <li> <p> <code>tagList.member.1</code>: The key is <code>swf:tagList.member.1</code>.</p> </li> <li> <p> <code>tagList.member.2</code>: The key is <code>swf:tagList.member.2</code>.</p> </li> <li> <p> <code>tagList.member.3</code>: The key is <code>swf:tagList.member.3</code>.</p> </li> <li> <p> <code>tagList.member.4</code>: The key is <code>swf:tagList.member.4</code>.</p> </li> <li> <p> <code>taskList</code>: String constraint. The key is <code>swf:taskList.name</code>.</p> </li> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4913 async fn start_workflow_execution(
4914 &self,
4915 input: StartWorkflowExecutionInput,
4916 ) -> Result<Run, RusotoError<StartWorkflowExecutionError>>;
4917
4918 /// <p><p>Add a tag to a Amazon SWF domain.</p> <note> <p>Amazon SWF supports a maximum of 50 tags per resource.</p> </note></p>
4919 async fn tag_resource(
4920 &self,
4921 input: TagResourceInput,
4922 ) -> Result<(), RusotoError<TagResourceError>>;
4923
4924 /// <p>Records a <code>WorkflowExecutionTerminated</code> event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when starting this execution, is applied to any open child workflow executions of this workflow execution.</p> <important> <p>If the identified workflow execution was in progress, it is terminated immediately.</p> </important> <note> <p>If a runId isn't specified, then the <code>WorkflowExecutionTerminated</code> event is recorded in the history of the current open workflow with the matching workflowId in the domain.</p> </note> <note> <p>You should consider using <a>RequestCancelWorkflowExecution</a> action instead because it allows the workflow to gracefully close while <a>TerminateWorkflowExecution</a> doesn't.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4925 async fn terminate_workflow_execution(
4926 &self,
4927 input: TerminateWorkflowExecutionInput,
4928 ) -> Result<(), RusotoError<TerminateWorkflowExecutionError>>;
4929
4930 /// <p>Undeprecates a previously deprecated <i>activity type</i>. After an activity type has been undeprecated, you can create new tasks of that activity type.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code>: String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code>: String constraint. The key is <code>swf:activityType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4931 async fn undeprecate_activity_type(
4932 &self,
4933 input: UndeprecateActivityTypeInput,
4934 ) -> Result<(), RusotoError<UndeprecateActivityTypeError>>;
4935
4936 /// <p>Undeprecates a previously deprecated domain. After a domain has been undeprecated it can be used to create new workflow executions or register new types.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4937 async fn undeprecate_domain(
4938 &self,
4939 input: UndeprecateDomainInput,
4940 ) -> Result<(), RusotoError<UndeprecateDomainError>>;
4941
4942 /// <p>Undeprecates a previously deprecated <i>workflow type</i>. After a workflow type has been undeprecated, you can create new executions of that type. </p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4943 async fn undeprecate_workflow_type(
4944 &self,
4945 input: UndeprecateWorkflowTypeInput,
4946 ) -> Result<(), RusotoError<UndeprecateWorkflowTypeError>>;
4947
4948 /// <p>Remove a tag from a Amazon SWF domain.</p>
4949 async fn untag_resource(
4950 &self,
4951 input: UntagResourceInput,
4952 ) -> Result<(), RusotoError<UntagResourceError>>;
4953}
4954/// A client for the Amazon SWF API.
4955#[derive(Clone)]
4956pub struct SwfClient {
4957 client: Client,
4958 region: region::Region,
4959}
4960
4961impl SwfClient {
4962 /// Creates a client backed by the default tokio event loop.
4963 ///
4964 /// The client will use the default credentials provider and tls client.
4965 pub fn new(region: region::Region) -> SwfClient {
4966 SwfClient {
4967 client: Client::shared(),
4968 region,
4969 }
4970 }
4971
4972 pub fn new_with<P, D>(
4973 request_dispatcher: D,
4974 credentials_provider: P,
4975 region: region::Region,
4976 ) -> SwfClient
4977 where
4978 P: ProvideAwsCredentials + Send + Sync + 'static,
4979 D: DispatchSignedRequest + Send + Sync + 'static,
4980 {
4981 SwfClient {
4982 client: Client::new_with(credentials_provider, request_dispatcher),
4983 region,
4984 }
4985 }
4986
4987 pub fn new_with_client(client: Client, region: region::Region) -> SwfClient {
4988 SwfClient { client, region }
4989 }
4990}
4991
4992#[async_trait]
4993impl Swf for SwfClient {
4994 /// <p>Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
4995 async fn count_closed_workflow_executions(
4996 &self,
4997 input: CountClosedWorkflowExecutionsInput,
4998 ) -> Result<WorkflowExecutionCount, RusotoError<CountClosedWorkflowExecutionsError>> {
4999 let mut request = self.new_signed_request("POST", "/");
5000 request.add_header(
5001 "x-amz-target",
5002 "SimpleWorkflowService.CountClosedWorkflowExecutions",
5003 );
5004 let encoded = serde_json::to_string(&input).unwrap();
5005 request.set_payload(Some(encoded));
5006
5007 let response = self
5008 .sign_and_dispatch(request, CountClosedWorkflowExecutionsError::from_response)
5009 .await?;
5010 let mut response = response;
5011 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5012 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowExecutionCount, _>()
5013 }
5014
5015 /// <p>Returns the number of open workflow executions within the given domain that meet the specified filtering criteria.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5016 async fn count_open_workflow_executions(
5017 &self,
5018 input: CountOpenWorkflowExecutionsInput,
5019 ) -> Result<WorkflowExecutionCount, RusotoError<CountOpenWorkflowExecutionsError>> {
5020 let mut request = self.new_signed_request("POST", "/");
5021 request.add_header(
5022 "x-amz-target",
5023 "SimpleWorkflowService.CountOpenWorkflowExecutions",
5024 );
5025 let encoded = serde_json::to_string(&input).unwrap();
5026 request.set_payload(Some(encoded));
5027
5028 let response = self
5029 .sign_and_dispatch(request, CountOpenWorkflowExecutionsError::from_response)
5030 .await?;
5031 let mut response = response;
5032 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5033 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowExecutionCount, _>()
5034 }
5035
5036 /// <p>Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then <code>0</code> is returned.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5037 async fn count_pending_activity_tasks(
5038 &self,
5039 input: CountPendingActivityTasksInput,
5040 ) -> Result<PendingTaskCount, RusotoError<CountPendingActivityTasksError>> {
5041 let mut request = self.new_signed_request("POST", "/");
5042 request.add_header(
5043 "x-amz-target",
5044 "SimpleWorkflowService.CountPendingActivityTasks",
5045 );
5046 let encoded = serde_json::to_string(&input).unwrap();
5047 request.set_payload(Some(encoded));
5048
5049 let response = self
5050 .sign_and_dispatch(request, CountPendingActivityTasksError::from_response)
5051 .await?;
5052 let mut response = response;
5053 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5054 proto::json::ResponsePayload::new(&response).deserialize::<PendingTaskCount, _>()
5055 }
5056
5057 /// <p>Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then <code>0</code> is returned.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5058 async fn count_pending_decision_tasks(
5059 &self,
5060 input: CountPendingDecisionTasksInput,
5061 ) -> Result<PendingTaskCount, RusotoError<CountPendingDecisionTasksError>> {
5062 let mut request = self.new_signed_request("POST", "/");
5063 request.add_header(
5064 "x-amz-target",
5065 "SimpleWorkflowService.CountPendingDecisionTasks",
5066 );
5067 let encoded = serde_json::to_string(&input).unwrap();
5068 request.set_payload(Some(encoded));
5069
5070 let response = self
5071 .sign_and_dispatch(request, CountPendingDecisionTasksError::from_response)
5072 .await?;
5073 let mut response = response;
5074 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5075 proto::json::ResponsePayload::new(&response).deserialize::<PendingTaskCount, _>()
5076 }
5077
5078 /// <p>Deprecates the specified <i>activity type</i>. After an activity type has been deprecated, you cannot create new tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated continue to run.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code>: String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code>: String constraint. The key is <code>swf:activityType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5079 async fn deprecate_activity_type(
5080 &self,
5081 input: DeprecateActivityTypeInput,
5082 ) -> Result<(), RusotoError<DeprecateActivityTypeError>> {
5083 let mut request = self.new_signed_request("POST", "/");
5084 request.add_header(
5085 "x-amz-target",
5086 "SimpleWorkflowService.DeprecateActivityType",
5087 );
5088 let encoded = serde_json::to_string(&input).unwrap();
5089 request.set_payload(Some(encoded));
5090
5091 let response = self
5092 .sign_and_dispatch(request, DeprecateActivityTypeError::from_response)
5093 .await?;
5094 std::mem::drop(response);
5095 Ok(())
5096 }
5097
5098 /// <p>Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow executions or register new types. However, you can still use visibility actions on this domain. Deprecating a domain also deprecates all activity and workflow types registered in the domain. Executions that were started before the domain was deprecated continues to run.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5099 async fn deprecate_domain(
5100 &self,
5101 input: DeprecateDomainInput,
5102 ) -> Result<(), RusotoError<DeprecateDomainError>> {
5103 let mut request = self.new_signed_request("POST", "/");
5104 request.add_header("x-amz-target", "SimpleWorkflowService.DeprecateDomain");
5105 let encoded = serde_json::to_string(&input).unwrap();
5106 request.set_payload(Some(encoded));
5107
5108 let response = self
5109 .sign_and_dispatch(request, DeprecateDomainError::from_response)
5110 .await?;
5111 std::mem::drop(response);
5112 Ok(())
5113 }
5114
5115 /// <p>Deprecates the specified <i>workflow type</i>. After a workflow type has been deprecated, you cannot create new executions of that type. Executions that were started before the type was deprecated continues to run. A deprecated workflow type may still be used when calling visibility actions.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5116 async fn deprecate_workflow_type(
5117 &self,
5118 input: DeprecateWorkflowTypeInput,
5119 ) -> Result<(), RusotoError<DeprecateWorkflowTypeError>> {
5120 let mut request = self.new_signed_request("POST", "/");
5121 request.add_header(
5122 "x-amz-target",
5123 "SimpleWorkflowService.DeprecateWorkflowType",
5124 );
5125 let encoded = serde_json::to_string(&input).unwrap();
5126 request.set_payload(Some(encoded));
5127
5128 let response = self
5129 .sign_and_dispatch(request, DeprecateWorkflowTypeError::from_response)
5130 .await?;
5131 std::mem::drop(response);
5132 Ok(())
5133 }
5134
5135 /// <p>Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code>: String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code>: String constraint. The key is <code>swf:activityType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5136 async fn describe_activity_type(
5137 &self,
5138 input: DescribeActivityTypeInput,
5139 ) -> Result<ActivityTypeDetail, RusotoError<DescribeActivityTypeError>> {
5140 let mut request = self.new_signed_request("POST", "/");
5141 request.add_header("x-amz-target", "SimpleWorkflowService.DescribeActivityType");
5142 let encoded = serde_json::to_string(&input).unwrap();
5143 request.set_payload(Some(encoded));
5144
5145 let response = self
5146 .sign_and_dispatch(request, DescribeActivityTypeError::from_response)
5147 .await?;
5148 let mut response = response;
5149 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5150 proto::json::ResponsePayload::new(&response).deserialize::<ActivityTypeDetail, _>()
5151 }
5152
5153 /// <p>Returns information about the specified domain, including description and status.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5154 async fn describe_domain(
5155 &self,
5156 input: DescribeDomainInput,
5157 ) -> Result<DomainDetail, RusotoError<DescribeDomainError>> {
5158 let mut request = self.new_signed_request("POST", "/");
5159 request.add_header("x-amz-target", "SimpleWorkflowService.DescribeDomain");
5160 let encoded = serde_json::to_string(&input).unwrap();
5161 request.set_payload(Some(encoded));
5162
5163 let response = self
5164 .sign_and_dispatch(request, DescribeDomainError::from_response)
5165 .await?;
5166 let mut response = response;
5167 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5168 proto::json::ResponsePayload::new(&response).deserialize::<DomainDetail, _>()
5169 }
5170
5171 /// <p>Returns information about the specified workflow execution including its type and some statistics.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5172 async fn describe_workflow_execution(
5173 &self,
5174 input: DescribeWorkflowExecutionInput,
5175 ) -> Result<WorkflowExecutionDetail, RusotoError<DescribeWorkflowExecutionError>> {
5176 let mut request = self.new_signed_request("POST", "/");
5177 request.add_header(
5178 "x-amz-target",
5179 "SimpleWorkflowService.DescribeWorkflowExecution",
5180 );
5181 let encoded = serde_json::to_string(&input).unwrap();
5182 request.set_payload(Some(encoded));
5183
5184 let response = self
5185 .sign_and_dispatch(request, DescribeWorkflowExecutionError::from_response)
5186 .await?;
5187 let mut response = response;
5188 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5189 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowExecutionDetail, _>()
5190 }
5191
5192 /// <p>Returns information about the specified <i>workflow type</i>. This includes configuration settings specified when the type was registered and other information such as creation date, current status, etc.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5193 async fn describe_workflow_type(
5194 &self,
5195 input: DescribeWorkflowTypeInput,
5196 ) -> Result<WorkflowTypeDetail, RusotoError<DescribeWorkflowTypeError>> {
5197 let mut request = self.new_signed_request("POST", "/");
5198 request.add_header("x-amz-target", "SimpleWorkflowService.DescribeWorkflowType");
5199 let encoded = serde_json::to_string(&input).unwrap();
5200 request.set_payload(Some(encoded));
5201
5202 let response = self
5203 .sign_and_dispatch(request, DescribeWorkflowTypeError::from_response)
5204 .await?;
5205 let mut response = response;
5206 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5207 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowTypeDetail, _>()
5208 }
5209
5210 /// <p>Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the <code>nextPageToken</code> returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5211 async fn get_workflow_execution_history(
5212 &self,
5213 input: GetWorkflowExecutionHistoryInput,
5214 ) -> Result<History, RusotoError<GetWorkflowExecutionHistoryError>> {
5215 let mut request = self.new_signed_request("POST", "/");
5216 request.add_header(
5217 "x-amz-target",
5218 "SimpleWorkflowService.GetWorkflowExecutionHistory",
5219 );
5220 let encoded = serde_json::to_string(&input).unwrap();
5221 request.set_payload(Some(encoded));
5222
5223 let response = self
5224 .sign_and_dispatch(request, GetWorkflowExecutionHistoryError::from_response)
5225 .await?;
5226 let mut response = response;
5227 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5228 proto::json::ResponsePayload::new(&response).deserialize::<History, _>()
5229 }
5230
5231 /// <p>Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the <code>nextPageToken</code> returned by the initial call.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5232 async fn list_activity_types(
5233 &self,
5234 input: ListActivityTypesInput,
5235 ) -> Result<ActivityTypeInfos, RusotoError<ListActivityTypesError>> {
5236 let mut request = self.new_signed_request("POST", "/");
5237 request.add_header("x-amz-target", "SimpleWorkflowService.ListActivityTypes");
5238 let encoded = serde_json::to_string(&input).unwrap();
5239 request.set_payload(Some(encoded));
5240
5241 let response = self
5242 .sign_and_dispatch(request, ListActivityTypesError::from_response)
5243 .await?;
5244 let mut response = response;
5245 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5246 proto::json::ResponsePayload::new(&response).deserialize::<ActivityTypeInfos, _>()
5247 }
5248
5249 /// <p>Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5250 async fn list_closed_workflow_executions(
5251 &self,
5252 input: ListClosedWorkflowExecutionsInput,
5253 ) -> Result<WorkflowExecutionInfos, RusotoError<ListClosedWorkflowExecutionsError>> {
5254 let mut request = self.new_signed_request("POST", "/");
5255 request.add_header(
5256 "x-amz-target",
5257 "SimpleWorkflowService.ListClosedWorkflowExecutions",
5258 );
5259 let encoded = serde_json::to_string(&input).unwrap();
5260 request.set_payload(Some(encoded));
5261
5262 let response = self
5263 .sign_and_dispatch(request, ListClosedWorkflowExecutionsError::from_response)
5264 .await?;
5265 let mut response = response;
5266 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5267 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowExecutionInfos, _>()
5268 }
5269
5270 /// <p>Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains. The element must be set to <code>arn:aws:swf::AccountID:domain/*</code>, where <i>AccountID</i> is the account ID, with no dashes.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5271 async fn list_domains(
5272 &self,
5273 input: ListDomainsInput,
5274 ) -> Result<DomainInfos, RusotoError<ListDomainsError>> {
5275 let mut request = self.new_signed_request("POST", "/");
5276 request.add_header("x-amz-target", "SimpleWorkflowService.ListDomains");
5277 let encoded = serde_json::to_string(&input).unwrap();
5278 request.set_payload(Some(encoded));
5279
5280 let response = self
5281 .sign_and_dispatch(request, ListDomainsError::from_response)
5282 .await?;
5283 let mut response = response;
5284 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5285 proto::json::ResponsePayload::new(&response).deserialize::<DomainInfos, _>()
5286 }
5287
5288 /// <p>Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagFilter.tag</code>: String constraint. The key is <code>swf:tagFilter.tag</code>.</p> </li> <li> <p> <code>typeFilter.name</code>: String constraint. The key is <code>swf:typeFilter.name</code>.</p> </li> <li> <p> <code>typeFilter.version</code>: String constraint. The key is <code>swf:typeFilter.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5289 async fn list_open_workflow_executions(
5290 &self,
5291 input: ListOpenWorkflowExecutionsInput,
5292 ) -> Result<WorkflowExecutionInfos, RusotoError<ListOpenWorkflowExecutionsError>> {
5293 let mut request = self.new_signed_request("POST", "/");
5294 request.add_header(
5295 "x-amz-target",
5296 "SimpleWorkflowService.ListOpenWorkflowExecutions",
5297 );
5298 let encoded = serde_json::to_string(&input).unwrap();
5299 request.set_payload(Some(encoded));
5300
5301 let response = self
5302 .sign_and_dispatch(request, ListOpenWorkflowExecutionsError::from_response)
5303 .await?;
5304 let mut response = response;
5305 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5306 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowExecutionInfos, _>()
5307 }
5308
5309 /// <p>List tags for a given domain.</p>
5310 async fn list_tags_for_resource(
5311 &self,
5312 input: ListTagsForResourceInput,
5313 ) -> Result<ListTagsForResourceOutput, RusotoError<ListTagsForResourceError>> {
5314 let mut request = self.new_signed_request("POST", "/");
5315 request.add_header("x-amz-target", "SimpleWorkflowService.ListTagsForResource");
5316 let encoded = serde_json::to_string(&input).unwrap();
5317 request.set_payload(Some(encoded));
5318
5319 let response = self
5320 .sign_and_dispatch(request, ListTagsForResourceError::from_response)
5321 .await?;
5322 let mut response = response;
5323 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5324 proto::json::ResponsePayload::new(&response).deserialize::<ListTagsForResourceOutput, _>()
5325 }
5326
5327 /// <p>Returns information about workflow types in the specified domain. The results may be split into multiple pages that can be retrieved by making the call repeatedly.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5328 async fn list_workflow_types(
5329 &self,
5330 input: ListWorkflowTypesInput,
5331 ) -> Result<WorkflowTypeInfos, RusotoError<ListWorkflowTypesError>> {
5332 let mut request = self.new_signed_request("POST", "/");
5333 request.add_header("x-amz-target", "SimpleWorkflowService.ListWorkflowTypes");
5334 let encoded = serde_json::to_string(&input).unwrap();
5335 request.set_payload(Some(encoded));
5336
5337 let response = self
5338 .sign_and_dispatch(request, ListWorkflowTypesError::from_response)
5339 .await?;
5340 let mut response = response;
5341 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5342 proto::json::ResponsePayload::new(&response).deserialize::<WorkflowTypeInfos, _>()
5343 }
5344
5345 /// <p>Used by workers to get an <a>ActivityTask</a> from the specified activity <code>taskList</code>. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its type to identify and process it correctly.</p> <important> <p>Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the poll request).</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5346 async fn poll_for_activity_task(
5347 &self,
5348 input: PollForActivityTaskInput,
5349 ) -> Result<ActivityTask, RusotoError<PollForActivityTaskError>> {
5350 let mut request = self.new_signed_request("POST", "/");
5351 request.add_header("x-amz-target", "SimpleWorkflowService.PollForActivityTask");
5352 let encoded = serde_json::to_string(&input).unwrap();
5353 request.set_payload(Some(encoded));
5354
5355 let response = self
5356 .sign_and_dispatch(request, PollForActivityTaskError::from_response)
5357 .await?;
5358 let mut response = response;
5359 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5360 proto::json::ResponsePayload::new(&response).deserialize::<ActivityTask, _>()
5361 }
5362
5363 /// <p>Used by deciders to get a <a>DecisionTask</a> from the specified decision <code>taskList</code>. A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle the task.</p> <p>This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string.</p> <important> <p>Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the timeout).</p> </important> <important> <p>Because the number of workflow history events for a single workflow execution might be very large, the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to <code>PollForDecisionTask</code> using the <code>nextPageToken</code> returned by the initial call. Note that you do <i>not</i> call <code>GetWorkflowExecutionHistory</code> with this <code>nextPageToken</code>. Instead, call <code>PollForDecisionTask</code> again.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the <code>taskList.name</code> parameter by using a <code>Condition</code> element with the <code>swf:taskList.name</code> key to allow the action to access only certain task lists.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5364 async fn poll_for_decision_task(
5365 &self,
5366 input: PollForDecisionTaskInput,
5367 ) -> Result<DecisionTask, RusotoError<PollForDecisionTaskError>> {
5368 let mut request = self.new_signed_request("POST", "/");
5369 request.add_header("x-amz-target", "SimpleWorkflowService.PollForDecisionTask");
5370 let encoded = serde_json::to_string(&input).unwrap();
5371 request.set_payload(Some(encoded));
5372
5373 let response = self
5374 .sign_and_dispatch(request, PollForDecisionTaskError::from_response)
5375 .await?;
5376 let mut response = response;
5377 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5378 proto::json::ResponsePayload::new(&response).deserialize::<DecisionTask, _>()
5379 }
5380
5381 /// <p>Used by activity workers to report to the service that the <a>ActivityTask</a> represented by the specified <code>taskToken</code> is still making progress. The worker can also specify details of the progress, for example percent complete, using the <code>details</code> parameter. This action can also be used by the worker as a mechanism to check if cancellation is being requested for the activity task. If a cancellation is being attempted for the specified task, then the boolean <code>cancelRequested</code> flag returned by the service is set to <code>true</code>.</p> <p>This action resets the <code>taskHeartbeatTimeout</code> clock. The <code>taskHeartbeatTimeout</code> is specified in <a>RegisterActivityType</a>.</p> <p>This action doesn't in itself create an event in the workflow execution history. However, if the task times out, the workflow execution history contains a <code>ActivityTaskTimedOut</code> event that contains the information from the last heartbeat generated by the activity worker.</p> <note> <p>The <code>taskStartToCloseTimeout</code> of an activity type is the maximum duration of an activity task, regardless of the number of <a>RecordActivityTaskHeartbeat</a> requests received. The <code>taskStartToCloseTimeout</code> is also specified in <a>RegisterActivityType</a>.</p> </note> <note> <p>This operation is only useful for long-lived activities to report liveliness of the task and to determine if a cancellation is being attempted.</p> </note> <important> <p>If the <code>cancelRequested</code> flag returns <code>true</code>, a cancellation is being attempted. If the worker can cancel the activity, it should respond with <a>RespondActivityTaskCanceled</a>. Otherwise, it should ignore the cancellation request.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5382 async fn record_activity_task_heartbeat(
5383 &self,
5384 input: RecordActivityTaskHeartbeatInput,
5385 ) -> Result<ActivityTaskStatus, RusotoError<RecordActivityTaskHeartbeatError>> {
5386 let mut request = self.new_signed_request("POST", "/");
5387 request.add_header(
5388 "x-amz-target",
5389 "SimpleWorkflowService.RecordActivityTaskHeartbeat",
5390 );
5391 let encoded = serde_json::to_string(&input).unwrap();
5392 request.set_payload(Some(encoded));
5393
5394 let response = self
5395 .sign_and_dispatch(request, RecordActivityTaskHeartbeatError::from_response)
5396 .await?;
5397 let mut response = response;
5398 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5399 proto::json::ResponsePayload::new(&response).deserialize::<ActivityTaskStatus, _>()
5400 }
5401
5402 /// <p>Registers a new <i>activity type</i> along with its configuration settings in the specified domain.</p> <important> <p>A <code>TypeAlreadyExists</code> fault is returned if the type already exists in the domain. You cannot change any configuration settings of the type after its registration, and it must be registered as a new version.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>defaultTaskList.name</code>: String constraint. The key is <code>swf:defaultTaskList.name</code>.</p> </li> <li> <p> <code>name</code>: String constraint. The key is <code>swf:name</code>.</p> </li> <li> <p> <code>version</code>: String constraint. The key is <code>swf:version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5403 async fn register_activity_type(
5404 &self,
5405 input: RegisterActivityTypeInput,
5406 ) -> Result<(), RusotoError<RegisterActivityTypeError>> {
5407 let mut request = self.new_signed_request("POST", "/");
5408 request.add_header("x-amz-target", "SimpleWorkflowService.RegisterActivityType");
5409 let encoded = serde_json::to_string(&input).unwrap();
5410 request.set_payload(Some(encoded));
5411
5412 let response = self
5413 .sign_and_dispatch(request, RegisterActivityTypeError::from_response)
5414 .await?;
5415 std::mem::drop(response);
5416 Ok(())
5417 }
5418
5419 /// <p>Registers a new domain.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5420 async fn register_domain(
5421 &self,
5422 input: RegisterDomainInput,
5423 ) -> Result<(), RusotoError<RegisterDomainError>> {
5424 let mut request = self.new_signed_request("POST", "/");
5425 request.add_header("x-amz-target", "SimpleWorkflowService.RegisterDomain");
5426 let encoded = serde_json::to_string(&input).unwrap();
5427 request.set_payload(Some(encoded));
5428
5429 let response = self
5430 .sign_and_dispatch(request, RegisterDomainError::from_response)
5431 .await?;
5432 std::mem::drop(response);
5433 Ok(())
5434 }
5435
5436 /// <p>Registers a new <i>workflow type</i> and its configuration settings in the specified domain.</p> <p>The retention period for the workflow history is set by the <a>RegisterDomain</a> action.</p> <important> <p>If the type already exists, then a <code>TypeAlreadyExists</code> fault is returned. You cannot change the configuration settings of a workflow type once it is registered and it must be registered as a new version.</p> </important> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>defaultTaskList.name</code>: String constraint. The key is <code>swf:defaultTaskList.name</code>.</p> </li> <li> <p> <code>name</code>: String constraint. The key is <code>swf:name</code>.</p> </li> <li> <p> <code>version</code>: String constraint. The key is <code>swf:version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5437 async fn register_workflow_type(
5438 &self,
5439 input: RegisterWorkflowTypeInput,
5440 ) -> Result<(), RusotoError<RegisterWorkflowTypeError>> {
5441 let mut request = self.new_signed_request("POST", "/");
5442 request.add_header("x-amz-target", "SimpleWorkflowService.RegisterWorkflowType");
5443 let encoded = serde_json::to_string(&input).unwrap();
5444 request.set_payload(Some(encoded));
5445
5446 let response = self
5447 .sign_and_dispatch(request, RegisterWorkflowTypeError::from_response)
5448 .await?;
5449 std::mem::drop(response);
5450 Ok(())
5451 }
5452
5453 /// <p>Records a <code>WorkflowExecutionCancelRequested</code> event in the currently running workflow execution identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history with this event.</p> <note> <p>If the runId isn't specified, the <code>WorkflowExecutionCancelRequested</code> event is recorded in the history of the current open workflow execution with the specified workflowId in the domain.</p> </note> <note> <p>Because this action allows the workflow to properly clean up and gracefully close, it should be used instead of <a>TerminateWorkflowExecution</a> when possible.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5454 async fn request_cancel_workflow_execution(
5455 &self,
5456 input: RequestCancelWorkflowExecutionInput,
5457 ) -> Result<(), RusotoError<RequestCancelWorkflowExecutionError>> {
5458 let mut request = self.new_signed_request("POST", "/");
5459 request.add_header(
5460 "x-amz-target",
5461 "SimpleWorkflowService.RequestCancelWorkflowExecution",
5462 );
5463 let encoded = serde_json::to_string(&input).unwrap();
5464 request.set_payload(Some(encoded));
5465
5466 let response = self
5467 .sign_and_dispatch(request, RequestCancelWorkflowExecutionError::from_response)
5468 .await?;
5469 std::mem::drop(response);
5470 Ok(())
5471 }
5472
5473 /// <p>Used by workers to tell the service that the <a>ActivityTask</a> identified by the <code>taskToken</code> was successfully canceled. Additional <code>details</code> can be provided using the <code>details</code> argument.</p> <p>These <code>details</code> (if provided) appear in the <code>ActivityTaskCanceled</code> event added to the workflow history.</p> <important> <p>Only use this operation if the <code>canceled</code> flag of a <a>RecordActivityTaskHeartbeat</a> request returns <code>true</code> and if the activity can be safely undone or abandoned.</p> </important> <p>A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to <a>RespondActivityTaskCompleted</a>, RespondActivityTaskCanceled, <a>RespondActivityTaskFailed</a>, or the task has <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types">timed out</a>.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5474 async fn respond_activity_task_canceled(
5475 &self,
5476 input: RespondActivityTaskCanceledInput,
5477 ) -> Result<(), RusotoError<RespondActivityTaskCanceledError>> {
5478 let mut request = self.new_signed_request("POST", "/");
5479 request.add_header(
5480 "x-amz-target",
5481 "SimpleWorkflowService.RespondActivityTaskCanceled",
5482 );
5483 let encoded = serde_json::to_string(&input).unwrap();
5484 request.set_payload(Some(encoded));
5485
5486 let response = self
5487 .sign_and_dispatch(request, RespondActivityTaskCanceledError::from_response)
5488 .await?;
5489 std::mem::drop(response);
5490 Ok(())
5491 }
5492
5493 /// <p>Used by workers to tell the service that the <a>ActivityTask</a> identified by the <code>taskToken</code> completed successfully with a <code>result</code> (if provided). The <code>result</code> appears in the <code>ActivityTaskCompleted</code> event in the workflow history.</p> <important> <p>If the requested task doesn't complete successfully, use <a>RespondActivityTaskFailed</a> instead. If the worker finds that the task is canceled through the <code>canceled</code> flag returned by <a>RecordActivityTaskHeartbeat</a>, it should cancel the task, clean up and then call <a>RespondActivityTaskCanceled</a>.</p> </important> <p>A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, <a>RespondActivityTaskCanceled</a>, <a>RespondActivityTaskFailed</a>, or the task has <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types">timed out</a>.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5494 async fn respond_activity_task_completed(
5495 &self,
5496 input: RespondActivityTaskCompletedInput,
5497 ) -> Result<(), RusotoError<RespondActivityTaskCompletedError>> {
5498 let mut request = self.new_signed_request("POST", "/");
5499 request.add_header(
5500 "x-amz-target",
5501 "SimpleWorkflowService.RespondActivityTaskCompleted",
5502 );
5503 let encoded = serde_json::to_string(&input).unwrap();
5504 request.set_payload(Some(encoded));
5505
5506 let response = self
5507 .sign_and_dispatch(request, RespondActivityTaskCompletedError::from_response)
5508 .await?;
5509 std::mem::drop(response);
5510 Ok(())
5511 }
5512
5513 /// <p>Used by workers to tell the service that the <a>ActivityTask</a> identified by the <code>taskToken</code> has failed with <code>reason</code> (if specified). The <code>reason</code> and <code>details</code> appear in the <code>ActivityTaskFailed</code> event added to the workflow history.</p> <p>A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to <a>RespondActivityTaskCompleted</a>, <a>RespondActivityTaskCanceled</a>, RespondActivityTaskFailed, or the task has <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types">timed out</a>.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5514 async fn respond_activity_task_failed(
5515 &self,
5516 input: RespondActivityTaskFailedInput,
5517 ) -> Result<(), RusotoError<RespondActivityTaskFailedError>> {
5518 let mut request = self.new_signed_request("POST", "/");
5519 request.add_header(
5520 "x-amz-target",
5521 "SimpleWorkflowService.RespondActivityTaskFailed",
5522 );
5523 let encoded = serde_json::to_string(&input).unwrap();
5524 request.set_payload(Some(encoded));
5525
5526 let response = self
5527 .sign_and_dispatch(request, RespondActivityTaskFailedError::from_response)
5528 .await?;
5529 std::mem::drop(response);
5530 Ok(())
5531 }
5532
5533 /// <p>Used by deciders to tell the service that the <a>DecisionTask</a> identified by the <code>taskToken</code> has successfully completed. The <code>decisions</code> argument specifies the list of decisions made while processing the task.</p> <p>A <code>DecisionTaskCompleted</code> event is added to the workflow history. The <code>executionContext</code> specified is attached to the event in the workflow execution history.</p> <p> <b>Access Control</b> </p> <p>If an IAM policy grants permission to use <code>RespondDecisionTaskCompleted</code>, it can express permissions for the list of decisions in the <code>decisions</code> parameter. Each of the decisions has one or more parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For more information, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5534 async fn respond_decision_task_completed(
5535 &self,
5536 input: RespondDecisionTaskCompletedInput,
5537 ) -> Result<(), RusotoError<RespondDecisionTaskCompletedError>> {
5538 let mut request = self.new_signed_request("POST", "/");
5539 request.add_header(
5540 "x-amz-target",
5541 "SimpleWorkflowService.RespondDecisionTaskCompleted",
5542 );
5543 let encoded = serde_json::to_string(&input).unwrap();
5544 request.set_payload(Some(encoded));
5545
5546 let response = self
5547 .sign_and_dispatch(request, RespondDecisionTaskCompletedError::from_response)
5548 .await?;
5549 std::mem::drop(response);
5550 Ok(())
5551 }
5552
5553 /// <p>Records a <code>WorkflowExecutionSignaled</code> event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with the specified user defined signalName and input (if provided).</p> <note> <p>If a runId isn't specified, then the <code>WorkflowExecutionSignaled</code> event is recorded in the history of the current open workflow with the matching workflowId in the domain.</p> </note> <note> <p>If the specified workflow execution isn't open, this method fails with <code>UnknownResource</code>.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5554 async fn signal_workflow_execution(
5555 &self,
5556 input: SignalWorkflowExecutionInput,
5557 ) -> Result<(), RusotoError<SignalWorkflowExecutionError>> {
5558 let mut request = self.new_signed_request("POST", "/");
5559 request.add_header(
5560 "x-amz-target",
5561 "SimpleWorkflowService.SignalWorkflowExecution",
5562 );
5563 let encoded = serde_json::to_string(&input).unwrap();
5564 request.set_payload(Some(encoded));
5565
5566 let response = self
5567 .sign_and_dispatch(request, SignalWorkflowExecutionError::from_response)
5568 .await?;
5569 std::mem::drop(response);
5570 Ok(())
5571 }
5572
5573 /// <p>Starts an execution of the workflow type in the specified domain using the provided <code>workflowId</code> and input data.</p> <p>This action returns the newly started workflow execution.</p> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>tagList.member.0</code>: The key is <code>swf:tagList.member.0</code>.</p> </li> <li> <p> <code>tagList.member.1</code>: The key is <code>swf:tagList.member.1</code>.</p> </li> <li> <p> <code>tagList.member.2</code>: The key is <code>swf:tagList.member.2</code>.</p> </li> <li> <p> <code>tagList.member.3</code>: The key is <code>swf:tagList.member.3</code>.</p> </li> <li> <p> <code>tagList.member.4</code>: The key is <code>swf:tagList.member.4</code>.</p> </li> <li> <p> <code>taskList</code>: String constraint. The key is <code>swf:taskList.name</code>.</p> </li> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5574 async fn start_workflow_execution(
5575 &self,
5576 input: StartWorkflowExecutionInput,
5577 ) -> Result<Run, RusotoError<StartWorkflowExecutionError>> {
5578 let mut request = self.new_signed_request("POST", "/");
5579 request.add_header(
5580 "x-amz-target",
5581 "SimpleWorkflowService.StartWorkflowExecution",
5582 );
5583 let encoded = serde_json::to_string(&input).unwrap();
5584 request.set_payload(Some(encoded));
5585
5586 let response = self
5587 .sign_and_dispatch(request, StartWorkflowExecutionError::from_response)
5588 .await?;
5589 let mut response = response;
5590 let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
5591 proto::json::ResponsePayload::new(&response).deserialize::<Run, _>()
5592 }
5593
5594 /// <p><p>Add a tag to a Amazon SWF domain.</p> <note> <p>Amazon SWF supports a maximum of 50 tags per resource.</p> </note></p>
5595 async fn tag_resource(
5596 &self,
5597 input: TagResourceInput,
5598 ) -> Result<(), RusotoError<TagResourceError>> {
5599 let mut request = self.new_signed_request("POST", "/");
5600 request.add_header("x-amz-target", "SimpleWorkflowService.TagResource");
5601 let encoded = serde_json::to_string(&input).unwrap();
5602 request.set_payload(Some(encoded));
5603
5604 let response = self
5605 .sign_and_dispatch(request, TagResourceError::from_response)
5606 .await?;
5607 std::mem::drop(response);
5608 Ok(())
5609 }
5610
5611 /// <p>Records a <code>WorkflowExecutionTerminated</code> event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when starting this execution, is applied to any open child workflow executions of this workflow execution.</p> <important> <p>If the identified workflow execution was in progress, it is terminated immediately.</p> </important> <note> <p>If a runId isn't specified, then the <code>WorkflowExecutionTerminated</code> event is recorded in the history of the current open workflow with the matching workflowId in the domain.</p> </note> <note> <p>You should consider using <a>RequestCancelWorkflowExecution</a> action instead because it allows the workflow to gracefully close while <a>TerminateWorkflowExecution</a> doesn't.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5612 async fn terminate_workflow_execution(
5613 &self,
5614 input: TerminateWorkflowExecutionInput,
5615 ) -> Result<(), RusotoError<TerminateWorkflowExecutionError>> {
5616 let mut request = self.new_signed_request("POST", "/");
5617 request.add_header(
5618 "x-amz-target",
5619 "SimpleWorkflowService.TerminateWorkflowExecution",
5620 );
5621 let encoded = serde_json::to_string(&input).unwrap();
5622 request.set_payload(Some(encoded));
5623
5624 let response = self
5625 .sign_and_dispatch(request, TerminateWorkflowExecutionError::from_response)
5626 .await?;
5627 std::mem::drop(response);
5628 Ok(())
5629 }
5630
5631 /// <p>Undeprecates a previously deprecated <i>activity type</i>. After an activity type has been undeprecated, you can create new tasks of that activity type.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>activityType.name</code>: String constraint. The key is <code>swf:activityType.name</code>.</p> </li> <li> <p> <code>activityType.version</code>: String constraint. The key is <code>swf:activityType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5632 async fn undeprecate_activity_type(
5633 &self,
5634 input: UndeprecateActivityTypeInput,
5635 ) -> Result<(), RusotoError<UndeprecateActivityTypeError>> {
5636 let mut request = self.new_signed_request("POST", "/");
5637 request.add_header(
5638 "x-amz-target",
5639 "SimpleWorkflowService.UndeprecateActivityType",
5640 );
5641 let encoded = serde_json::to_string(&input).unwrap();
5642 request.set_payload(Some(encoded));
5643
5644 let response = self
5645 .sign_and_dispatch(request, UndeprecateActivityTypeError::from_response)
5646 .await?;
5647 std::mem::drop(response);
5648 Ok(())
5649 }
5650
5651 /// <p>Undeprecates a previously deprecated domain. After a domain has been undeprecated it can be used to create new workflow executions or register new types.</p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>You cannot use an IAM policy to constrain this action's parameters.</p> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5652 async fn undeprecate_domain(
5653 &self,
5654 input: UndeprecateDomainInput,
5655 ) -> Result<(), RusotoError<UndeprecateDomainError>> {
5656 let mut request = self.new_signed_request("POST", "/");
5657 request.add_header("x-amz-target", "SimpleWorkflowService.UndeprecateDomain");
5658 let encoded = serde_json::to_string(&input).unwrap();
5659 request.set_payload(Some(encoded));
5660
5661 let response = self
5662 .sign_and_dispatch(request, UndeprecateDomainError::from_response)
5663 .await?;
5664 std::mem::drop(response);
5665 Ok(())
5666 }
5667
5668 /// <p>Undeprecates a previously deprecated <i>workflow type</i>. After a workflow type has been undeprecated, you can create new executions of that type. </p> <note> <p>This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.</p> </note> <p> <b>Access Control</b> </p> <p>You can use IAM policies to control this action's access to Amazon SWF resources as follows:</p> <ul> <li> <p>Use a <code>Resource</code> element with the domain name to limit the action to only specified domains.</p> </li> <li> <p>Use an <code>Action</code> element to allow or deny permission to call this action.</p> </li> <li> <p>Constrain the following parameters by using a <code>Condition</code> element with the appropriate keys.</p> <ul> <li> <p> <code>workflowType.name</code>: String constraint. The key is <code>swf:workflowType.name</code>.</p> </li> <li> <p> <code>workflowType.version</code>: String constraint. The key is <code>swf:workflowType.version</code>.</p> </li> </ul> </li> </ul> <p>If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's <code>cause</code> parameter is set to <code>OPERATION_NOT_PERMITTED</code>. For details and example IAM policies, see <a href="https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html">Using IAM to Manage Access to Amazon SWF Workflows</a> in the <i>Amazon SWF Developer Guide</i>.</p>
5669 async fn undeprecate_workflow_type(
5670 &self,
5671 input: UndeprecateWorkflowTypeInput,
5672 ) -> Result<(), RusotoError<UndeprecateWorkflowTypeError>> {
5673 let mut request = self.new_signed_request("POST", "/");
5674 request.add_header(
5675 "x-amz-target",
5676 "SimpleWorkflowService.UndeprecateWorkflowType",
5677 );
5678 let encoded = serde_json::to_string(&input).unwrap();
5679 request.set_payload(Some(encoded));
5680
5681 let response = self
5682 .sign_and_dispatch(request, UndeprecateWorkflowTypeError::from_response)
5683 .await?;
5684 std::mem::drop(response);
5685 Ok(())
5686 }
5687
5688 /// <p>Remove a tag from a Amazon SWF domain.</p>
5689 async fn untag_resource(
5690 &self,
5691 input: UntagResourceInput,
5692 ) -> Result<(), RusotoError<UntagResourceError>> {
5693 let mut request = self.new_signed_request("POST", "/");
5694 request.add_header("x-amz-target", "SimpleWorkflowService.UntagResource");
5695 let encoded = serde_json::to_string(&input).unwrap();
5696 request.set_payload(Some(encoded));
5697
5698 let response = self
5699 .sign_and_dispatch(request, UntagResourceError::from_response)
5700 .await?;
5701 std::mem::drop(response);
5702 Ok(())
5703 }
5704}