1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Provides the details of the ActivityTaskCanceled event.
10type ActivityTaskCanceledEventAttributes struct {
11
12	// The ID of the ActivityTaskScheduled event that was recorded when this activity
13	// task was scheduled. This information can be useful for diagnosing problems by
14	// tracing back the chain of events leading up to this event.
15	//
16	// This member is required.
17	ScheduledEventId int64
18
19	// The ID of the ActivityTaskStarted event recorded when this activity task was
20	// started. This information can be useful for diagnosing problems by tracing back
21	// the chain of events leading up to this event.
22	//
23	// This member is required.
24	StartedEventId int64
25
26	// Details of the cancellation.
27	Details *string
28
29	// If set, contains the ID of the last ActivityTaskCancelRequested event recorded
30	// for this activity task. This information can be useful for diagnosing problems
31	// by tracing back the chain of events leading up to this event.
32	LatestCancelRequestedEventId int64
33}
34
35// Provides the details of the ActivityTaskCancelRequested event.
36type ActivityTaskCancelRequestedEventAttributes struct {
37
38	// The unique ID of the task.
39	//
40	// This member is required.
41	ActivityId *string
42
43	// The ID of the DecisionTaskCompleted event corresponding to the decision task
44	// that resulted in the RequestCancelActivityTask decision for this cancellation
45	// request. This information can be useful for diagnosing problems by tracing back
46	// the chain of events leading up to this event.
47	//
48	// This member is required.
49	DecisionTaskCompletedEventId int64
50}
51
52// Provides the details of the ActivityTaskCompleted event.
53type ActivityTaskCompletedEventAttributes struct {
54
55	// The ID of the ActivityTaskScheduled event that was recorded when this activity
56	// task was scheduled. This information can be useful for diagnosing problems by
57	// tracing back the chain of events leading up to this event.
58	//
59	// This member is required.
60	ScheduledEventId int64
61
62	// The ID of the ActivityTaskStarted event recorded when this activity task was
63	// started. This information can be useful for diagnosing problems by tracing back
64	// the chain of events leading up to this event.
65	//
66	// This member is required.
67	StartedEventId int64
68
69	// The results of the activity task.
70	Result *string
71}
72
73// Provides the details of the ActivityTaskFailed event.
74type ActivityTaskFailedEventAttributes struct {
75
76	// The ID of the ActivityTaskScheduled event that was recorded when this activity
77	// task was scheduled. This information can be useful for diagnosing problems by
78	// tracing back the chain of events leading up to this event.
79	//
80	// This member is required.
81	ScheduledEventId int64
82
83	// The ID of the ActivityTaskStarted event recorded when this activity task was
84	// started. This information can be useful for diagnosing problems by tracing back
85	// the chain of events leading up to this event.
86	//
87	// This member is required.
88	StartedEventId int64
89
90	// The details of the failure.
91	Details *string
92
93	// The reason provided for the failure.
94	Reason *string
95}
96
97// Provides the details of the ActivityTaskScheduled event.
98type ActivityTaskScheduledEventAttributes struct {
99
100	// The unique ID of the activity task.
101	//
102	// This member is required.
103	ActivityId *string
104
105	// The type of the activity task.
106	//
107	// This member is required.
108	ActivityType *ActivityType
109
110	// The ID of the DecisionTaskCompleted event corresponding to the decision that
111	// resulted in the scheduling of this activity task. This information can be useful
112	// for diagnosing problems by tracing back the chain of events leading up to this
113	// event.
114	//
115	// This member is required.
116	DecisionTaskCompletedEventId int64
117
118	// The task list in which the activity task has been scheduled.
119	//
120	// This member is required.
121	TaskList *TaskList
122
123	// Data attached to the event that can be used by the decider in subsequent
124	// workflow tasks. This data isn't sent to the activity.
125	Control *string
126
127	// The maximum time before which the worker processing this task must report
128	// progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the
129	// activity task is automatically timed out. If the worker subsequently attempts to
130	// record a heartbeat or return a result, it is ignored.
131	HeartbeatTimeout *string
132
133	// The input provided to the activity task.
134	Input *string
135
136	// The maximum amount of time for this activity task.
137	ScheduleToCloseTimeout *string
138
139	// The maximum amount of time the activity task can wait to be assigned to a
140	// worker.
141	ScheduleToStartTimeout *string
142
143	// The maximum amount of time a worker may take to process the activity task.
144	StartToCloseTimeout *string
145
146	// The priority to assign to the scheduled activity task. If set, this overrides
147	// any default priority value that was assigned when the activity type was
148	// registered. Valid values are integers that range from Java's Integer.MIN_VALUE
149	// (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher
150	// priority. For more information about setting task priority, see Setting Task
151	// Priority
152	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
153	// in the Amazon SWF Developer Guide.
154	TaskPriority *string
155}
156
157// Provides the details of the ActivityTaskStarted event.
158type ActivityTaskStartedEventAttributes struct {
159
160	// The ID of the ActivityTaskScheduled event that was recorded when this activity
161	// task was scheduled. This information can be useful for diagnosing problems by
162	// tracing back the chain of events leading up to this event.
163	//
164	// This member is required.
165	ScheduledEventId int64
166
167	// Identity of the worker that was assigned this task. This aids diagnostics when
168	// problems arise. The form of this identity is user defined.
169	Identity *string
170}
171
172// Provides the details of the ActivityTaskTimedOut event.
173type ActivityTaskTimedOutEventAttributes struct {
174
175	// The ID of the ActivityTaskScheduled event that was recorded when this activity
176	// task was scheduled. This information can be useful for diagnosing problems by
177	// tracing back the chain of events leading up to this event.
178	//
179	// This member is required.
180	ScheduledEventId int64
181
182	// The ID of the ActivityTaskStarted event recorded when this activity task was
183	// started. This information can be useful for diagnosing problems by tracing back
184	// the chain of events leading up to this event.
185	//
186	// This member is required.
187	StartedEventId int64
188
189	// The type of the timeout that caused this event.
190	//
191	// This member is required.
192	TimeoutType ActivityTaskTimeoutType
193
194	// Contains the content of the details parameter for the last call made by the
195	// activity to RecordActivityTaskHeartbeat.
196	Details *string
197}
198
199// Represents an activity type.
200type ActivityType struct {
201
202	// The name of this activity. The combination of activity type name and version
203	// must be unique within a domain.
204	//
205	// This member is required.
206	Name *string
207
208	// The version of this activity. The combination of activity type name and version
209	// must be unique with in a domain.
210	//
211	// This member is required.
212	Version *string
213}
214
215// Configuration settings registered with the activity type.
216type ActivityTypeConfiguration struct {
217
218	// The default maximum time, in seconds, before which a worker processing a task
219	// must report progress by calling RecordActivityTaskHeartbeat. You can specify
220	// this value only when registering an activity type. The registered default value
221	// can be overridden when you schedule a task through the
222	// ScheduleActivityTaskDecision. If the activity worker subsequently attempts to
223	// record a heartbeat or returns a result, the activity worker receives an
224	// UnknownResource fault. In this case, Amazon SWF no longer considers the activity
225	// task to be valid; the activity worker should clean up the activity task. The
226	// duration is specified in seconds, an integer greater than or equal to 0. You can
227	// use NONE to specify unlimited duration.
228	DefaultTaskHeartbeatTimeout *string
229
230	// The default task list specified for this activity type at registration. This
231	// default is used if a task list isn't provided when a task is scheduled through
232	// the ScheduleActivityTaskDecision. You can override the default registered task
233	// list when scheduling a task through the ScheduleActivityTaskDecision.
234	DefaultTaskList *TaskList
235
236	// The default task priority for tasks of this activity type, specified at
237	// registration. If not set, then 0 is used as the default priority. This default
238	// can be overridden when scheduling an activity task. Valid values are integers
239	// that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE
240	// (2147483647). Higher numbers indicate higher priority. For more information
241	// about setting task priority, see Setting Task Priority
242	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
243	// in the Amazon SWF Developer Guide.
244	DefaultTaskPriority *string
245
246	// The default maximum duration, specified when registering the activity type, for
247	// tasks of this activity type. You can override this default when scheduling a
248	// task through the ScheduleActivityTaskDecision. The duration is specified in
249	// seconds, an integer greater than or equal to 0. You can use NONE to specify
250	// unlimited duration.
251	DefaultTaskScheduleToCloseTimeout *string
252
253	// The default maximum duration, specified when registering the activity type, that
254	// a task of an activity type can wait before being assigned to a worker. You can
255	// override this default when scheduling a task through the
256	// ScheduleActivityTaskDecision. The duration is specified in seconds, an integer
257	// greater than or equal to 0. You can use NONE to specify unlimited duration.
258	DefaultTaskScheduleToStartTimeout *string
259
260	// The default maximum duration for tasks of an activity type specified when
261	// registering the activity type. You can override this default when scheduling a
262	// task through the ScheduleActivityTaskDecision. The duration is specified in
263	// seconds, an integer greater than or equal to 0. You can use NONE to specify
264	// unlimited duration.
265	DefaultTaskStartToCloseTimeout *string
266}
267
268// Detailed information about an activity type.
269type ActivityTypeInfo struct {
270
271	// The ActivityType type structure representing the activity type.
272	//
273	// This member is required.
274	ActivityType *ActivityType
275
276	// The date and time this activity type was created through RegisterActivityType.
277	//
278	// This member is required.
279	CreationDate *time.Time
280
281	// The current status of the activity type.
282	//
283	// This member is required.
284	Status RegistrationStatus
285
286	// If DEPRECATED, the date and time DeprecateActivityType was called.
287	DeprecationDate *time.Time
288
289	// The description of the activity type provided in RegisterActivityType.
290	Description *string
291}
292
293// Provides the details of the CancelTimer decision. Access Control You can use IAM
294// policies to control this decision's access to Amazon SWF resources as
295// follows:
296//
297// * Use a Resource element with the domain name to limit the action to
298// only specified domains.
299//
300// * Use an Action element to allow or deny permission to
301// call this action.
302//
303// * You cannot use an IAM policy to constrain this action's
304// parameters.
305//
306// If the caller doesn't have sufficient permissions to invoke the
307// action, or the parameter values fall outside the specified constraints, the
308// action fails. The associated event attribute's cause parameter is set to
309// OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to
310// Manage Access to Amazon SWF Workflows
311// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
312// in the Amazon SWF Developer Guide.
313type CancelTimerDecisionAttributes struct {
314
315	// The unique ID of the timer to cancel.
316	//
317	// This member is required.
318	TimerId *string
319}
320
321// Provides the details of the CancelTimerFailed event.
322type CancelTimerFailedEventAttributes struct {
323
324	// The cause of the failure. This information is generated by the system and can be
325	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
326	// decision failed because it lacked sufficient permissions. For details and
327	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
328	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
329	// in the Amazon SWF Developer Guide.
330	//
331	// This member is required.
332	Cause CancelTimerFailedCause
333
334	// The ID of the DecisionTaskCompleted event corresponding to the decision task
335	// that resulted in the CancelTimer decision to cancel this timer. This information
336	// can be useful for diagnosing problems by tracing back the chain of events
337	// leading up to this event.
338	//
339	// This member is required.
340	DecisionTaskCompletedEventId int64
341
342	// The timerId provided in the CancelTimer decision that failed.
343	//
344	// This member is required.
345	TimerId *string
346}
347
348// Provides the details of the CancelWorkflowExecution decision. Access Control You
349// can use IAM policies to control this decision's access to Amazon SWF resources
350// as follows:
351//
352// * Use a Resource element with the domain name to limit the action
353// to only specified domains.
354//
355// * Use an Action element to allow or deny permission
356// to call this action.
357//
358// * You cannot use an IAM policy to constrain this action's
359// parameters.
360//
361// If the caller doesn't have sufficient permissions to invoke the
362// action, or the parameter values fall outside the specified constraints, the
363// action fails. The associated event attribute's cause parameter is set to
364// OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to
365// Manage Access to Amazon SWF Workflows
366// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
367// in the Amazon SWF Developer Guide.
368type CancelWorkflowExecutionDecisionAttributes struct {
369
370	// Details of the cancellation.
371	Details *string
372}
373
374// Provides the details of the CancelWorkflowExecutionFailed event.
375type CancelWorkflowExecutionFailedEventAttributes struct {
376
377	// The cause of the failure. This information is generated by the system and can be
378	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
379	// decision failed because it lacked sufficient permissions. For details and
380	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
381	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
382	// in the Amazon SWF Developer Guide.
383	//
384	// This member is required.
385	Cause CancelWorkflowExecutionFailedCause
386
387	// The ID of the DecisionTaskCompleted event corresponding to the decision task
388	// that resulted in the CancelWorkflowExecution decision for this cancellation
389	// request. This information can be useful for diagnosing problems by tracing back
390	// the chain of events leading up to this event.
391	//
392	// This member is required.
393	DecisionTaskCompletedEventId int64
394}
395
396// Provide details of the ChildWorkflowExecutionCanceled event.
397type ChildWorkflowExecutionCanceledEventAttributes struct {
398
399	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
400	// StartChildWorkflowExecutionDecision to start this child workflow execution. This
401	// information can be useful for diagnosing problems by tracing back the chain of
402	// events leading up to this event.
403	//
404	// This member is required.
405	InitiatedEventId int64
406
407	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
408	// workflow execution was started. This information can be useful for diagnosing
409	// problems by tracing back the chain of events leading up to this event.
410	//
411	// This member is required.
412	StartedEventId int64
413
414	// The child workflow execution that was canceled.
415	//
416	// This member is required.
417	WorkflowExecution *WorkflowExecution
418
419	// The type of the child workflow execution.
420	//
421	// This member is required.
422	WorkflowType *WorkflowType
423
424	// Details of the cancellation (if provided).
425	Details *string
426}
427
428// Provides the details of the ChildWorkflowExecutionCompleted event.
429type ChildWorkflowExecutionCompletedEventAttributes struct {
430
431	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
432	// StartChildWorkflowExecutionDecision to start this child workflow execution. This
433	// information can be useful for diagnosing problems by tracing back the chain of
434	// events leading up to this event.
435	//
436	// This member is required.
437	InitiatedEventId int64
438
439	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
440	// workflow execution was started. This information can be useful for diagnosing
441	// problems by tracing back the chain of events leading up to this event.
442	//
443	// This member is required.
444	StartedEventId int64
445
446	// The child workflow execution that was completed.
447	//
448	// This member is required.
449	WorkflowExecution *WorkflowExecution
450
451	// The type of the child workflow execution.
452	//
453	// This member is required.
454	WorkflowType *WorkflowType
455
456	// The result of the child workflow execution.
457	Result *string
458}
459
460// Provides the details of the ChildWorkflowExecutionFailed event.
461type ChildWorkflowExecutionFailedEventAttributes struct {
462
463	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
464	// StartChildWorkflowExecutionDecision to start this child workflow execution. This
465	// information can be useful for diagnosing problems by tracing back the chain of
466	// events leading up to this event.
467	//
468	// This member is required.
469	InitiatedEventId int64
470
471	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
472	// workflow execution was started. This information can be useful for diagnosing
473	// problems by tracing back the chain of events leading up to this event.
474	//
475	// This member is required.
476	StartedEventId int64
477
478	// The child workflow execution that failed.
479	//
480	// This member is required.
481	WorkflowExecution *WorkflowExecution
482
483	// The type of the child workflow execution.
484	//
485	// This member is required.
486	WorkflowType *WorkflowType
487
488	// The details of the failure (if provided).
489	Details *string
490
491	// The reason for the failure (if provided).
492	Reason *string
493}
494
495// Provides the details of the ChildWorkflowExecutionStarted event.
496type ChildWorkflowExecutionStartedEventAttributes struct {
497
498	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
499	// StartChildWorkflowExecutionDecision to start this child workflow execution. This
500	// information can be useful for diagnosing problems by tracing back the chain of
501	// events leading up to this event.
502	//
503	// This member is required.
504	InitiatedEventId int64
505
506	// The child workflow execution that was started.
507	//
508	// This member is required.
509	WorkflowExecution *WorkflowExecution
510
511	// The type of the child workflow execution.
512	//
513	// This member is required.
514	WorkflowType *WorkflowType
515}
516
517// Provides the details of the ChildWorkflowExecutionTerminated event.
518type ChildWorkflowExecutionTerminatedEventAttributes struct {
519
520	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
521	// StartChildWorkflowExecutionDecision to start this child workflow execution. This
522	// information can be useful for diagnosing problems by tracing back the chain of
523	// events leading up to this event.
524	//
525	// This member is required.
526	InitiatedEventId int64
527
528	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
529	// workflow execution was started. This information can be useful for diagnosing
530	// problems by tracing back the chain of events leading up to this event.
531	//
532	// This member is required.
533	StartedEventId int64
534
535	// The child workflow execution that was terminated.
536	//
537	// This member is required.
538	WorkflowExecution *WorkflowExecution
539
540	// The type of the child workflow execution.
541	//
542	// This member is required.
543	WorkflowType *WorkflowType
544}
545
546// Provides the details of the ChildWorkflowExecutionTimedOut event.
547type ChildWorkflowExecutionTimedOutEventAttributes struct {
548
549	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
550	// StartChildWorkflowExecutionDecision to start this child workflow execution. This
551	// information can be useful for diagnosing problems by tracing back the chain of
552	// events leading up to this event.
553	//
554	// This member is required.
555	InitiatedEventId int64
556
557	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
558	// workflow execution was started. This information can be useful for diagnosing
559	// problems by tracing back the chain of events leading up to this event.
560	//
561	// This member is required.
562	StartedEventId int64
563
564	// The type of the timeout that caused the child workflow execution to time out.
565	//
566	// This member is required.
567	TimeoutType WorkflowExecutionTimeoutType
568
569	// The child workflow execution that timed out.
570	//
571	// This member is required.
572	WorkflowExecution *WorkflowExecution
573
574	// The type of the child workflow execution.
575	//
576	// This member is required.
577	WorkflowType *WorkflowType
578}
579
580// Used to filter the closed workflow executions in visibility APIs by their close
581// status.
582type CloseStatusFilter struct {
583
584	// The close status that must match the close status of an execution for it to meet
585	// the criteria of this filter.
586	//
587	// This member is required.
588	Status CloseStatus
589}
590
591// Provides the details of the CompleteWorkflowExecution decision. Access Control
592// You can use IAM policies to control this decision's access to Amazon SWF
593// resources as follows:
594//
595// * Use a Resource element with the domain name to limit
596// the action to only specified domains.
597//
598// * Use an Action element to allow or deny
599// permission to call this action.
600//
601// * You cannot use an IAM policy to constrain
602// this action's parameters.
603//
604// If the caller doesn't have sufficient permissions to
605// invoke the action, or the parameter values fall outside the specified
606// constraints, the action fails. The associated event attribute's cause parameter
607// is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see
608// Using IAM to Manage Access to Amazon SWF Workflows
609// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
610// in the Amazon SWF Developer Guide.
611type CompleteWorkflowExecutionDecisionAttributes struct {
612
613	// The result of the workflow execution. The form of the result is implementation
614	// defined.
615	Result *string
616}
617
618// Provides the details of the CompleteWorkflowExecutionFailed event.
619type CompleteWorkflowExecutionFailedEventAttributes struct {
620
621	// The cause of the failure. This information is generated by the system and can be
622	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
623	// decision failed because it lacked sufficient permissions. For details and
624	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
625	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
626	// in the Amazon SWF Developer Guide.
627	//
628	// This member is required.
629	Cause CompleteWorkflowExecutionFailedCause
630
631	// The ID of the DecisionTaskCompleted event corresponding to the decision task
632	// that resulted in the CompleteWorkflowExecution decision to complete this
633	// execution. This information can be useful for diagnosing problems by tracing
634	// back the chain of events leading up to this event.
635	//
636	// This member is required.
637	DecisionTaskCompletedEventId int64
638}
639
640// Provides the details of the ContinueAsNewWorkflowExecution decision. Access
641// Control You can use IAM policies to control this decision's access to Amazon SWF
642// resources as follows:
643//
644// * Use a Resource element with the domain name to limit
645// the action to only specified domains.
646//
647// * Use an Action element to allow or deny
648// permission to call this action.
649//
650// * Constrain the following parameters by using a
651// Condition element with the appropriate keys.
652//
653// * tag – A tag used to identify the
654// workflow execution
655//
656// * taskList – String constraint. The key is
657// swf:taskList.name.
658//
659// * workflowType.version – String constraint. The key is
660// swf:workflowType.version.
661//
662// If the caller doesn't have sufficient permissions to
663// invoke the action, or the parameter values fall outside the specified
664// constraints, the action fails. The associated event attribute's cause parameter
665// is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see
666// Using IAM to Manage Access to Amazon SWF Workflows
667// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
668// in the Amazon SWF Developer Guide.
669type ContinueAsNewWorkflowExecutionDecisionAttributes struct {
670
671	// If set, specifies the policy to use for the child workflow executions of the new
672	// execution if it is terminated by calling the TerminateWorkflowExecution action
673	// explicitly or due to an expired timeout. This policy overrides the default child
674	// policy specified when registering the workflow type using RegisterWorkflowType.
675	// The supported child policies are:
676	//
677	// * TERMINATE – The child executions are
678	// terminated.
679	//
680	// * REQUEST_CANCEL – A request to cancel is attempted for each child
681	// execution by recording a WorkflowExecutionCancelRequested event in its history.
682	// It is up to the decider to take appropriate actions when it receives an
683	// execution history with this event.
684	//
685	// * ABANDON – No action is taken. The child
686	// executions continue to run.
687	//
688	// A child policy for this workflow execution must be
689	// specified either as a default for the workflow type or through this parameter.
690	// If neither this parameter is set nor a default child policy was specified at
691	// registration time then a fault is returned.
692	ChildPolicy ChildPolicy
693
694	// If set, specifies the total duration for this workflow execution. This overrides
695	// the defaultExecutionStartToCloseTimeout specified when registering the workflow
696	// type. The duration is specified in seconds, an integer greater than or equal to
697	// 0. You can use NONE to specify unlimited duration. An execution start-to-close
698	// timeout for this workflow execution must be specified either as a default for
699	// the workflow type or through this field. If neither this field is set nor a
700	// default execution start-to-close timeout was specified at registration time then
701	// a fault is returned.
702	ExecutionStartToCloseTimeout *string
703
704	// The input provided to the new workflow execution.
705	Input *string
706
707	// The IAM role to attach to the new (continued) execution.
708	LambdaRole *string
709
710	// The list of tags to associate with the new workflow execution. A maximum of 5
711	// tags can be specified. You can list workflow executions with a specific tag by
712	// calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and
713	// specifying a TagFilter.
714	TagList []string
715
716	// The task list to use for the decisions of the new (continued) workflow
717	// execution.
718	TaskList *TaskList
719
720	// The task priority that, if set, specifies the priority for the decision tasks
721	// for this workflow execution. This overrides the defaultTaskPriority specified
722	// when registering the workflow type. Valid values are integers that range from
723	// Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher
724	// numbers indicate higher priority. For more information about setting task
725	// priority, see Setting Task Priority
726	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
727	// in the Amazon SWF Developer Guide.
728	TaskPriority *string
729
730	// Specifies the maximum duration of decision tasks for the new workflow execution.
731	// This parameter overrides the defaultTaskStartToCloseTimout specified when
732	// registering the workflow type using RegisterWorkflowType. The duration is
733	// specified in seconds, an integer greater than or equal to 0. You can use NONE to
734	// specify unlimited duration. A task start-to-close timeout for the new workflow
735	// execution must be specified either as a default for the workflow type or through
736	// this parameter. If neither this parameter is set nor a default task
737	// start-to-close timeout was specified at registration time then a fault is
738	// returned.
739	TaskStartToCloseTimeout *string
740
741	// The version of the workflow to start.
742	WorkflowTypeVersion *string
743}
744
745// Provides the details of the ContinueAsNewWorkflowExecutionFailed event.
746type ContinueAsNewWorkflowExecutionFailedEventAttributes struct {
747
748	// The cause of the failure. This information is generated by the system and can be
749	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
750	// decision failed because it lacked sufficient permissions. For details and
751	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
752	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
753	// in the Amazon SWF Developer Guide.
754	//
755	// This member is required.
756	Cause ContinueAsNewWorkflowExecutionFailedCause
757
758	// The ID of the DecisionTaskCompleted event corresponding to the decision task
759	// that resulted in the ContinueAsNewWorkflowExecution decision that started this
760	// execution. This information can be useful for diagnosing problems by tracing
761	// back the chain of events leading up to this event.
762	//
763	// This member is required.
764	DecisionTaskCompletedEventId int64
765}
766
767// Specifies a decision made by the decider. A decision can be one of these
768// types:
769//
770// * CancelTimer – Cancels a previously started timer and records a
771// TimerCanceled event in the history.
772//
773// * CancelWorkflowExecution – Closes the
774// workflow execution and records a WorkflowExecutionCanceled event in the
775// history.
776//
777// * CompleteWorkflowExecution – Closes the workflow execution and
778// records a WorkflowExecutionCompleted event in the history .
779//
780// *
781// ContinueAsNewWorkflowExecution – Closes the workflow execution and starts a new
782// workflow execution of the same type using the same workflow ID and a unique run
783// Id. A WorkflowExecutionContinuedAsNew event is recorded in the history.
784//
785// *
786// FailWorkflowExecution – Closes the workflow execution and records a
787// WorkflowExecutionFailed event in the history.
788//
789// * RecordMarker – Records a
790// MarkerRecorded event in the history. Markers can be used for adding custom
791// information in the history for instance to let deciders know that they don't
792// need to look at the history beyond the marker event.
793//
794// *
795// RequestCancelActivityTask – Attempts to cancel a previously scheduled activity
796// task. If the activity task was scheduled but has not been assigned to a worker,
797// then it is canceled. If the activity task was already assigned to a worker, then
798// the worker is informed that cancellation has been requested in the response to
799// RecordActivityTaskHeartbeat.
800//
801// * RequestCancelExternalWorkflowExecution –
802// Requests that a request be made to cancel the specified external workflow
803// execution and records a RequestCancelExternalWorkflowExecutionInitiated event in
804// the history.
805//
806// * ScheduleActivityTask – Schedules an activity task.
807//
808// *
809// SignalExternalWorkflowExecution – Requests a signal to be delivered to the
810// specified external workflow execution and records a
811// SignalExternalWorkflowExecutionInitiated event in the history.
812//
813// *
814// StartChildWorkflowExecution – Requests that a child workflow execution be
815// started and records a StartChildWorkflowExecutionInitiated event in the history.
816// The child workflow execution is a separate workflow execution with its own
817// history.
818//
819// * StartTimer – Starts a timer for this workflow execution and records
820// a TimerStarted event in the history. This timer fires after the specified delay
821// and record a TimerFired event.
822//
823// Access Control If you grant permission to use
824// RespondDecisionTaskCompleted, you can use IAM policies to express permissions
825// for the list of decisions returned by this action as if they were members of the
826// API. Treating decisions as a pseudo API maintains a uniform conceptual model and
827// helps keep policies readable. For details and example IAM policies, see Using
828// IAM to Manage Access to Amazon SWF Workflows
829// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
830// in the Amazon SWF Developer Guide. Decision Failure Decisions can fail for
831// several reasons
832//
833// * The ordering of decisions should follow a logical flow. Some
834// decisions might not make sense in the current context of the workflow execution
835// and therefore fails.
836//
837// * A limit on your account was reached.
838//
839// * The decision
840// lacks sufficient permissions.
841//
842// One of the following events might be added to the
843// history to indicate an error. The event attribute's cause parameter indicates
844// the cause. If cause is set to OPERATION_NOT_PERMITTED, the decision failed
845// because it lacked sufficient permissions. For details and example IAM policies,
846// see Using IAM to Manage Access to Amazon SWF Workflows
847// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
848// in the Amazon SWF Developer Guide.
849//
850// * ScheduleActivityTaskFailed – A
851// ScheduleActivityTask decision failed. This could happen if the activity type
852// specified in the decision isn't registered, is in a deprecated state, or the
853// decision isn't properly configured.
854//
855// * RequestCancelActivityTaskFailed – A
856// RequestCancelActivityTask decision failed. This could happen if there is no open
857// activity task with the specified activityId.
858//
859// * StartTimerFailed – A StartTimer
860// decision failed. This could happen if there is another open timer with the same
861// timerId.
862//
863// * CancelTimerFailed – A CancelTimer decision failed. This could happen
864// if there is no open timer with the specified timerId.
865//
866// *
867// StartChildWorkflowExecutionFailed – A StartChildWorkflowExecution decision
868// failed. This could happen if the workflow type specified isn't registered, is
869// deprecated, or the decision isn't properly configured.
870//
871// *
872// SignalExternalWorkflowExecutionFailed – A SignalExternalWorkflowExecution
873// decision failed. This could happen if the workflowID specified in the decision
874// was incorrect.
875//
876// * RequestCancelExternalWorkflowExecutionFailed – A
877// RequestCancelExternalWorkflowExecution decision failed. This could happen if the
878// workflowID specified in the decision was incorrect.
879//
880// *
881// CancelWorkflowExecutionFailed – A CancelWorkflowExecution decision failed. This
882// could happen if there is an unhandled decision task pending in the workflow
883// execution.
884//
885// * CompleteWorkflowExecutionFailed – A CompleteWorkflowExecution
886// decision failed. This could happen if there is an unhandled decision task
887// pending in the workflow execution.
888//
889// * ContinueAsNewWorkflowExecutionFailed – A
890// ContinueAsNewWorkflowExecution decision failed. This could happen if there is an
891// unhandled decision task pending in the workflow execution or the
892// ContinueAsNewWorkflowExecution decision was not configured correctly.
893//
894// *
895// FailWorkflowExecutionFailed – A FailWorkflowExecution decision failed. This
896// could happen if there is an unhandled decision task pending in the workflow
897// execution.
898//
899// The preceding error events might occur due to an error in the
900// decider logic, which might put the workflow execution in an unstable state The
901// cause field in the event structure for the error event indicates the cause of
902// the error. A workflow execution may be closed by the decider by returning one of
903// the following decisions when completing a decision task:
904// CompleteWorkflowExecution, FailWorkflowExecution, CancelWorkflowExecution and
905// ContinueAsNewWorkflowExecution. An UnhandledDecision fault is returned if a
906// workflow closing decision is specified and a signal or activity event had been
907// added to the history while the decision task was being performed by the decider.
908// Unlike the above situations which are logic issues, this fault is always
909// possible because of race conditions in a distributed system. The right action
910// here is to call RespondDecisionTaskCompleted without any decisions. This would
911// result in another decision task with these new events included in the history.
912// The decider should handle the new events and may decide to close the workflow
913// execution. How to Code a Decision You code a decision by first setting the
914// decision type field to one of the above decision values, and then set the
915// corresponding attributes field shown below:
916//
917// *
918// ScheduleActivityTaskDecisionAttributes
919//
920// *
921// RequestCancelActivityTaskDecisionAttributes
922//
923// *
924// CompleteWorkflowExecutionDecisionAttributes
925//
926// *
927// FailWorkflowExecutionDecisionAttributes
928//
929// *
930// CancelWorkflowExecutionDecisionAttributes
931//
932// *
933// ContinueAsNewWorkflowExecutionDecisionAttributes
934//
935// *
936// RecordMarkerDecisionAttributes
937//
938// * StartTimerDecisionAttributes
939//
940// *
941// CancelTimerDecisionAttributes
942//
943// *
944// SignalExternalWorkflowExecutionDecisionAttributes
945//
946// *
947// RequestCancelExternalWorkflowExecutionDecisionAttributes
948//
949// *
950// StartChildWorkflowExecutionDecisionAttributes
951type Decision struct {
952
953	// Specifies the type of the decision.
954	//
955	// This member is required.
956	DecisionType DecisionType
957
958	// Provides the details of the CancelTimer decision. It isn't set for other
959	// decision types.
960	CancelTimerDecisionAttributes *CancelTimerDecisionAttributes
961
962	// Provides the details of the CancelWorkflowExecution decision. It isn't set for
963	// other decision types.
964	CancelWorkflowExecutionDecisionAttributes *CancelWorkflowExecutionDecisionAttributes
965
966	// Provides the details of the CompleteWorkflowExecution decision. It isn't set for
967	// other decision types.
968	CompleteWorkflowExecutionDecisionAttributes *CompleteWorkflowExecutionDecisionAttributes
969
970	// Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't
971	// set for other decision types.
972	ContinueAsNewWorkflowExecutionDecisionAttributes *ContinueAsNewWorkflowExecutionDecisionAttributes
973
974	// Provides the details of the FailWorkflowExecution decision. It isn't set for
975	// other decision types.
976	FailWorkflowExecutionDecisionAttributes *FailWorkflowExecutionDecisionAttributes
977
978	// Provides the details of the RecordMarker decision. It isn't set for other
979	// decision types.
980	RecordMarkerDecisionAttributes *RecordMarkerDecisionAttributes
981
982	// Provides the details of the RequestCancelActivityTask decision. It isn't set for
983	// other decision types.
984	RequestCancelActivityTaskDecisionAttributes *RequestCancelActivityTaskDecisionAttributes
985
986	// Provides the details of the RequestCancelExternalWorkflowExecution decision. It
987	// isn't set for other decision types.
988	RequestCancelExternalWorkflowExecutionDecisionAttributes *RequestCancelExternalWorkflowExecutionDecisionAttributes
989
990	// Provides the details of the ScheduleActivityTask decision. It isn't set for
991	// other decision types.
992	ScheduleActivityTaskDecisionAttributes *ScheduleActivityTaskDecisionAttributes
993
994	// Provides the details of the ScheduleLambdaFunction decision. It isn't set for
995	// other decision types.
996	ScheduleLambdaFunctionDecisionAttributes *ScheduleLambdaFunctionDecisionAttributes
997
998	// Provides the details of the SignalExternalWorkflowExecution decision. It isn't
999	// set for other decision types.
1000	SignalExternalWorkflowExecutionDecisionAttributes *SignalExternalWorkflowExecutionDecisionAttributes
1001
1002	// Provides the details of the StartChildWorkflowExecution decision. It isn't set
1003	// for other decision types.
1004	StartChildWorkflowExecutionDecisionAttributes *StartChildWorkflowExecutionDecisionAttributes
1005
1006	// Provides the details of the StartTimer decision. It isn't set for other decision
1007	// types.
1008	StartTimerDecisionAttributes *StartTimerDecisionAttributes
1009}
1010
1011// Provides the details of the DecisionTaskCompleted event.
1012type DecisionTaskCompletedEventAttributes struct {
1013
1014	// The ID of the DecisionTaskScheduled event that was recorded when this decision
1015	// task was scheduled. This information can be useful for diagnosing problems by
1016	// tracing back the chain of events leading up to this event.
1017	//
1018	// This member is required.
1019	ScheduledEventId int64
1020
1021	// The ID of the DecisionTaskStarted event recorded when this decision task was
1022	// started. This information can be useful for diagnosing problems by tracing back
1023	// the chain of events leading up to this event.
1024	//
1025	// This member is required.
1026	StartedEventId int64
1027
1028	// User defined context for the workflow execution.
1029	ExecutionContext *string
1030}
1031
1032// Provides details about the DecisionTaskScheduled event.
1033type DecisionTaskScheduledEventAttributes struct {
1034
1035	// The name of the task list in which the decision task was scheduled.
1036	//
1037	// This member is required.
1038	TaskList *TaskList
1039
1040	// The maximum duration for this decision task. The task is considered timed out if
1041	// it doesn't completed within this duration. The duration is specified in seconds,
1042	// an integer greater than or equal to 0. You can use NONE to specify unlimited
1043	// duration.
1044	StartToCloseTimeout *string
1045
1046	// A task priority that, if set, specifies the priority for this decision task.
1047	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
1048	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority. For
1049	// more information about setting task priority, see Setting Task Priority
1050	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
1051	// in the Amazon SWF Developer Guide.
1052	TaskPriority *string
1053}
1054
1055// Provides the details of the DecisionTaskStarted event.
1056type DecisionTaskStartedEventAttributes struct {
1057
1058	// The ID of the DecisionTaskScheduled event that was recorded when this decision
1059	// task was scheduled. This information can be useful for diagnosing problems by
1060	// tracing back the chain of events leading up to this event.
1061	//
1062	// This member is required.
1063	ScheduledEventId int64
1064
1065	// Identity of the decider making the request. This enables diagnostic tracing when
1066	// problems arise. The form of this identity is user defined.
1067	Identity *string
1068}
1069
1070// Provides the details of the DecisionTaskTimedOut event.
1071type DecisionTaskTimedOutEventAttributes struct {
1072
1073	// The ID of the DecisionTaskScheduled event that was recorded when this decision
1074	// task was scheduled. This information can be useful for diagnosing problems by
1075	// tracing back the chain of events leading up to this event.
1076	//
1077	// This member is required.
1078	ScheduledEventId int64
1079
1080	// The ID of the DecisionTaskStarted event recorded when this decision task was
1081	// started. This information can be useful for diagnosing problems by tracing back
1082	// the chain of events leading up to this event.
1083	//
1084	// This member is required.
1085	StartedEventId int64
1086
1087	// The type of timeout that expired before the decision task could be completed.
1088	//
1089	// This member is required.
1090	TimeoutType DecisionTaskTimeoutType
1091}
1092
1093// Contains the configuration settings of a domain.
1094type DomainConfiguration struct {
1095
1096	// The retention period for workflow executions in this domain.
1097	//
1098	// This member is required.
1099	WorkflowExecutionRetentionPeriodInDays *string
1100}
1101
1102// Contains general information about a domain.
1103type DomainInfo struct {
1104
1105	// The name of the domain. This name is unique within the account.
1106	//
1107	// This member is required.
1108	Name *string
1109
1110	// The status of the domain:
1111	//
1112	// * REGISTERED – The domain is properly registered and
1113	// available. You can use this domain for registering types and creating new
1114	// workflow executions.
1115	//
1116	// * DEPRECATED – The domain was deprecated using
1117	// DeprecateDomain, but is still in use. You should not create new workflow
1118	// executions in this domain.
1119	//
1120	// This member is required.
1121	Status RegistrationStatus
1122
1123	// The ARN of the domain.
1124	Arn *string
1125
1126	// The description of the domain provided through RegisterDomain.
1127	Description *string
1128}
1129
1130// Used to filter the workflow executions in visibility APIs by various time-based
1131// rules. Each parameter, if specified, defines a rule that must be satisfied by
1132// each returned query result. The parameter values are in the Unix Time format
1133// (https://en.wikipedia.org/wiki/Unix_time). For example: "oldestDate":
1134// 1325376070.
1135type ExecutionTimeFilter struct {
1136
1137	// Specifies the oldest start or close date and time to return.
1138	//
1139	// This member is required.
1140	OldestDate *time.Time
1141
1142	// Specifies the latest start or close date and time to return.
1143	LatestDate *time.Time
1144}
1145
1146// Provides the details of the ExternalWorkflowExecutionCancelRequested event.
1147type ExternalWorkflowExecutionCancelRequestedEventAttributes struct {
1148
1149	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event
1150	// corresponding to the RequestCancelExternalWorkflowExecution decision to cancel
1151	// this external workflow execution. This information can be useful for diagnosing
1152	// problems by tracing back the chain of events leading up to this event.
1153	//
1154	// This member is required.
1155	InitiatedEventId int64
1156
1157	// The external workflow execution to which the cancellation request was delivered.
1158	//
1159	// This member is required.
1160	WorkflowExecution *WorkflowExecution
1161}
1162
1163// Provides the details of the ExternalWorkflowExecutionSignaled event.
1164type ExternalWorkflowExecutionSignaledEventAttributes struct {
1165
1166	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to
1167	// the SignalExternalWorkflowExecution decision to request this signal. This
1168	// information can be useful for diagnosing problems by tracing back the chain of
1169	// events leading up to this event.
1170	//
1171	// This member is required.
1172	InitiatedEventId int64
1173
1174	// The external workflow execution that the signal was delivered to.
1175	//
1176	// This member is required.
1177	WorkflowExecution *WorkflowExecution
1178}
1179
1180// Provides the details of the FailWorkflowExecution decision. Access Control You
1181// can use IAM policies to control this decision's access to Amazon SWF resources
1182// as follows:
1183//
1184// * Use a Resource element with the domain name to limit the action
1185// to only specified domains.
1186//
1187// * Use an Action element to allow or deny permission
1188// to call this action.
1189//
1190// * You cannot use an IAM policy to constrain this action's
1191// parameters.
1192//
1193// If the caller doesn't have sufficient permissions to invoke the
1194// action, or the parameter values fall outside the specified constraints, the
1195// action fails. The associated event attribute's cause parameter is set to
1196// OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to
1197// Manage Access to Amazon SWF Workflows
1198// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1199// in the Amazon SWF Developer Guide.
1200type FailWorkflowExecutionDecisionAttributes struct {
1201
1202	// Details of the failure.
1203	Details *string
1204
1205	// A descriptive reason for the failure that may help in diagnostics.
1206	Reason *string
1207}
1208
1209// Provides the details of the FailWorkflowExecutionFailed event.
1210type FailWorkflowExecutionFailedEventAttributes struct {
1211
1212	// The cause of the failure. This information is generated by the system and can be
1213	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
1214	// decision failed because it lacked sufficient permissions. For details and
1215	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
1216	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1217	// in the Amazon SWF Developer Guide.
1218	//
1219	// This member is required.
1220	Cause FailWorkflowExecutionFailedCause
1221
1222	// The ID of the DecisionTaskCompleted event corresponding to the decision task
1223	// that resulted in the FailWorkflowExecution decision to fail this execution. This
1224	// information can be useful for diagnosing problems by tracing back the chain of
1225	// events leading up to this event.
1226	//
1227	// This member is required.
1228	DecisionTaskCompletedEventId int64
1229}
1230
1231// Event within a workflow execution. A history event can be one of these types:
1232//
1233// *
1234// ActivityTaskCancelRequested – A RequestCancelActivityTask decision was received
1235// by the system.
1236//
1237// * ActivityTaskCanceled – The activity task was successfully
1238// canceled.
1239//
1240// * ActivityTaskCompleted – An activity worker successfully completed
1241// an activity task by calling RespondActivityTaskCompleted.
1242//
1243// * ActivityTaskFailed
1244// – An activity worker failed an activity task by calling
1245// RespondActivityTaskFailed.
1246//
1247// * ActivityTaskScheduled – An activity task was
1248// scheduled for execution.
1249//
1250// * ActivityTaskStarted – The scheduled activity task
1251// was dispatched to a worker.
1252//
1253// * ActivityTaskTimedOut – The activity task timed
1254// out.
1255//
1256// * CancelTimerFailed – Failed to process CancelTimer decision. This happens
1257// when the decision isn't configured properly, for example no timer exists with
1258// the specified timer Id.
1259//
1260// * CancelWorkflowExecutionFailed – A request to cancel a
1261// workflow execution failed.
1262//
1263// * ChildWorkflowExecutionCanceled – A child workflow
1264// execution, started by this workflow execution, was canceled and closed.
1265//
1266// *
1267// ChildWorkflowExecutionCompleted – A child workflow execution, started by this
1268// workflow execution, completed successfully and was closed.
1269//
1270// *
1271// ChildWorkflowExecutionFailed – A child workflow execution, started by this
1272// workflow execution, failed to complete successfully and was closed.
1273//
1274// *
1275// ChildWorkflowExecutionStarted – A child workflow execution was successfully
1276// started.
1277//
1278// * ChildWorkflowExecutionTerminated – A child workflow execution,
1279// started by this workflow execution, was terminated.
1280//
1281// *
1282// ChildWorkflowExecutionTimedOut – A child workflow execution, started by this
1283// workflow execution, timed out and was closed.
1284//
1285// * CompleteWorkflowExecutionFailed
1286// – The workflow execution failed to complete.
1287//
1288// *
1289// ContinueAsNewWorkflowExecutionFailed – The workflow execution failed to complete
1290// after being continued as a new workflow execution.
1291//
1292// * DecisionTaskCompleted –
1293// The decider successfully completed a decision task by calling
1294// RespondDecisionTaskCompleted.
1295//
1296// * DecisionTaskScheduled – A decision task was
1297// scheduled for the workflow execution.
1298//
1299// * DecisionTaskStarted – The decision task
1300// was dispatched to a decider.
1301//
1302// * DecisionTaskTimedOut – The decision task timed
1303// out.
1304//
1305// * ExternalWorkflowExecutionCancelRequested – Request to cancel an external
1306// workflow execution was successfully delivered to the target execution.
1307//
1308// *
1309// ExternalWorkflowExecutionSignaled – A signal, requested by this workflow
1310// execution, was successfully delivered to the target external workflow
1311// execution.
1312//
1313// * FailWorkflowExecutionFailed – A request to mark a workflow
1314// execution as failed, itself failed.
1315//
1316// * MarkerRecorded – A marker was recorded in
1317// the workflow history as the result of a RecordMarker decision.
1318//
1319// *
1320// RecordMarkerFailed – A RecordMarker decision was returned as failed.
1321//
1322// *
1323// RequestCancelActivityTaskFailed – Failed to process RequestCancelActivityTask
1324// decision. This happens when the decision isn't configured properly.
1325//
1326// *
1327// RequestCancelExternalWorkflowExecutionFailed – Request to cancel an external
1328// workflow execution failed.
1329//
1330// * RequestCancelExternalWorkflowExecutionInitiated –
1331// A request was made to request the cancellation of an external workflow
1332// execution.
1333//
1334// * ScheduleActivityTaskFailed – Failed to process
1335// ScheduleActivityTask decision. This happens when the decision isn't configured
1336// properly, for example the activity type specified isn't registered.
1337//
1338// *
1339// SignalExternalWorkflowExecutionFailed – The request to signal an external
1340// workflow execution failed.
1341//
1342// * SignalExternalWorkflowExecutionInitiated – A
1343// request to signal an external workflow was made.
1344//
1345// * StartActivityTaskFailed – A
1346// scheduled activity task failed to start.
1347//
1348// * StartChildWorkflowExecutionFailed –
1349// Failed to process StartChildWorkflowExecution decision. This happens when the
1350// decision isn't configured properly, for example the workflow type specified
1351// isn't registered.
1352//
1353// * StartChildWorkflowExecutionInitiated – A request was made
1354// to start a child workflow execution.
1355//
1356// * StartTimerFailed – Failed to process
1357// StartTimer decision. This happens when the decision isn't configured properly,
1358// for example a timer already exists with the specified timer Id.
1359//
1360// * TimerCanceled
1361// – A timer, previously started for this workflow execution, was successfully
1362// canceled.
1363//
1364// * TimerFired – A timer, previously started for this workflow
1365// execution, fired.
1366//
1367// * TimerStarted – A timer was started for the workflow
1368// execution due to a StartTimer decision.
1369//
1370// * WorkflowExecutionCancelRequested – A
1371// request to cancel this workflow execution was made.
1372//
1373// * WorkflowExecutionCanceled
1374// – The workflow execution was successfully canceled and closed.
1375//
1376// *
1377// WorkflowExecutionCompleted – The workflow execution was closed due to successful
1378// completion.
1379//
1380// * WorkflowExecutionContinuedAsNew – The workflow execution was
1381// closed and a new execution of the same type was created with the same
1382// workflowId.
1383//
1384// * WorkflowExecutionFailed – The workflow execution closed due to a
1385// failure.
1386//
1387// * WorkflowExecutionSignaled – An external signal was received for the
1388// workflow execution.
1389//
1390// * WorkflowExecutionStarted – The workflow execution was
1391// started.
1392//
1393// * WorkflowExecutionTerminated – The workflow execution was
1394// terminated.
1395//
1396// * WorkflowExecutionTimedOut – The workflow execution was closed
1397// because a time out was exceeded.
1398type HistoryEvent struct {
1399
1400	// The system generated ID of the event. This ID uniquely identifies the event with
1401	// in the workflow execution history.
1402	//
1403	// This member is required.
1404	EventId int64
1405
1406	// The date and time when the event occurred.
1407	//
1408	// This member is required.
1409	EventTimestamp *time.Time
1410
1411	// The type of the history event.
1412	//
1413	// This member is required.
1414	EventType EventType
1415
1416	// If the event is of type ActivityTaskcancelRequested then this member is set and
1417	// provides detailed information about the event. It isn't set for other event
1418	// types.
1419	ActivityTaskCancelRequestedEventAttributes *ActivityTaskCancelRequestedEventAttributes
1420
1421	// If the event is of type ActivityTaskCanceled then this member is set and
1422	// provides detailed information about the event. It isn't set for other event
1423	// types.
1424	ActivityTaskCanceledEventAttributes *ActivityTaskCanceledEventAttributes
1425
1426	// If the event is of type ActivityTaskCompleted then this member is set and
1427	// provides detailed information about the event. It isn't set for other event
1428	// types.
1429	ActivityTaskCompletedEventAttributes *ActivityTaskCompletedEventAttributes
1430
1431	// If the event is of type ActivityTaskFailed then this member is set and provides
1432	// detailed information about the event. It isn't set for other event types.
1433	ActivityTaskFailedEventAttributes *ActivityTaskFailedEventAttributes
1434
1435	// If the event is of type ActivityTaskScheduled then this member is set and
1436	// provides detailed information about the event. It isn't set for other event
1437	// types.
1438	ActivityTaskScheduledEventAttributes *ActivityTaskScheduledEventAttributes
1439
1440	// If the event is of type ActivityTaskStarted then this member is set and provides
1441	// detailed information about the event. It isn't set for other event types.
1442	ActivityTaskStartedEventAttributes *ActivityTaskStartedEventAttributes
1443
1444	// If the event is of type ActivityTaskTimedOut then this member is set and
1445	// provides detailed information about the event. It isn't set for other event
1446	// types.
1447	ActivityTaskTimedOutEventAttributes *ActivityTaskTimedOutEventAttributes
1448
1449	// If the event is of type CancelTimerFailed then this member is set and provides
1450	// detailed information about the event. It isn't set for other event types.
1451	CancelTimerFailedEventAttributes *CancelTimerFailedEventAttributes
1452
1453	// If the event is of type CancelWorkflowExecutionFailed then this member is set
1454	// and provides detailed information about the event. It isn't set for other event
1455	// types.
1456	CancelWorkflowExecutionFailedEventAttributes *CancelWorkflowExecutionFailedEventAttributes
1457
1458	// If the event is of type ChildWorkflowExecutionCanceled then this member is set
1459	// and provides detailed information about the event. It isn't set for other event
1460	// types.
1461	ChildWorkflowExecutionCanceledEventAttributes *ChildWorkflowExecutionCanceledEventAttributes
1462
1463	// If the event is of type ChildWorkflowExecutionCompleted then this member is set
1464	// and provides detailed information about the event. It isn't set for other event
1465	// types.
1466	ChildWorkflowExecutionCompletedEventAttributes *ChildWorkflowExecutionCompletedEventAttributes
1467
1468	// If the event is of type ChildWorkflowExecutionFailed then this member is set and
1469	// provides detailed information about the event. It isn't set for other event
1470	// types.
1471	ChildWorkflowExecutionFailedEventAttributes *ChildWorkflowExecutionFailedEventAttributes
1472
1473	// If the event is of type ChildWorkflowExecutionStarted then this member is set
1474	// and provides detailed information about the event. It isn't set for other event
1475	// types.
1476	ChildWorkflowExecutionStartedEventAttributes *ChildWorkflowExecutionStartedEventAttributes
1477
1478	// If the event is of type ChildWorkflowExecutionTerminated then this member is set
1479	// and provides detailed information about the event. It isn't set for other event
1480	// types.
1481	ChildWorkflowExecutionTerminatedEventAttributes *ChildWorkflowExecutionTerminatedEventAttributes
1482
1483	// If the event is of type ChildWorkflowExecutionTimedOut then this member is set
1484	// and provides detailed information about the event. It isn't set for other event
1485	// types.
1486	ChildWorkflowExecutionTimedOutEventAttributes *ChildWorkflowExecutionTimedOutEventAttributes
1487
1488	// If the event is of type CompleteWorkflowExecutionFailed then this member is set
1489	// and provides detailed information about the event. It isn't set for other event
1490	// types.
1491	CompleteWorkflowExecutionFailedEventAttributes *CompleteWorkflowExecutionFailedEventAttributes
1492
1493	// If the event is of type ContinueAsNewWorkflowExecutionFailed then this member is
1494	// set and provides detailed information about the event. It isn't set for other
1495	// event types.
1496	ContinueAsNewWorkflowExecutionFailedEventAttributes *ContinueAsNewWorkflowExecutionFailedEventAttributes
1497
1498	// If the event is of type DecisionTaskCompleted then this member is set and
1499	// provides detailed information about the event. It isn't set for other event
1500	// types.
1501	DecisionTaskCompletedEventAttributes *DecisionTaskCompletedEventAttributes
1502
1503	// If the event is of type DecisionTaskScheduled then this member is set and
1504	// provides detailed information about the event. It isn't set for other event
1505	// types.
1506	DecisionTaskScheduledEventAttributes *DecisionTaskScheduledEventAttributes
1507
1508	// If the event is of type DecisionTaskStarted then this member is set and provides
1509	// detailed information about the event. It isn't set for other event types.
1510	DecisionTaskStartedEventAttributes *DecisionTaskStartedEventAttributes
1511
1512	// If the event is of type DecisionTaskTimedOut then this member is set and
1513	// provides detailed information about the event. It isn't set for other event
1514	// types.
1515	DecisionTaskTimedOutEventAttributes *DecisionTaskTimedOutEventAttributes
1516
1517	// If the event is of type ExternalWorkflowExecutionCancelRequested then this
1518	// member is set and provides detailed information about the event. It isn't set
1519	// for other event types.
1520	ExternalWorkflowExecutionCancelRequestedEventAttributes *ExternalWorkflowExecutionCancelRequestedEventAttributes
1521
1522	// If the event is of type ExternalWorkflowExecutionSignaled then this member is
1523	// set and provides detailed information about the event. It isn't set for other
1524	// event types.
1525	ExternalWorkflowExecutionSignaledEventAttributes *ExternalWorkflowExecutionSignaledEventAttributes
1526
1527	// If the event is of type FailWorkflowExecutionFailed then this member is set and
1528	// provides detailed information about the event. It isn't set for other event
1529	// types.
1530	FailWorkflowExecutionFailedEventAttributes *FailWorkflowExecutionFailedEventAttributes
1531
1532	// Provides the details of the LambdaFunctionCompleted event. It isn't set for
1533	// other event types.
1534	LambdaFunctionCompletedEventAttributes *LambdaFunctionCompletedEventAttributes
1535
1536	// Provides the details of the LambdaFunctionFailed event. It isn't set for other
1537	// event types.
1538	LambdaFunctionFailedEventAttributes *LambdaFunctionFailedEventAttributes
1539
1540	// Provides the details of the LambdaFunctionScheduled event. It isn't set for
1541	// other event types.
1542	LambdaFunctionScheduledEventAttributes *LambdaFunctionScheduledEventAttributes
1543
1544	// Provides the details of the LambdaFunctionStarted event. It isn't set for other
1545	// event types.
1546	LambdaFunctionStartedEventAttributes *LambdaFunctionStartedEventAttributes
1547
1548	// Provides the details of the LambdaFunctionTimedOut event. It isn't set for other
1549	// event types.
1550	LambdaFunctionTimedOutEventAttributes *LambdaFunctionTimedOutEventAttributes
1551
1552	// If the event is of type MarkerRecorded then this member is set and provides
1553	// detailed information about the event. It isn't set for other event types.
1554	MarkerRecordedEventAttributes *MarkerRecordedEventAttributes
1555
1556	// If the event is of type DecisionTaskFailed then this member is set and provides
1557	// detailed information about the event. It isn't set for other event types.
1558	RecordMarkerFailedEventAttributes *RecordMarkerFailedEventAttributes
1559
1560	// If the event is of type RequestCancelActivityTaskFailed then this member is set
1561	// and provides detailed information about the event. It isn't set for other event
1562	// types.
1563	RequestCancelActivityTaskFailedEventAttributes *RequestCancelActivityTaskFailedEventAttributes
1564
1565	// If the event is of type RequestCancelExternalWorkflowExecutionFailed then this
1566	// member is set and provides detailed information about the event. It isn't set
1567	// for other event types.
1568	RequestCancelExternalWorkflowExecutionFailedEventAttributes *RequestCancelExternalWorkflowExecutionFailedEventAttributes
1569
1570	// If the event is of type RequestCancelExternalWorkflowExecutionInitiated then
1571	// this member is set and provides detailed information about the event. It isn't
1572	// set for other event types.
1573	RequestCancelExternalWorkflowExecutionInitiatedEventAttributes *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes
1574
1575	// If the event is of type ScheduleActivityTaskFailed then this member is set and
1576	// provides detailed information about the event. It isn't set for other event
1577	// types.
1578	ScheduleActivityTaskFailedEventAttributes *ScheduleActivityTaskFailedEventAttributes
1579
1580	// Provides the details of the ScheduleLambdaFunctionFailed event. It isn't set for
1581	// other event types.
1582	ScheduleLambdaFunctionFailedEventAttributes *ScheduleLambdaFunctionFailedEventAttributes
1583
1584	// If the event is of type SignalExternalWorkflowExecutionFailed then this member
1585	// is set and provides detailed information about the event. It isn't set for other
1586	// event types.
1587	SignalExternalWorkflowExecutionFailedEventAttributes *SignalExternalWorkflowExecutionFailedEventAttributes
1588
1589	// If the event is of type SignalExternalWorkflowExecutionInitiated then this
1590	// member is set and provides detailed information about the event. It isn't set
1591	// for other event types.
1592	SignalExternalWorkflowExecutionInitiatedEventAttributes *SignalExternalWorkflowExecutionInitiatedEventAttributes
1593
1594	// If the event is of type StartChildWorkflowExecutionFailed then this member is
1595	// set and provides detailed information about the event. It isn't set for other
1596	// event types.
1597	StartChildWorkflowExecutionFailedEventAttributes *StartChildWorkflowExecutionFailedEventAttributes
1598
1599	// If the event is of type StartChildWorkflowExecutionInitiated then this member is
1600	// set and provides detailed information about the event. It isn't set for other
1601	// event types.
1602	StartChildWorkflowExecutionInitiatedEventAttributes *StartChildWorkflowExecutionInitiatedEventAttributes
1603
1604	// Provides the details of the StartLambdaFunctionFailed event. It isn't set for
1605	// other event types.
1606	StartLambdaFunctionFailedEventAttributes *StartLambdaFunctionFailedEventAttributes
1607
1608	// If the event is of type StartTimerFailed then this member is set and provides
1609	// detailed information about the event. It isn't set for other event types.
1610	StartTimerFailedEventAttributes *StartTimerFailedEventAttributes
1611
1612	// If the event is of type TimerCanceled then this member is set and provides
1613	// detailed information about the event. It isn't set for other event types.
1614	TimerCanceledEventAttributes *TimerCanceledEventAttributes
1615
1616	// If the event is of type TimerFired then this member is set and provides detailed
1617	// information about the event. It isn't set for other event types.
1618	TimerFiredEventAttributes *TimerFiredEventAttributes
1619
1620	// If the event is of type TimerStarted then this member is set and provides
1621	// detailed information about the event. It isn't set for other event types.
1622	TimerStartedEventAttributes *TimerStartedEventAttributes
1623
1624	// If the event is of type WorkflowExecutionCancelRequested then this member is set
1625	// and provides detailed information about the event. It isn't set for other event
1626	// types.
1627	WorkflowExecutionCancelRequestedEventAttributes *WorkflowExecutionCancelRequestedEventAttributes
1628
1629	// If the event is of type WorkflowExecutionCanceled then this member is set and
1630	// provides detailed information about the event. It isn't set for other event
1631	// types.
1632	WorkflowExecutionCanceledEventAttributes *WorkflowExecutionCanceledEventAttributes
1633
1634	// If the event is of type WorkflowExecutionCompleted then this member is set and
1635	// provides detailed information about the event. It isn't set for other event
1636	// types.
1637	WorkflowExecutionCompletedEventAttributes *WorkflowExecutionCompletedEventAttributes
1638
1639	// If the event is of type WorkflowExecutionContinuedAsNew then this member is set
1640	// and provides detailed information about the event. It isn't set for other event
1641	// types.
1642	WorkflowExecutionContinuedAsNewEventAttributes *WorkflowExecutionContinuedAsNewEventAttributes
1643
1644	// If the event is of type WorkflowExecutionFailed then this member is set and
1645	// provides detailed information about the event. It isn't set for other event
1646	// types.
1647	WorkflowExecutionFailedEventAttributes *WorkflowExecutionFailedEventAttributes
1648
1649	// If the event is of type WorkflowExecutionSignaled then this member is set and
1650	// provides detailed information about the event. It isn't set for other event
1651	// types.
1652	WorkflowExecutionSignaledEventAttributes *WorkflowExecutionSignaledEventAttributes
1653
1654	// If the event is of type WorkflowExecutionStarted then this member is set and
1655	// provides detailed information about the event. It isn't set for other event
1656	// types.
1657	WorkflowExecutionStartedEventAttributes *WorkflowExecutionStartedEventAttributes
1658
1659	// If the event is of type WorkflowExecutionTerminated then this member is set and
1660	// provides detailed information about the event. It isn't set for other event
1661	// types.
1662	WorkflowExecutionTerminatedEventAttributes *WorkflowExecutionTerminatedEventAttributes
1663
1664	// If the event is of type WorkflowExecutionTimedOut then this member is set and
1665	// provides detailed information about the event. It isn't set for other event
1666	// types.
1667	WorkflowExecutionTimedOutEventAttributes *WorkflowExecutionTimedOutEventAttributes
1668}
1669
1670// Provides the details of the LambdaFunctionCompleted event. It isn't set for
1671// other event types.
1672type LambdaFunctionCompletedEventAttributes struct {
1673
1674	// The ID of the LambdaFunctionScheduled event that was recorded when this Lambda
1675	// task was scheduled. To help diagnose issues, use this information to trace back
1676	// the chain of events leading up to this event.
1677	//
1678	// This member is required.
1679	ScheduledEventId int64
1680
1681	// The ID of the LambdaFunctionStarted event recorded when this activity task
1682	// started. To help diagnose issues, use this information to trace back the chain
1683	// of events leading up to this event.
1684	//
1685	// This member is required.
1686	StartedEventId int64
1687
1688	// The results of the Lambda task.
1689	Result *string
1690}
1691
1692// Provides the details of the LambdaFunctionFailed event. It isn't set for other
1693// event types.
1694type LambdaFunctionFailedEventAttributes struct {
1695
1696	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
1697	// task was scheduled. To help diagnose issues, use this information to trace back
1698	// the chain of events leading up to this event.
1699	//
1700	// This member is required.
1701	ScheduledEventId int64
1702
1703	// The ID of the LambdaFunctionStarted event recorded when this activity task
1704	// started. To help diagnose issues, use this information to trace back the chain
1705	// of events leading up to this event.
1706	//
1707	// This member is required.
1708	StartedEventId int64
1709
1710	// The details of the failure.
1711	Details *string
1712
1713	// The reason provided for the failure.
1714	Reason *string
1715}
1716
1717// Provides the details of the LambdaFunctionScheduled event. It isn't set for
1718// other event types.
1719type LambdaFunctionScheduledEventAttributes struct {
1720
1721	// The ID of the LambdaFunctionCompleted event corresponding to the decision that
1722	// resulted in scheduling this activity task. To help diagnose issues, use this
1723	// information to trace back the chain of events leading up to this event.
1724	//
1725	// This member is required.
1726	DecisionTaskCompletedEventId int64
1727
1728	// The unique ID of the Lambda task.
1729	//
1730	// This member is required.
1731	Id *string
1732
1733	// The name of the Lambda function.
1734	//
1735	// This member is required.
1736	Name *string
1737
1738	// Data attached to the event that the decider can use in subsequent workflow
1739	// tasks. This data isn't sent to the Lambda task.
1740	Control *string
1741
1742	// The input provided to the Lambda task.
1743	Input *string
1744
1745	// The maximum amount of time a worker can take to process the Lambda task.
1746	StartToCloseTimeout *string
1747}
1748
1749// Provides the details of the LambdaFunctionStarted event. It isn't set for other
1750// event types.
1751type LambdaFunctionStartedEventAttributes struct {
1752
1753	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
1754	// task was scheduled. To help diagnose issues, use this information to trace back
1755	// the chain of events leading up to this event.
1756	//
1757	// This member is required.
1758	ScheduledEventId int64
1759}
1760
1761// Provides details of the LambdaFunctionTimedOut event.
1762type LambdaFunctionTimedOutEventAttributes struct {
1763
1764	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
1765	// task was scheduled. To help diagnose issues, use this information to trace back
1766	// the chain of events leading up to this event.
1767	//
1768	// This member is required.
1769	ScheduledEventId int64
1770
1771	// The ID of the ActivityTaskStarted event that was recorded when this activity
1772	// task started. To help diagnose issues, use this information to trace back the
1773	// chain of events leading up to this event.
1774	//
1775	// This member is required.
1776	StartedEventId int64
1777
1778	// The type of the timeout that caused this event.
1779	TimeoutType LambdaFunctionTimeoutType
1780}
1781
1782// Provides the details of the MarkerRecorded event.
1783type MarkerRecordedEventAttributes struct {
1784
1785	// The ID of the DecisionTaskCompleted event corresponding to the decision task
1786	// that resulted in the RecordMarker decision that requested this marker. This
1787	// information can be useful for diagnosing problems by tracing back the chain of
1788	// events leading up to this event.
1789	//
1790	// This member is required.
1791	DecisionTaskCompletedEventId int64
1792
1793	// The name of the marker.
1794	//
1795	// This member is required.
1796	MarkerName *string
1797
1798	// The details of the marker.
1799	Details *string
1800}
1801
1802// Provides the details of the RecordMarker decision. Access Control You can use
1803// IAM policies to control this decision's access to Amazon SWF resources as
1804// follows:
1805//
1806// * Use a Resource element with the domain name to limit the action to
1807// only specified domains.
1808//
1809// * Use an Action element to allow or deny permission to
1810// call this action.
1811//
1812// * You cannot use an IAM policy to constrain this action's
1813// parameters.
1814//
1815// If the caller doesn't have sufficient permissions to invoke the
1816// action, or the parameter values fall outside the specified constraints, the
1817// action fails. The associated event attribute's cause parameter is set to
1818// OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to
1819// Manage Access to Amazon SWF Workflows
1820// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1821// in the Amazon SWF Developer Guide.
1822type RecordMarkerDecisionAttributes struct {
1823
1824	// The name of the marker.
1825	//
1826	// This member is required.
1827	MarkerName *string
1828
1829	// The details of the marker.
1830	Details *string
1831}
1832
1833// Provides the details of the RecordMarkerFailed event.
1834type RecordMarkerFailedEventAttributes struct {
1835
1836	// The cause of the failure. This information is generated by the system and can be
1837	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
1838	// decision failed because it lacked sufficient permissions. For details and
1839	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
1840	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1841	// in the Amazon SWF Developer Guide.
1842	//
1843	// This member is required.
1844	Cause RecordMarkerFailedCause
1845
1846	// The ID of the DecisionTaskCompleted event corresponding to the decision task
1847	// that resulted in the RecordMarkerFailed decision for this cancellation request.
1848	// This information can be useful for diagnosing problems by tracing back the chain
1849	// of events leading up to this event.
1850	//
1851	// This member is required.
1852	DecisionTaskCompletedEventId int64
1853
1854	// The marker's name.
1855	//
1856	// This member is required.
1857	MarkerName *string
1858}
1859
1860// Provides the details of the RequestCancelActivityTask decision. Access Control
1861// You can use IAM policies to control this decision's access to Amazon SWF
1862// resources as follows:
1863//
1864// * Use a Resource element with the domain name to limit
1865// the action to only specified domains.
1866//
1867// * Use an Action element to allow or deny
1868// permission to call this action.
1869//
1870// * You cannot use an IAM policy to constrain
1871// this action's parameters.
1872//
1873// If the caller doesn't have sufficient permissions to
1874// invoke the action, or the parameter values fall outside the specified
1875// constraints, the action fails. The associated event attribute's cause parameter
1876// is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see
1877// Using IAM to Manage Access to Amazon SWF Workflows
1878// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1879// in the Amazon SWF Developer Guide.
1880type RequestCancelActivityTaskDecisionAttributes struct {
1881
1882	// The activityId of the activity task to be canceled.
1883	//
1884	// This member is required.
1885	ActivityId *string
1886}
1887
1888// Provides the details of the RequestCancelActivityTaskFailed event.
1889type RequestCancelActivityTaskFailedEventAttributes struct {
1890
1891	// The activityId provided in the RequestCancelActivityTask decision that failed.
1892	//
1893	// This member is required.
1894	ActivityId *string
1895
1896	// The cause of the failure. This information is generated by the system and can be
1897	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
1898	// decision failed because it lacked sufficient permissions. For details and
1899	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
1900	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1901	// in the Amazon SWF Developer Guide.
1902	//
1903	// This member is required.
1904	Cause RequestCancelActivityTaskFailedCause
1905
1906	// The ID of the DecisionTaskCompleted event corresponding to the decision task
1907	// that resulted in the RequestCancelActivityTask decision for this cancellation
1908	// request. This information can be useful for diagnosing problems by tracing back
1909	// the chain of events leading up to this event.
1910	//
1911	// This member is required.
1912	DecisionTaskCompletedEventId int64
1913}
1914
1915// Provides the details of the RequestCancelExternalWorkflowExecution decision.
1916// Access Control You can use IAM policies to control this decision's access to
1917// Amazon SWF resources as follows:
1918//
1919// * Use a Resource element with the domain name
1920// to limit the action to only specified domains.
1921//
1922// * Use an Action element to allow
1923// or deny permission to call this action.
1924//
1925// * You cannot use an IAM policy to
1926// constrain this action's parameters.
1927//
1928// If the caller doesn't have sufficient
1929// permissions to invoke the action, or the parameter values fall outside the
1930// specified constraints, the action fails. The associated event attribute's cause
1931// parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM
1932// policies, see Using IAM to Manage Access to Amazon SWF Workflows
1933// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1934// in the Amazon SWF Developer Guide.
1935type RequestCancelExternalWorkflowExecutionDecisionAttributes struct {
1936
1937	// The workflowId of the external workflow execution to cancel.
1938	//
1939	// This member is required.
1940	WorkflowId *string
1941
1942	// The data attached to the event that can be used by the decider in subsequent
1943	// workflow tasks.
1944	Control *string
1945
1946	// The runId of the external workflow execution to cancel.
1947	RunId *string
1948}
1949
1950// Provides the details of the RequestCancelExternalWorkflowExecutionFailed event.
1951type RequestCancelExternalWorkflowExecutionFailedEventAttributes struct {
1952
1953	// The cause of the failure. This information is generated by the system and can be
1954	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
1955	// decision failed because it lacked sufficient permissions. For details and
1956	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
1957	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1958	// in the Amazon SWF Developer Guide.
1959	//
1960	// This member is required.
1961	Cause RequestCancelExternalWorkflowExecutionFailedCause
1962
1963	// The ID of the DecisionTaskCompleted event corresponding to the decision task
1964	// that resulted in the RequestCancelExternalWorkflowExecution decision for this
1965	// cancellation request. This information can be useful for diagnosing problems by
1966	// tracing back the chain of events leading up to this event.
1967	//
1968	// This member is required.
1969	DecisionTaskCompletedEventId int64
1970
1971	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event
1972	// corresponding to the RequestCancelExternalWorkflowExecution decision to cancel
1973	// this external workflow execution. This information can be useful for diagnosing
1974	// problems by tracing back the chain of events leading up to this event.
1975	//
1976	// This member is required.
1977	InitiatedEventId int64
1978
1979	// The workflowId of the external workflow to which the cancel request was to be
1980	// delivered.
1981	//
1982	// This member is required.
1983	WorkflowId *string
1984
1985	// The data attached to the event that the decider can use in subsequent workflow
1986	// tasks. This data isn't sent to the workflow execution.
1987	Control *string
1988
1989	// The runId of the external workflow execution.
1990	RunId *string
1991}
1992
1993// Provides the details of the RequestCancelExternalWorkflowExecutionInitiated
1994// event.
1995type RequestCancelExternalWorkflowExecutionInitiatedEventAttributes struct {
1996
1997	// The ID of the DecisionTaskCompleted event corresponding to the decision task
1998	// that resulted in the RequestCancelExternalWorkflowExecution decision for this
1999	// cancellation request. This information can be useful for diagnosing problems by
2000	// tracing back the chain of events leading up to this event.
2001	//
2002	// This member is required.
2003	DecisionTaskCompletedEventId int64
2004
2005	// The workflowId of the external workflow execution to be canceled.
2006	//
2007	// This member is required.
2008	WorkflowId *string
2009
2010	// Data attached to the event that can be used by the decider in subsequent
2011	// workflow tasks.
2012	Control *string
2013
2014	// The runId of the external workflow execution to be canceled.
2015	RunId *string
2016}
2017
2018// Tags are key-value pairs that can be associated with Amazon SWF state machines
2019// and activities. Tags may only contain unicode letters, digits, whitespace, or
2020// these symbols: _ . : / = + - @.
2021type ResourceTag struct {
2022
2023	// The key of a tag.
2024	//
2025	// This member is required.
2026	Key *string
2027
2028	// The value of a tag.
2029	Value *string
2030}
2031
2032// Provides the details of the ScheduleActivityTask decision. Access Control You
2033// can use IAM policies to control this decision's access to Amazon SWF resources
2034// as follows:
2035//
2036// * Use a Resource element with the domain name to limit the action
2037// to only specified domains.
2038//
2039// * Use an Action element to allow or deny permission
2040// to call this action.
2041//
2042// * Constrain the following parameters by using a Condition
2043// element with the appropriate keys.
2044//
2045// * activityType.name – String constraint. The
2046// key is swf:activityType.name.
2047//
2048// * activityType.version – String constraint. The
2049// key is swf:activityType.version.
2050//
2051// * taskList – String constraint. The key is
2052// swf:taskList.name.
2053//
2054// If the caller doesn't have sufficient permissions to invoke
2055// the action, or the parameter values fall outside the specified constraints, the
2056// action fails. The associated event attribute's cause parameter is set to
2057// OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to
2058// Manage Access to Amazon SWF Workflows
2059// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2060// in the Amazon SWF Developer Guide.
2061type ScheduleActivityTaskDecisionAttributes struct {
2062
2063	// The activityId of the activity task. The specified string must not start or end
2064	// with whitespace. It must not contain a : (colon), / (slash), | (vertical bar),
2065	// or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not
2066	// contain the literal string arn.
2067	//
2068	// This member is required.
2069	ActivityId *string
2070
2071	// The type of the activity task to schedule.
2072	//
2073	// This member is required.
2074	ActivityType *ActivityType
2075
2076	// Data attached to the event that can be used by the decider in subsequent
2077	// workflow tasks. This data isn't sent to the activity.
2078	Control *string
2079
2080	// If set, specifies the maximum time before which a worker processing a task of
2081	// this type must report progress by calling RecordActivityTaskHeartbeat. If the
2082	// timeout is exceeded, the activity task is automatically timed out. If the worker
2083	// subsequently attempts to record a heartbeat or returns a result, it is ignored.
2084	// This overrides the default heartbeat timeout specified when registering the
2085	// activity type using RegisterActivityType. The duration is specified in seconds,
2086	// an integer greater than or equal to 0. You can use NONE to specify unlimited
2087	// duration.
2088	HeartbeatTimeout *string
2089
2090	// The input provided to the activity task.
2091	Input *string
2092
2093	// The maximum duration for this activity task. The duration is specified in
2094	// seconds, an integer greater than or equal to 0. You can use NONE to specify
2095	// unlimited duration. A schedule-to-close timeout for this activity task must be
2096	// specified either as a default for the activity type or through this field. If
2097	// neither this field is set nor a default schedule-to-close timeout was specified
2098	// at registration time then a fault is returned.
2099	ScheduleToCloseTimeout *string
2100
2101	// If set, specifies the maximum duration the activity task can wait to be assigned
2102	// to a worker. This overrides the default schedule-to-start timeout specified when
2103	// registering the activity type using RegisterActivityType. The duration is
2104	// specified in seconds, an integer greater than or equal to 0. You can use NONE to
2105	// specify unlimited duration. A schedule-to-start timeout for this activity task
2106	// must be specified either as a default for the activity type or through this
2107	// field. If neither this field is set nor a default schedule-to-start timeout was
2108	// specified at registration time then a fault is returned.
2109	ScheduleToStartTimeout *string
2110
2111	// If set, specifies the maximum duration a worker may take to process this
2112	// activity task. This overrides the default start-to-close timeout specified when
2113	// registering the activity type using RegisterActivityType. The duration is
2114	// specified in seconds, an integer greater than or equal to 0. You can use NONE to
2115	// specify unlimited duration. A start-to-close timeout for this activity task must
2116	// be specified either as a default for the activity type or through this field. If
2117	// neither this field is set nor a default start-to-close timeout was specified at
2118	// registration time then a fault is returned.
2119	StartToCloseTimeout *string
2120
2121	// If set, specifies the name of the task list in which to schedule the activity
2122	// task. If not specified, the defaultTaskList registered with the activity type is
2123	// used. A task list for this activity task must be specified either as a default
2124	// for the activity type or through this field. If neither this field is set nor a
2125	// default task list was specified at registration time then a fault is returned.
2126	// The specified string must not start or end with whitespace. It must not contain
2127	// a : (colon), / (slash), | (vertical bar), or any control characters
2128	// (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the literal string
2129	// arn.
2130	TaskList *TaskList
2131
2132	// If set, specifies the priority with which the activity task is to be assigned to
2133	// a worker. This overrides the defaultTaskPriority specified when registering the
2134	// activity type using RegisterActivityType. Valid values are integers that range
2135	// from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
2136	// Higher numbers indicate higher priority. For more information about setting task
2137	// priority, see Setting Task Priority
2138	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
2139	// in the Amazon SWF Developer Guide.
2140	TaskPriority *string
2141}
2142
2143// Provides the details of the ScheduleActivityTaskFailed event.
2144type ScheduleActivityTaskFailedEventAttributes struct {
2145
2146	// The activityId provided in the ScheduleActivityTask decision that failed.
2147	//
2148	// This member is required.
2149	ActivityId *string
2150
2151	// The activity type provided in the ScheduleActivityTask decision that failed.
2152	//
2153	// This member is required.
2154	ActivityType *ActivityType
2155
2156	// The cause of the failure. This information is generated by the system and can be
2157	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
2158	// decision failed because it lacked sufficient permissions. For details and
2159	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
2160	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2161	// in the Amazon SWF Developer Guide.
2162	//
2163	// This member is required.
2164	Cause ScheduleActivityTaskFailedCause
2165
2166	// The ID of the DecisionTaskCompleted event corresponding to the decision that
2167	// resulted in the scheduling of this activity task. This information can be useful
2168	// for diagnosing problems by tracing back the chain of events leading up to this
2169	// event.
2170	//
2171	// This member is required.
2172	DecisionTaskCompletedEventId int64
2173}
2174
2175// Decision attributes specified in scheduleLambdaFunctionDecisionAttributes within
2176// the list of decisions decisions passed to RespondDecisionTaskCompleted.
2177type ScheduleLambdaFunctionDecisionAttributes struct {
2178
2179	// A string that identifies the Lambda function execution in the event history.
2180	//
2181	// This member is required.
2182	Id *string
2183
2184	// The name, or ARN, of the Lambda function to schedule.
2185	//
2186	// This member is required.
2187	Name *string
2188
2189	// The data attached to the event that the decider can use in subsequent workflow
2190	// tasks. This data isn't sent to the Lambda task.
2191	Control *string
2192
2193	// The optional input data to be supplied to the Lambda function.
2194	Input *string
2195
2196	// The timeout value, in seconds, after which the Lambda function is considered to
2197	// be failed once it has started. This can be any integer from 1-300 (1s-5m). If no
2198	// value is supplied, than a default value of 300s is assumed.
2199	StartToCloseTimeout *string
2200}
2201
2202// Provides the details of the ScheduleLambdaFunctionFailed event. It isn't set for
2203// other event types.
2204type ScheduleLambdaFunctionFailedEventAttributes struct {
2205
2206	// The cause of the failure. To help diagnose issues, use this information to trace
2207	// back the chain of events leading up to this event. If cause is set to
2208	// OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient
2209	// permissions. For details and example IAM policies, see Using IAM to Manage
2210	// Access to Amazon SWF Workflows
2211	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2212	// in the Amazon SWF Developer Guide.
2213	//
2214	// This member is required.
2215	Cause ScheduleLambdaFunctionFailedCause
2216
2217	// The ID of the LambdaFunctionCompleted event corresponding to the decision that
2218	// resulted in scheduling this Lambda task. To help diagnose issues, use this
2219	// information to trace back the chain of events leading up to this event.
2220	//
2221	// This member is required.
2222	DecisionTaskCompletedEventId int64
2223
2224	// The ID provided in the ScheduleLambdaFunction decision that failed.
2225	//
2226	// This member is required.
2227	Id *string
2228
2229	// The name of the Lambda function.
2230	//
2231	// This member is required.
2232	Name *string
2233}
2234
2235// Provides the details of the SignalExternalWorkflowExecution decision. Access
2236// Control You can use IAM policies to control this decision's access to Amazon SWF
2237// resources as follows:
2238//
2239// * Use a Resource element with the domain name to limit
2240// the action to only specified domains.
2241//
2242// * Use an Action element to allow or deny
2243// permission to call this action.
2244//
2245// * You cannot use an IAM policy to constrain
2246// this action's parameters.
2247//
2248// If the caller doesn't have sufficient permissions to
2249// invoke the action, or the parameter values fall outside the specified
2250// constraints, the action fails. The associated event attribute's cause parameter
2251// is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see
2252// Using IAM to Manage Access to Amazon SWF Workflows
2253// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2254// in the Amazon SWF Developer Guide.
2255type SignalExternalWorkflowExecutionDecisionAttributes struct {
2256
2257	// The name of the signal.The target workflow execution uses the signal name and
2258	// input to process the signal.
2259	//
2260	// This member is required.
2261	SignalName *string
2262
2263	// The workflowId of the workflow execution to be signaled.
2264	//
2265	// This member is required.
2266	WorkflowId *string
2267
2268	// The data attached to the event that can be used by the decider in subsequent
2269	// decision tasks.
2270	Control *string
2271
2272	// The input data to be provided with the signal. The target workflow execution
2273	// uses the signal name and input data to process the signal.
2274	Input *string
2275
2276	// The runId of the workflow execution to be signaled.
2277	RunId *string
2278}
2279
2280// Provides the details of the SignalExternalWorkflowExecutionFailed event.
2281type SignalExternalWorkflowExecutionFailedEventAttributes struct {
2282
2283	// The cause of the failure. This information is generated by the system and can be
2284	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
2285	// decision failed because it lacked sufficient permissions. For details and
2286	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
2287	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2288	// in the Amazon SWF Developer Guide.
2289	//
2290	// This member is required.
2291	Cause SignalExternalWorkflowExecutionFailedCause
2292
2293	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2294	// that resulted in the SignalExternalWorkflowExecution decision for this signal.
2295	// This information can be useful for diagnosing problems by tracing back the chain
2296	// of events leading up to this event.
2297	//
2298	// This member is required.
2299	DecisionTaskCompletedEventId int64
2300
2301	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to
2302	// the SignalExternalWorkflowExecution decision to request this signal. This
2303	// information can be useful for diagnosing problems by tracing back the chain of
2304	// events leading up to this event.
2305	//
2306	// This member is required.
2307	InitiatedEventId int64
2308
2309	// The workflowId of the external workflow execution that the signal was being
2310	// delivered to.
2311	//
2312	// This member is required.
2313	WorkflowId *string
2314
2315	// The data attached to the event that the decider can use in subsequent workflow
2316	// tasks. This data isn't sent to the workflow execution.
2317	Control *string
2318
2319	// The runId of the external workflow execution that the signal was being delivered
2320	// to.
2321	RunId *string
2322}
2323
2324// Provides the details of the SignalExternalWorkflowExecutionInitiated event.
2325type SignalExternalWorkflowExecutionInitiatedEventAttributes struct {
2326
2327	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2328	// that resulted in the SignalExternalWorkflowExecution decision for this signal.
2329	// This information can be useful for diagnosing problems by tracing back the chain
2330	// of events leading up to this event.
2331	//
2332	// This member is required.
2333	DecisionTaskCompletedEventId int64
2334
2335	// The name of the signal.
2336	//
2337	// This member is required.
2338	SignalName *string
2339
2340	// The workflowId of the external workflow execution.
2341	//
2342	// This member is required.
2343	WorkflowId *string
2344
2345	// Data attached to the event that can be used by the decider in subsequent
2346	// decision tasks.
2347	Control *string
2348
2349	// The input provided to the signal.
2350	Input *string
2351
2352	// The runId of the external workflow execution to send the signal to.
2353	RunId *string
2354}
2355
2356// Provides the details of the StartChildWorkflowExecution decision. Access Control
2357// You can use IAM policies to control this decision's access to Amazon SWF
2358// resources as follows:
2359//
2360// * Use a Resource element with the domain name to limit
2361// the action to only specified domains.
2362//
2363// * Use an Action element to allow or deny
2364// permission to call this action.
2365//
2366// * Constrain the following parameters by using a
2367// Condition element with the appropriate keys.
2368//
2369// * tagList.member.N – The key is
2370// "swf:tagList.N" where N is the tag number from 0 to 4, inclusive.
2371//
2372// * taskList –
2373// String constraint. The key is swf:taskList.name.
2374//
2375// * workflowType.name – String
2376// constraint. The key is swf:workflowType.name.
2377//
2378// * workflowType.version – String
2379// constraint. The key is swf:workflowType.version.
2380//
2381// If the caller doesn't have
2382// sufficient permissions to invoke the action, or the parameter values fall
2383// outside the specified constraints, the action fails. The associated event
2384// attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and
2385// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
2386// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2387// in the Amazon SWF Developer Guide.
2388type StartChildWorkflowExecutionDecisionAttributes struct {
2389
2390	// The workflowId of the workflow execution. The specified string must not start or
2391	// end with whitespace. It must not contain a : (colon), / (slash), | (vertical
2392	// bar), or any control characters (\u0000-\u001f | \u007f-\u009f). Also, it must
2393	// not contain the literal string arn.
2394	//
2395	// This member is required.
2396	WorkflowId *string
2397
2398	// The type of the workflow execution to be started.
2399	//
2400	// This member is required.
2401	WorkflowType *WorkflowType
2402
2403	// If set, specifies the policy to use for the child workflow executions if the
2404	// workflow execution being started is terminated by calling the
2405	// TerminateWorkflowExecution action explicitly or due to an expired timeout. This
2406	// policy overrides the default child policy specified when registering the
2407	// workflow type using RegisterWorkflowType. The supported child policies are:
2408	//
2409	// *
2410	// TERMINATE – The child executions are terminated.
2411	//
2412	// * REQUEST_CANCEL – A request
2413	// to cancel is attempted for each child execution by recording a
2414	// WorkflowExecutionCancelRequested event in its history. It is up to the decider
2415	// to take appropriate actions when it receives an execution history with this
2416	// event.
2417	//
2418	// * ABANDON – No action is taken. The child executions continue to run.
2419	//
2420	// A
2421	// child policy for this workflow execution must be specified either as a default
2422	// for the workflow type or through this parameter. If neither this parameter is
2423	// set nor a default child policy was specified at registration time then a fault
2424	// is returned.
2425	ChildPolicy ChildPolicy
2426
2427	// The data attached to the event that can be used by the decider in subsequent
2428	// workflow tasks. This data isn't sent to the child workflow execution.
2429	Control *string
2430
2431	// The total duration for this workflow execution. This overrides the
2432	// defaultExecutionStartToCloseTimeout specified when registering the workflow
2433	// type. The duration is specified in seconds, an integer greater than or equal to
2434	// 0. You can use NONE to specify unlimited duration. An execution start-to-close
2435	// timeout for this workflow execution must be specified either as a default for
2436	// the workflow type or through this parameter. If neither this parameter is set
2437	// nor a default execution start-to-close timeout was specified at registration
2438	// time then a fault is returned.
2439	ExecutionStartToCloseTimeout *string
2440
2441	// The input to be provided to the workflow execution.
2442	Input *string
2443
2444	// The IAM role attached to the child workflow execution.
2445	LambdaRole *string
2446
2447	// The list of tags to associate with the child workflow execution. A maximum of 5
2448	// tags can be specified. You can list workflow executions with a specific tag by
2449	// calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and
2450	// specifying a TagFilter.
2451	TagList []string
2452
2453	// The name of the task list to be used for decision tasks of the child workflow
2454	// execution. A task list for this workflow execution must be specified either as a
2455	// default for the workflow type or through this parameter. If neither this
2456	// parameter is set nor a default task list was specified at registration time then
2457	// a fault is returned. The specified string must not start or end with whitespace.
2458	// It must not contain a : (colon), / (slash), | (vertical bar), or any control
2459	// characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain the
2460	// literal string arn.
2461	TaskList *TaskList
2462
2463	// A task priority that, if set, specifies the priority for a decision task of this
2464	// workflow execution. This overrides the defaultTaskPriority specified when
2465	// registering the workflow type. Valid values are integers that range from Java's
2466	// Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher
2467	// numbers indicate higher priority. For more information about setting task
2468	// priority, see Setting Task Priority
2469	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
2470	// in the Amazon SWF Developer Guide.
2471	TaskPriority *string
2472
2473	// Specifies the maximum duration of decision tasks for this workflow execution.
2474	// This parameter overrides the defaultTaskStartToCloseTimout specified when
2475	// registering the workflow type using RegisterWorkflowType. The duration is
2476	// specified in seconds, an integer greater than or equal to 0. You can use NONE to
2477	// specify unlimited duration. A task start-to-close timeout for this workflow
2478	// execution must be specified either as a default for the workflow type or through
2479	// this parameter. If neither this parameter is set nor a default task
2480	// start-to-close timeout was specified at registration time then a fault is
2481	// returned.
2482	TaskStartToCloseTimeout *string
2483}
2484
2485// Provides the details of the StartChildWorkflowExecutionFailed event.
2486type StartChildWorkflowExecutionFailedEventAttributes struct {
2487
2488	// The cause of the failure. This information is generated by the system and can be
2489	// useful for diagnostic purposes. When cause is set to OPERATION_NOT_PERMITTED,
2490	// the decision fails because it lacks sufficient permissions. For details and
2491	// example IAM policies, see  Using IAM to Manage Access to Amazon SWF Workflows
2492	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2493	// in the Amazon SWF Developer Guide.
2494	//
2495	// This member is required.
2496	Cause StartChildWorkflowExecutionFailedCause
2497
2498	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2499	// that resulted in the StartChildWorkflowExecutionDecision to request this child
2500	// workflow execution. This information can be useful for diagnosing problems by
2501	// tracing back the chain of events.
2502	//
2503	// This member is required.
2504	DecisionTaskCompletedEventId int64
2505
2506	// When the cause is WORKFLOW_ALREADY_RUNNING, initiatedEventId is the ID of the
2507	// StartChildWorkflowExecutionInitiated event that corresponds to the
2508	// StartChildWorkflowExecutionDecision to start the workflow execution. You can use
2509	// this information to diagnose problems by tracing back the chain of events
2510	// leading up to this event. When the cause isn't WORKFLOW_ALREADY_RUNNING,
2511	// initiatedEventId is set to 0 because the StartChildWorkflowExecutionInitiated
2512	// event doesn't exist.
2513	//
2514	// This member is required.
2515	InitiatedEventId int64
2516
2517	// The workflowId of the child workflow execution.
2518	//
2519	// This member is required.
2520	WorkflowId *string
2521
2522	// The workflow type provided in the StartChildWorkflowExecutionDecision that
2523	// failed.
2524	//
2525	// This member is required.
2526	WorkflowType *WorkflowType
2527
2528	// The data attached to the event that the decider can use in subsequent workflow
2529	// tasks. This data isn't sent to the child workflow execution.
2530	Control *string
2531}
2532
2533// Provides the details of the StartChildWorkflowExecutionInitiated event.
2534type StartChildWorkflowExecutionInitiatedEventAttributes struct {
2535
2536	// The policy to use for the child workflow executions if this execution gets
2537	// terminated by explicitly calling the TerminateWorkflowExecution action or due to
2538	// an expired timeout. The supported child policies are:
2539	//
2540	// * TERMINATE – The child
2541	// executions are terminated.
2542	//
2543	// * REQUEST_CANCEL – A request to cancel is attempted
2544	// for each child execution by recording a WorkflowExecutionCancelRequested event
2545	// in its history. It is up to the decider to take appropriate actions when it
2546	// receives an execution history with this event.
2547	//
2548	// * ABANDON – No action is taken.
2549	// The child executions continue to run.
2550	//
2551	// This member is required.
2552	ChildPolicy ChildPolicy
2553
2554	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2555	// that resulted in the StartChildWorkflowExecutionDecision to request this child
2556	// workflow execution. This information can be useful for diagnosing problems by
2557	// tracing back the cause of events.
2558	//
2559	// This member is required.
2560	DecisionTaskCompletedEventId int64
2561
2562	// The name of the task list used for the decision tasks of the child workflow
2563	// execution.
2564	//
2565	// This member is required.
2566	TaskList *TaskList
2567
2568	// The workflowId of the child workflow execution.
2569	//
2570	// This member is required.
2571	WorkflowId *string
2572
2573	// The type of the child workflow execution.
2574	//
2575	// This member is required.
2576	WorkflowType *WorkflowType
2577
2578	// Data attached to the event that can be used by the decider in subsequent
2579	// decision tasks. This data isn't sent to the activity.
2580	Control *string
2581
2582	// The maximum duration for the child workflow execution. If the workflow execution
2583	// isn't closed within this duration, it is timed out and force-terminated. The
2584	// duration is specified in seconds, an integer greater than or equal to 0. You can
2585	// use NONE to specify unlimited duration.
2586	ExecutionStartToCloseTimeout *string
2587
2588	// The inputs provided to the child workflow execution.
2589	Input *string
2590
2591	// The IAM role to attach to the child workflow execution.
2592	LambdaRole *string
2593
2594	// The list of tags to associated with the child workflow execution.
2595	TagList []string
2596
2597	// The priority assigned for the decision tasks for this workflow execution. Valid
2598	// values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to
2599	// Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority. For
2600	// more information about setting task priority, see Setting Task Priority
2601	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
2602	// in the Amazon SWF Developer Guide.
2603	TaskPriority *string
2604
2605	// The maximum duration allowed for the decision tasks for this workflow execution.
2606	// The duration is specified in seconds, an integer greater than or equal to 0. You
2607	// can use NONE to specify unlimited duration.
2608	TaskStartToCloseTimeout *string
2609}
2610
2611// Provides the details of the StartLambdaFunctionFailed event. It isn't set for
2612// other event types.
2613type StartLambdaFunctionFailedEventAttributes struct {
2614
2615	// The cause of the failure. To help diagnose issues, use this information to trace
2616	// back the chain of events leading up to this event. If cause is set to
2617	// OPERATION_NOT_PERMITTED, the decision failed because the IAM role attached to
2618	// the execution lacked sufficient permissions. For details and example IAM
2619	// policies, see Lambda Tasks
2620	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
2621	// in the Amazon SWF Developer Guide.
2622	Cause StartLambdaFunctionFailedCause
2623
2624	// A description that can help diagnose the cause of the fault.
2625	Message *string
2626
2627	// The ID of the ActivityTaskScheduled event that was recorded when this activity
2628	// task was scheduled. To help diagnose issues, use this information to trace back
2629	// the chain of events leading up to this event.
2630	ScheduledEventId int64
2631}
2632
2633// Provides the details of the StartTimer decision. Access Control You can use IAM
2634// policies to control this decision's access to Amazon SWF resources as
2635// follows:
2636//
2637// * Use a Resource element with the domain name to limit the action to
2638// only specified domains.
2639//
2640// * Use an Action element to allow or deny permission to
2641// call this action.
2642//
2643// * You cannot use an IAM policy to constrain this action's
2644// parameters.
2645//
2646// If the caller doesn't have sufficient permissions to invoke the
2647// action, or the parameter values fall outside the specified constraints, the
2648// action fails. The associated event attribute's cause parameter is set to
2649// OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to
2650// Manage Access to Amazon SWF Workflows
2651// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2652// in the Amazon SWF Developer Guide.
2653type StartTimerDecisionAttributes struct {
2654
2655	// The duration to wait before firing the timer. The duration is specified in
2656	// seconds, an integer greater than or equal to 0.
2657	//
2658	// This member is required.
2659	StartToFireTimeout *string
2660
2661	// The unique ID of the timer. The specified string must not start or end with
2662	// whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any
2663	// control characters (\u0000-\u001f | \u007f-\u009f). Also, it must not contain
2664	// the literal string arn.
2665	//
2666	// This member is required.
2667	TimerId *string
2668
2669	// The data attached to the event that can be used by the decider in subsequent
2670	// workflow tasks.
2671	Control *string
2672}
2673
2674// Provides the details of the StartTimerFailed event.
2675type StartTimerFailedEventAttributes struct {
2676
2677	// The cause of the failure. This information is generated by the system and can be
2678	// useful for diagnostic purposes. If cause is set to OPERATION_NOT_PERMITTED, the
2679	// decision failed because it lacked sufficient permissions. For details and
2680	// example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows
2681	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2682	// in the Amazon SWF Developer Guide.
2683	//
2684	// This member is required.
2685	Cause StartTimerFailedCause
2686
2687	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2688	// that resulted in the StartTimer decision for this activity task. This
2689	// information can be useful for diagnosing problems by tracing back the chain of
2690	// events leading up to this event.
2691	//
2692	// This member is required.
2693	DecisionTaskCompletedEventId int64
2694
2695	// The timerId provided in the StartTimer decision that failed.
2696	//
2697	// This member is required.
2698	TimerId *string
2699}
2700
2701// Used to filter the workflow executions in visibility APIs based on a tag.
2702type TagFilter struct {
2703
2704	// Specifies the tag that must be associated with the execution for it to meet the
2705	// filter criteria. Tags may only contain unicode letters, digits, whitespace, or
2706	// these symbols: _ . : / = + - @.
2707	//
2708	// This member is required.
2709	Tag *string
2710}
2711
2712// Represents a task list.
2713type TaskList struct {
2714
2715	// The name of the task list.
2716	//
2717	// This member is required.
2718	Name *string
2719}
2720
2721// Provides the details of the TimerCanceled event.
2722type TimerCanceledEventAttributes struct {
2723
2724	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2725	// that resulted in the CancelTimer decision to cancel this timer. This information
2726	// can be useful for diagnosing problems by tracing back the chain of events
2727	// leading up to this event.
2728	//
2729	// This member is required.
2730	DecisionTaskCompletedEventId int64
2731
2732	// The ID of the TimerStarted event that was recorded when this timer was started.
2733	// This information can be useful for diagnosing problems by tracing back the chain
2734	// of events leading up to this event.
2735	//
2736	// This member is required.
2737	StartedEventId int64
2738
2739	// The unique ID of the timer that was canceled.
2740	//
2741	// This member is required.
2742	TimerId *string
2743}
2744
2745// Provides the details of the TimerFired event.
2746type TimerFiredEventAttributes struct {
2747
2748	// The ID of the TimerStarted event that was recorded when this timer was started.
2749	// This information can be useful for diagnosing problems by tracing back the chain
2750	// of events leading up to this event.
2751	//
2752	// This member is required.
2753	StartedEventId int64
2754
2755	// The unique ID of the timer that fired.
2756	//
2757	// This member is required.
2758	TimerId *string
2759}
2760
2761// Provides the details of the TimerStarted event.
2762type TimerStartedEventAttributes struct {
2763
2764	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2765	// that resulted in the StartTimer decision for this activity task. This
2766	// information can be useful for diagnosing problems by tracing back the chain of
2767	// events leading up to this event.
2768	//
2769	// This member is required.
2770	DecisionTaskCompletedEventId int64
2771
2772	// The duration of time after which the timer fires. The duration is specified in
2773	// seconds, an integer greater than or equal to 0.
2774	//
2775	// This member is required.
2776	StartToFireTimeout *string
2777
2778	// The unique ID of the timer that was started.
2779	//
2780	// This member is required.
2781	TimerId *string
2782
2783	// Data attached to the event that can be used by the decider in subsequent
2784	// workflow tasks.
2785	Control *string
2786}
2787
2788// Represents a workflow execution.
2789type WorkflowExecution struct {
2790
2791	// A system-generated unique identifier for the workflow execution.
2792	//
2793	// This member is required.
2794	RunId *string
2795
2796	// The user defined identifier associated with the workflow execution.
2797	//
2798	// This member is required.
2799	WorkflowId *string
2800}
2801
2802// Provides the details of the WorkflowExecutionCanceled event.
2803type WorkflowExecutionCanceledEventAttributes struct {
2804
2805	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2806	// that resulted in the CancelWorkflowExecution decision for this cancellation
2807	// request. This information can be useful for diagnosing problems by tracing back
2808	// the chain of events leading up to this event.
2809	//
2810	// This member is required.
2811	DecisionTaskCompletedEventId int64
2812
2813	// The details of the cancellation.
2814	Details *string
2815}
2816
2817// Provides the details of the WorkflowExecutionCancelRequested event.
2818type WorkflowExecutionCancelRequestedEventAttributes struct {
2819
2820	// If set, indicates that the request to cancel the workflow execution was
2821	// automatically generated, and specifies the cause. This happens if the parent
2822	// workflow execution times out or is terminated, and the child policy is set to
2823	// cancel child executions.
2824	Cause WorkflowExecutionCancelRequestedCause
2825
2826	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event
2827	// corresponding to the RequestCancelExternalWorkflowExecution decision to cancel
2828	// this workflow execution.The source event with this ID can be found in the
2829	// history of the source workflow execution. This information can be useful for
2830	// diagnosing problems by tracing back the chain of events leading up to this
2831	// event.
2832	ExternalInitiatedEventId int64
2833
2834	// The external workflow execution for which the cancellation was requested.
2835	ExternalWorkflowExecution *WorkflowExecution
2836}
2837
2838// Provides the details of the WorkflowExecutionCompleted event.
2839type WorkflowExecutionCompletedEventAttributes struct {
2840
2841	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2842	// that resulted in the CompleteWorkflowExecution decision to complete this
2843	// execution. This information can be useful for diagnosing problems by tracing
2844	// back the chain of events leading up to this event.
2845	//
2846	// This member is required.
2847	DecisionTaskCompletedEventId int64
2848
2849	// The result produced by the workflow execution upon successful completion.
2850	Result *string
2851}
2852
2853// The configuration settings for a workflow execution including timeout values,
2854// tasklist etc. These configuration settings are determined from the defaults
2855// specified when registering the workflow type and those specified when starting
2856// the workflow execution.
2857type WorkflowExecutionConfiguration struct {
2858
2859	// The policy to use for the child workflow executions if this workflow execution
2860	// is terminated, by calling the TerminateWorkflowExecution action explicitly or
2861	// due to an expired timeout. The supported child policies are:
2862	//
2863	// * TERMINATE – The
2864	// child executions are terminated.
2865	//
2866	// * REQUEST_CANCEL – A request to cancel is
2867	// attempted for each child execution by recording a
2868	// WorkflowExecutionCancelRequested event in its history. It is up to the decider
2869	// to take appropriate actions when it receives an execution history with this
2870	// event.
2871	//
2872	// * ABANDON – No action is taken. The child executions continue to run.
2873	//
2874	// This member is required.
2875	ChildPolicy ChildPolicy
2876
2877	// The total duration for this workflow execution. The duration is specified in
2878	// seconds, an integer greater than or equal to 0. You can use NONE to specify
2879	// unlimited duration.
2880	//
2881	// This member is required.
2882	ExecutionStartToCloseTimeout *string
2883
2884	// The task list used for the decision tasks generated for this workflow execution.
2885	//
2886	// This member is required.
2887	TaskList *TaskList
2888
2889	// The maximum duration allowed for decision tasks for this workflow execution. The
2890	// duration is specified in seconds, an integer greater than or equal to 0. You can
2891	// use NONE to specify unlimited duration.
2892	//
2893	// This member is required.
2894	TaskStartToCloseTimeout *string
2895
2896	// The IAM role attached to the child workflow execution.
2897	LambdaRole *string
2898
2899	// The priority assigned to decision tasks for this workflow execution. Valid
2900	// values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to
2901	// Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority. For
2902	// more information about setting task priority, see Setting Task Priority
2903	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
2904	// in the Amazon SWF Developer Guide.
2905	TaskPriority *string
2906}
2907
2908// Provides the details of the WorkflowExecutionContinuedAsNew event.
2909type WorkflowExecutionContinuedAsNewEventAttributes struct {
2910
2911	// The policy to use for the child workflow executions of the new execution if it
2912	// is terminated by calling the TerminateWorkflowExecution action explicitly or due
2913	// to an expired timeout. The supported child policies are:
2914	//
2915	// * TERMINATE – The
2916	// child executions are terminated.
2917	//
2918	// * REQUEST_CANCEL – A request to cancel is
2919	// attempted for each child execution by recording a
2920	// WorkflowExecutionCancelRequested event in its history. It is up to the decider
2921	// to take appropriate actions when it receives an execution history with this
2922	// event.
2923	//
2924	// * ABANDON – No action is taken. The child executions continue to run.
2925	//
2926	// This member is required.
2927	ChildPolicy ChildPolicy
2928
2929	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2930	// that resulted in the ContinueAsNewWorkflowExecution decision that started this
2931	// execution. This information can be useful for diagnosing problems by tracing
2932	// back the chain of events leading up to this event.
2933	//
2934	// This member is required.
2935	DecisionTaskCompletedEventId int64
2936
2937	// The runId of the new workflow execution.
2938	//
2939	// This member is required.
2940	NewExecutionRunId *string
2941
2942	// The task list to use for the decisions of the new (continued) workflow
2943	// execution.
2944	//
2945	// This member is required.
2946	TaskList *TaskList
2947
2948	// The workflow type of this execution.
2949	//
2950	// This member is required.
2951	WorkflowType *WorkflowType
2952
2953	// The total duration allowed for the new workflow execution. The duration is
2954	// specified in seconds, an integer greater than or equal to 0. You can use NONE to
2955	// specify unlimited duration.
2956	ExecutionStartToCloseTimeout *string
2957
2958	// The input provided to the new workflow execution.
2959	Input *string
2960
2961	// The IAM role to attach to the new (continued) workflow execution.
2962	LambdaRole *string
2963
2964	// The list of tags associated with the new workflow execution.
2965	TagList []string
2966
2967	// The priority of the task to use for the decisions of the new (continued)
2968	// workflow execution.
2969	TaskPriority *string
2970
2971	// The maximum duration of decision tasks for the new workflow execution. The
2972	// duration is specified in seconds, an integer greater than or equal to 0. You can
2973	// use NONE to specify unlimited duration.
2974	TaskStartToCloseTimeout *string
2975}
2976
2977// Provides the details of the WorkflowExecutionFailed event.
2978type WorkflowExecutionFailedEventAttributes struct {
2979
2980	// The ID of the DecisionTaskCompleted event corresponding to the decision task
2981	// that resulted in the FailWorkflowExecution decision to fail this execution. This
2982	// information can be useful for diagnosing problems by tracing back the chain of
2983	// events leading up to this event.
2984	//
2985	// This member is required.
2986	DecisionTaskCompletedEventId int64
2987
2988	// The details of the failure.
2989	Details *string
2990
2991	// The descriptive reason provided for the failure.
2992	Reason *string
2993}
2994
2995// Used to filter the workflow executions in visibility APIs by their workflowId.
2996type WorkflowExecutionFilter struct {
2997
2998	// The workflowId to pass of match the criteria of this filter.
2999	//
3000	// This member is required.
3001	WorkflowId *string
3002}
3003
3004// Contains information about a workflow execution.
3005type WorkflowExecutionInfo struct {
3006
3007	// The workflow execution this information is about.
3008	//
3009	// This member is required.
3010	Execution *WorkflowExecution
3011
3012	// The current status of the execution.
3013	//
3014	// This member is required.
3015	ExecutionStatus ExecutionStatus
3016
3017	// The time when the execution was started.
3018	//
3019	// This member is required.
3020	StartTimestamp *time.Time
3021
3022	// The type of the workflow execution.
3023	//
3024	// This member is required.
3025	WorkflowType *WorkflowType
3026
3027	// Set to true if a cancellation is requested for this workflow execution.
3028	CancelRequested bool
3029
3030	// If the execution status is closed then this specifies how the execution was
3031	// closed:
3032	//
3033	// * COMPLETED – the execution was successfully completed.
3034	//
3035	// * CANCELED –
3036	// the execution was canceled.Cancellation allows the implementation to gracefully
3037	// clean up before the execution is closed.
3038	//
3039	// * TERMINATED – the execution was force
3040	// terminated.
3041	//
3042	// * FAILED – the execution failed to complete.
3043	//
3044	// * TIMED_OUT – the
3045	// execution did not complete in the alloted time and was automatically timed
3046	// out.
3047	//
3048	// * CONTINUED_AS_NEW – the execution is logically continued. This means the
3049	// current execution was completed and a new execution was started to carry on the
3050	// workflow.
3051	CloseStatus CloseStatus
3052
3053	// The time when the workflow execution was closed. Set only if the execution
3054	// status is CLOSED.
3055	CloseTimestamp *time.Time
3056
3057	// If this workflow execution is a child of another execution then contains the
3058	// workflow execution that started this execution.
3059	Parent *WorkflowExecution
3060
3061	// The list of tags associated with the workflow execution. Tags can be used to
3062	// identify and list workflow executions of interest through the visibility APIs. A
3063	// workflow execution can have a maximum of 5 tags.
3064	TagList []string
3065}
3066
3067// Contains the counts of open tasks, child workflow executions and timers for a
3068// workflow execution.
3069type WorkflowExecutionOpenCounts struct {
3070
3071	// The count of activity tasks whose status is OPEN.
3072	//
3073	// This member is required.
3074	OpenActivityTasks int32
3075
3076	// The count of child workflow executions whose status is OPEN.
3077	//
3078	// This member is required.
3079	OpenChildWorkflowExecutions int32
3080
3081	// The count of decision tasks whose status is OPEN. A workflow execution can have
3082	// at most one open decision task.
3083	//
3084	// This member is required.
3085	OpenDecisionTasks int32
3086
3087	// The count of timers started by this workflow execution that have not fired yet.
3088	//
3089	// This member is required.
3090	OpenTimers int32
3091
3092	// The count of Lambda tasks whose status is OPEN.
3093	OpenLambdaFunctions int32
3094}
3095
3096// Provides the details of the WorkflowExecutionSignaled event.
3097type WorkflowExecutionSignaledEventAttributes struct {
3098
3099	// The name of the signal received. The decider can use the signal name and inputs
3100	// to determine how to the process the signal.
3101	//
3102	// This member is required.
3103	SignalName *string
3104
3105	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to
3106	// the SignalExternalWorkflow decision to signal this workflow execution.The source
3107	// event with this ID can be found in the history of the source workflow execution.
3108	// This information can be useful for diagnosing problems by tracing back the chain
3109	// of events leading up to this event. This field is set only if the signal was
3110	// initiated by another workflow execution.
3111	ExternalInitiatedEventId int64
3112
3113	// The workflow execution that sent the signal. This is set only of the signal was
3114	// sent by another workflow execution.
3115	ExternalWorkflowExecution *WorkflowExecution
3116
3117	// The inputs provided with the signal. The decider can use the signal name and
3118	// inputs to determine how to process the signal.
3119	Input *string
3120}
3121
3122// Provides details of WorkflowExecutionStarted event.
3123type WorkflowExecutionStartedEventAttributes struct {
3124
3125	// The policy to use for the child workflow executions if this workflow execution
3126	// is terminated, by calling the TerminateWorkflowExecution action explicitly or
3127	// due to an expired timeout. The supported child policies are:
3128	//
3129	// * TERMINATE – The
3130	// child executions are terminated.
3131	//
3132	// * REQUEST_CANCEL – A request to cancel is
3133	// attempted for each child execution by recording a
3134	// WorkflowExecutionCancelRequested event in its history. It is up to the decider
3135	// to take appropriate actions when it receives an execution history with this
3136	// event.
3137	//
3138	// * ABANDON – No action is taken. The child executions continue to run.
3139	//
3140	// This member is required.
3141	ChildPolicy ChildPolicy
3142
3143	// The name of the task list for scheduling the decision tasks for this workflow
3144	// execution.
3145	//
3146	// This member is required.
3147	TaskList *TaskList
3148
3149	// The workflow type of this execution.
3150	//
3151	// This member is required.
3152	WorkflowType *WorkflowType
3153
3154	// If this workflow execution was started due to a ContinueAsNewWorkflowExecution
3155	// decision, then it contains the runId of the previous workflow execution that was
3156	// closed and continued as this execution.
3157	ContinuedExecutionRunId *string
3158
3159	// The maximum duration for this workflow execution. The duration is specified in
3160	// seconds, an integer greater than or equal to 0. You can use NONE to specify
3161	// unlimited duration.
3162	ExecutionStartToCloseTimeout *string
3163
3164	// The input provided to the workflow execution.
3165	Input *string
3166
3167	// The IAM role attached to the workflow execution.
3168	LambdaRole *string
3169
3170	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to the
3171	// StartChildWorkflowExecutionDecision to start this workflow execution. The source
3172	// event with this ID can be found in the history of the source workflow execution.
3173	// This information can be useful for diagnosing problems by tracing back the chain
3174	// of events leading up to this event.
3175	ParentInitiatedEventId int64
3176
3177	// The source workflow execution that started this workflow execution. The member
3178	// isn't set if the workflow execution was not started by a workflow.
3179	ParentWorkflowExecution *WorkflowExecution
3180
3181	// The list of tags associated with this workflow execution. An execution can have
3182	// up to 5 tags.
3183	TagList []string
3184
3185	// The priority of the decision tasks in the workflow execution.
3186	TaskPriority *string
3187
3188	// The maximum duration of decision tasks for this workflow type. The duration is
3189	// specified in seconds, an integer greater than or equal to 0. You can use NONE to
3190	// specify unlimited duration.
3191	TaskStartToCloseTimeout *string
3192}
3193
3194// Provides the details of the WorkflowExecutionTerminated event.
3195type WorkflowExecutionTerminatedEventAttributes struct {
3196
3197	// The policy used for the child workflow executions of this workflow execution.
3198	// The supported child policies are:
3199	//
3200	// * TERMINATE – The child executions are
3201	// terminated.
3202	//
3203	// * REQUEST_CANCEL – A request to cancel is attempted for each child
3204	// execution by recording a WorkflowExecutionCancelRequested event in its history.
3205	// It is up to the decider to take appropriate actions when it receives an
3206	// execution history with this event.
3207	//
3208	// * ABANDON – No action is taken. The child
3209	// executions continue to run.
3210	//
3211	// This member is required.
3212	ChildPolicy ChildPolicy
3213
3214	// If set, indicates that the workflow execution was automatically terminated, and
3215	// specifies the cause. This happens if the parent workflow execution times out or
3216	// is terminated and the child policy is set to terminate child executions.
3217	Cause WorkflowExecutionTerminatedCause
3218
3219	// The details provided for the termination.
3220	Details *string
3221
3222	// The reason provided for the termination.
3223	Reason *string
3224}
3225
3226// Provides the details of the WorkflowExecutionTimedOut event.
3227type WorkflowExecutionTimedOutEventAttributes struct {
3228
3229	// The policy used for the child workflow executions of this workflow execution.
3230	// The supported child policies are:
3231	//
3232	// * TERMINATE – The child executions are
3233	// terminated.
3234	//
3235	// * REQUEST_CANCEL – A request to cancel is attempted for each child
3236	// execution by recording a WorkflowExecutionCancelRequested event in its history.
3237	// It is up to the decider to take appropriate actions when it receives an
3238	// execution history with this event.
3239	//
3240	// * ABANDON – No action is taken. The child
3241	// executions continue to run.
3242	//
3243	// This member is required.
3244	ChildPolicy ChildPolicy
3245
3246	// The type of timeout that caused this event.
3247	//
3248	// This member is required.
3249	TimeoutType WorkflowExecutionTimeoutType
3250}
3251
3252// Represents a workflow type.
3253type WorkflowType struct {
3254
3255	// The name of the workflow type. The combination of workflow type name and version
3256	// must be unique with in a domain.
3257	//
3258	// This member is required.
3259	Name *string
3260
3261	// The version of the workflow type. The combination of workflow type name and
3262	// version must be unique with in a domain.
3263	//
3264	// This member is required.
3265	Version *string
3266}
3267
3268// The configuration settings of a workflow type.
3269type WorkflowTypeConfiguration struct {
3270
3271	// The default policy to use for the child workflow executions when a workflow
3272	// execution of this type is terminated, by calling the TerminateWorkflowExecution
3273	// action explicitly or due to an expired timeout. This default can be overridden
3274	// when starting a workflow execution using the StartWorkflowExecution action or
3275	// the StartChildWorkflowExecutionDecision. The supported child policies are:
3276	//
3277	// *
3278	// TERMINATE – The child executions are terminated.
3279	//
3280	// * REQUEST_CANCEL – A request
3281	// to cancel is attempted for each child execution by recording a
3282	// WorkflowExecutionCancelRequested event in its history. It is up to the decider
3283	// to take appropriate actions when it receives an execution history with this
3284	// event.
3285	//
3286	// * ABANDON – No action is taken. The child executions continue to run.
3287	DefaultChildPolicy ChildPolicy
3288
3289	// The default maximum duration, specified when registering the workflow type, for
3290	// executions of this workflow type. This default can be overridden when starting a
3291	// workflow execution using the StartWorkflowExecution action or the
3292	// StartChildWorkflowExecutionDecision. The duration is specified in seconds, an
3293	// integer greater than or equal to 0. You can use NONE to specify unlimited
3294	// duration.
3295	DefaultExecutionStartToCloseTimeout *string
3296
3297	// The default IAM role attached to this workflow type. Executions of this workflow
3298	// type need IAM roles to invoke Lambda functions. If you don't specify an IAM role
3299	// when starting this workflow type, the default Lambda role is attached to the
3300	// execution. For more information, see
3301	// https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
3302	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
3303	// in the Amazon SWF Developer Guide.
3304	DefaultLambdaRole *string
3305
3306	// The default task list, specified when registering the workflow type, for
3307	// decisions tasks scheduled for workflow executions of this type. This default can
3308	// be overridden when starting a workflow execution using the
3309	// StartWorkflowExecution action or the StartChildWorkflowExecutionDecision.
3310	DefaultTaskList *TaskList
3311
3312	// The default task priority, specified when registering the workflow type, for all
3313	// decision tasks of this workflow type. This default can be overridden when
3314	// starting a workflow execution using the StartWorkflowExecution action or the
3315	// StartChildWorkflowExecution decision. Valid values are integers that range from
3316	// Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher
3317	// numbers indicate higher priority. For more information about setting task
3318	// priority, see Setting Task Priority
3319	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
3320	// in the Amazon SWF Developer Guide.
3321	DefaultTaskPriority *string
3322
3323	// The default maximum duration, specified when registering the workflow type, that
3324	// a decision task for executions of this workflow type might take before returning
3325	// completion or failure. If the task doesn'tdo close in the specified time then
3326	// the task is automatically timed out and rescheduled. If the decider eventually
3327	// reports a completion or failure, it is ignored. This default can be overridden
3328	// when starting a workflow execution using the StartWorkflowExecution action or
3329	// the StartChildWorkflowExecutionDecision. The duration is specified in seconds,
3330	// an integer greater than or equal to 0. You can use NONE to specify unlimited
3331	// duration.
3332	DefaultTaskStartToCloseTimeout *string
3333}
3334
3335// Used to filter workflow execution query results by type. Each parameter, if
3336// specified, defines a rule that must be satisfied by each returned result.
3337type WorkflowTypeFilter struct {
3338
3339	// Name of the workflow type.
3340	//
3341	// This member is required.
3342	Name *string
3343
3344	// Version of the workflow type.
3345	Version *string
3346}
3347
3348// Contains information about a workflow type.
3349type WorkflowTypeInfo struct {
3350
3351	// The date when this type was registered.
3352	//
3353	// This member is required.
3354	CreationDate *time.Time
3355
3356	// The current status of the workflow type.
3357	//
3358	// This member is required.
3359	Status RegistrationStatus
3360
3361	// The workflow type this information is about.
3362	//
3363	// This member is required.
3364	WorkflowType *WorkflowType
3365
3366	// If the type is in deprecated state, then it is set to the date when the type was
3367	// deprecated.
3368	DeprecationDate *time.Time
3369
3370	// The description of the type registered through RegisterWorkflowType.
3371	Description *string
3372}
3373