1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package swf
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opCountClosedWorkflowExecutions = "CountClosedWorkflowExecutions"
17
18// CountClosedWorkflowExecutionsRequest generates a "aws/request.Request" representing the
19// client's request for the CountClosedWorkflowExecutions operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CountClosedWorkflowExecutions for more information on using the CountClosedWorkflowExecutions
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CountClosedWorkflowExecutionsRequest method.
34//    req, resp := client.CountClosedWorkflowExecutionsRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40func (c *SWF) CountClosedWorkflowExecutionsRequest(input *CountClosedWorkflowExecutionsInput) (req *request.Request, output *WorkflowExecutionCount) {
41	op := &request.Operation{
42		Name:       opCountClosedWorkflowExecutions,
43		HTTPMethod: "POST",
44		HTTPPath:   "/",
45	}
46
47	if input == nil {
48		input = &CountClosedWorkflowExecutionsInput{}
49	}
50
51	output = &WorkflowExecutionCount{}
52	req = c.newRequest(op, input, output)
53	return
54}
55
56// CountClosedWorkflowExecutions API operation for Amazon Simple Workflow Service.
57//
58// Returns the number of closed workflow executions within the given domain
59// that meet the specified filtering criteria.
60//
61// This operation is eventually consistent. The results are best effort and
62// may not exactly reflect recent updates and changes.
63//
64// Access Control
65//
66// You can use IAM policies to control this action's access to Amazon SWF resources
67// as follows:
68//
69//    * Use a Resource element with the domain name to limit the action to only
70//    specified domains.
71//
72//    * Use an Action element to allow or deny permission to call this action.
73//
74//    * Constrain the following parameters by using a Condition element with
75//    the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
76//    typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version:
77//    String constraint. The key is swf:typeFilter.version.
78//
79// If the caller doesn't have sufficient permissions to invoke the action, or
80// the parameter values fall outside the specified constraints, the action fails.
81// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
82// For details and example IAM policies, see Using IAM to Manage Access to Amazon
83// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
84// in the Amazon SWF Developer Guide.
85//
86// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
87// with awserr.Error's Code and Message methods to get detailed information about
88// the error.
89//
90// See the AWS API reference guide for Amazon Simple Workflow Service's
91// API operation CountClosedWorkflowExecutions for usage and error information.
92//
93// Returned Error Types:
94//   * UnknownResourceFault
95//   Returned when the named resource cannot be found with in the scope of this
96//   operation (region or domain). This could happen if the named resource was
97//   never created or is no longer available for this operation.
98//
99//   * OperationNotPermittedFault
100//   Returned when the caller doesn't have sufficient permissions to invoke the
101//   action.
102//
103func (c *SWF) CountClosedWorkflowExecutions(input *CountClosedWorkflowExecutionsInput) (*WorkflowExecutionCount, error) {
104	req, out := c.CountClosedWorkflowExecutionsRequest(input)
105	return out, req.Send()
106}
107
108// CountClosedWorkflowExecutionsWithContext is the same as CountClosedWorkflowExecutions with the addition of
109// the ability to pass a context and additional request options.
110//
111// See CountClosedWorkflowExecutions for details on how to use this API operation.
112//
113// The context must be non-nil and will be used for request cancellation. If
114// the context is nil a panic will occur. In the future the SDK may create
115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
116// for more information on using Contexts.
117func (c *SWF) CountClosedWorkflowExecutionsWithContext(ctx aws.Context, input *CountClosedWorkflowExecutionsInput, opts ...request.Option) (*WorkflowExecutionCount, error) {
118	req, out := c.CountClosedWorkflowExecutionsRequest(input)
119	req.SetContext(ctx)
120	req.ApplyOptions(opts...)
121	return out, req.Send()
122}
123
124const opCountOpenWorkflowExecutions = "CountOpenWorkflowExecutions"
125
126// CountOpenWorkflowExecutionsRequest generates a "aws/request.Request" representing the
127// client's request for the CountOpenWorkflowExecutions operation. The "output" return
128// value will be populated with the request's response once the request completes
129// successfully.
130//
131// Use "Send" method on the returned Request to send the API call to the service.
132// the "output" return value is not valid until after Send returns without error.
133//
134// See CountOpenWorkflowExecutions for more information on using the CountOpenWorkflowExecutions
135// API call, and error handling.
136//
137// This method is useful when you want to inject custom logic or configuration
138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
139//
140//
141//    // Example sending a request using the CountOpenWorkflowExecutionsRequest method.
142//    req, resp := client.CountOpenWorkflowExecutionsRequest(params)
143//
144//    err := req.Send()
145//    if err == nil { // resp is now filled
146//        fmt.Println(resp)
147//    }
148func (c *SWF) CountOpenWorkflowExecutionsRequest(input *CountOpenWorkflowExecutionsInput) (req *request.Request, output *WorkflowExecutionCount) {
149	op := &request.Operation{
150		Name:       opCountOpenWorkflowExecutions,
151		HTTPMethod: "POST",
152		HTTPPath:   "/",
153	}
154
155	if input == nil {
156		input = &CountOpenWorkflowExecutionsInput{}
157	}
158
159	output = &WorkflowExecutionCount{}
160	req = c.newRequest(op, input, output)
161	return
162}
163
164// CountOpenWorkflowExecutions API operation for Amazon Simple Workflow Service.
165//
166// Returns the number of open workflow executions within the given domain that
167// meet the specified filtering criteria.
168//
169// This operation is eventually consistent. The results are best effort and
170// may not exactly reflect recent updates and changes.
171//
172// Access Control
173//
174// You can use IAM policies to control this action's access to Amazon SWF resources
175// as follows:
176//
177//    * Use a Resource element with the domain name to limit the action to only
178//    specified domains.
179//
180//    * Use an Action element to allow or deny permission to call this action.
181//
182//    * Constrain the following parameters by using a Condition element with
183//    the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
184//    typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version:
185//    String constraint. The key is swf:typeFilter.version.
186//
187// If the caller doesn't have sufficient permissions to invoke the action, or
188// the parameter values fall outside the specified constraints, the action fails.
189// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
190// For details and example IAM policies, see Using IAM to Manage Access to Amazon
191// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
192// in the Amazon SWF Developer Guide.
193//
194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
195// with awserr.Error's Code and Message methods to get detailed information about
196// the error.
197//
198// See the AWS API reference guide for Amazon Simple Workflow Service's
199// API operation CountOpenWorkflowExecutions for usage and error information.
200//
201// Returned Error Types:
202//   * UnknownResourceFault
203//   Returned when the named resource cannot be found with in the scope of this
204//   operation (region or domain). This could happen if the named resource was
205//   never created or is no longer available for this operation.
206//
207//   * OperationNotPermittedFault
208//   Returned when the caller doesn't have sufficient permissions to invoke the
209//   action.
210//
211func (c *SWF) CountOpenWorkflowExecutions(input *CountOpenWorkflowExecutionsInput) (*WorkflowExecutionCount, error) {
212	req, out := c.CountOpenWorkflowExecutionsRequest(input)
213	return out, req.Send()
214}
215
216// CountOpenWorkflowExecutionsWithContext is the same as CountOpenWorkflowExecutions with the addition of
217// the ability to pass a context and additional request options.
218//
219// See CountOpenWorkflowExecutions for details on how to use this API operation.
220//
221// The context must be non-nil and will be used for request cancellation. If
222// the context is nil a panic will occur. In the future the SDK may create
223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
224// for more information on using Contexts.
225func (c *SWF) CountOpenWorkflowExecutionsWithContext(ctx aws.Context, input *CountOpenWorkflowExecutionsInput, opts ...request.Option) (*WorkflowExecutionCount, error) {
226	req, out := c.CountOpenWorkflowExecutionsRequest(input)
227	req.SetContext(ctx)
228	req.ApplyOptions(opts...)
229	return out, req.Send()
230}
231
232const opCountPendingActivityTasks = "CountPendingActivityTasks"
233
234// CountPendingActivityTasksRequest generates a "aws/request.Request" representing the
235// client's request for the CountPendingActivityTasks operation. The "output" return
236// value will be populated with the request's response once the request completes
237// successfully.
238//
239// Use "Send" method on the returned Request to send the API call to the service.
240// the "output" return value is not valid until after Send returns without error.
241//
242// See CountPendingActivityTasks for more information on using the CountPendingActivityTasks
243// API call, and error handling.
244//
245// This method is useful when you want to inject custom logic or configuration
246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
247//
248//
249//    // Example sending a request using the CountPendingActivityTasksRequest method.
250//    req, resp := client.CountPendingActivityTasksRequest(params)
251//
252//    err := req.Send()
253//    if err == nil { // resp is now filled
254//        fmt.Println(resp)
255//    }
256func (c *SWF) CountPendingActivityTasksRequest(input *CountPendingActivityTasksInput) (req *request.Request, output *PendingTaskCount) {
257	op := &request.Operation{
258		Name:       opCountPendingActivityTasks,
259		HTTPMethod: "POST",
260		HTTPPath:   "/",
261	}
262
263	if input == nil {
264		input = &CountPendingActivityTasksInput{}
265	}
266
267	output = &PendingTaskCount{}
268	req = c.newRequest(op, input, output)
269	return
270}
271
272// CountPendingActivityTasks API operation for Amazon Simple Workflow Service.
273//
274// Returns the estimated number of activity tasks in the specified task list.
275// The count returned is an approximation and isn't guaranteed to be exact.
276// If you specify a task list that no activity task was ever scheduled in then
277// 0 is returned.
278//
279// Access Control
280//
281// You can use IAM policies to control this action's access to Amazon SWF resources
282// as follows:
283//
284//    * Use a Resource element with the domain name to limit the action to only
285//    specified domains.
286//
287//    * Use an Action element to allow or deny permission to call this action.
288//
289//    * Constrain the taskList.name parameter by using a Condition element with
290//    the swf:taskList.name key to allow the action to access only certain task
291//    lists.
292//
293// If the caller doesn't have sufficient permissions to invoke the action, or
294// the parameter values fall outside the specified constraints, the action fails.
295// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
296// For details and example IAM policies, see Using IAM to Manage Access to Amazon
297// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
298// in the Amazon SWF Developer Guide.
299//
300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
301// with awserr.Error's Code and Message methods to get detailed information about
302// the error.
303//
304// See the AWS API reference guide for Amazon Simple Workflow Service's
305// API operation CountPendingActivityTasks for usage and error information.
306//
307// Returned Error Types:
308//   * UnknownResourceFault
309//   Returned when the named resource cannot be found with in the scope of this
310//   operation (region or domain). This could happen if the named resource was
311//   never created or is no longer available for this operation.
312//
313//   * OperationNotPermittedFault
314//   Returned when the caller doesn't have sufficient permissions to invoke the
315//   action.
316//
317func (c *SWF) CountPendingActivityTasks(input *CountPendingActivityTasksInput) (*PendingTaskCount, error) {
318	req, out := c.CountPendingActivityTasksRequest(input)
319	return out, req.Send()
320}
321
322// CountPendingActivityTasksWithContext is the same as CountPendingActivityTasks with the addition of
323// the ability to pass a context and additional request options.
324//
325// See CountPendingActivityTasks for details on how to use this API operation.
326//
327// The context must be non-nil and will be used for request cancellation. If
328// the context is nil a panic will occur. In the future the SDK may create
329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
330// for more information on using Contexts.
331func (c *SWF) CountPendingActivityTasksWithContext(ctx aws.Context, input *CountPendingActivityTasksInput, opts ...request.Option) (*PendingTaskCount, error) {
332	req, out := c.CountPendingActivityTasksRequest(input)
333	req.SetContext(ctx)
334	req.ApplyOptions(opts...)
335	return out, req.Send()
336}
337
338const opCountPendingDecisionTasks = "CountPendingDecisionTasks"
339
340// CountPendingDecisionTasksRequest generates a "aws/request.Request" representing the
341// client's request for the CountPendingDecisionTasks operation. The "output" return
342// value will be populated with the request's response once the request completes
343// successfully.
344//
345// Use "Send" method on the returned Request to send the API call to the service.
346// the "output" return value is not valid until after Send returns without error.
347//
348// See CountPendingDecisionTasks for more information on using the CountPendingDecisionTasks
349// API call, and error handling.
350//
351// This method is useful when you want to inject custom logic or configuration
352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
353//
354//
355//    // Example sending a request using the CountPendingDecisionTasksRequest method.
356//    req, resp := client.CountPendingDecisionTasksRequest(params)
357//
358//    err := req.Send()
359//    if err == nil { // resp is now filled
360//        fmt.Println(resp)
361//    }
362func (c *SWF) CountPendingDecisionTasksRequest(input *CountPendingDecisionTasksInput) (req *request.Request, output *PendingTaskCount) {
363	op := &request.Operation{
364		Name:       opCountPendingDecisionTasks,
365		HTTPMethod: "POST",
366		HTTPPath:   "/",
367	}
368
369	if input == nil {
370		input = &CountPendingDecisionTasksInput{}
371	}
372
373	output = &PendingTaskCount{}
374	req = c.newRequest(op, input, output)
375	return
376}
377
378// CountPendingDecisionTasks API operation for Amazon Simple Workflow Service.
379//
380// Returns the estimated number of decision tasks in the specified task list.
381// The count returned is an approximation and isn't guaranteed to be exact.
382// If you specify a task list that no decision task was ever scheduled in then
383// 0 is returned.
384//
385// Access Control
386//
387// You can use IAM policies to control this action's access to Amazon SWF resources
388// as follows:
389//
390//    * Use a Resource element with the domain name to limit the action to only
391//    specified domains.
392//
393//    * Use an Action element to allow or deny permission to call this action.
394//
395//    * Constrain the taskList.name parameter by using a Condition element with
396//    the swf:taskList.name key to allow the action to access only certain task
397//    lists.
398//
399// If the caller doesn't have sufficient permissions to invoke the action, or
400// the parameter values fall outside the specified constraints, the action fails.
401// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
402// For details and example IAM policies, see Using IAM to Manage Access to Amazon
403// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
404// in the Amazon SWF Developer Guide.
405//
406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
407// with awserr.Error's Code and Message methods to get detailed information about
408// the error.
409//
410// See the AWS API reference guide for Amazon Simple Workflow Service's
411// API operation CountPendingDecisionTasks for usage and error information.
412//
413// Returned Error Types:
414//   * UnknownResourceFault
415//   Returned when the named resource cannot be found with in the scope of this
416//   operation (region or domain). This could happen if the named resource was
417//   never created or is no longer available for this operation.
418//
419//   * OperationNotPermittedFault
420//   Returned when the caller doesn't have sufficient permissions to invoke the
421//   action.
422//
423func (c *SWF) CountPendingDecisionTasks(input *CountPendingDecisionTasksInput) (*PendingTaskCount, error) {
424	req, out := c.CountPendingDecisionTasksRequest(input)
425	return out, req.Send()
426}
427
428// CountPendingDecisionTasksWithContext is the same as CountPendingDecisionTasks with the addition of
429// the ability to pass a context and additional request options.
430//
431// See CountPendingDecisionTasks for details on how to use this API operation.
432//
433// The context must be non-nil and will be used for request cancellation. If
434// the context is nil a panic will occur. In the future the SDK may create
435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
436// for more information on using Contexts.
437func (c *SWF) CountPendingDecisionTasksWithContext(ctx aws.Context, input *CountPendingDecisionTasksInput, opts ...request.Option) (*PendingTaskCount, error) {
438	req, out := c.CountPendingDecisionTasksRequest(input)
439	req.SetContext(ctx)
440	req.ApplyOptions(opts...)
441	return out, req.Send()
442}
443
444const opDeprecateActivityType = "DeprecateActivityType"
445
446// DeprecateActivityTypeRequest generates a "aws/request.Request" representing the
447// client's request for the DeprecateActivityType operation. The "output" return
448// value will be populated with the request's response once the request completes
449// successfully.
450//
451// Use "Send" method on the returned Request to send the API call to the service.
452// the "output" return value is not valid until after Send returns without error.
453//
454// See DeprecateActivityType for more information on using the DeprecateActivityType
455// API call, and error handling.
456//
457// This method is useful when you want to inject custom logic or configuration
458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
459//
460//
461//    // Example sending a request using the DeprecateActivityTypeRequest method.
462//    req, resp := client.DeprecateActivityTypeRequest(params)
463//
464//    err := req.Send()
465//    if err == nil { // resp is now filled
466//        fmt.Println(resp)
467//    }
468func (c *SWF) DeprecateActivityTypeRequest(input *DeprecateActivityTypeInput) (req *request.Request, output *DeprecateActivityTypeOutput) {
469	op := &request.Operation{
470		Name:       opDeprecateActivityType,
471		HTTPMethod: "POST",
472		HTTPPath:   "/",
473	}
474
475	if input == nil {
476		input = &DeprecateActivityTypeInput{}
477	}
478
479	output = &DeprecateActivityTypeOutput{}
480	req = c.newRequest(op, input, output)
481	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
482	return
483}
484
485// DeprecateActivityType API operation for Amazon Simple Workflow Service.
486//
487// Deprecates the specified activity type. After an activity type has been deprecated,
488// you cannot create new tasks of that activity type. Tasks of this type that
489// were scheduled before the type was deprecated continue to run.
490//
491// This operation is eventually consistent. The results are best effort and
492// may not exactly reflect recent updates and changes.
493//
494// Access Control
495//
496// You can use IAM policies to control this action's access to Amazon SWF resources
497// as follows:
498//
499//    * Use a Resource element with the domain name to limit the action to only
500//    specified domains.
501//
502//    * Use an Action element to allow or deny permission to call this action.
503//
504//    * Constrain the following parameters by using a Condition element with
505//    the appropriate keys. activityType.name: String constraint. The key is
506//    swf:activityType.name. activityType.version: String constraint. The key
507//    is swf:activityType.version.
508//
509// If the caller doesn't have sufficient permissions to invoke the action, or
510// the parameter values fall outside the specified constraints, the action fails.
511// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
512// For details and example IAM policies, see Using IAM to Manage Access to Amazon
513// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
514// in the Amazon SWF Developer Guide.
515//
516// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
517// with awserr.Error's Code and Message methods to get detailed information about
518// the error.
519//
520// See the AWS API reference guide for Amazon Simple Workflow Service's
521// API operation DeprecateActivityType for usage and error information.
522//
523// Returned Error Types:
524//   * UnknownResourceFault
525//   Returned when the named resource cannot be found with in the scope of this
526//   operation (region or domain). This could happen if the named resource was
527//   never created or is no longer available for this operation.
528//
529//   * TypeDeprecatedFault
530//   Returned when the specified activity or workflow type was already deprecated.
531//
532//   * OperationNotPermittedFault
533//   Returned when the caller doesn't have sufficient permissions to invoke the
534//   action.
535//
536func (c *SWF) DeprecateActivityType(input *DeprecateActivityTypeInput) (*DeprecateActivityTypeOutput, error) {
537	req, out := c.DeprecateActivityTypeRequest(input)
538	return out, req.Send()
539}
540
541// DeprecateActivityTypeWithContext is the same as DeprecateActivityType with the addition of
542// the ability to pass a context and additional request options.
543//
544// See DeprecateActivityType for details on how to use this API operation.
545//
546// The context must be non-nil and will be used for request cancellation. If
547// the context is nil a panic will occur. In the future the SDK may create
548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
549// for more information on using Contexts.
550func (c *SWF) DeprecateActivityTypeWithContext(ctx aws.Context, input *DeprecateActivityTypeInput, opts ...request.Option) (*DeprecateActivityTypeOutput, error) {
551	req, out := c.DeprecateActivityTypeRequest(input)
552	req.SetContext(ctx)
553	req.ApplyOptions(opts...)
554	return out, req.Send()
555}
556
557const opDeprecateDomain = "DeprecateDomain"
558
559// DeprecateDomainRequest generates a "aws/request.Request" representing the
560// client's request for the DeprecateDomain operation. The "output" return
561// value will be populated with the request's response once the request completes
562// successfully.
563//
564// Use "Send" method on the returned Request to send the API call to the service.
565// the "output" return value is not valid until after Send returns without error.
566//
567// See DeprecateDomain for more information on using the DeprecateDomain
568// API call, and error handling.
569//
570// This method is useful when you want to inject custom logic or configuration
571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
572//
573//
574//    // Example sending a request using the DeprecateDomainRequest method.
575//    req, resp := client.DeprecateDomainRequest(params)
576//
577//    err := req.Send()
578//    if err == nil { // resp is now filled
579//        fmt.Println(resp)
580//    }
581func (c *SWF) DeprecateDomainRequest(input *DeprecateDomainInput) (req *request.Request, output *DeprecateDomainOutput) {
582	op := &request.Operation{
583		Name:       opDeprecateDomain,
584		HTTPMethod: "POST",
585		HTTPPath:   "/",
586	}
587
588	if input == nil {
589		input = &DeprecateDomainInput{}
590	}
591
592	output = &DeprecateDomainOutput{}
593	req = c.newRequest(op, input, output)
594	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
595	return
596}
597
598// DeprecateDomain API operation for Amazon Simple Workflow Service.
599//
600// Deprecates the specified domain. After a domain has been deprecated it cannot
601// be used to create new workflow executions or register new types. However,
602// you can still use visibility actions on this domain. Deprecating a domain
603// also deprecates all activity and workflow types registered in the domain.
604// Executions that were started before the domain was deprecated continues to
605// run.
606//
607// This operation is eventually consistent. The results are best effort and
608// may not exactly reflect recent updates and changes.
609//
610// Access Control
611//
612// You can use IAM policies to control this action's access to Amazon SWF resources
613// as follows:
614//
615//    * Use a Resource element with the domain name to limit the action to only
616//    specified domains.
617//
618//    * Use an Action element to allow or deny permission to call this action.
619//
620//    * You cannot use an IAM policy to constrain this action's parameters.
621//
622// If the caller doesn't have sufficient permissions to invoke the action, or
623// the parameter values fall outside the specified constraints, the action fails.
624// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
625// For details and example IAM policies, see Using IAM to Manage Access to Amazon
626// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
627// in the Amazon SWF Developer Guide.
628//
629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
630// with awserr.Error's Code and Message methods to get detailed information about
631// the error.
632//
633// See the AWS API reference guide for Amazon Simple Workflow Service's
634// API operation DeprecateDomain for usage and error information.
635//
636// Returned Error Types:
637//   * UnknownResourceFault
638//   Returned when the named resource cannot be found with in the scope of this
639//   operation (region or domain). This could happen if the named resource was
640//   never created or is no longer available for this operation.
641//
642//   * DomainDeprecatedFault
643//   Returned when the specified domain has been deprecated.
644//
645//   * OperationNotPermittedFault
646//   Returned when the caller doesn't have sufficient permissions to invoke the
647//   action.
648//
649func (c *SWF) DeprecateDomain(input *DeprecateDomainInput) (*DeprecateDomainOutput, error) {
650	req, out := c.DeprecateDomainRequest(input)
651	return out, req.Send()
652}
653
654// DeprecateDomainWithContext is the same as DeprecateDomain with the addition of
655// the ability to pass a context and additional request options.
656//
657// See DeprecateDomain for details on how to use this API operation.
658//
659// The context must be non-nil and will be used for request cancellation. If
660// the context is nil a panic will occur. In the future the SDK may create
661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
662// for more information on using Contexts.
663func (c *SWF) DeprecateDomainWithContext(ctx aws.Context, input *DeprecateDomainInput, opts ...request.Option) (*DeprecateDomainOutput, error) {
664	req, out := c.DeprecateDomainRequest(input)
665	req.SetContext(ctx)
666	req.ApplyOptions(opts...)
667	return out, req.Send()
668}
669
670const opDeprecateWorkflowType = "DeprecateWorkflowType"
671
672// DeprecateWorkflowTypeRequest generates a "aws/request.Request" representing the
673// client's request for the DeprecateWorkflowType operation. The "output" return
674// value will be populated with the request's response once the request completes
675// successfully.
676//
677// Use "Send" method on the returned Request to send the API call to the service.
678// the "output" return value is not valid until after Send returns without error.
679//
680// See DeprecateWorkflowType for more information on using the DeprecateWorkflowType
681// API call, and error handling.
682//
683// This method is useful when you want to inject custom logic or configuration
684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
685//
686//
687//    // Example sending a request using the DeprecateWorkflowTypeRequest method.
688//    req, resp := client.DeprecateWorkflowTypeRequest(params)
689//
690//    err := req.Send()
691//    if err == nil { // resp is now filled
692//        fmt.Println(resp)
693//    }
694func (c *SWF) DeprecateWorkflowTypeRequest(input *DeprecateWorkflowTypeInput) (req *request.Request, output *DeprecateWorkflowTypeOutput) {
695	op := &request.Operation{
696		Name:       opDeprecateWorkflowType,
697		HTTPMethod: "POST",
698		HTTPPath:   "/",
699	}
700
701	if input == nil {
702		input = &DeprecateWorkflowTypeInput{}
703	}
704
705	output = &DeprecateWorkflowTypeOutput{}
706	req = c.newRequest(op, input, output)
707	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
708	return
709}
710
711// DeprecateWorkflowType API operation for Amazon Simple Workflow Service.
712//
713// Deprecates the specified workflow type. After a workflow type has been deprecated,
714// you cannot create new executions of that type. Executions that were started
715// before the type was deprecated continues to run. A deprecated workflow type
716// may still be used when calling visibility actions.
717//
718// This operation is eventually consistent. The results are best effort and
719// may not exactly reflect recent updates and changes.
720//
721// Access Control
722//
723// You can use IAM policies to control this action's access to Amazon SWF resources
724// as follows:
725//
726//    * Use a Resource element with the domain name to limit the action to only
727//    specified domains.
728//
729//    * Use an Action element to allow or deny permission to call this action.
730//
731//    * Constrain the following parameters by using a Condition element with
732//    the appropriate keys. workflowType.name: String constraint. The key is
733//    swf:workflowType.name. workflowType.version: String constraint. The key
734//    is swf:workflowType.version.
735//
736// If the caller doesn't have sufficient permissions to invoke the action, or
737// the parameter values fall outside the specified constraints, the action fails.
738// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
739// For details and example IAM policies, see Using IAM to Manage Access to Amazon
740// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
741// in the Amazon SWF Developer Guide.
742//
743// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
744// with awserr.Error's Code and Message methods to get detailed information about
745// the error.
746//
747// See the AWS API reference guide for Amazon Simple Workflow Service's
748// API operation DeprecateWorkflowType for usage and error information.
749//
750// Returned Error Types:
751//   * UnknownResourceFault
752//   Returned when the named resource cannot be found with in the scope of this
753//   operation (region or domain). This could happen if the named resource was
754//   never created or is no longer available for this operation.
755//
756//   * TypeDeprecatedFault
757//   Returned when the specified activity or workflow type was already deprecated.
758//
759//   * OperationNotPermittedFault
760//   Returned when the caller doesn't have sufficient permissions to invoke the
761//   action.
762//
763func (c *SWF) DeprecateWorkflowType(input *DeprecateWorkflowTypeInput) (*DeprecateWorkflowTypeOutput, error) {
764	req, out := c.DeprecateWorkflowTypeRequest(input)
765	return out, req.Send()
766}
767
768// DeprecateWorkflowTypeWithContext is the same as DeprecateWorkflowType with the addition of
769// the ability to pass a context and additional request options.
770//
771// See DeprecateWorkflowType for details on how to use this API operation.
772//
773// The context must be non-nil and will be used for request cancellation. If
774// the context is nil a panic will occur. In the future the SDK may create
775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
776// for more information on using Contexts.
777func (c *SWF) DeprecateWorkflowTypeWithContext(ctx aws.Context, input *DeprecateWorkflowTypeInput, opts ...request.Option) (*DeprecateWorkflowTypeOutput, error) {
778	req, out := c.DeprecateWorkflowTypeRequest(input)
779	req.SetContext(ctx)
780	req.ApplyOptions(opts...)
781	return out, req.Send()
782}
783
784const opDescribeActivityType = "DescribeActivityType"
785
786// DescribeActivityTypeRequest generates a "aws/request.Request" representing the
787// client's request for the DescribeActivityType operation. The "output" return
788// value will be populated with the request's response once the request completes
789// successfully.
790//
791// Use "Send" method on the returned Request to send the API call to the service.
792// the "output" return value is not valid until after Send returns without error.
793//
794// See DescribeActivityType for more information on using the DescribeActivityType
795// API call, and error handling.
796//
797// This method is useful when you want to inject custom logic or configuration
798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
799//
800//
801//    // Example sending a request using the DescribeActivityTypeRequest method.
802//    req, resp := client.DescribeActivityTypeRequest(params)
803//
804//    err := req.Send()
805//    if err == nil { // resp is now filled
806//        fmt.Println(resp)
807//    }
808func (c *SWF) DescribeActivityTypeRequest(input *DescribeActivityTypeInput) (req *request.Request, output *DescribeActivityTypeOutput) {
809	op := &request.Operation{
810		Name:       opDescribeActivityType,
811		HTTPMethod: "POST",
812		HTTPPath:   "/",
813	}
814
815	if input == nil {
816		input = &DescribeActivityTypeInput{}
817	}
818
819	output = &DescribeActivityTypeOutput{}
820	req = c.newRequest(op, input, output)
821	return
822}
823
824// DescribeActivityType API operation for Amazon Simple Workflow Service.
825//
826// Returns information about the specified activity type. This includes configuration
827// settings provided when the type was registered and other general information
828// about the type.
829//
830// Access Control
831//
832// You can use IAM policies to control this action's access to Amazon SWF resources
833// as follows:
834//
835//    * Use a Resource element with the domain name to limit the action to only
836//    specified domains.
837//
838//    * Use an Action element to allow or deny permission to call this action.
839//
840//    * Constrain the following parameters by using a Condition element with
841//    the appropriate keys. activityType.name: String constraint. The key is
842//    swf:activityType.name. activityType.version: String constraint. The key
843//    is swf:activityType.version.
844//
845// If the caller doesn't have sufficient permissions to invoke the action, or
846// the parameter values fall outside the specified constraints, the action fails.
847// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
848// For details and example IAM policies, see Using IAM to Manage Access to Amazon
849// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
850// in the Amazon SWF Developer Guide.
851//
852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
853// with awserr.Error's Code and Message methods to get detailed information about
854// the error.
855//
856// See the AWS API reference guide for Amazon Simple Workflow Service's
857// API operation DescribeActivityType for usage and error information.
858//
859// Returned Error Types:
860//   * UnknownResourceFault
861//   Returned when the named resource cannot be found with in the scope of this
862//   operation (region or domain). This could happen if the named resource was
863//   never created or is no longer available for this operation.
864//
865//   * OperationNotPermittedFault
866//   Returned when the caller doesn't have sufficient permissions to invoke the
867//   action.
868//
869func (c *SWF) DescribeActivityType(input *DescribeActivityTypeInput) (*DescribeActivityTypeOutput, error) {
870	req, out := c.DescribeActivityTypeRequest(input)
871	return out, req.Send()
872}
873
874// DescribeActivityTypeWithContext is the same as DescribeActivityType with the addition of
875// the ability to pass a context and additional request options.
876//
877// See DescribeActivityType for details on how to use this API operation.
878//
879// The context must be non-nil and will be used for request cancellation. If
880// the context is nil a panic will occur. In the future the SDK may create
881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
882// for more information on using Contexts.
883func (c *SWF) DescribeActivityTypeWithContext(ctx aws.Context, input *DescribeActivityTypeInput, opts ...request.Option) (*DescribeActivityTypeOutput, error) {
884	req, out := c.DescribeActivityTypeRequest(input)
885	req.SetContext(ctx)
886	req.ApplyOptions(opts...)
887	return out, req.Send()
888}
889
890const opDescribeDomain = "DescribeDomain"
891
892// DescribeDomainRequest generates a "aws/request.Request" representing the
893// client's request for the DescribeDomain operation. The "output" return
894// value will be populated with the request's response once the request completes
895// successfully.
896//
897// Use "Send" method on the returned Request to send the API call to the service.
898// the "output" return value is not valid until after Send returns without error.
899//
900// See DescribeDomain for more information on using the DescribeDomain
901// API call, and error handling.
902//
903// This method is useful when you want to inject custom logic or configuration
904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
905//
906//
907//    // Example sending a request using the DescribeDomainRequest method.
908//    req, resp := client.DescribeDomainRequest(params)
909//
910//    err := req.Send()
911//    if err == nil { // resp is now filled
912//        fmt.Println(resp)
913//    }
914func (c *SWF) DescribeDomainRequest(input *DescribeDomainInput) (req *request.Request, output *DescribeDomainOutput) {
915	op := &request.Operation{
916		Name:       opDescribeDomain,
917		HTTPMethod: "POST",
918		HTTPPath:   "/",
919	}
920
921	if input == nil {
922		input = &DescribeDomainInput{}
923	}
924
925	output = &DescribeDomainOutput{}
926	req = c.newRequest(op, input, output)
927	return
928}
929
930// DescribeDomain API operation for Amazon Simple Workflow Service.
931//
932// Returns information about the specified domain, including description and
933// status.
934//
935// Access Control
936//
937// You can use IAM policies to control this action's access to Amazon SWF resources
938// as follows:
939//
940//    * Use a Resource element with the domain name to limit the action to only
941//    specified domains.
942//
943//    * Use an Action element to allow or deny permission to call this action.
944//
945//    * You cannot use an IAM policy to constrain this action's parameters.
946//
947// If the caller doesn't have sufficient permissions to invoke the action, or
948// the parameter values fall outside the specified constraints, the action fails.
949// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
950// For details and example IAM policies, see Using IAM to Manage Access to Amazon
951// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
952// in the Amazon SWF Developer Guide.
953//
954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
955// with awserr.Error's Code and Message methods to get detailed information about
956// the error.
957//
958// See the AWS API reference guide for Amazon Simple Workflow Service's
959// API operation DescribeDomain for usage and error information.
960//
961// Returned Error Types:
962//   * UnknownResourceFault
963//   Returned when the named resource cannot be found with in the scope of this
964//   operation (region or domain). This could happen if the named resource was
965//   never created or is no longer available for this operation.
966//
967//   * OperationNotPermittedFault
968//   Returned when the caller doesn't have sufficient permissions to invoke the
969//   action.
970//
971func (c *SWF) DescribeDomain(input *DescribeDomainInput) (*DescribeDomainOutput, error) {
972	req, out := c.DescribeDomainRequest(input)
973	return out, req.Send()
974}
975
976// DescribeDomainWithContext is the same as DescribeDomain with the addition of
977// the ability to pass a context and additional request options.
978//
979// See DescribeDomain for details on how to use this API operation.
980//
981// The context must be non-nil and will be used for request cancellation. If
982// the context is nil a panic will occur. In the future the SDK may create
983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
984// for more information on using Contexts.
985func (c *SWF) DescribeDomainWithContext(ctx aws.Context, input *DescribeDomainInput, opts ...request.Option) (*DescribeDomainOutput, error) {
986	req, out := c.DescribeDomainRequest(input)
987	req.SetContext(ctx)
988	req.ApplyOptions(opts...)
989	return out, req.Send()
990}
991
992const opDescribeWorkflowExecution = "DescribeWorkflowExecution"
993
994// DescribeWorkflowExecutionRequest generates a "aws/request.Request" representing the
995// client's request for the DescribeWorkflowExecution operation. The "output" return
996// value will be populated with the request's response once the request completes
997// successfully.
998//
999// Use "Send" method on the returned Request to send the API call to the service.
1000// the "output" return value is not valid until after Send returns without error.
1001//
1002// See DescribeWorkflowExecution for more information on using the DescribeWorkflowExecution
1003// API call, and error handling.
1004//
1005// This method is useful when you want to inject custom logic or configuration
1006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1007//
1008//
1009//    // Example sending a request using the DescribeWorkflowExecutionRequest method.
1010//    req, resp := client.DescribeWorkflowExecutionRequest(params)
1011//
1012//    err := req.Send()
1013//    if err == nil { // resp is now filled
1014//        fmt.Println(resp)
1015//    }
1016func (c *SWF) DescribeWorkflowExecutionRequest(input *DescribeWorkflowExecutionInput) (req *request.Request, output *DescribeWorkflowExecutionOutput) {
1017	op := &request.Operation{
1018		Name:       opDescribeWorkflowExecution,
1019		HTTPMethod: "POST",
1020		HTTPPath:   "/",
1021	}
1022
1023	if input == nil {
1024		input = &DescribeWorkflowExecutionInput{}
1025	}
1026
1027	output = &DescribeWorkflowExecutionOutput{}
1028	req = c.newRequest(op, input, output)
1029	return
1030}
1031
1032// DescribeWorkflowExecution API operation for Amazon Simple Workflow Service.
1033//
1034// Returns information about the specified workflow execution including its
1035// type and some statistics.
1036//
1037// This operation is eventually consistent. The results are best effort and
1038// may not exactly reflect recent updates and changes.
1039//
1040// Access Control
1041//
1042// You can use IAM policies to control this action's access to Amazon SWF resources
1043// as follows:
1044//
1045//    * Use a Resource element with the domain name to limit the action to only
1046//    specified domains.
1047//
1048//    * Use an Action element to allow or deny permission to call this action.
1049//
1050//    * You cannot use an IAM policy to constrain this action's parameters.
1051//
1052// If the caller doesn't have sufficient permissions to invoke the action, or
1053// the parameter values fall outside the specified constraints, the action fails.
1054// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1055// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1056// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1057// in the Amazon SWF Developer Guide.
1058//
1059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1060// with awserr.Error's Code and Message methods to get detailed information about
1061// the error.
1062//
1063// See the AWS API reference guide for Amazon Simple Workflow Service's
1064// API operation DescribeWorkflowExecution for usage and error information.
1065//
1066// Returned Error Types:
1067//   * UnknownResourceFault
1068//   Returned when the named resource cannot be found with in the scope of this
1069//   operation (region or domain). This could happen if the named resource was
1070//   never created or is no longer available for this operation.
1071//
1072//   * OperationNotPermittedFault
1073//   Returned when the caller doesn't have sufficient permissions to invoke the
1074//   action.
1075//
1076func (c *SWF) DescribeWorkflowExecution(input *DescribeWorkflowExecutionInput) (*DescribeWorkflowExecutionOutput, error) {
1077	req, out := c.DescribeWorkflowExecutionRequest(input)
1078	return out, req.Send()
1079}
1080
1081// DescribeWorkflowExecutionWithContext is the same as DescribeWorkflowExecution with the addition of
1082// the ability to pass a context and additional request options.
1083//
1084// See DescribeWorkflowExecution for details on how to use this API operation.
1085//
1086// The context must be non-nil and will be used for request cancellation. If
1087// the context is nil a panic will occur. In the future the SDK may create
1088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1089// for more information on using Contexts.
1090func (c *SWF) DescribeWorkflowExecutionWithContext(ctx aws.Context, input *DescribeWorkflowExecutionInput, opts ...request.Option) (*DescribeWorkflowExecutionOutput, error) {
1091	req, out := c.DescribeWorkflowExecutionRequest(input)
1092	req.SetContext(ctx)
1093	req.ApplyOptions(opts...)
1094	return out, req.Send()
1095}
1096
1097const opDescribeWorkflowType = "DescribeWorkflowType"
1098
1099// DescribeWorkflowTypeRequest generates a "aws/request.Request" representing the
1100// client's request for the DescribeWorkflowType operation. The "output" return
1101// value will be populated with the request's response once the request completes
1102// successfully.
1103//
1104// Use "Send" method on the returned Request to send the API call to the service.
1105// the "output" return value is not valid until after Send returns without error.
1106//
1107// See DescribeWorkflowType for more information on using the DescribeWorkflowType
1108// API call, and error handling.
1109//
1110// This method is useful when you want to inject custom logic or configuration
1111// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1112//
1113//
1114//    // Example sending a request using the DescribeWorkflowTypeRequest method.
1115//    req, resp := client.DescribeWorkflowTypeRequest(params)
1116//
1117//    err := req.Send()
1118//    if err == nil { // resp is now filled
1119//        fmt.Println(resp)
1120//    }
1121func (c *SWF) DescribeWorkflowTypeRequest(input *DescribeWorkflowTypeInput) (req *request.Request, output *DescribeWorkflowTypeOutput) {
1122	op := &request.Operation{
1123		Name:       opDescribeWorkflowType,
1124		HTTPMethod: "POST",
1125		HTTPPath:   "/",
1126	}
1127
1128	if input == nil {
1129		input = &DescribeWorkflowTypeInput{}
1130	}
1131
1132	output = &DescribeWorkflowTypeOutput{}
1133	req = c.newRequest(op, input, output)
1134	return
1135}
1136
1137// DescribeWorkflowType API operation for Amazon Simple Workflow Service.
1138//
1139// Returns information about the specified workflow type. This includes configuration
1140// settings specified when the type was registered and other information such
1141// as creation date, current status, etc.
1142//
1143// Access Control
1144//
1145// You can use IAM policies to control this action's access to Amazon SWF resources
1146// as follows:
1147//
1148//    * Use a Resource element with the domain name to limit the action to only
1149//    specified domains.
1150//
1151//    * Use an Action element to allow or deny permission to call this action.
1152//
1153//    * Constrain the following parameters by using a Condition element with
1154//    the appropriate keys. workflowType.name: String constraint. The key is
1155//    swf:workflowType.name. workflowType.version: String constraint. The key
1156//    is swf:workflowType.version.
1157//
1158// If the caller doesn't have sufficient permissions to invoke the action, or
1159// the parameter values fall outside the specified constraints, the action fails.
1160// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1161// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1162// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1163// in the Amazon SWF Developer Guide.
1164//
1165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1166// with awserr.Error's Code and Message methods to get detailed information about
1167// the error.
1168//
1169// See the AWS API reference guide for Amazon Simple Workflow Service's
1170// API operation DescribeWorkflowType for usage and error information.
1171//
1172// Returned Error Types:
1173//   * UnknownResourceFault
1174//   Returned when the named resource cannot be found with in the scope of this
1175//   operation (region or domain). This could happen if the named resource was
1176//   never created or is no longer available for this operation.
1177//
1178//   * OperationNotPermittedFault
1179//   Returned when the caller doesn't have sufficient permissions to invoke the
1180//   action.
1181//
1182func (c *SWF) DescribeWorkflowType(input *DescribeWorkflowTypeInput) (*DescribeWorkflowTypeOutput, error) {
1183	req, out := c.DescribeWorkflowTypeRequest(input)
1184	return out, req.Send()
1185}
1186
1187// DescribeWorkflowTypeWithContext is the same as DescribeWorkflowType with the addition of
1188// the ability to pass a context and additional request options.
1189//
1190// See DescribeWorkflowType for details on how to use this API operation.
1191//
1192// The context must be non-nil and will be used for request cancellation. If
1193// the context is nil a panic will occur. In the future the SDK may create
1194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1195// for more information on using Contexts.
1196func (c *SWF) DescribeWorkflowTypeWithContext(ctx aws.Context, input *DescribeWorkflowTypeInput, opts ...request.Option) (*DescribeWorkflowTypeOutput, error) {
1197	req, out := c.DescribeWorkflowTypeRequest(input)
1198	req.SetContext(ctx)
1199	req.ApplyOptions(opts...)
1200	return out, req.Send()
1201}
1202
1203const opGetWorkflowExecutionHistory = "GetWorkflowExecutionHistory"
1204
1205// GetWorkflowExecutionHistoryRequest generates a "aws/request.Request" representing the
1206// client's request for the GetWorkflowExecutionHistory operation. The "output" return
1207// value will be populated with the request's response once the request completes
1208// successfully.
1209//
1210// Use "Send" method on the returned Request to send the API call to the service.
1211// the "output" return value is not valid until after Send returns without error.
1212//
1213// See GetWorkflowExecutionHistory for more information on using the GetWorkflowExecutionHistory
1214// API call, and error handling.
1215//
1216// This method is useful when you want to inject custom logic or configuration
1217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1218//
1219//
1220//    // Example sending a request using the GetWorkflowExecutionHistoryRequest method.
1221//    req, resp := client.GetWorkflowExecutionHistoryRequest(params)
1222//
1223//    err := req.Send()
1224//    if err == nil { // resp is now filled
1225//        fmt.Println(resp)
1226//    }
1227func (c *SWF) GetWorkflowExecutionHistoryRequest(input *GetWorkflowExecutionHistoryInput) (req *request.Request, output *GetWorkflowExecutionHistoryOutput) {
1228	op := &request.Operation{
1229		Name:       opGetWorkflowExecutionHistory,
1230		HTTPMethod: "POST",
1231		HTTPPath:   "/",
1232		Paginator: &request.Paginator{
1233			InputTokens:     []string{"nextPageToken"},
1234			OutputTokens:    []string{"nextPageToken"},
1235			LimitToken:      "maximumPageSize",
1236			TruncationToken: "",
1237		},
1238	}
1239
1240	if input == nil {
1241		input = &GetWorkflowExecutionHistoryInput{}
1242	}
1243
1244	output = &GetWorkflowExecutionHistoryOutput{}
1245	req = c.newRequest(op, input, output)
1246	return
1247}
1248
1249// GetWorkflowExecutionHistory API operation for Amazon Simple Workflow Service.
1250//
1251// Returns the history of the specified workflow execution. The results may
1252// be split into multiple pages. To retrieve subsequent pages, make the call
1253// again using the nextPageToken returned by the initial call.
1254//
1255// This operation is eventually consistent. The results are best effort and
1256// may not exactly reflect recent updates and changes.
1257//
1258// Access Control
1259//
1260// You can use IAM policies to control this action's access to Amazon SWF resources
1261// as follows:
1262//
1263//    * Use a Resource element with the domain name to limit the action to only
1264//    specified domains.
1265//
1266//    * Use an Action element to allow or deny permission to call this action.
1267//
1268//    * You cannot use an IAM policy to constrain this action's parameters.
1269//
1270// If the caller doesn't have sufficient permissions to invoke the action, or
1271// the parameter values fall outside the specified constraints, the action fails.
1272// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1273// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1274// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1275// in the Amazon SWF Developer Guide.
1276//
1277// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1278// with awserr.Error's Code and Message methods to get detailed information about
1279// the error.
1280//
1281// See the AWS API reference guide for Amazon Simple Workflow Service's
1282// API operation GetWorkflowExecutionHistory for usage and error information.
1283//
1284// Returned Error Types:
1285//   * UnknownResourceFault
1286//   Returned when the named resource cannot be found with in the scope of this
1287//   operation (region or domain). This could happen if the named resource was
1288//   never created or is no longer available for this operation.
1289//
1290//   * OperationNotPermittedFault
1291//   Returned when the caller doesn't have sufficient permissions to invoke the
1292//   action.
1293//
1294func (c *SWF) GetWorkflowExecutionHistory(input *GetWorkflowExecutionHistoryInput) (*GetWorkflowExecutionHistoryOutput, error) {
1295	req, out := c.GetWorkflowExecutionHistoryRequest(input)
1296	return out, req.Send()
1297}
1298
1299// GetWorkflowExecutionHistoryWithContext is the same as GetWorkflowExecutionHistory with the addition of
1300// the ability to pass a context and additional request options.
1301//
1302// See GetWorkflowExecutionHistory for details on how to use this API operation.
1303//
1304// The context must be non-nil and will be used for request cancellation. If
1305// the context is nil a panic will occur. In the future the SDK may create
1306// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1307// for more information on using Contexts.
1308func (c *SWF) GetWorkflowExecutionHistoryWithContext(ctx aws.Context, input *GetWorkflowExecutionHistoryInput, opts ...request.Option) (*GetWorkflowExecutionHistoryOutput, error) {
1309	req, out := c.GetWorkflowExecutionHistoryRequest(input)
1310	req.SetContext(ctx)
1311	req.ApplyOptions(opts...)
1312	return out, req.Send()
1313}
1314
1315// GetWorkflowExecutionHistoryPages iterates over the pages of a GetWorkflowExecutionHistory operation,
1316// calling the "fn" function with the response data for each page. To stop
1317// iterating, return false from the fn function.
1318//
1319// See GetWorkflowExecutionHistory method for more information on how to use this operation.
1320//
1321// Note: This operation can generate multiple requests to a service.
1322//
1323//    // Example iterating over at most 3 pages of a GetWorkflowExecutionHistory operation.
1324//    pageNum := 0
1325//    err := client.GetWorkflowExecutionHistoryPages(params,
1326//        func(page *swf.GetWorkflowExecutionHistoryOutput, lastPage bool) bool {
1327//            pageNum++
1328//            fmt.Println(page)
1329//            return pageNum <= 3
1330//        })
1331//
1332func (c *SWF) GetWorkflowExecutionHistoryPages(input *GetWorkflowExecutionHistoryInput, fn func(*GetWorkflowExecutionHistoryOutput, bool) bool) error {
1333	return c.GetWorkflowExecutionHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
1334}
1335
1336// GetWorkflowExecutionHistoryPagesWithContext same as GetWorkflowExecutionHistoryPages except
1337// it takes a Context and allows setting request options on the pages.
1338//
1339// The context must be non-nil and will be used for request cancellation. If
1340// the context is nil a panic will occur. In the future the SDK may create
1341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1342// for more information on using Contexts.
1343func (c *SWF) GetWorkflowExecutionHistoryPagesWithContext(ctx aws.Context, input *GetWorkflowExecutionHistoryInput, fn func(*GetWorkflowExecutionHistoryOutput, bool) bool, opts ...request.Option) error {
1344	p := request.Pagination{
1345		NewRequest: func() (*request.Request, error) {
1346			var inCpy *GetWorkflowExecutionHistoryInput
1347			if input != nil {
1348				tmp := *input
1349				inCpy = &tmp
1350			}
1351			req, _ := c.GetWorkflowExecutionHistoryRequest(inCpy)
1352			req.SetContext(ctx)
1353			req.ApplyOptions(opts...)
1354			return req, nil
1355		},
1356	}
1357
1358	for p.Next() {
1359		if !fn(p.Page().(*GetWorkflowExecutionHistoryOutput), !p.HasNextPage()) {
1360			break
1361		}
1362	}
1363
1364	return p.Err()
1365}
1366
1367const opListActivityTypes = "ListActivityTypes"
1368
1369// ListActivityTypesRequest generates a "aws/request.Request" representing the
1370// client's request for the ListActivityTypes operation. The "output" return
1371// value will be populated with the request's response once the request completes
1372// successfully.
1373//
1374// Use "Send" method on the returned Request to send the API call to the service.
1375// the "output" return value is not valid until after Send returns without error.
1376//
1377// See ListActivityTypes for more information on using the ListActivityTypes
1378// API call, and error handling.
1379//
1380// This method is useful when you want to inject custom logic or configuration
1381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1382//
1383//
1384//    // Example sending a request using the ListActivityTypesRequest method.
1385//    req, resp := client.ListActivityTypesRequest(params)
1386//
1387//    err := req.Send()
1388//    if err == nil { // resp is now filled
1389//        fmt.Println(resp)
1390//    }
1391func (c *SWF) ListActivityTypesRequest(input *ListActivityTypesInput) (req *request.Request, output *ListActivityTypesOutput) {
1392	op := &request.Operation{
1393		Name:       opListActivityTypes,
1394		HTTPMethod: "POST",
1395		HTTPPath:   "/",
1396		Paginator: &request.Paginator{
1397			InputTokens:     []string{"nextPageToken"},
1398			OutputTokens:    []string{"nextPageToken"},
1399			LimitToken:      "maximumPageSize",
1400			TruncationToken: "",
1401		},
1402	}
1403
1404	if input == nil {
1405		input = &ListActivityTypesInput{}
1406	}
1407
1408	output = &ListActivityTypesOutput{}
1409	req = c.newRequest(op, input, output)
1410	return
1411}
1412
1413// ListActivityTypes API operation for Amazon Simple Workflow Service.
1414//
1415// Returns information about all activities registered in the specified domain
1416// that match the specified name and registration status. The result includes
1417// information like creation date, current status of the activity, etc. The
1418// results may be split into multiple pages. To retrieve subsequent pages, make
1419// the call again using the nextPageToken returned by the initial call.
1420//
1421// Access Control
1422//
1423// You can use IAM policies to control this action's access to Amazon SWF resources
1424// as follows:
1425//
1426//    * Use a Resource element with the domain name to limit the action to only
1427//    specified domains.
1428//
1429//    * Use an Action element to allow or deny permission to call this action.
1430//
1431//    * You cannot use an IAM policy to constrain this action's parameters.
1432//
1433// If the caller doesn't have sufficient permissions to invoke the action, or
1434// the parameter values fall outside the specified constraints, the action fails.
1435// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1436// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1437// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1438// in the Amazon SWF Developer Guide.
1439//
1440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1441// with awserr.Error's Code and Message methods to get detailed information about
1442// the error.
1443//
1444// See the AWS API reference guide for Amazon Simple Workflow Service's
1445// API operation ListActivityTypes for usage and error information.
1446//
1447// Returned Error Types:
1448//   * OperationNotPermittedFault
1449//   Returned when the caller doesn't have sufficient permissions to invoke the
1450//   action.
1451//
1452//   * UnknownResourceFault
1453//   Returned when the named resource cannot be found with in the scope of this
1454//   operation (region or domain). This could happen if the named resource was
1455//   never created or is no longer available for this operation.
1456//
1457func (c *SWF) ListActivityTypes(input *ListActivityTypesInput) (*ListActivityTypesOutput, error) {
1458	req, out := c.ListActivityTypesRequest(input)
1459	return out, req.Send()
1460}
1461
1462// ListActivityTypesWithContext is the same as ListActivityTypes with the addition of
1463// the ability to pass a context and additional request options.
1464//
1465// See ListActivityTypes for details on how to use this API operation.
1466//
1467// The context must be non-nil and will be used for request cancellation. If
1468// the context is nil a panic will occur. In the future the SDK may create
1469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1470// for more information on using Contexts.
1471func (c *SWF) ListActivityTypesWithContext(ctx aws.Context, input *ListActivityTypesInput, opts ...request.Option) (*ListActivityTypesOutput, error) {
1472	req, out := c.ListActivityTypesRequest(input)
1473	req.SetContext(ctx)
1474	req.ApplyOptions(opts...)
1475	return out, req.Send()
1476}
1477
1478// ListActivityTypesPages iterates over the pages of a ListActivityTypes operation,
1479// calling the "fn" function with the response data for each page. To stop
1480// iterating, return false from the fn function.
1481//
1482// See ListActivityTypes method for more information on how to use this operation.
1483//
1484// Note: This operation can generate multiple requests to a service.
1485//
1486//    // Example iterating over at most 3 pages of a ListActivityTypes operation.
1487//    pageNum := 0
1488//    err := client.ListActivityTypesPages(params,
1489//        func(page *swf.ListActivityTypesOutput, lastPage bool) bool {
1490//            pageNum++
1491//            fmt.Println(page)
1492//            return pageNum <= 3
1493//        })
1494//
1495func (c *SWF) ListActivityTypesPages(input *ListActivityTypesInput, fn func(*ListActivityTypesOutput, bool) bool) error {
1496	return c.ListActivityTypesPagesWithContext(aws.BackgroundContext(), input, fn)
1497}
1498
1499// ListActivityTypesPagesWithContext same as ListActivityTypesPages except
1500// it takes a Context and allows setting request options on the pages.
1501//
1502// The context must be non-nil and will be used for request cancellation. If
1503// the context is nil a panic will occur. In the future the SDK may create
1504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1505// for more information on using Contexts.
1506func (c *SWF) ListActivityTypesPagesWithContext(ctx aws.Context, input *ListActivityTypesInput, fn func(*ListActivityTypesOutput, bool) bool, opts ...request.Option) error {
1507	p := request.Pagination{
1508		NewRequest: func() (*request.Request, error) {
1509			var inCpy *ListActivityTypesInput
1510			if input != nil {
1511				tmp := *input
1512				inCpy = &tmp
1513			}
1514			req, _ := c.ListActivityTypesRequest(inCpy)
1515			req.SetContext(ctx)
1516			req.ApplyOptions(opts...)
1517			return req, nil
1518		},
1519	}
1520
1521	for p.Next() {
1522		if !fn(p.Page().(*ListActivityTypesOutput), !p.HasNextPage()) {
1523			break
1524		}
1525	}
1526
1527	return p.Err()
1528}
1529
1530const opListClosedWorkflowExecutions = "ListClosedWorkflowExecutions"
1531
1532// ListClosedWorkflowExecutionsRequest generates a "aws/request.Request" representing the
1533// client's request for the ListClosedWorkflowExecutions operation. The "output" return
1534// value will be populated with the request's response once the request completes
1535// successfully.
1536//
1537// Use "Send" method on the returned Request to send the API call to the service.
1538// the "output" return value is not valid until after Send returns without error.
1539//
1540// See ListClosedWorkflowExecutions for more information on using the ListClosedWorkflowExecutions
1541// API call, and error handling.
1542//
1543// This method is useful when you want to inject custom logic or configuration
1544// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1545//
1546//
1547//    // Example sending a request using the ListClosedWorkflowExecutionsRequest method.
1548//    req, resp := client.ListClosedWorkflowExecutionsRequest(params)
1549//
1550//    err := req.Send()
1551//    if err == nil { // resp is now filled
1552//        fmt.Println(resp)
1553//    }
1554func (c *SWF) ListClosedWorkflowExecutionsRequest(input *ListClosedWorkflowExecutionsInput) (req *request.Request, output *WorkflowExecutionInfos) {
1555	op := &request.Operation{
1556		Name:       opListClosedWorkflowExecutions,
1557		HTTPMethod: "POST",
1558		HTTPPath:   "/",
1559		Paginator: &request.Paginator{
1560			InputTokens:     []string{"nextPageToken"},
1561			OutputTokens:    []string{"nextPageToken"},
1562			LimitToken:      "maximumPageSize",
1563			TruncationToken: "",
1564		},
1565	}
1566
1567	if input == nil {
1568		input = &ListClosedWorkflowExecutionsInput{}
1569	}
1570
1571	output = &WorkflowExecutionInfos{}
1572	req = c.newRequest(op, input, output)
1573	return
1574}
1575
1576// ListClosedWorkflowExecutions API operation for Amazon Simple Workflow Service.
1577//
1578// Returns a list of closed workflow executions in the specified domain that
1579// meet the filtering criteria. The results may be split into multiple pages.
1580// To retrieve subsequent pages, make the call again using the nextPageToken
1581// returned by the initial call.
1582//
1583// This operation is eventually consistent. The results are best effort and
1584// may not exactly reflect recent updates and changes.
1585//
1586// Access Control
1587//
1588// You can use IAM policies to control this action's access to Amazon SWF resources
1589// as follows:
1590//
1591//    * Use a Resource element with the domain name to limit the action to only
1592//    specified domains.
1593//
1594//    * Use an Action element to allow or deny permission to call this action.
1595//
1596//    * Constrain the following parameters by using a Condition element with
1597//    the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
1598//    typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version:
1599//    String constraint. The key is swf:typeFilter.version.
1600//
1601// If the caller doesn't have sufficient permissions to invoke the action, or
1602// the parameter values fall outside the specified constraints, the action fails.
1603// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1604// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1605// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1606// in the Amazon SWF Developer Guide.
1607//
1608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1609// with awserr.Error's Code and Message methods to get detailed information about
1610// the error.
1611//
1612// See the AWS API reference guide for Amazon Simple Workflow Service's
1613// API operation ListClosedWorkflowExecutions for usage and error information.
1614//
1615// Returned Error Types:
1616//   * UnknownResourceFault
1617//   Returned when the named resource cannot be found with in the scope of this
1618//   operation (region or domain). This could happen if the named resource was
1619//   never created or is no longer available for this operation.
1620//
1621//   * OperationNotPermittedFault
1622//   Returned when the caller doesn't have sufficient permissions to invoke the
1623//   action.
1624//
1625func (c *SWF) ListClosedWorkflowExecutions(input *ListClosedWorkflowExecutionsInput) (*WorkflowExecutionInfos, error) {
1626	req, out := c.ListClosedWorkflowExecutionsRequest(input)
1627	return out, req.Send()
1628}
1629
1630// ListClosedWorkflowExecutionsWithContext is the same as ListClosedWorkflowExecutions with the addition of
1631// the ability to pass a context and additional request options.
1632//
1633// See ListClosedWorkflowExecutions for details on how to use this API operation.
1634//
1635// The context must be non-nil and will be used for request cancellation. If
1636// the context is nil a panic will occur. In the future the SDK may create
1637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1638// for more information on using Contexts.
1639func (c *SWF) ListClosedWorkflowExecutionsWithContext(ctx aws.Context, input *ListClosedWorkflowExecutionsInput, opts ...request.Option) (*WorkflowExecutionInfos, error) {
1640	req, out := c.ListClosedWorkflowExecutionsRequest(input)
1641	req.SetContext(ctx)
1642	req.ApplyOptions(opts...)
1643	return out, req.Send()
1644}
1645
1646// ListClosedWorkflowExecutionsPages iterates over the pages of a ListClosedWorkflowExecutions operation,
1647// calling the "fn" function with the response data for each page. To stop
1648// iterating, return false from the fn function.
1649//
1650// See ListClosedWorkflowExecutions method for more information on how to use this operation.
1651//
1652// Note: This operation can generate multiple requests to a service.
1653//
1654//    // Example iterating over at most 3 pages of a ListClosedWorkflowExecutions operation.
1655//    pageNum := 0
1656//    err := client.ListClosedWorkflowExecutionsPages(params,
1657//        func(page *swf.WorkflowExecutionInfos, lastPage bool) bool {
1658//            pageNum++
1659//            fmt.Println(page)
1660//            return pageNum <= 3
1661//        })
1662//
1663func (c *SWF) ListClosedWorkflowExecutionsPages(input *ListClosedWorkflowExecutionsInput, fn func(*WorkflowExecutionInfos, bool) bool) error {
1664	return c.ListClosedWorkflowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
1665}
1666
1667// ListClosedWorkflowExecutionsPagesWithContext same as ListClosedWorkflowExecutionsPages except
1668// it takes a Context and allows setting request options on the pages.
1669//
1670// The context must be non-nil and will be used for request cancellation. If
1671// the context is nil a panic will occur. In the future the SDK may create
1672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1673// for more information on using Contexts.
1674func (c *SWF) ListClosedWorkflowExecutionsPagesWithContext(ctx aws.Context, input *ListClosedWorkflowExecutionsInput, fn func(*WorkflowExecutionInfos, bool) bool, opts ...request.Option) error {
1675	p := request.Pagination{
1676		NewRequest: func() (*request.Request, error) {
1677			var inCpy *ListClosedWorkflowExecutionsInput
1678			if input != nil {
1679				tmp := *input
1680				inCpy = &tmp
1681			}
1682			req, _ := c.ListClosedWorkflowExecutionsRequest(inCpy)
1683			req.SetContext(ctx)
1684			req.ApplyOptions(opts...)
1685			return req, nil
1686		},
1687	}
1688
1689	for p.Next() {
1690		if !fn(p.Page().(*WorkflowExecutionInfos), !p.HasNextPage()) {
1691			break
1692		}
1693	}
1694
1695	return p.Err()
1696}
1697
1698const opListDomains = "ListDomains"
1699
1700// ListDomainsRequest generates a "aws/request.Request" representing the
1701// client's request for the ListDomains operation. The "output" return
1702// value will be populated with the request's response once the request completes
1703// successfully.
1704//
1705// Use "Send" method on the returned Request to send the API call to the service.
1706// the "output" return value is not valid until after Send returns without error.
1707//
1708// See ListDomains for more information on using the ListDomains
1709// API call, and error handling.
1710//
1711// This method is useful when you want to inject custom logic or configuration
1712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1713//
1714//
1715//    // Example sending a request using the ListDomainsRequest method.
1716//    req, resp := client.ListDomainsRequest(params)
1717//
1718//    err := req.Send()
1719//    if err == nil { // resp is now filled
1720//        fmt.Println(resp)
1721//    }
1722func (c *SWF) ListDomainsRequest(input *ListDomainsInput) (req *request.Request, output *ListDomainsOutput) {
1723	op := &request.Operation{
1724		Name:       opListDomains,
1725		HTTPMethod: "POST",
1726		HTTPPath:   "/",
1727		Paginator: &request.Paginator{
1728			InputTokens:     []string{"nextPageToken"},
1729			OutputTokens:    []string{"nextPageToken"},
1730			LimitToken:      "maximumPageSize",
1731			TruncationToken: "",
1732		},
1733	}
1734
1735	if input == nil {
1736		input = &ListDomainsInput{}
1737	}
1738
1739	output = &ListDomainsOutput{}
1740	req = c.newRequest(op, input, output)
1741	return
1742}
1743
1744// ListDomains API operation for Amazon Simple Workflow Service.
1745//
1746// Returns the list of domains registered in the account. The results may be
1747// split into multiple pages. To retrieve subsequent pages, make the call again
1748// using the nextPageToken returned by the initial call.
1749//
1750// This operation is eventually consistent. The results are best effort and
1751// may not exactly reflect recent updates and changes.
1752//
1753// Access Control
1754//
1755// You can use IAM policies to control this action's access to Amazon SWF resources
1756// as follows:
1757//
1758//    * Use a Resource element with the domain name to limit the action to only
1759//    specified domains. The element must be set to arn:aws:swf::AccountID:domain/*,
1760//    where AccountID is the account ID, with no dashes.
1761//
1762//    * Use an Action element to allow or deny permission to call this action.
1763//
1764//    * You cannot use an IAM policy to constrain this action's parameters.
1765//
1766// If the caller doesn't have sufficient permissions to invoke the action, or
1767// the parameter values fall outside the specified constraints, the action fails.
1768// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1769// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1770// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1771// in the Amazon SWF Developer Guide.
1772//
1773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1774// with awserr.Error's Code and Message methods to get detailed information about
1775// the error.
1776//
1777// See the AWS API reference guide for Amazon Simple Workflow Service's
1778// API operation ListDomains for usage and error information.
1779//
1780// Returned Error Types:
1781//   * OperationNotPermittedFault
1782//   Returned when the caller doesn't have sufficient permissions to invoke the
1783//   action.
1784//
1785func (c *SWF) ListDomains(input *ListDomainsInput) (*ListDomainsOutput, error) {
1786	req, out := c.ListDomainsRequest(input)
1787	return out, req.Send()
1788}
1789
1790// ListDomainsWithContext is the same as ListDomains with the addition of
1791// the ability to pass a context and additional request options.
1792//
1793// See ListDomains for details on how to use this API operation.
1794//
1795// The context must be non-nil and will be used for request cancellation. If
1796// the context is nil a panic will occur. In the future the SDK may create
1797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1798// for more information on using Contexts.
1799func (c *SWF) ListDomainsWithContext(ctx aws.Context, input *ListDomainsInput, opts ...request.Option) (*ListDomainsOutput, error) {
1800	req, out := c.ListDomainsRequest(input)
1801	req.SetContext(ctx)
1802	req.ApplyOptions(opts...)
1803	return out, req.Send()
1804}
1805
1806// ListDomainsPages iterates over the pages of a ListDomains operation,
1807// calling the "fn" function with the response data for each page. To stop
1808// iterating, return false from the fn function.
1809//
1810// See ListDomains method for more information on how to use this operation.
1811//
1812// Note: This operation can generate multiple requests to a service.
1813//
1814//    // Example iterating over at most 3 pages of a ListDomains operation.
1815//    pageNum := 0
1816//    err := client.ListDomainsPages(params,
1817//        func(page *swf.ListDomainsOutput, lastPage bool) bool {
1818//            pageNum++
1819//            fmt.Println(page)
1820//            return pageNum <= 3
1821//        })
1822//
1823func (c *SWF) ListDomainsPages(input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool) error {
1824	return c.ListDomainsPagesWithContext(aws.BackgroundContext(), input, fn)
1825}
1826
1827// ListDomainsPagesWithContext same as ListDomainsPages except
1828// it takes a Context and allows setting request options on the pages.
1829//
1830// The context must be non-nil and will be used for request cancellation. If
1831// the context is nil a panic will occur. In the future the SDK may create
1832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1833// for more information on using Contexts.
1834func (c *SWF) ListDomainsPagesWithContext(ctx aws.Context, input *ListDomainsInput, fn func(*ListDomainsOutput, bool) bool, opts ...request.Option) error {
1835	p := request.Pagination{
1836		NewRequest: func() (*request.Request, error) {
1837			var inCpy *ListDomainsInput
1838			if input != nil {
1839				tmp := *input
1840				inCpy = &tmp
1841			}
1842			req, _ := c.ListDomainsRequest(inCpy)
1843			req.SetContext(ctx)
1844			req.ApplyOptions(opts...)
1845			return req, nil
1846		},
1847	}
1848
1849	for p.Next() {
1850		if !fn(p.Page().(*ListDomainsOutput), !p.HasNextPage()) {
1851			break
1852		}
1853	}
1854
1855	return p.Err()
1856}
1857
1858const opListOpenWorkflowExecutions = "ListOpenWorkflowExecutions"
1859
1860// ListOpenWorkflowExecutionsRequest generates a "aws/request.Request" representing the
1861// client's request for the ListOpenWorkflowExecutions operation. The "output" return
1862// value will be populated with the request's response once the request completes
1863// successfully.
1864//
1865// Use "Send" method on the returned Request to send the API call to the service.
1866// the "output" return value is not valid until after Send returns without error.
1867//
1868// See ListOpenWorkflowExecutions for more information on using the ListOpenWorkflowExecutions
1869// API call, and error handling.
1870//
1871// This method is useful when you want to inject custom logic or configuration
1872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1873//
1874//
1875//    // Example sending a request using the ListOpenWorkflowExecutionsRequest method.
1876//    req, resp := client.ListOpenWorkflowExecutionsRequest(params)
1877//
1878//    err := req.Send()
1879//    if err == nil { // resp is now filled
1880//        fmt.Println(resp)
1881//    }
1882func (c *SWF) ListOpenWorkflowExecutionsRequest(input *ListOpenWorkflowExecutionsInput) (req *request.Request, output *WorkflowExecutionInfos) {
1883	op := &request.Operation{
1884		Name:       opListOpenWorkflowExecutions,
1885		HTTPMethod: "POST",
1886		HTTPPath:   "/",
1887		Paginator: &request.Paginator{
1888			InputTokens:     []string{"nextPageToken"},
1889			OutputTokens:    []string{"nextPageToken"},
1890			LimitToken:      "maximumPageSize",
1891			TruncationToken: "",
1892		},
1893	}
1894
1895	if input == nil {
1896		input = &ListOpenWorkflowExecutionsInput{}
1897	}
1898
1899	output = &WorkflowExecutionInfos{}
1900	req = c.newRequest(op, input, output)
1901	return
1902}
1903
1904// ListOpenWorkflowExecutions API operation for Amazon Simple Workflow Service.
1905//
1906// Returns a list of open workflow executions in the specified domain that meet
1907// the filtering criteria. The results may be split into multiple pages. To
1908// retrieve subsequent pages, make the call again using the nextPageToken returned
1909// by the initial call.
1910//
1911// This operation is eventually consistent. The results are best effort and
1912// may not exactly reflect recent updates and changes.
1913//
1914// Access Control
1915//
1916// You can use IAM policies to control this action's access to Amazon SWF resources
1917// as follows:
1918//
1919//    * Use a Resource element with the domain name to limit the action to only
1920//    specified domains.
1921//
1922//    * Use an Action element to allow or deny permission to call this action.
1923//
1924//    * Constrain the following parameters by using a Condition element with
1925//    the appropriate keys. tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
1926//    typeFilter.name: String constraint. The key is swf:typeFilter.name. typeFilter.version:
1927//    String constraint. The key is swf:typeFilter.version.
1928//
1929// If the caller doesn't have sufficient permissions to invoke the action, or
1930// the parameter values fall outside the specified constraints, the action fails.
1931// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
1932// For details and example IAM policies, see Using IAM to Manage Access to Amazon
1933// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
1934// in the Amazon SWF Developer Guide.
1935//
1936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1937// with awserr.Error's Code and Message methods to get detailed information about
1938// the error.
1939//
1940// See the AWS API reference guide for Amazon Simple Workflow Service's
1941// API operation ListOpenWorkflowExecutions for usage and error information.
1942//
1943// Returned Error Types:
1944//   * UnknownResourceFault
1945//   Returned when the named resource cannot be found with in the scope of this
1946//   operation (region or domain). This could happen if the named resource was
1947//   never created or is no longer available for this operation.
1948//
1949//   * OperationNotPermittedFault
1950//   Returned when the caller doesn't have sufficient permissions to invoke the
1951//   action.
1952//
1953func (c *SWF) ListOpenWorkflowExecutions(input *ListOpenWorkflowExecutionsInput) (*WorkflowExecutionInfos, error) {
1954	req, out := c.ListOpenWorkflowExecutionsRequest(input)
1955	return out, req.Send()
1956}
1957
1958// ListOpenWorkflowExecutionsWithContext is the same as ListOpenWorkflowExecutions with the addition of
1959// the ability to pass a context and additional request options.
1960//
1961// See ListOpenWorkflowExecutions for details on how to use this API operation.
1962//
1963// The context must be non-nil and will be used for request cancellation. If
1964// the context is nil a panic will occur. In the future the SDK may create
1965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1966// for more information on using Contexts.
1967func (c *SWF) ListOpenWorkflowExecutionsWithContext(ctx aws.Context, input *ListOpenWorkflowExecutionsInput, opts ...request.Option) (*WorkflowExecutionInfos, error) {
1968	req, out := c.ListOpenWorkflowExecutionsRequest(input)
1969	req.SetContext(ctx)
1970	req.ApplyOptions(opts...)
1971	return out, req.Send()
1972}
1973
1974// ListOpenWorkflowExecutionsPages iterates over the pages of a ListOpenWorkflowExecutions operation,
1975// calling the "fn" function with the response data for each page. To stop
1976// iterating, return false from the fn function.
1977//
1978// See ListOpenWorkflowExecutions method for more information on how to use this operation.
1979//
1980// Note: This operation can generate multiple requests to a service.
1981//
1982//    // Example iterating over at most 3 pages of a ListOpenWorkflowExecutions operation.
1983//    pageNum := 0
1984//    err := client.ListOpenWorkflowExecutionsPages(params,
1985//        func(page *swf.WorkflowExecutionInfos, lastPage bool) bool {
1986//            pageNum++
1987//            fmt.Println(page)
1988//            return pageNum <= 3
1989//        })
1990//
1991func (c *SWF) ListOpenWorkflowExecutionsPages(input *ListOpenWorkflowExecutionsInput, fn func(*WorkflowExecutionInfos, bool) bool) error {
1992	return c.ListOpenWorkflowExecutionsPagesWithContext(aws.BackgroundContext(), input, fn)
1993}
1994
1995// ListOpenWorkflowExecutionsPagesWithContext same as ListOpenWorkflowExecutionsPages except
1996// it takes a Context and allows setting request options on the pages.
1997//
1998// The context must be non-nil and will be used for request cancellation. If
1999// the context is nil a panic will occur. In the future the SDK may create
2000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2001// for more information on using Contexts.
2002func (c *SWF) ListOpenWorkflowExecutionsPagesWithContext(ctx aws.Context, input *ListOpenWorkflowExecutionsInput, fn func(*WorkflowExecutionInfos, bool) bool, opts ...request.Option) error {
2003	p := request.Pagination{
2004		NewRequest: func() (*request.Request, error) {
2005			var inCpy *ListOpenWorkflowExecutionsInput
2006			if input != nil {
2007				tmp := *input
2008				inCpy = &tmp
2009			}
2010			req, _ := c.ListOpenWorkflowExecutionsRequest(inCpy)
2011			req.SetContext(ctx)
2012			req.ApplyOptions(opts...)
2013			return req, nil
2014		},
2015	}
2016
2017	for p.Next() {
2018		if !fn(p.Page().(*WorkflowExecutionInfos), !p.HasNextPage()) {
2019			break
2020		}
2021	}
2022
2023	return p.Err()
2024}
2025
2026const opListTagsForResource = "ListTagsForResource"
2027
2028// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2029// client's request for the ListTagsForResource operation. The "output" return
2030// value will be populated with the request's response once the request completes
2031// successfully.
2032//
2033// Use "Send" method on the returned Request to send the API call to the service.
2034// the "output" return value is not valid until after Send returns without error.
2035//
2036// See ListTagsForResource for more information on using the ListTagsForResource
2037// API call, and error handling.
2038//
2039// This method is useful when you want to inject custom logic or configuration
2040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2041//
2042//
2043//    // Example sending a request using the ListTagsForResourceRequest method.
2044//    req, resp := client.ListTagsForResourceRequest(params)
2045//
2046//    err := req.Send()
2047//    if err == nil { // resp is now filled
2048//        fmt.Println(resp)
2049//    }
2050func (c *SWF) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2051	op := &request.Operation{
2052		Name:       opListTagsForResource,
2053		HTTPMethod: "POST",
2054		HTTPPath:   "/",
2055	}
2056
2057	if input == nil {
2058		input = &ListTagsForResourceInput{}
2059	}
2060
2061	output = &ListTagsForResourceOutput{}
2062	req = c.newRequest(op, input, output)
2063	return
2064}
2065
2066// ListTagsForResource API operation for Amazon Simple Workflow Service.
2067//
2068// List tags for a given domain.
2069//
2070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2071// with awserr.Error's Code and Message methods to get detailed information about
2072// the error.
2073//
2074// See the AWS API reference guide for Amazon Simple Workflow Service's
2075// API operation ListTagsForResource for usage and error information.
2076//
2077// Returned Error Types:
2078//   * UnknownResourceFault
2079//   Returned when the named resource cannot be found with in the scope of this
2080//   operation (region or domain). This could happen if the named resource was
2081//   never created or is no longer available for this operation.
2082//
2083//   * LimitExceededFault
2084//   Returned by any operation if a system imposed limitation has been reached.
2085//   To address this fault you should either clean up unused resources or increase
2086//   the limit by contacting AWS.
2087//
2088//   * OperationNotPermittedFault
2089//   Returned when the caller doesn't have sufficient permissions to invoke the
2090//   action.
2091//
2092func (c *SWF) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
2093	req, out := c.ListTagsForResourceRequest(input)
2094	return out, req.Send()
2095}
2096
2097// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
2098// the ability to pass a context and additional request options.
2099//
2100// See ListTagsForResource for details on how to use this API operation.
2101//
2102// The context must be non-nil and will be used for request cancellation. If
2103// the context is nil a panic will occur. In the future the SDK may create
2104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2105// for more information on using Contexts.
2106func (c *SWF) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
2107	req, out := c.ListTagsForResourceRequest(input)
2108	req.SetContext(ctx)
2109	req.ApplyOptions(opts...)
2110	return out, req.Send()
2111}
2112
2113const opListWorkflowTypes = "ListWorkflowTypes"
2114
2115// ListWorkflowTypesRequest generates a "aws/request.Request" representing the
2116// client's request for the ListWorkflowTypes operation. The "output" return
2117// value will be populated with the request's response once the request completes
2118// successfully.
2119//
2120// Use "Send" method on the returned Request to send the API call to the service.
2121// the "output" return value is not valid until after Send returns without error.
2122//
2123// See ListWorkflowTypes for more information on using the ListWorkflowTypes
2124// API call, and error handling.
2125//
2126// This method is useful when you want to inject custom logic or configuration
2127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2128//
2129//
2130//    // Example sending a request using the ListWorkflowTypesRequest method.
2131//    req, resp := client.ListWorkflowTypesRequest(params)
2132//
2133//    err := req.Send()
2134//    if err == nil { // resp is now filled
2135//        fmt.Println(resp)
2136//    }
2137func (c *SWF) ListWorkflowTypesRequest(input *ListWorkflowTypesInput) (req *request.Request, output *ListWorkflowTypesOutput) {
2138	op := &request.Operation{
2139		Name:       opListWorkflowTypes,
2140		HTTPMethod: "POST",
2141		HTTPPath:   "/",
2142		Paginator: &request.Paginator{
2143			InputTokens:     []string{"nextPageToken"},
2144			OutputTokens:    []string{"nextPageToken"},
2145			LimitToken:      "maximumPageSize",
2146			TruncationToken: "",
2147		},
2148	}
2149
2150	if input == nil {
2151		input = &ListWorkflowTypesInput{}
2152	}
2153
2154	output = &ListWorkflowTypesOutput{}
2155	req = c.newRequest(op, input, output)
2156	return
2157}
2158
2159// ListWorkflowTypes API operation for Amazon Simple Workflow Service.
2160//
2161// Returns information about workflow types in the specified domain. The results
2162// may be split into multiple pages that can be retrieved by making the call
2163// repeatedly.
2164//
2165// Access Control
2166//
2167// You can use IAM policies to control this action's access to Amazon SWF resources
2168// as follows:
2169//
2170//    * Use a Resource element with the domain name to limit the action to only
2171//    specified domains.
2172//
2173//    * Use an Action element to allow or deny permission to call this action.
2174//
2175//    * You cannot use an IAM policy to constrain this action's parameters.
2176//
2177// If the caller doesn't have sufficient permissions to invoke the action, or
2178// the parameter values fall outside the specified constraints, the action fails.
2179// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
2180// For details and example IAM policies, see Using IAM to Manage Access to Amazon
2181// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2182// in the Amazon SWF Developer Guide.
2183//
2184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2185// with awserr.Error's Code and Message methods to get detailed information about
2186// the error.
2187//
2188// See the AWS API reference guide for Amazon Simple Workflow Service's
2189// API operation ListWorkflowTypes for usage and error information.
2190//
2191// Returned Error Types:
2192//   * OperationNotPermittedFault
2193//   Returned when the caller doesn't have sufficient permissions to invoke the
2194//   action.
2195//
2196//   * UnknownResourceFault
2197//   Returned when the named resource cannot be found with in the scope of this
2198//   operation (region or domain). This could happen if the named resource was
2199//   never created or is no longer available for this operation.
2200//
2201func (c *SWF) ListWorkflowTypes(input *ListWorkflowTypesInput) (*ListWorkflowTypesOutput, error) {
2202	req, out := c.ListWorkflowTypesRequest(input)
2203	return out, req.Send()
2204}
2205
2206// ListWorkflowTypesWithContext is the same as ListWorkflowTypes with the addition of
2207// the ability to pass a context and additional request options.
2208//
2209// See ListWorkflowTypes for details on how to use this API operation.
2210//
2211// The context must be non-nil and will be used for request cancellation. If
2212// the context is nil a panic will occur. In the future the SDK may create
2213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2214// for more information on using Contexts.
2215func (c *SWF) ListWorkflowTypesWithContext(ctx aws.Context, input *ListWorkflowTypesInput, opts ...request.Option) (*ListWorkflowTypesOutput, error) {
2216	req, out := c.ListWorkflowTypesRequest(input)
2217	req.SetContext(ctx)
2218	req.ApplyOptions(opts...)
2219	return out, req.Send()
2220}
2221
2222// ListWorkflowTypesPages iterates over the pages of a ListWorkflowTypes operation,
2223// calling the "fn" function with the response data for each page. To stop
2224// iterating, return false from the fn function.
2225//
2226// See ListWorkflowTypes method for more information on how to use this operation.
2227//
2228// Note: This operation can generate multiple requests to a service.
2229//
2230//    // Example iterating over at most 3 pages of a ListWorkflowTypes operation.
2231//    pageNum := 0
2232//    err := client.ListWorkflowTypesPages(params,
2233//        func(page *swf.ListWorkflowTypesOutput, lastPage bool) bool {
2234//            pageNum++
2235//            fmt.Println(page)
2236//            return pageNum <= 3
2237//        })
2238//
2239func (c *SWF) ListWorkflowTypesPages(input *ListWorkflowTypesInput, fn func(*ListWorkflowTypesOutput, bool) bool) error {
2240	return c.ListWorkflowTypesPagesWithContext(aws.BackgroundContext(), input, fn)
2241}
2242
2243// ListWorkflowTypesPagesWithContext same as ListWorkflowTypesPages except
2244// it takes a Context and allows setting request options on the pages.
2245//
2246// The context must be non-nil and will be used for request cancellation. If
2247// the context is nil a panic will occur. In the future the SDK may create
2248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2249// for more information on using Contexts.
2250func (c *SWF) ListWorkflowTypesPagesWithContext(ctx aws.Context, input *ListWorkflowTypesInput, fn func(*ListWorkflowTypesOutput, bool) bool, opts ...request.Option) error {
2251	p := request.Pagination{
2252		NewRequest: func() (*request.Request, error) {
2253			var inCpy *ListWorkflowTypesInput
2254			if input != nil {
2255				tmp := *input
2256				inCpy = &tmp
2257			}
2258			req, _ := c.ListWorkflowTypesRequest(inCpy)
2259			req.SetContext(ctx)
2260			req.ApplyOptions(opts...)
2261			return req, nil
2262		},
2263	}
2264
2265	for p.Next() {
2266		if !fn(p.Page().(*ListWorkflowTypesOutput), !p.HasNextPage()) {
2267			break
2268		}
2269	}
2270
2271	return p.Err()
2272}
2273
2274const opPollForActivityTask = "PollForActivityTask"
2275
2276// PollForActivityTaskRequest generates a "aws/request.Request" representing the
2277// client's request for the PollForActivityTask operation. The "output" return
2278// value will be populated with the request's response once the request completes
2279// successfully.
2280//
2281// Use "Send" method on the returned Request to send the API call to the service.
2282// the "output" return value is not valid until after Send returns without error.
2283//
2284// See PollForActivityTask for more information on using the PollForActivityTask
2285// API call, and error handling.
2286//
2287// This method is useful when you want to inject custom logic or configuration
2288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2289//
2290//
2291//    // Example sending a request using the PollForActivityTaskRequest method.
2292//    req, resp := client.PollForActivityTaskRequest(params)
2293//
2294//    err := req.Send()
2295//    if err == nil { // resp is now filled
2296//        fmt.Println(resp)
2297//    }
2298func (c *SWF) PollForActivityTaskRequest(input *PollForActivityTaskInput) (req *request.Request, output *PollForActivityTaskOutput) {
2299	op := &request.Operation{
2300		Name:       opPollForActivityTask,
2301		HTTPMethod: "POST",
2302		HTTPPath:   "/",
2303	}
2304
2305	if input == nil {
2306		input = &PollForActivityTaskInput{}
2307	}
2308
2309	output = &PollForActivityTaskOutput{}
2310	req = c.newRequest(op, input, output)
2311	return
2312}
2313
2314// PollForActivityTask API operation for Amazon Simple Workflow Service.
2315//
2316// Used by workers to get an ActivityTask from the specified activity taskList.
2317// This initiates a long poll, where the service holds the HTTP connection open
2318// and responds as soon as a task becomes available. The maximum time the service
2319// holds on to the request before responding is 60 seconds. If no task is available
2320// within 60 seconds, the poll returns an empty result. An empty result, in
2321// this context, means that an ActivityTask is returned, but that the value
2322// of taskToken is an empty string. If a task is returned, the worker should
2323// use its type to identify and process it correctly.
2324//
2325// Workers should set their client side socket timeout to at least 70 seconds
2326// (10 seconds higher than the maximum time service may hold the poll request).
2327//
2328// Access Control
2329//
2330// You can use IAM policies to control this action's access to Amazon SWF resources
2331// as follows:
2332//
2333//    * Use a Resource element with the domain name to limit the action to only
2334//    specified domains.
2335//
2336//    * Use an Action element to allow or deny permission to call this action.
2337//
2338//    * Constrain the taskList.name parameter by using a Condition element with
2339//    the swf:taskList.name key to allow the action to access only certain task
2340//    lists.
2341//
2342// If the caller doesn't have sufficient permissions to invoke the action, or
2343// the parameter values fall outside the specified constraints, the action fails.
2344// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
2345// For details and example IAM policies, see Using IAM to Manage Access to Amazon
2346// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2347// in the Amazon SWF Developer Guide.
2348//
2349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2350// with awserr.Error's Code and Message methods to get detailed information about
2351// the error.
2352//
2353// See the AWS API reference guide for Amazon Simple Workflow Service's
2354// API operation PollForActivityTask for usage and error information.
2355//
2356// Returned Error Types:
2357//   * UnknownResourceFault
2358//   Returned when the named resource cannot be found with in the scope of this
2359//   operation (region or domain). This could happen if the named resource was
2360//   never created or is no longer available for this operation.
2361//
2362//   * OperationNotPermittedFault
2363//   Returned when the caller doesn't have sufficient permissions to invoke the
2364//   action.
2365//
2366//   * LimitExceededFault
2367//   Returned by any operation if a system imposed limitation has been reached.
2368//   To address this fault you should either clean up unused resources or increase
2369//   the limit by contacting AWS.
2370//
2371func (c *SWF) PollForActivityTask(input *PollForActivityTaskInput) (*PollForActivityTaskOutput, error) {
2372	req, out := c.PollForActivityTaskRequest(input)
2373	return out, req.Send()
2374}
2375
2376// PollForActivityTaskWithContext is the same as PollForActivityTask with the addition of
2377// the ability to pass a context and additional request options.
2378//
2379// See PollForActivityTask for details on how to use this API operation.
2380//
2381// The context must be non-nil and will be used for request cancellation. If
2382// the context is nil a panic will occur. In the future the SDK may create
2383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2384// for more information on using Contexts.
2385func (c *SWF) PollForActivityTaskWithContext(ctx aws.Context, input *PollForActivityTaskInput, opts ...request.Option) (*PollForActivityTaskOutput, error) {
2386	req, out := c.PollForActivityTaskRequest(input)
2387	req.SetContext(ctx)
2388	req.ApplyOptions(opts...)
2389	return out, req.Send()
2390}
2391
2392const opPollForDecisionTask = "PollForDecisionTask"
2393
2394// PollForDecisionTaskRequest generates a "aws/request.Request" representing the
2395// client's request for the PollForDecisionTask operation. The "output" return
2396// value will be populated with the request's response once the request completes
2397// successfully.
2398//
2399// Use "Send" method on the returned Request to send the API call to the service.
2400// the "output" return value is not valid until after Send returns without error.
2401//
2402// See PollForDecisionTask for more information on using the PollForDecisionTask
2403// API call, and error handling.
2404//
2405// This method is useful when you want to inject custom logic or configuration
2406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2407//
2408//
2409//    // Example sending a request using the PollForDecisionTaskRequest method.
2410//    req, resp := client.PollForDecisionTaskRequest(params)
2411//
2412//    err := req.Send()
2413//    if err == nil { // resp is now filled
2414//        fmt.Println(resp)
2415//    }
2416func (c *SWF) PollForDecisionTaskRequest(input *PollForDecisionTaskInput) (req *request.Request, output *PollForDecisionTaskOutput) {
2417	op := &request.Operation{
2418		Name:       opPollForDecisionTask,
2419		HTTPMethod: "POST",
2420		HTTPPath:   "/",
2421		Paginator: &request.Paginator{
2422			InputTokens:     []string{"nextPageToken"},
2423			OutputTokens:    []string{"nextPageToken"},
2424			LimitToken:      "maximumPageSize",
2425			TruncationToken: "",
2426		},
2427	}
2428
2429	if input == nil {
2430		input = &PollForDecisionTaskInput{}
2431	}
2432
2433	output = &PollForDecisionTaskOutput{}
2434	req = c.newRequest(op, input, output)
2435	return
2436}
2437
2438// PollForDecisionTask API operation for Amazon Simple Workflow Service.
2439//
2440// Used by deciders to get a DecisionTask from the specified decision taskList.
2441// A decision task may be returned for any open workflow execution that is using
2442// the specified task list. The task includes a paginated view of the history
2443// of the workflow execution. The decider should use the workflow type and the
2444// history to determine how to properly handle the task.
2445//
2446// This action initiates a long poll, where the service holds the HTTP connection
2447// open and responds as soon a task becomes available. If no decision task is
2448// available in the specified task list before the timeout of 60 seconds expires,
2449// an empty result is returned. An empty result, in this context, means that
2450// a DecisionTask is returned, but that the value of taskToken is an empty string.
2451//
2452// Deciders should set their client side socket timeout to at least 70 seconds
2453// (10 seconds higher than the timeout).
2454//
2455// Because the number of workflow history events for a single workflow execution
2456// might be very large, the result returned might be split up across a number
2457// of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask
2458// using the nextPageToken returned by the initial call. Note that you do not
2459// call GetWorkflowExecutionHistory with this nextPageToken. Instead, call PollForDecisionTask
2460// again.
2461//
2462// Access Control
2463//
2464// You can use IAM policies to control this action's access to Amazon SWF resources
2465// as follows:
2466//
2467//    * Use a Resource element with the domain name to limit the action to only
2468//    specified domains.
2469//
2470//    * Use an Action element to allow or deny permission to call this action.
2471//
2472//    * Constrain the taskList.name parameter by using a Condition element with
2473//    the swf:taskList.name key to allow the action to access only certain task
2474//    lists.
2475//
2476// If the caller doesn't have sufficient permissions to invoke the action, or
2477// the parameter values fall outside the specified constraints, the action fails.
2478// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
2479// For details and example IAM policies, see Using IAM to Manage Access to Amazon
2480// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2481// in the Amazon SWF Developer Guide.
2482//
2483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2484// with awserr.Error's Code and Message methods to get detailed information about
2485// the error.
2486//
2487// See the AWS API reference guide for Amazon Simple Workflow Service's
2488// API operation PollForDecisionTask for usage and error information.
2489//
2490// Returned Error Types:
2491//   * UnknownResourceFault
2492//   Returned when the named resource cannot be found with in the scope of this
2493//   operation (region or domain). This could happen if the named resource was
2494//   never created or is no longer available for this operation.
2495//
2496//   * OperationNotPermittedFault
2497//   Returned when the caller doesn't have sufficient permissions to invoke the
2498//   action.
2499//
2500//   * LimitExceededFault
2501//   Returned by any operation if a system imposed limitation has been reached.
2502//   To address this fault you should either clean up unused resources or increase
2503//   the limit by contacting AWS.
2504//
2505func (c *SWF) PollForDecisionTask(input *PollForDecisionTaskInput) (*PollForDecisionTaskOutput, error) {
2506	req, out := c.PollForDecisionTaskRequest(input)
2507	return out, req.Send()
2508}
2509
2510// PollForDecisionTaskWithContext is the same as PollForDecisionTask with the addition of
2511// the ability to pass a context and additional request options.
2512//
2513// See PollForDecisionTask for details on how to use this API operation.
2514//
2515// The context must be non-nil and will be used for request cancellation. If
2516// the context is nil a panic will occur. In the future the SDK may create
2517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2518// for more information on using Contexts.
2519func (c *SWF) PollForDecisionTaskWithContext(ctx aws.Context, input *PollForDecisionTaskInput, opts ...request.Option) (*PollForDecisionTaskOutput, error) {
2520	req, out := c.PollForDecisionTaskRequest(input)
2521	req.SetContext(ctx)
2522	req.ApplyOptions(opts...)
2523	return out, req.Send()
2524}
2525
2526// PollForDecisionTaskPages iterates over the pages of a PollForDecisionTask operation,
2527// calling the "fn" function with the response data for each page. To stop
2528// iterating, return false from the fn function.
2529//
2530// See PollForDecisionTask method for more information on how to use this operation.
2531//
2532// Note: This operation can generate multiple requests to a service.
2533//
2534//    // Example iterating over at most 3 pages of a PollForDecisionTask operation.
2535//    pageNum := 0
2536//    err := client.PollForDecisionTaskPages(params,
2537//        func(page *swf.PollForDecisionTaskOutput, lastPage bool) bool {
2538//            pageNum++
2539//            fmt.Println(page)
2540//            return pageNum <= 3
2541//        })
2542//
2543func (c *SWF) PollForDecisionTaskPages(input *PollForDecisionTaskInput, fn func(*PollForDecisionTaskOutput, bool) bool) error {
2544	return c.PollForDecisionTaskPagesWithContext(aws.BackgroundContext(), input, fn)
2545}
2546
2547// PollForDecisionTaskPagesWithContext same as PollForDecisionTaskPages except
2548// it takes a Context and allows setting request options on the pages.
2549//
2550// The context must be non-nil and will be used for request cancellation. If
2551// the context is nil a panic will occur. In the future the SDK may create
2552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2553// for more information on using Contexts.
2554func (c *SWF) PollForDecisionTaskPagesWithContext(ctx aws.Context, input *PollForDecisionTaskInput, fn func(*PollForDecisionTaskOutput, bool) bool, opts ...request.Option) error {
2555	p := request.Pagination{
2556		NewRequest: func() (*request.Request, error) {
2557			var inCpy *PollForDecisionTaskInput
2558			if input != nil {
2559				tmp := *input
2560				inCpy = &tmp
2561			}
2562			req, _ := c.PollForDecisionTaskRequest(inCpy)
2563			req.SetContext(ctx)
2564			req.ApplyOptions(opts...)
2565			return req, nil
2566		},
2567	}
2568
2569	for p.Next() {
2570		if !fn(p.Page().(*PollForDecisionTaskOutput), !p.HasNextPage()) {
2571			break
2572		}
2573	}
2574
2575	return p.Err()
2576}
2577
2578const opRecordActivityTaskHeartbeat = "RecordActivityTaskHeartbeat"
2579
2580// RecordActivityTaskHeartbeatRequest generates a "aws/request.Request" representing the
2581// client's request for the RecordActivityTaskHeartbeat operation. The "output" return
2582// value will be populated with the request's response once the request completes
2583// successfully.
2584//
2585// Use "Send" method on the returned Request to send the API call to the service.
2586// the "output" return value is not valid until after Send returns without error.
2587//
2588// See RecordActivityTaskHeartbeat for more information on using the RecordActivityTaskHeartbeat
2589// API call, and error handling.
2590//
2591// This method is useful when you want to inject custom logic or configuration
2592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2593//
2594//
2595//    // Example sending a request using the RecordActivityTaskHeartbeatRequest method.
2596//    req, resp := client.RecordActivityTaskHeartbeatRequest(params)
2597//
2598//    err := req.Send()
2599//    if err == nil { // resp is now filled
2600//        fmt.Println(resp)
2601//    }
2602func (c *SWF) RecordActivityTaskHeartbeatRequest(input *RecordActivityTaskHeartbeatInput) (req *request.Request, output *RecordActivityTaskHeartbeatOutput) {
2603	op := &request.Operation{
2604		Name:       opRecordActivityTaskHeartbeat,
2605		HTTPMethod: "POST",
2606		HTTPPath:   "/",
2607	}
2608
2609	if input == nil {
2610		input = &RecordActivityTaskHeartbeatInput{}
2611	}
2612
2613	output = &RecordActivityTaskHeartbeatOutput{}
2614	req = c.newRequest(op, input, output)
2615	return
2616}
2617
2618// RecordActivityTaskHeartbeat API operation for Amazon Simple Workflow Service.
2619//
2620// Used by activity workers to report to the service that the ActivityTask represented
2621// by the specified taskToken is still making progress. The worker can also
2622// specify details of the progress, for example percent complete, using the
2623// details parameter. This action can also be used by the worker as a mechanism
2624// to check if cancellation is being requested for the activity task. If a cancellation
2625// is being attempted for the specified task, then the boolean cancelRequested
2626// flag returned by the service is set to true.
2627//
2628// This action resets the taskHeartbeatTimeout clock. The taskHeartbeatTimeout
2629// is specified in RegisterActivityType.
2630//
2631// This action doesn't in itself create an event in the workflow execution history.
2632// However, if the task times out, the workflow execution history contains a
2633// ActivityTaskTimedOut event that contains the information from the last heartbeat
2634// generated by the activity worker.
2635//
2636// The taskStartToCloseTimeout of an activity type is the maximum duration of
2637// an activity task, regardless of the number of RecordActivityTaskHeartbeat
2638// requests received. The taskStartToCloseTimeout is also specified in RegisterActivityType.
2639//
2640// This operation is only useful for long-lived activities to report liveliness
2641// of the task and to determine if a cancellation is being attempted.
2642//
2643// If the cancelRequested flag returns true, a cancellation is being attempted.
2644// If the worker can cancel the activity, it should respond with RespondActivityTaskCanceled.
2645// Otherwise, it should ignore the cancellation request.
2646//
2647// Access Control
2648//
2649// You can use IAM policies to control this action's access to Amazon SWF resources
2650// as follows:
2651//
2652//    * Use a Resource element with the domain name to limit the action to only
2653//    specified domains.
2654//
2655//    * Use an Action element to allow or deny permission to call this action.
2656//
2657//    * You cannot use an IAM policy to constrain this action's parameters.
2658//
2659// If the caller doesn't have sufficient permissions to invoke the action, or
2660// the parameter values fall outside the specified constraints, the action fails.
2661// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
2662// For details and example IAM policies, see Using IAM to Manage Access to Amazon
2663// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2664// in the Amazon SWF Developer Guide.
2665//
2666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2667// with awserr.Error's Code and Message methods to get detailed information about
2668// the error.
2669//
2670// See the AWS API reference guide for Amazon Simple Workflow Service's
2671// API operation RecordActivityTaskHeartbeat for usage and error information.
2672//
2673// Returned Error Types:
2674//   * UnknownResourceFault
2675//   Returned when the named resource cannot be found with in the scope of this
2676//   operation (region or domain). This could happen if the named resource was
2677//   never created or is no longer available for this operation.
2678//
2679//   * OperationNotPermittedFault
2680//   Returned when the caller doesn't have sufficient permissions to invoke the
2681//   action.
2682//
2683func (c *SWF) RecordActivityTaskHeartbeat(input *RecordActivityTaskHeartbeatInput) (*RecordActivityTaskHeartbeatOutput, error) {
2684	req, out := c.RecordActivityTaskHeartbeatRequest(input)
2685	return out, req.Send()
2686}
2687
2688// RecordActivityTaskHeartbeatWithContext is the same as RecordActivityTaskHeartbeat with the addition of
2689// the ability to pass a context and additional request options.
2690//
2691// See RecordActivityTaskHeartbeat for details on how to use this API operation.
2692//
2693// The context must be non-nil and will be used for request cancellation. If
2694// the context is nil a panic will occur. In the future the SDK may create
2695// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2696// for more information on using Contexts.
2697func (c *SWF) RecordActivityTaskHeartbeatWithContext(ctx aws.Context, input *RecordActivityTaskHeartbeatInput, opts ...request.Option) (*RecordActivityTaskHeartbeatOutput, error) {
2698	req, out := c.RecordActivityTaskHeartbeatRequest(input)
2699	req.SetContext(ctx)
2700	req.ApplyOptions(opts...)
2701	return out, req.Send()
2702}
2703
2704const opRegisterActivityType = "RegisterActivityType"
2705
2706// RegisterActivityTypeRequest generates a "aws/request.Request" representing the
2707// client's request for the RegisterActivityType operation. The "output" return
2708// value will be populated with the request's response once the request completes
2709// successfully.
2710//
2711// Use "Send" method on the returned Request to send the API call to the service.
2712// the "output" return value is not valid until after Send returns without error.
2713//
2714// See RegisterActivityType for more information on using the RegisterActivityType
2715// API call, and error handling.
2716//
2717// This method is useful when you want to inject custom logic or configuration
2718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2719//
2720//
2721//    // Example sending a request using the RegisterActivityTypeRequest method.
2722//    req, resp := client.RegisterActivityTypeRequest(params)
2723//
2724//    err := req.Send()
2725//    if err == nil { // resp is now filled
2726//        fmt.Println(resp)
2727//    }
2728func (c *SWF) RegisterActivityTypeRequest(input *RegisterActivityTypeInput) (req *request.Request, output *RegisterActivityTypeOutput) {
2729	op := &request.Operation{
2730		Name:       opRegisterActivityType,
2731		HTTPMethod: "POST",
2732		HTTPPath:   "/",
2733	}
2734
2735	if input == nil {
2736		input = &RegisterActivityTypeInput{}
2737	}
2738
2739	output = &RegisterActivityTypeOutput{}
2740	req = c.newRequest(op, input, output)
2741	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2742	return
2743}
2744
2745// RegisterActivityType API operation for Amazon Simple Workflow Service.
2746//
2747// Registers a new activity type along with its configuration settings in the
2748// specified domain.
2749//
2750// A TypeAlreadyExists fault is returned if the type already exists in the domain.
2751// You cannot change any configuration settings of the type after its registration,
2752// and it must be registered as a new version.
2753//
2754// Access Control
2755//
2756// You can use IAM policies to control this action's access to Amazon SWF resources
2757// as follows:
2758//
2759//    * Use a Resource element with the domain name to limit the action to only
2760//    specified domains.
2761//
2762//    * Use an Action element to allow or deny permission to call this action.
2763//
2764//    * Constrain the following parameters by using a Condition element with
2765//    the appropriate keys. defaultTaskList.name: String constraint. The key
2766//    is swf:defaultTaskList.name. name: String constraint. The key is swf:name.
2767//    version: String constraint. The key is swf:version.
2768//
2769// If the caller doesn't have sufficient permissions to invoke the action, or
2770// the parameter values fall outside the specified constraints, the action fails.
2771// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
2772// For details and example IAM policies, see Using IAM to Manage Access to Amazon
2773// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2774// in the Amazon SWF Developer Guide.
2775//
2776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2777// with awserr.Error's Code and Message methods to get detailed information about
2778// the error.
2779//
2780// See the AWS API reference guide for Amazon Simple Workflow Service's
2781// API operation RegisterActivityType for usage and error information.
2782//
2783// Returned Error Types:
2784//   * TypeAlreadyExistsFault
2785//   Returned if the type already exists in the specified domain. You may get
2786//   this fault if you are registering a type that is either already registered
2787//   or deprecated, or if you undeprecate a type that is currently registered.
2788//
2789//   * LimitExceededFault
2790//   Returned by any operation if a system imposed limitation has been reached.
2791//   To address this fault you should either clean up unused resources or increase
2792//   the limit by contacting AWS.
2793//
2794//   * UnknownResourceFault
2795//   Returned when the named resource cannot be found with in the scope of this
2796//   operation (region or domain). This could happen if the named resource was
2797//   never created or is no longer available for this operation.
2798//
2799//   * OperationNotPermittedFault
2800//   Returned when the caller doesn't have sufficient permissions to invoke the
2801//   action.
2802//
2803func (c *SWF) RegisterActivityType(input *RegisterActivityTypeInput) (*RegisterActivityTypeOutput, error) {
2804	req, out := c.RegisterActivityTypeRequest(input)
2805	return out, req.Send()
2806}
2807
2808// RegisterActivityTypeWithContext is the same as RegisterActivityType with the addition of
2809// the ability to pass a context and additional request options.
2810//
2811// See RegisterActivityType for details on how to use this API operation.
2812//
2813// The context must be non-nil and will be used for request cancellation. If
2814// the context is nil a panic will occur. In the future the SDK may create
2815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2816// for more information on using Contexts.
2817func (c *SWF) RegisterActivityTypeWithContext(ctx aws.Context, input *RegisterActivityTypeInput, opts ...request.Option) (*RegisterActivityTypeOutput, error) {
2818	req, out := c.RegisterActivityTypeRequest(input)
2819	req.SetContext(ctx)
2820	req.ApplyOptions(opts...)
2821	return out, req.Send()
2822}
2823
2824const opRegisterDomain = "RegisterDomain"
2825
2826// RegisterDomainRequest generates a "aws/request.Request" representing the
2827// client's request for the RegisterDomain operation. The "output" return
2828// value will be populated with the request's response once the request completes
2829// successfully.
2830//
2831// Use "Send" method on the returned Request to send the API call to the service.
2832// the "output" return value is not valid until after Send returns without error.
2833//
2834// See RegisterDomain for more information on using the RegisterDomain
2835// API call, and error handling.
2836//
2837// This method is useful when you want to inject custom logic or configuration
2838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2839//
2840//
2841//    // Example sending a request using the RegisterDomainRequest method.
2842//    req, resp := client.RegisterDomainRequest(params)
2843//
2844//    err := req.Send()
2845//    if err == nil { // resp is now filled
2846//        fmt.Println(resp)
2847//    }
2848func (c *SWF) RegisterDomainRequest(input *RegisterDomainInput) (req *request.Request, output *RegisterDomainOutput) {
2849	op := &request.Operation{
2850		Name:       opRegisterDomain,
2851		HTTPMethod: "POST",
2852		HTTPPath:   "/",
2853	}
2854
2855	if input == nil {
2856		input = &RegisterDomainInput{}
2857	}
2858
2859	output = &RegisterDomainOutput{}
2860	req = c.newRequest(op, input, output)
2861	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2862	return
2863}
2864
2865// RegisterDomain API operation for Amazon Simple Workflow Service.
2866//
2867// Registers a new domain.
2868//
2869// Access Control
2870//
2871// You can use IAM policies to control this action's access to Amazon SWF resources
2872// as follows:
2873//
2874//    * You cannot use an IAM policy to control domain access for this action.
2875//    The name of the domain being registered is available as the resource of
2876//    this action.
2877//
2878//    * Use an Action element to allow or deny permission to call this action.
2879//
2880//    * You cannot use an IAM policy to constrain this action's parameters.
2881//
2882// If the caller doesn't have sufficient permissions to invoke the action, or
2883// the parameter values fall outside the specified constraints, the action fails.
2884// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
2885// For details and example IAM policies, see Using IAM to Manage Access to Amazon
2886// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
2887// in the Amazon SWF Developer Guide.
2888//
2889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2890// with awserr.Error's Code and Message methods to get detailed information about
2891// the error.
2892//
2893// See the AWS API reference guide for Amazon Simple Workflow Service's
2894// API operation RegisterDomain for usage and error information.
2895//
2896// Returned Error Types:
2897//   * DomainAlreadyExistsFault
2898//   Returned if the domain already exists. You may get this fault if you are
2899//   registering a domain that is either already registered or deprecated, or
2900//   if you undeprecate a domain that is currently registered.
2901//
2902//   * LimitExceededFault
2903//   Returned by any operation if a system imposed limitation has been reached.
2904//   To address this fault you should either clean up unused resources or increase
2905//   the limit by contacting AWS.
2906//
2907//   * OperationNotPermittedFault
2908//   Returned when the caller doesn't have sufficient permissions to invoke the
2909//   action.
2910//
2911//   * TooManyTagsFault
2912//   You've exceeded the number of tags allowed for a domain.
2913//
2914func (c *SWF) RegisterDomain(input *RegisterDomainInput) (*RegisterDomainOutput, error) {
2915	req, out := c.RegisterDomainRequest(input)
2916	return out, req.Send()
2917}
2918
2919// RegisterDomainWithContext is the same as RegisterDomain with the addition of
2920// the ability to pass a context and additional request options.
2921//
2922// See RegisterDomain for details on how to use this API operation.
2923//
2924// The context must be non-nil and will be used for request cancellation. If
2925// the context is nil a panic will occur. In the future the SDK may create
2926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2927// for more information on using Contexts.
2928func (c *SWF) RegisterDomainWithContext(ctx aws.Context, input *RegisterDomainInput, opts ...request.Option) (*RegisterDomainOutput, error) {
2929	req, out := c.RegisterDomainRequest(input)
2930	req.SetContext(ctx)
2931	req.ApplyOptions(opts...)
2932	return out, req.Send()
2933}
2934
2935const opRegisterWorkflowType = "RegisterWorkflowType"
2936
2937// RegisterWorkflowTypeRequest generates a "aws/request.Request" representing the
2938// client's request for the RegisterWorkflowType operation. The "output" return
2939// value will be populated with the request's response once the request completes
2940// successfully.
2941//
2942// Use "Send" method on the returned Request to send the API call to the service.
2943// the "output" return value is not valid until after Send returns without error.
2944//
2945// See RegisterWorkflowType for more information on using the RegisterWorkflowType
2946// API call, and error handling.
2947//
2948// This method is useful when you want to inject custom logic or configuration
2949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2950//
2951//
2952//    // Example sending a request using the RegisterWorkflowTypeRequest method.
2953//    req, resp := client.RegisterWorkflowTypeRequest(params)
2954//
2955//    err := req.Send()
2956//    if err == nil { // resp is now filled
2957//        fmt.Println(resp)
2958//    }
2959func (c *SWF) RegisterWorkflowTypeRequest(input *RegisterWorkflowTypeInput) (req *request.Request, output *RegisterWorkflowTypeOutput) {
2960	op := &request.Operation{
2961		Name:       opRegisterWorkflowType,
2962		HTTPMethod: "POST",
2963		HTTPPath:   "/",
2964	}
2965
2966	if input == nil {
2967		input = &RegisterWorkflowTypeInput{}
2968	}
2969
2970	output = &RegisterWorkflowTypeOutput{}
2971	req = c.newRequest(op, input, output)
2972	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2973	return
2974}
2975
2976// RegisterWorkflowType API operation for Amazon Simple Workflow Service.
2977//
2978// Registers a new workflow type and its configuration settings in the specified
2979// domain.
2980//
2981// The retention period for the workflow history is set by the RegisterDomain
2982// action.
2983//
2984// If the type already exists, then a TypeAlreadyExists fault is returned. You
2985// cannot change the configuration settings of a workflow type once it is registered
2986// and it must be registered as a new version.
2987//
2988// Access Control
2989//
2990// You can use IAM policies to control this action's access to Amazon SWF resources
2991// as follows:
2992//
2993//    * Use a Resource element with the domain name to limit the action to only
2994//    specified domains.
2995//
2996//    * Use an Action element to allow or deny permission to call this action.
2997//
2998//    * Constrain the following parameters by using a Condition element with
2999//    the appropriate keys. defaultTaskList.name: String constraint. The key
3000//    is swf:defaultTaskList.name. name: String constraint. The key is swf:name.
3001//    version: String constraint. The key is swf:version.
3002//
3003// If the caller doesn't have sufficient permissions to invoke the action, or
3004// the parameter values fall outside the specified constraints, the action fails.
3005// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3006// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3007// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3008// in the Amazon SWF Developer Guide.
3009//
3010// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3011// with awserr.Error's Code and Message methods to get detailed information about
3012// the error.
3013//
3014// See the AWS API reference guide for Amazon Simple Workflow Service's
3015// API operation RegisterWorkflowType for usage and error information.
3016//
3017// Returned Error Types:
3018//   * TypeAlreadyExistsFault
3019//   Returned if the type already exists in the specified domain. You may get
3020//   this fault if you are registering a type that is either already registered
3021//   or deprecated, or if you undeprecate a type that is currently registered.
3022//
3023//   * LimitExceededFault
3024//   Returned by any operation if a system imposed limitation has been reached.
3025//   To address this fault you should either clean up unused resources or increase
3026//   the limit by contacting AWS.
3027//
3028//   * UnknownResourceFault
3029//   Returned when the named resource cannot be found with in the scope of this
3030//   operation (region or domain). This could happen if the named resource was
3031//   never created or is no longer available for this operation.
3032//
3033//   * OperationNotPermittedFault
3034//   Returned when the caller doesn't have sufficient permissions to invoke the
3035//   action.
3036//
3037func (c *SWF) RegisterWorkflowType(input *RegisterWorkflowTypeInput) (*RegisterWorkflowTypeOutput, error) {
3038	req, out := c.RegisterWorkflowTypeRequest(input)
3039	return out, req.Send()
3040}
3041
3042// RegisterWorkflowTypeWithContext is the same as RegisterWorkflowType with the addition of
3043// the ability to pass a context and additional request options.
3044//
3045// See RegisterWorkflowType for details on how to use this API operation.
3046//
3047// The context must be non-nil and will be used for request cancellation. If
3048// the context is nil a panic will occur. In the future the SDK may create
3049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3050// for more information on using Contexts.
3051func (c *SWF) RegisterWorkflowTypeWithContext(ctx aws.Context, input *RegisterWorkflowTypeInput, opts ...request.Option) (*RegisterWorkflowTypeOutput, error) {
3052	req, out := c.RegisterWorkflowTypeRequest(input)
3053	req.SetContext(ctx)
3054	req.ApplyOptions(opts...)
3055	return out, req.Send()
3056}
3057
3058const opRequestCancelWorkflowExecution = "RequestCancelWorkflowExecution"
3059
3060// RequestCancelWorkflowExecutionRequest generates a "aws/request.Request" representing the
3061// client's request for the RequestCancelWorkflowExecution operation. The "output" return
3062// value will be populated with the request's response once the request completes
3063// successfully.
3064//
3065// Use "Send" method on the returned Request to send the API call to the service.
3066// the "output" return value is not valid until after Send returns without error.
3067//
3068// See RequestCancelWorkflowExecution for more information on using the RequestCancelWorkflowExecution
3069// API call, and error handling.
3070//
3071// This method is useful when you want to inject custom logic or configuration
3072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3073//
3074//
3075//    // Example sending a request using the RequestCancelWorkflowExecutionRequest method.
3076//    req, resp := client.RequestCancelWorkflowExecutionRequest(params)
3077//
3078//    err := req.Send()
3079//    if err == nil { // resp is now filled
3080//        fmt.Println(resp)
3081//    }
3082func (c *SWF) RequestCancelWorkflowExecutionRequest(input *RequestCancelWorkflowExecutionInput) (req *request.Request, output *RequestCancelWorkflowExecutionOutput) {
3083	op := &request.Operation{
3084		Name:       opRequestCancelWorkflowExecution,
3085		HTTPMethod: "POST",
3086		HTTPPath:   "/",
3087	}
3088
3089	if input == nil {
3090		input = &RequestCancelWorkflowExecutionInput{}
3091	}
3092
3093	output = &RequestCancelWorkflowExecutionOutput{}
3094	req = c.newRequest(op, input, output)
3095	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3096	return
3097}
3098
3099// RequestCancelWorkflowExecution API operation for Amazon Simple Workflow Service.
3100//
3101// Records a WorkflowExecutionCancelRequested event in the currently running
3102// workflow execution identified by the given domain, workflowId, and runId.
3103// This logically requests the cancellation of the workflow execution as a whole.
3104// It is up to the decider to take appropriate actions when it receives an execution
3105// history with this event.
3106//
3107// If the runId isn't specified, the WorkflowExecutionCancelRequested event
3108// is recorded in the history of the current open workflow execution with the
3109// specified workflowId in the domain.
3110//
3111// Because this action allows the workflow to properly clean up and gracefully
3112// close, it should be used instead of TerminateWorkflowExecution when possible.
3113//
3114// Access Control
3115//
3116// You can use IAM policies to control this action's access to Amazon SWF resources
3117// as follows:
3118//
3119//    * Use a Resource element with the domain name to limit the action to only
3120//    specified domains.
3121//
3122//    * Use an Action element to allow or deny permission to call this action.
3123//
3124//    * You cannot use an IAM policy to constrain this action's parameters.
3125//
3126// If the caller doesn't have sufficient permissions to invoke the action, or
3127// the parameter values fall outside the specified constraints, the action fails.
3128// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3129// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3130// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3131// in the Amazon SWF Developer Guide.
3132//
3133// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3134// with awserr.Error's Code and Message methods to get detailed information about
3135// the error.
3136//
3137// See the AWS API reference guide for Amazon Simple Workflow Service's
3138// API operation RequestCancelWorkflowExecution for usage and error information.
3139//
3140// Returned Error Types:
3141//   * UnknownResourceFault
3142//   Returned when the named resource cannot be found with in the scope of this
3143//   operation (region or domain). This could happen if the named resource was
3144//   never created or is no longer available for this operation.
3145//
3146//   * OperationNotPermittedFault
3147//   Returned when the caller doesn't have sufficient permissions to invoke the
3148//   action.
3149//
3150func (c *SWF) RequestCancelWorkflowExecution(input *RequestCancelWorkflowExecutionInput) (*RequestCancelWorkflowExecutionOutput, error) {
3151	req, out := c.RequestCancelWorkflowExecutionRequest(input)
3152	return out, req.Send()
3153}
3154
3155// RequestCancelWorkflowExecutionWithContext is the same as RequestCancelWorkflowExecution with the addition of
3156// the ability to pass a context and additional request options.
3157//
3158// See RequestCancelWorkflowExecution for details on how to use this API operation.
3159//
3160// The context must be non-nil and will be used for request cancellation. If
3161// the context is nil a panic will occur. In the future the SDK may create
3162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3163// for more information on using Contexts.
3164func (c *SWF) RequestCancelWorkflowExecutionWithContext(ctx aws.Context, input *RequestCancelWorkflowExecutionInput, opts ...request.Option) (*RequestCancelWorkflowExecutionOutput, error) {
3165	req, out := c.RequestCancelWorkflowExecutionRequest(input)
3166	req.SetContext(ctx)
3167	req.ApplyOptions(opts...)
3168	return out, req.Send()
3169}
3170
3171const opRespondActivityTaskCanceled = "RespondActivityTaskCanceled"
3172
3173// RespondActivityTaskCanceledRequest generates a "aws/request.Request" representing the
3174// client's request for the RespondActivityTaskCanceled operation. The "output" return
3175// value will be populated with the request's response once the request completes
3176// successfully.
3177//
3178// Use "Send" method on the returned Request to send the API call to the service.
3179// the "output" return value is not valid until after Send returns without error.
3180//
3181// See RespondActivityTaskCanceled for more information on using the RespondActivityTaskCanceled
3182// API call, and error handling.
3183//
3184// This method is useful when you want to inject custom logic or configuration
3185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3186//
3187//
3188//    // Example sending a request using the RespondActivityTaskCanceledRequest method.
3189//    req, resp := client.RespondActivityTaskCanceledRequest(params)
3190//
3191//    err := req.Send()
3192//    if err == nil { // resp is now filled
3193//        fmt.Println(resp)
3194//    }
3195func (c *SWF) RespondActivityTaskCanceledRequest(input *RespondActivityTaskCanceledInput) (req *request.Request, output *RespondActivityTaskCanceledOutput) {
3196	op := &request.Operation{
3197		Name:       opRespondActivityTaskCanceled,
3198		HTTPMethod: "POST",
3199		HTTPPath:   "/",
3200	}
3201
3202	if input == nil {
3203		input = &RespondActivityTaskCanceledInput{}
3204	}
3205
3206	output = &RespondActivityTaskCanceledOutput{}
3207	req = c.newRequest(op, input, output)
3208	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3209	return
3210}
3211
3212// RespondActivityTaskCanceled API operation for Amazon Simple Workflow Service.
3213//
3214// Used by workers to tell the service that the ActivityTask identified by the
3215// taskToken was successfully canceled. Additional details can be provided using
3216// the details argument.
3217//
3218// These details (if provided) appear in the ActivityTaskCanceled event added
3219// to the workflow history.
3220//
3221// Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat
3222// request returns true and if the activity can be safely undone or abandoned.
3223//
3224// A task is considered open from the time that it is scheduled until it is
3225// closed. Therefore a task is reported as open while a worker is processing
3226// it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted,
3227// RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed
3228// out (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types).
3229//
3230// Access Control
3231//
3232// You can use IAM policies to control this action's access to Amazon SWF resources
3233// as follows:
3234//
3235//    * Use a Resource element with the domain name to limit the action to only
3236//    specified domains.
3237//
3238//    * Use an Action element to allow or deny permission to call this action.
3239//
3240//    * You cannot use an IAM policy to constrain this action's parameters.
3241//
3242// If the caller doesn't have sufficient permissions to invoke the action, or
3243// the parameter values fall outside the specified constraints, the action fails.
3244// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3245// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3246// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3247// in the Amazon SWF Developer Guide.
3248//
3249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3250// with awserr.Error's Code and Message methods to get detailed information about
3251// the error.
3252//
3253// See the AWS API reference guide for Amazon Simple Workflow Service's
3254// API operation RespondActivityTaskCanceled for usage and error information.
3255//
3256// Returned Error Types:
3257//   * UnknownResourceFault
3258//   Returned when the named resource cannot be found with in the scope of this
3259//   operation (region or domain). This could happen if the named resource was
3260//   never created or is no longer available for this operation.
3261//
3262//   * OperationNotPermittedFault
3263//   Returned when the caller doesn't have sufficient permissions to invoke the
3264//   action.
3265//
3266func (c *SWF) RespondActivityTaskCanceled(input *RespondActivityTaskCanceledInput) (*RespondActivityTaskCanceledOutput, error) {
3267	req, out := c.RespondActivityTaskCanceledRequest(input)
3268	return out, req.Send()
3269}
3270
3271// RespondActivityTaskCanceledWithContext is the same as RespondActivityTaskCanceled with the addition of
3272// the ability to pass a context and additional request options.
3273//
3274// See RespondActivityTaskCanceled for details on how to use this API operation.
3275//
3276// The context must be non-nil and will be used for request cancellation. If
3277// the context is nil a panic will occur. In the future the SDK may create
3278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3279// for more information on using Contexts.
3280func (c *SWF) RespondActivityTaskCanceledWithContext(ctx aws.Context, input *RespondActivityTaskCanceledInput, opts ...request.Option) (*RespondActivityTaskCanceledOutput, error) {
3281	req, out := c.RespondActivityTaskCanceledRequest(input)
3282	req.SetContext(ctx)
3283	req.ApplyOptions(opts...)
3284	return out, req.Send()
3285}
3286
3287const opRespondActivityTaskCompleted = "RespondActivityTaskCompleted"
3288
3289// RespondActivityTaskCompletedRequest generates a "aws/request.Request" representing the
3290// client's request for the RespondActivityTaskCompleted operation. The "output" return
3291// value will be populated with the request's response once the request completes
3292// successfully.
3293//
3294// Use "Send" method on the returned Request to send the API call to the service.
3295// the "output" return value is not valid until after Send returns without error.
3296//
3297// See RespondActivityTaskCompleted for more information on using the RespondActivityTaskCompleted
3298// API call, and error handling.
3299//
3300// This method is useful when you want to inject custom logic or configuration
3301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3302//
3303//
3304//    // Example sending a request using the RespondActivityTaskCompletedRequest method.
3305//    req, resp := client.RespondActivityTaskCompletedRequest(params)
3306//
3307//    err := req.Send()
3308//    if err == nil { // resp is now filled
3309//        fmt.Println(resp)
3310//    }
3311func (c *SWF) RespondActivityTaskCompletedRequest(input *RespondActivityTaskCompletedInput) (req *request.Request, output *RespondActivityTaskCompletedOutput) {
3312	op := &request.Operation{
3313		Name:       opRespondActivityTaskCompleted,
3314		HTTPMethod: "POST",
3315		HTTPPath:   "/",
3316	}
3317
3318	if input == nil {
3319		input = &RespondActivityTaskCompletedInput{}
3320	}
3321
3322	output = &RespondActivityTaskCompletedOutput{}
3323	req = c.newRequest(op, input, output)
3324	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3325	return
3326}
3327
3328// RespondActivityTaskCompleted API operation for Amazon Simple Workflow Service.
3329//
3330// Used by workers to tell the service that the ActivityTask identified by the
3331// taskToken completed successfully with a result (if provided). The result
3332// appears in the ActivityTaskCompleted event in the workflow history.
3333//
3334// If the requested task doesn't complete successfully, use RespondActivityTaskFailed
3335// instead. If the worker finds that the task is canceled through the canceled
3336// flag returned by RecordActivityTaskHeartbeat, it should cancel the task,
3337// clean up and then call RespondActivityTaskCanceled.
3338//
3339// A task is considered open from the time that it is scheduled until it is
3340// closed. Therefore a task is reported as open while a worker is processing
3341// it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted,
3342// RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed
3343// out (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types).
3344//
3345// Access Control
3346//
3347// You can use IAM policies to control this action's access to Amazon SWF resources
3348// as follows:
3349//
3350//    * Use a Resource element with the domain name to limit the action to only
3351//    specified domains.
3352//
3353//    * Use an Action element to allow or deny permission to call this action.
3354//
3355//    * You cannot use an IAM policy to constrain this action's parameters.
3356//
3357// If the caller doesn't have sufficient permissions to invoke the action, or
3358// the parameter values fall outside the specified constraints, the action fails.
3359// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3360// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3361// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3362// in the Amazon SWF Developer Guide.
3363//
3364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3365// with awserr.Error's Code and Message methods to get detailed information about
3366// the error.
3367//
3368// See the AWS API reference guide for Amazon Simple Workflow Service's
3369// API operation RespondActivityTaskCompleted for usage and error information.
3370//
3371// Returned Error Types:
3372//   * UnknownResourceFault
3373//   Returned when the named resource cannot be found with in the scope of this
3374//   operation (region or domain). This could happen if the named resource was
3375//   never created or is no longer available for this operation.
3376//
3377//   * OperationNotPermittedFault
3378//   Returned when the caller doesn't have sufficient permissions to invoke the
3379//   action.
3380//
3381func (c *SWF) RespondActivityTaskCompleted(input *RespondActivityTaskCompletedInput) (*RespondActivityTaskCompletedOutput, error) {
3382	req, out := c.RespondActivityTaskCompletedRequest(input)
3383	return out, req.Send()
3384}
3385
3386// RespondActivityTaskCompletedWithContext is the same as RespondActivityTaskCompleted with the addition of
3387// the ability to pass a context and additional request options.
3388//
3389// See RespondActivityTaskCompleted for details on how to use this API operation.
3390//
3391// The context must be non-nil and will be used for request cancellation. If
3392// the context is nil a panic will occur. In the future the SDK may create
3393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3394// for more information on using Contexts.
3395func (c *SWF) RespondActivityTaskCompletedWithContext(ctx aws.Context, input *RespondActivityTaskCompletedInput, opts ...request.Option) (*RespondActivityTaskCompletedOutput, error) {
3396	req, out := c.RespondActivityTaskCompletedRequest(input)
3397	req.SetContext(ctx)
3398	req.ApplyOptions(opts...)
3399	return out, req.Send()
3400}
3401
3402const opRespondActivityTaskFailed = "RespondActivityTaskFailed"
3403
3404// RespondActivityTaskFailedRequest generates a "aws/request.Request" representing the
3405// client's request for the RespondActivityTaskFailed operation. The "output" return
3406// value will be populated with the request's response once the request completes
3407// successfully.
3408//
3409// Use "Send" method on the returned Request to send the API call to the service.
3410// the "output" return value is not valid until after Send returns without error.
3411//
3412// See RespondActivityTaskFailed for more information on using the RespondActivityTaskFailed
3413// API call, and error handling.
3414//
3415// This method is useful when you want to inject custom logic or configuration
3416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3417//
3418//
3419//    // Example sending a request using the RespondActivityTaskFailedRequest method.
3420//    req, resp := client.RespondActivityTaskFailedRequest(params)
3421//
3422//    err := req.Send()
3423//    if err == nil { // resp is now filled
3424//        fmt.Println(resp)
3425//    }
3426func (c *SWF) RespondActivityTaskFailedRequest(input *RespondActivityTaskFailedInput) (req *request.Request, output *RespondActivityTaskFailedOutput) {
3427	op := &request.Operation{
3428		Name:       opRespondActivityTaskFailed,
3429		HTTPMethod: "POST",
3430		HTTPPath:   "/",
3431	}
3432
3433	if input == nil {
3434		input = &RespondActivityTaskFailedInput{}
3435	}
3436
3437	output = &RespondActivityTaskFailedOutput{}
3438	req = c.newRequest(op, input, output)
3439	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3440	return
3441}
3442
3443// RespondActivityTaskFailed API operation for Amazon Simple Workflow Service.
3444//
3445// Used by workers to tell the service that the ActivityTask identified by the
3446// taskToken has failed with reason (if specified). The reason and details appear
3447// in the ActivityTaskFailed event added to the workflow history.
3448//
3449// A task is considered open from the time that it is scheduled until it is
3450// closed. Therefore a task is reported as open while a worker is processing
3451// it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted,
3452// RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed
3453// out (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-basic.html#swf-dev-timeout-types).
3454//
3455// Access Control
3456//
3457// You can use IAM policies to control this action's access to Amazon SWF resources
3458// as follows:
3459//
3460//    * Use a Resource element with the domain name to limit the action to only
3461//    specified domains.
3462//
3463//    * Use an Action element to allow or deny permission to call this action.
3464//
3465//    * You cannot use an IAM policy to constrain this action's parameters.
3466//
3467// If the caller doesn't have sufficient permissions to invoke the action, or
3468// the parameter values fall outside the specified constraints, the action fails.
3469// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3470// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3471// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3472// in the Amazon SWF Developer Guide.
3473//
3474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3475// with awserr.Error's Code and Message methods to get detailed information about
3476// the error.
3477//
3478// See the AWS API reference guide for Amazon Simple Workflow Service's
3479// API operation RespondActivityTaskFailed for usage and error information.
3480//
3481// Returned Error Types:
3482//   * UnknownResourceFault
3483//   Returned when the named resource cannot be found with in the scope of this
3484//   operation (region or domain). This could happen if the named resource was
3485//   never created or is no longer available for this operation.
3486//
3487//   * OperationNotPermittedFault
3488//   Returned when the caller doesn't have sufficient permissions to invoke the
3489//   action.
3490//
3491func (c *SWF) RespondActivityTaskFailed(input *RespondActivityTaskFailedInput) (*RespondActivityTaskFailedOutput, error) {
3492	req, out := c.RespondActivityTaskFailedRequest(input)
3493	return out, req.Send()
3494}
3495
3496// RespondActivityTaskFailedWithContext is the same as RespondActivityTaskFailed with the addition of
3497// the ability to pass a context and additional request options.
3498//
3499// See RespondActivityTaskFailed for details on how to use this API operation.
3500//
3501// The context must be non-nil and will be used for request cancellation. If
3502// the context is nil a panic will occur. In the future the SDK may create
3503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3504// for more information on using Contexts.
3505func (c *SWF) RespondActivityTaskFailedWithContext(ctx aws.Context, input *RespondActivityTaskFailedInput, opts ...request.Option) (*RespondActivityTaskFailedOutput, error) {
3506	req, out := c.RespondActivityTaskFailedRequest(input)
3507	req.SetContext(ctx)
3508	req.ApplyOptions(opts...)
3509	return out, req.Send()
3510}
3511
3512const opRespondDecisionTaskCompleted = "RespondDecisionTaskCompleted"
3513
3514// RespondDecisionTaskCompletedRequest generates a "aws/request.Request" representing the
3515// client's request for the RespondDecisionTaskCompleted operation. The "output" return
3516// value will be populated with the request's response once the request completes
3517// successfully.
3518//
3519// Use "Send" method on the returned Request to send the API call to the service.
3520// the "output" return value is not valid until after Send returns without error.
3521//
3522// See RespondDecisionTaskCompleted for more information on using the RespondDecisionTaskCompleted
3523// API call, and error handling.
3524//
3525// This method is useful when you want to inject custom logic or configuration
3526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3527//
3528//
3529//    // Example sending a request using the RespondDecisionTaskCompletedRequest method.
3530//    req, resp := client.RespondDecisionTaskCompletedRequest(params)
3531//
3532//    err := req.Send()
3533//    if err == nil { // resp is now filled
3534//        fmt.Println(resp)
3535//    }
3536func (c *SWF) RespondDecisionTaskCompletedRequest(input *RespondDecisionTaskCompletedInput) (req *request.Request, output *RespondDecisionTaskCompletedOutput) {
3537	op := &request.Operation{
3538		Name:       opRespondDecisionTaskCompleted,
3539		HTTPMethod: "POST",
3540		HTTPPath:   "/",
3541	}
3542
3543	if input == nil {
3544		input = &RespondDecisionTaskCompletedInput{}
3545	}
3546
3547	output = &RespondDecisionTaskCompletedOutput{}
3548	req = c.newRequest(op, input, output)
3549	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3550	return
3551}
3552
3553// RespondDecisionTaskCompleted API operation for Amazon Simple Workflow Service.
3554//
3555// Used by deciders to tell the service that the DecisionTask identified by
3556// the taskToken has successfully completed. The decisions argument specifies
3557// the list of decisions made while processing the task.
3558//
3559// A DecisionTaskCompleted event is added to the workflow history. The executionContext
3560// specified is attached to the event in the workflow execution history.
3561//
3562// Access Control
3563//
3564// If an IAM policy grants permission to use RespondDecisionTaskCompleted, it
3565// can express permissions for the list of decisions in the decisions parameter.
3566// Each of the decisions has one or more parameters, much like a regular API
3567// call. To allow for policies to be as readable as possible, you can express
3568// permissions on decisions as if they were actual API calls, including applying
3569// conditions to some parameters. For more information, see Using IAM to Manage
3570// Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3571// in the Amazon SWF Developer Guide.
3572//
3573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3574// with awserr.Error's Code and Message methods to get detailed information about
3575// the error.
3576//
3577// See the AWS API reference guide for Amazon Simple Workflow Service's
3578// API operation RespondDecisionTaskCompleted for usage and error information.
3579//
3580// Returned Error Types:
3581//   * UnknownResourceFault
3582//   Returned when the named resource cannot be found with in the scope of this
3583//   operation (region or domain). This could happen if the named resource was
3584//   never created or is no longer available for this operation.
3585//
3586//   * OperationNotPermittedFault
3587//   Returned when the caller doesn't have sufficient permissions to invoke the
3588//   action.
3589//
3590func (c *SWF) RespondDecisionTaskCompleted(input *RespondDecisionTaskCompletedInput) (*RespondDecisionTaskCompletedOutput, error) {
3591	req, out := c.RespondDecisionTaskCompletedRequest(input)
3592	return out, req.Send()
3593}
3594
3595// RespondDecisionTaskCompletedWithContext is the same as RespondDecisionTaskCompleted with the addition of
3596// the ability to pass a context and additional request options.
3597//
3598// See RespondDecisionTaskCompleted for details on how to use this API operation.
3599//
3600// The context must be non-nil and will be used for request cancellation. If
3601// the context is nil a panic will occur. In the future the SDK may create
3602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3603// for more information on using Contexts.
3604func (c *SWF) RespondDecisionTaskCompletedWithContext(ctx aws.Context, input *RespondDecisionTaskCompletedInput, opts ...request.Option) (*RespondDecisionTaskCompletedOutput, error) {
3605	req, out := c.RespondDecisionTaskCompletedRequest(input)
3606	req.SetContext(ctx)
3607	req.ApplyOptions(opts...)
3608	return out, req.Send()
3609}
3610
3611const opSignalWorkflowExecution = "SignalWorkflowExecution"
3612
3613// SignalWorkflowExecutionRequest generates a "aws/request.Request" representing the
3614// client's request for the SignalWorkflowExecution operation. The "output" return
3615// value will be populated with the request's response once the request completes
3616// successfully.
3617//
3618// Use "Send" method on the returned Request to send the API call to the service.
3619// the "output" return value is not valid until after Send returns without error.
3620//
3621// See SignalWorkflowExecution for more information on using the SignalWorkflowExecution
3622// API call, and error handling.
3623//
3624// This method is useful when you want to inject custom logic or configuration
3625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3626//
3627//
3628//    // Example sending a request using the SignalWorkflowExecutionRequest method.
3629//    req, resp := client.SignalWorkflowExecutionRequest(params)
3630//
3631//    err := req.Send()
3632//    if err == nil { // resp is now filled
3633//        fmt.Println(resp)
3634//    }
3635func (c *SWF) SignalWorkflowExecutionRequest(input *SignalWorkflowExecutionInput) (req *request.Request, output *SignalWorkflowExecutionOutput) {
3636	op := &request.Operation{
3637		Name:       opSignalWorkflowExecution,
3638		HTTPMethod: "POST",
3639		HTTPPath:   "/",
3640	}
3641
3642	if input == nil {
3643		input = &SignalWorkflowExecutionInput{}
3644	}
3645
3646	output = &SignalWorkflowExecutionOutput{}
3647	req = c.newRequest(op, input, output)
3648	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3649	return
3650}
3651
3652// SignalWorkflowExecution API operation for Amazon Simple Workflow Service.
3653//
3654// Records a WorkflowExecutionSignaled event in the workflow execution history
3655// and creates a decision task for the workflow execution identified by the
3656// given domain, workflowId and runId. The event is recorded with the specified
3657// user defined signalName and input (if provided).
3658//
3659// If a runId isn't specified, then the WorkflowExecutionSignaled event is recorded
3660// in the history of the current open workflow with the matching workflowId
3661// in the domain.
3662//
3663// If the specified workflow execution isn't open, this method fails with UnknownResource.
3664//
3665// Access Control
3666//
3667// You can use IAM policies to control this action's access to Amazon SWF resources
3668// as follows:
3669//
3670//    * Use a Resource element with the domain name to limit the action to only
3671//    specified domains.
3672//
3673//    * Use an Action element to allow or deny permission to call this action.
3674//
3675//    * You cannot use an IAM policy to constrain this action's parameters.
3676//
3677// If the caller doesn't have sufficient permissions to invoke the action, or
3678// the parameter values fall outside the specified constraints, the action fails.
3679// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3680// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3681// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3682// in the Amazon SWF Developer Guide.
3683//
3684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3685// with awserr.Error's Code and Message methods to get detailed information about
3686// the error.
3687//
3688// See the AWS API reference guide for Amazon Simple Workflow Service's
3689// API operation SignalWorkflowExecution for usage and error information.
3690//
3691// Returned Error Types:
3692//   * UnknownResourceFault
3693//   Returned when the named resource cannot be found with in the scope of this
3694//   operation (region or domain). This could happen if the named resource was
3695//   never created or is no longer available for this operation.
3696//
3697//   * OperationNotPermittedFault
3698//   Returned when the caller doesn't have sufficient permissions to invoke the
3699//   action.
3700//
3701func (c *SWF) SignalWorkflowExecution(input *SignalWorkflowExecutionInput) (*SignalWorkflowExecutionOutput, error) {
3702	req, out := c.SignalWorkflowExecutionRequest(input)
3703	return out, req.Send()
3704}
3705
3706// SignalWorkflowExecutionWithContext is the same as SignalWorkflowExecution with the addition of
3707// the ability to pass a context and additional request options.
3708//
3709// See SignalWorkflowExecution for details on how to use this API operation.
3710//
3711// The context must be non-nil and will be used for request cancellation. If
3712// the context is nil a panic will occur. In the future the SDK may create
3713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3714// for more information on using Contexts.
3715func (c *SWF) SignalWorkflowExecutionWithContext(ctx aws.Context, input *SignalWorkflowExecutionInput, opts ...request.Option) (*SignalWorkflowExecutionOutput, error) {
3716	req, out := c.SignalWorkflowExecutionRequest(input)
3717	req.SetContext(ctx)
3718	req.ApplyOptions(opts...)
3719	return out, req.Send()
3720}
3721
3722const opStartWorkflowExecution = "StartWorkflowExecution"
3723
3724// StartWorkflowExecutionRequest generates a "aws/request.Request" representing the
3725// client's request for the StartWorkflowExecution operation. The "output" return
3726// value will be populated with the request's response once the request completes
3727// successfully.
3728//
3729// Use "Send" method on the returned Request to send the API call to the service.
3730// the "output" return value is not valid until after Send returns without error.
3731//
3732// See StartWorkflowExecution for more information on using the StartWorkflowExecution
3733// API call, and error handling.
3734//
3735// This method is useful when you want to inject custom logic or configuration
3736// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3737//
3738//
3739//    // Example sending a request using the StartWorkflowExecutionRequest method.
3740//    req, resp := client.StartWorkflowExecutionRequest(params)
3741//
3742//    err := req.Send()
3743//    if err == nil { // resp is now filled
3744//        fmt.Println(resp)
3745//    }
3746func (c *SWF) StartWorkflowExecutionRequest(input *StartWorkflowExecutionInput) (req *request.Request, output *StartWorkflowExecutionOutput) {
3747	op := &request.Operation{
3748		Name:       opStartWorkflowExecution,
3749		HTTPMethod: "POST",
3750		HTTPPath:   "/",
3751	}
3752
3753	if input == nil {
3754		input = &StartWorkflowExecutionInput{}
3755	}
3756
3757	output = &StartWorkflowExecutionOutput{}
3758	req = c.newRequest(op, input, output)
3759	return
3760}
3761
3762// StartWorkflowExecution API operation for Amazon Simple Workflow Service.
3763//
3764// Starts an execution of the workflow type in the specified domain using the
3765// provided workflowId and input data.
3766//
3767// This action returns the newly started workflow execution.
3768//
3769// Access Control
3770//
3771// You can use IAM policies to control this action's access to Amazon SWF resources
3772// as follows:
3773//
3774//    * Use a Resource element with the domain name to limit the action to only
3775//    specified domains.
3776//
3777//    * Use an Action element to allow or deny permission to call this action.
3778//
3779//    * Constrain the following parameters by using a Condition element with
3780//    the appropriate keys. tagList.member.0: The key is swf:tagList.member.0.
3781//    tagList.member.1: The key is swf:tagList.member.1. tagList.member.2: The
3782//    key is swf:tagList.member.2. tagList.member.3: The key is swf:tagList.member.3.
3783//    tagList.member.4: The key is swf:tagList.member.4. taskList: String constraint.
3784//    The key is swf:taskList.name. workflowType.name: String constraint. The
3785//    key is swf:workflowType.name. workflowType.version: String constraint.
3786//    The key is swf:workflowType.version.
3787//
3788// If the caller doesn't have sufficient permissions to invoke the action, or
3789// the parameter values fall outside the specified constraints, the action fails.
3790// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
3791// For details and example IAM policies, see Using IAM to Manage Access to Amazon
3792// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
3793// in the Amazon SWF Developer Guide.
3794//
3795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3796// with awserr.Error's Code and Message methods to get detailed information about
3797// the error.
3798//
3799// See the AWS API reference guide for Amazon Simple Workflow Service's
3800// API operation StartWorkflowExecution for usage and error information.
3801//
3802// Returned Error Types:
3803//   * UnknownResourceFault
3804//   Returned when the named resource cannot be found with in the scope of this
3805//   operation (region or domain). This could happen if the named resource was
3806//   never created or is no longer available for this operation.
3807//
3808//   * TypeDeprecatedFault
3809//   Returned when the specified activity or workflow type was already deprecated.
3810//
3811//   * WorkflowExecutionAlreadyStartedFault
3812//   Returned by StartWorkflowExecution when an open execution with the same workflowId
3813//   is already running in the specified domain.
3814//
3815//   * LimitExceededFault
3816//   Returned by any operation if a system imposed limitation has been reached.
3817//   To address this fault you should either clean up unused resources or increase
3818//   the limit by contacting AWS.
3819//
3820//   * OperationNotPermittedFault
3821//   Returned when the caller doesn't have sufficient permissions to invoke the
3822//   action.
3823//
3824//   * DefaultUndefinedFault
3825//   The StartWorkflowExecution API action was called without the required parameters
3826//   set.
3827//
3828//   Some workflow execution parameters, such as the decision taskList, must be
3829//   set to start the execution. However, these parameters might have been set
3830//   as defaults when the workflow type was registered. In this case, you can
3831//   omit these parameters from the StartWorkflowExecution call and Amazon SWF
3832//   uses the values defined in the workflow type.
3833//
3834//   If these parameters aren't set and no default parameters were defined in
3835//   the workflow type, this error is displayed.
3836//
3837func (c *SWF) StartWorkflowExecution(input *StartWorkflowExecutionInput) (*StartWorkflowExecutionOutput, error) {
3838	req, out := c.StartWorkflowExecutionRequest(input)
3839	return out, req.Send()
3840}
3841
3842// StartWorkflowExecutionWithContext is the same as StartWorkflowExecution with the addition of
3843// the ability to pass a context and additional request options.
3844//
3845// See StartWorkflowExecution for details on how to use this API operation.
3846//
3847// The context must be non-nil and will be used for request cancellation. If
3848// the context is nil a panic will occur. In the future the SDK may create
3849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3850// for more information on using Contexts.
3851func (c *SWF) StartWorkflowExecutionWithContext(ctx aws.Context, input *StartWorkflowExecutionInput, opts ...request.Option) (*StartWorkflowExecutionOutput, error) {
3852	req, out := c.StartWorkflowExecutionRequest(input)
3853	req.SetContext(ctx)
3854	req.ApplyOptions(opts...)
3855	return out, req.Send()
3856}
3857
3858const opTagResource = "TagResource"
3859
3860// TagResourceRequest generates a "aws/request.Request" representing the
3861// client's request for the TagResource operation. The "output" return
3862// value will be populated with the request's response once the request completes
3863// successfully.
3864//
3865// Use "Send" method on the returned Request to send the API call to the service.
3866// the "output" return value is not valid until after Send returns without error.
3867//
3868// See TagResource for more information on using the TagResource
3869// API call, and error handling.
3870//
3871// This method is useful when you want to inject custom logic or configuration
3872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3873//
3874//
3875//    // Example sending a request using the TagResourceRequest method.
3876//    req, resp := client.TagResourceRequest(params)
3877//
3878//    err := req.Send()
3879//    if err == nil { // resp is now filled
3880//        fmt.Println(resp)
3881//    }
3882func (c *SWF) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3883	op := &request.Operation{
3884		Name:       opTagResource,
3885		HTTPMethod: "POST",
3886		HTTPPath:   "/",
3887	}
3888
3889	if input == nil {
3890		input = &TagResourceInput{}
3891	}
3892
3893	output = &TagResourceOutput{}
3894	req = c.newRequest(op, input, output)
3895	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3896	return
3897}
3898
3899// TagResource API operation for Amazon Simple Workflow Service.
3900//
3901// Add a tag to a Amazon SWF domain.
3902//
3903// Amazon SWF supports a maximum of 50 tags per resource.
3904//
3905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3906// with awserr.Error's Code and Message methods to get detailed information about
3907// the error.
3908//
3909// See the AWS API reference guide for Amazon Simple Workflow Service's
3910// API operation TagResource for usage and error information.
3911//
3912// Returned Error Types:
3913//   * UnknownResourceFault
3914//   Returned when the named resource cannot be found with in the scope of this
3915//   operation (region or domain). This could happen if the named resource was
3916//   never created or is no longer available for this operation.
3917//
3918//   * TooManyTagsFault
3919//   You've exceeded the number of tags allowed for a domain.
3920//
3921//   * LimitExceededFault
3922//   Returned by any operation if a system imposed limitation has been reached.
3923//   To address this fault you should either clean up unused resources or increase
3924//   the limit by contacting AWS.
3925//
3926//   * OperationNotPermittedFault
3927//   Returned when the caller doesn't have sufficient permissions to invoke the
3928//   action.
3929//
3930func (c *SWF) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3931	req, out := c.TagResourceRequest(input)
3932	return out, req.Send()
3933}
3934
3935// TagResourceWithContext is the same as TagResource with the addition of
3936// the ability to pass a context and additional request options.
3937//
3938// See TagResource for details on how to use this API operation.
3939//
3940// The context must be non-nil and will be used for request cancellation. If
3941// the context is nil a panic will occur. In the future the SDK may create
3942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3943// for more information on using Contexts.
3944func (c *SWF) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3945	req, out := c.TagResourceRequest(input)
3946	req.SetContext(ctx)
3947	req.ApplyOptions(opts...)
3948	return out, req.Send()
3949}
3950
3951const opTerminateWorkflowExecution = "TerminateWorkflowExecution"
3952
3953// TerminateWorkflowExecutionRequest generates a "aws/request.Request" representing the
3954// client's request for the TerminateWorkflowExecution operation. The "output" return
3955// value will be populated with the request's response once the request completes
3956// successfully.
3957//
3958// Use "Send" method on the returned Request to send the API call to the service.
3959// the "output" return value is not valid until after Send returns without error.
3960//
3961// See TerminateWorkflowExecution for more information on using the TerminateWorkflowExecution
3962// API call, and error handling.
3963//
3964// This method is useful when you want to inject custom logic or configuration
3965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3966//
3967//
3968//    // Example sending a request using the TerminateWorkflowExecutionRequest method.
3969//    req, resp := client.TerminateWorkflowExecutionRequest(params)
3970//
3971//    err := req.Send()
3972//    if err == nil { // resp is now filled
3973//        fmt.Println(resp)
3974//    }
3975func (c *SWF) TerminateWorkflowExecutionRequest(input *TerminateWorkflowExecutionInput) (req *request.Request, output *TerminateWorkflowExecutionOutput) {
3976	op := &request.Operation{
3977		Name:       opTerminateWorkflowExecution,
3978		HTTPMethod: "POST",
3979		HTTPPath:   "/",
3980	}
3981
3982	if input == nil {
3983		input = &TerminateWorkflowExecutionInput{}
3984	}
3985
3986	output = &TerminateWorkflowExecutionOutput{}
3987	req = c.newRequest(op, input, output)
3988	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3989	return
3990}
3991
3992// TerminateWorkflowExecution API operation for Amazon Simple Workflow Service.
3993//
3994// Records a WorkflowExecutionTerminated event and forces closure of the workflow
3995// execution identified by the given domain, runId, and workflowId. The child
3996// policy, registered with the workflow type or specified when starting this
3997// execution, is applied to any open child workflow executions of this workflow
3998// execution.
3999//
4000// If the identified workflow execution was in progress, it is terminated immediately.
4001//
4002// If a runId isn't specified, then the WorkflowExecutionTerminated event is
4003// recorded in the history of the current open workflow with the matching workflowId
4004// in the domain.
4005//
4006// You should consider using RequestCancelWorkflowExecution action instead because
4007// it allows the workflow to gracefully close while TerminateWorkflowExecution
4008// doesn't.
4009//
4010// Access Control
4011//
4012// You can use IAM policies to control this action's access to Amazon SWF resources
4013// as follows:
4014//
4015//    * Use a Resource element with the domain name to limit the action to only
4016//    specified domains.
4017//
4018//    * Use an Action element to allow or deny permission to call this action.
4019//
4020//    * You cannot use an IAM policy to constrain this action's parameters.
4021//
4022// If the caller doesn't have sufficient permissions to invoke the action, or
4023// the parameter values fall outside the specified constraints, the action fails.
4024// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
4025// For details and example IAM policies, see Using IAM to Manage Access to Amazon
4026// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
4027// in the Amazon SWF Developer Guide.
4028//
4029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4030// with awserr.Error's Code and Message methods to get detailed information about
4031// the error.
4032//
4033// See the AWS API reference guide for Amazon Simple Workflow Service's
4034// API operation TerminateWorkflowExecution for usage and error information.
4035//
4036// Returned Error Types:
4037//   * UnknownResourceFault
4038//   Returned when the named resource cannot be found with in the scope of this
4039//   operation (region or domain). This could happen if the named resource was
4040//   never created or is no longer available for this operation.
4041//
4042//   * OperationNotPermittedFault
4043//   Returned when the caller doesn't have sufficient permissions to invoke the
4044//   action.
4045//
4046func (c *SWF) TerminateWorkflowExecution(input *TerminateWorkflowExecutionInput) (*TerminateWorkflowExecutionOutput, error) {
4047	req, out := c.TerminateWorkflowExecutionRequest(input)
4048	return out, req.Send()
4049}
4050
4051// TerminateWorkflowExecutionWithContext is the same as TerminateWorkflowExecution with the addition of
4052// the ability to pass a context and additional request options.
4053//
4054// See TerminateWorkflowExecution for details on how to use this API operation.
4055//
4056// The context must be non-nil and will be used for request cancellation. If
4057// the context is nil a panic will occur. In the future the SDK may create
4058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4059// for more information on using Contexts.
4060func (c *SWF) TerminateWorkflowExecutionWithContext(ctx aws.Context, input *TerminateWorkflowExecutionInput, opts ...request.Option) (*TerminateWorkflowExecutionOutput, error) {
4061	req, out := c.TerminateWorkflowExecutionRequest(input)
4062	req.SetContext(ctx)
4063	req.ApplyOptions(opts...)
4064	return out, req.Send()
4065}
4066
4067const opUndeprecateActivityType = "UndeprecateActivityType"
4068
4069// UndeprecateActivityTypeRequest generates a "aws/request.Request" representing the
4070// client's request for the UndeprecateActivityType operation. The "output" return
4071// value will be populated with the request's response once the request completes
4072// successfully.
4073//
4074// Use "Send" method on the returned Request to send the API call to the service.
4075// the "output" return value is not valid until after Send returns without error.
4076//
4077// See UndeprecateActivityType for more information on using the UndeprecateActivityType
4078// API call, and error handling.
4079//
4080// This method is useful when you want to inject custom logic or configuration
4081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4082//
4083//
4084//    // Example sending a request using the UndeprecateActivityTypeRequest method.
4085//    req, resp := client.UndeprecateActivityTypeRequest(params)
4086//
4087//    err := req.Send()
4088//    if err == nil { // resp is now filled
4089//        fmt.Println(resp)
4090//    }
4091func (c *SWF) UndeprecateActivityTypeRequest(input *UndeprecateActivityTypeInput) (req *request.Request, output *UndeprecateActivityTypeOutput) {
4092	op := &request.Operation{
4093		Name:       opUndeprecateActivityType,
4094		HTTPMethod: "POST",
4095		HTTPPath:   "/",
4096	}
4097
4098	if input == nil {
4099		input = &UndeprecateActivityTypeInput{}
4100	}
4101
4102	output = &UndeprecateActivityTypeOutput{}
4103	req = c.newRequest(op, input, output)
4104	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4105	return
4106}
4107
4108// UndeprecateActivityType API operation for Amazon Simple Workflow Service.
4109//
4110// Undeprecates a previously deprecated activity type. After an activity type
4111// has been undeprecated, you can create new tasks of that activity type.
4112//
4113// This operation is eventually consistent. The results are best effort and
4114// may not exactly reflect recent updates and changes.
4115//
4116// Access Control
4117//
4118// You can use IAM policies to control this action's access to Amazon SWF resources
4119// as follows:
4120//
4121//    * Use a Resource element with the domain name to limit the action to only
4122//    specified domains.
4123//
4124//    * Use an Action element to allow or deny permission to call this action.
4125//
4126//    * Constrain the following parameters by using a Condition element with
4127//    the appropriate keys. activityType.name: String constraint. The key is
4128//    swf:activityType.name. activityType.version: String constraint. The key
4129//    is swf:activityType.version.
4130//
4131// If the caller doesn't have sufficient permissions to invoke the action, or
4132// the parameter values fall outside the specified constraints, the action fails.
4133// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
4134// For details and example IAM policies, see Using IAM to Manage Access to Amazon
4135// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
4136// in the Amazon SWF Developer Guide.
4137//
4138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4139// with awserr.Error's Code and Message methods to get detailed information about
4140// the error.
4141//
4142// See the AWS API reference guide for Amazon Simple Workflow Service's
4143// API operation UndeprecateActivityType for usage and error information.
4144//
4145// Returned Error Types:
4146//   * UnknownResourceFault
4147//   Returned when the named resource cannot be found with in the scope of this
4148//   operation (region or domain). This could happen if the named resource was
4149//   never created or is no longer available for this operation.
4150//
4151//   * TypeAlreadyExistsFault
4152//   Returned if the type already exists in the specified domain. You may get
4153//   this fault if you are registering a type that is either already registered
4154//   or deprecated, or if you undeprecate a type that is currently registered.
4155//
4156//   * OperationNotPermittedFault
4157//   Returned when the caller doesn't have sufficient permissions to invoke the
4158//   action.
4159//
4160func (c *SWF) UndeprecateActivityType(input *UndeprecateActivityTypeInput) (*UndeprecateActivityTypeOutput, error) {
4161	req, out := c.UndeprecateActivityTypeRequest(input)
4162	return out, req.Send()
4163}
4164
4165// UndeprecateActivityTypeWithContext is the same as UndeprecateActivityType with the addition of
4166// the ability to pass a context and additional request options.
4167//
4168// See UndeprecateActivityType for details on how to use this API operation.
4169//
4170// The context must be non-nil and will be used for request cancellation. If
4171// the context is nil a panic will occur. In the future the SDK may create
4172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4173// for more information on using Contexts.
4174func (c *SWF) UndeprecateActivityTypeWithContext(ctx aws.Context, input *UndeprecateActivityTypeInput, opts ...request.Option) (*UndeprecateActivityTypeOutput, error) {
4175	req, out := c.UndeprecateActivityTypeRequest(input)
4176	req.SetContext(ctx)
4177	req.ApplyOptions(opts...)
4178	return out, req.Send()
4179}
4180
4181const opUndeprecateDomain = "UndeprecateDomain"
4182
4183// UndeprecateDomainRequest generates a "aws/request.Request" representing the
4184// client's request for the UndeprecateDomain operation. The "output" return
4185// value will be populated with the request's response once the request completes
4186// successfully.
4187//
4188// Use "Send" method on the returned Request to send the API call to the service.
4189// the "output" return value is not valid until after Send returns without error.
4190//
4191// See UndeprecateDomain for more information on using the UndeprecateDomain
4192// API call, and error handling.
4193//
4194// This method is useful when you want to inject custom logic or configuration
4195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4196//
4197//
4198//    // Example sending a request using the UndeprecateDomainRequest method.
4199//    req, resp := client.UndeprecateDomainRequest(params)
4200//
4201//    err := req.Send()
4202//    if err == nil { // resp is now filled
4203//        fmt.Println(resp)
4204//    }
4205func (c *SWF) UndeprecateDomainRequest(input *UndeprecateDomainInput) (req *request.Request, output *UndeprecateDomainOutput) {
4206	op := &request.Operation{
4207		Name:       opUndeprecateDomain,
4208		HTTPMethod: "POST",
4209		HTTPPath:   "/",
4210	}
4211
4212	if input == nil {
4213		input = &UndeprecateDomainInput{}
4214	}
4215
4216	output = &UndeprecateDomainOutput{}
4217	req = c.newRequest(op, input, output)
4218	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4219	return
4220}
4221
4222// UndeprecateDomain API operation for Amazon Simple Workflow Service.
4223//
4224// Undeprecates a previously deprecated domain. After a domain has been undeprecated
4225// it can be used to create new workflow executions or register new types.
4226//
4227// This operation is eventually consistent. The results are best effort and
4228// may not exactly reflect recent updates and changes.
4229//
4230// Access Control
4231//
4232// You can use IAM policies to control this action's access to Amazon SWF resources
4233// as follows:
4234//
4235//    * Use a Resource element with the domain name to limit the action to only
4236//    specified domains.
4237//
4238//    * Use an Action element to allow or deny permission to call this action.
4239//
4240//    * You cannot use an IAM policy to constrain this action's parameters.
4241//
4242// If the caller doesn't have sufficient permissions to invoke the action, or
4243// the parameter values fall outside the specified constraints, the action fails.
4244// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
4245// For details and example IAM policies, see Using IAM to Manage Access to Amazon
4246// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
4247// in the Amazon SWF Developer Guide.
4248//
4249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4250// with awserr.Error's Code and Message methods to get detailed information about
4251// the error.
4252//
4253// See the AWS API reference guide for Amazon Simple Workflow Service's
4254// API operation UndeprecateDomain for usage and error information.
4255//
4256// Returned Error Types:
4257//   * UnknownResourceFault
4258//   Returned when the named resource cannot be found with in the scope of this
4259//   operation (region or domain). This could happen if the named resource was
4260//   never created or is no longer available for this operation.
4261//
4262//   * DomainAlreadyExistsFault
4263//   Returned if the domain already exists. You may get this fault if you are
4264//   registering a domain that is either already registered or deprecated, or
4265//   if you undeprecate a domain that is currently registered.
4266//
4267//   * OperationNotPermittedFault
4268//   Returned when the caller doesn't have sufficient permissions to invoke the
4269//   action.
4270//
4271func (c *SWF) UndeprecateDomain(input *UndeprecateDomainInput) (*UndeprecateDomainOutput, error) {
4272	req, out := c.UndeprecateDomainRequest(input)
4273	return out, req.Send()
4274}
4275
4276// UndeprecateDomainWithContext is the same as UndeprecateDomain with the addition of
4277// the ability to pass a context and additional request options.
4278//
4279// See UndeprecateDomain for details on how to use this API operation.
4280//
4281// The context must be non-nil and will be used for request cancellation. If
4282// the context is nil a panic will occur. In the future the SDK may create
4283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4284// for more information on using Contexts.
4285func (c *SWF) UndeprecateDomainWithContext(ctx aws.Context, input *UndeprecateDomainInput, opts ...request.Option) (*UndeprecateDomainOutput, error) {
4286	req, out := c.UndeprecateDomainRequest(input)
4287	req.SetContext(ctx)
4288	req.ApplyOptions(opts...)
4289	return out, req.Send()
4290}
4291
4292const opUndeprecateWorkflowType = "UndeprecateWorkflowType"
4293
4294// UndeprecateWorkflowTypeRequest generates a "aws/request.Request" representing the
4295// client's request for the UndeprecateWorkflowType operation. The "output" return
4296// value will be populated with the request's response once the request completes
4297// successfully.
4298//
4299// Use "Send" method on the returned Request to send the API call to the service.
4300// the "output" return value is not valid until after Send returns without error.
4301//
4302// See UndeprecateWorkflowType for more information on using the UndeprecateWorkflowType
4303// API call, and error handling.
4304//
4305// This method is useful when you want to inject custom logic or configuration
4306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4307//
4308//
4309//    // Example sending a request using the UndeprecateWorkflowTypeRequest method.
4310//    req, resp := client.UndeprecateWorkflowTypeRequest(params)
4311//
4312//    err := req.Send()
4313//    if err == nil { // resp is now filled
4314//        fmt.Println(resp)
4315//    }
4316func (c *SWF) UndeprecateWorkflowTypeRequest(input *UndeprecateWorkflowTypeInput) (req *request.Request, output *UndeprecateWorkflowTypeOutput) {
4317	op := &request.Operation{
4318		Name:       opUndeprecateWorkflowType,
4319		HTTPMethod: "POST",
4320		HTTPPath:   "/",
4321	}
4322
4323	if input == nil {
4324		input = &UndeprecateWorkflowTypeInput{}
4325	}
4326
4327	output = &UndeprecateWorkflowTypeOutput{}
4328	req = c.newRequest(op, input, output)
4329	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4330	return
4331}
4332
4333// UndeprecateWorkflowType API operation for Amazon Simple Workflow Service.
4334//
4335// Undeprecates a previously deprecated workflow type. After a workflow type
4336// has been undeprecated, you can create new executions of that type.
4337//
4338// This operation is eventually consistent. The results are best effort and
4339// may not exactly reflect recent updates and changes.
4340//
4341// Access Control
4342//
4343// You can use IAM policies to control this action's access to Amazon SWF resources
4344// as follows:
4345//
4346//    * Use a Resource element with the domain name to limit the action to only
4347//    specified domains.
4348//
4349//    * Use an Action element to allow or deny permission to call this action.
4350//
4351//    * Constrain the following parameters by using a Condition element with
4352//    the appropriate keys. workflowType.name: String constraint. The key is
4353//    swf:workflowType.name. workflowType.version: String constraint. The key
4354//    is swf:workflowType.version.
4355//
4356// If the caller doesn't have sufficient permissions to invoke the action, or
4357// the parameter values fall outside the specified constraints, the action fails.
4358// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
4359// For details and example IAM policies, see Using IAM to Manage Access to Amazon
4360// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
4361// in the Amazon SWF Developer Guide.
4362//
4363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4364// with awserr.Error's Code and Message methods to get detailed information about
4365// the error.
4366//
4367// See the AWS API reference guide for Amazon Simple Workflow Service's
4368// API operation UndeprecateWorkflowType for usage and error information.
4369//
4370// Returned Error Types:
4371//   * UnknownResourceFault
4372//   Returned when the named resource cannot be found with in the scope of this
4373//   operation (region or domain). This could happen if the named resource was
4374//   never created or is no longer available for this operation.
4375//
4376//   * TypeAlreadyExistsFault
4377//   Returned if the type already exists in the specified domain. You may get
4378//   this fault if you are registering a type that is either already registered
4379//   or deprecated, or if you undeprecate a type that is currently registered.
4380//
4381//   * OperationNotPermittedFault
4382//   Returned when the caller doesn't have sufficient permissions to invoke the
4383//   action.
4384//
4385func (c *SWF) UndeprecateWorkflowType(input *UndeprecateWorkflowTypeInput) (*UndeprecateWorkflowTypeOutput, error) {
4386	req, out := c.UndeprecateWorkflowTypeRequest(input)
4387	return out, req.Send()
4388}
4389
4390// UndeprecateWorkflowTypeWithContext is the same as UndeprecateWorkflowType with the addition of
4391// the ability to pass a context and additional request options.
4392//
4393// See UndeprecateWorkflowType for details on how to use this API operation.
4394//
4395// The context must be non-nil and will be used for request cancellation. If
4396// the context is nil a panic will occur. In the future the SDK may create
4397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4398// for more information on using Contexts.
4399func (c *SWF) UndeprecateWorkflowTypeWithContext(ctx aws.Context, input *UndeprecateWorkflowTypeInput, opts ...request.Option) (*UndeprecateWorkflowTypeOutput, error) {
4400	req, out := c.UndeprecateWorkflowTypeRequest(input)
4401	req.SetContext(ctx)
4402	req.ApplyOptions(opts...)
4403	return out, req.Send()
4404}
4405
4406const opUntagResource = "UntagResource"
4407
4408// UntagResourceRequest generates a "aws/request.Request" representing the
4409// client's request for the UntagResource operation. The "output" return
4410// value will be populated with the request's response once the request completes
4411// successfully.
4412//
4413// Use "Send" method on the returned Request to send the API call to the service.
4414// the "output" return value is not valid until after Send returns without error.
4415//
4416// See UntagResource for more information on using the UntagResource
4417// API call, and error handling.
4418//
4419// This method is useful when you want to inject custom logic or configuration
4420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4421//
4422//
4423//    // Example sending a request using the UntagResourceRequest method.
4424//    req, resp := client.UntagResourceRequest(params)
4425//
4426//    err := req.Send()
4427//    if err == nil { // resp is now filled
4428//        fmt.Println(resp)
4429//    }
4430func (c *SWF) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4431	op := &request.Operation{
4432		Name:       opUntagResource,
4433		HTTPMethod: "POST",
4434		HTTPPath:   "/",
4435	}
4436
4437	if input == nil {
4438		input = &UntagResourceInput{}
4439	}
4440
4441	output = &UntagResourceOutput{}
4442	req = c.newRequest(op, input, output)
4443	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4444	return
4445}
4446
4447// UntagResource API operation for Amazon Simple Workflow Service.
4448//
4449// Remove a tag from a Amazon SWF domain.
4450//
4451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4452// with awserr.Error's Code and Message methods to get detailed information about
4453// the error.
4454//
4455// See the AWS API reference guide for Amazon Simple Workflow Service's
4456// API operation UntagResource for usage and error information.
4457//
4458// Returned Error Types:
4459//   * UnknownResourceFault
4460//   Returned when the named resource cannot be found with in the scope of this
4461//   operation (region or domain). This could happen if the named resource was
4462//   never created or is no longer available for this operation.
4463//
4464//   * LimitExceededFault
4465//   Returned by any operation if a system imposed limitation has been reached.
4466//   To address this fault you should either clean up unused resources or increase
4467//   the limit by contacting AWS.
4468//
4469//   * OperationNotPermittedFault
4470//   Returned when the caller doesn't have sufficient permissions to invoke the
4471//   action.
4472//
4473func (c *SWF) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4474	req, out := c.UntagResourceRequest(input)
4475	return out, req.Send()
4476}
4477
4478// UntagResourceWithContext is the same as UntagResource with the addition of
4479// the ability to pass a context and additional request options.
4480//
4481// See UntagResource for details on how to use this API operation.
4482//
4483// The context must be non-nil and will be used for request cancellation. If
4484// the context is nil a panic will occur. In the future the SDK may create
4485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4486// for more information on using Contexts.
4487func (c *SWF) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4488	req, out := c.UntagResourceRequest(input)
4489	req.SetContext(ctx)
4490	req.ApplyOptions(opts...)
4491	return out, req.Send()
4492}
4493
4494// Provides the details of the ActivityTaskCancelRequested event.
4495type ActivityTaskCancelRequestedEventAttributes struct {
4496	_ struct{} `type:"structure"`
4497
4498	// The unique ID of the task.
4499	//
4500	// ActivityId is a required field
4501	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
4502
4503	// The ID of the DecisionTaskCompleted event corresponding to the decision task
4504	// that resulted in the RequestCancelActivityTask decision for this cancellation
4505	// request. This information can be useful for diagnosing problems by tracing
4506	// back the chain of events leading up to this event.
4507	//
4508	// DecisionTaskCompletedEventId is a required field
4509	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
4510}
4511
4512// String returns the string representation
4513func (s ActivityTaskCancelRequestedEventAttributes) String() string {
4514	return awsutil.Prettify(s)
4515}
4516
4517// GoString returns the string representation
4518func (s ActivityTaskCancelRequestedEventAttributes) GoString() string {
4519	return s.String()
4520}
4521
4522// SetActivityId sets the ActivityId field's value.
4523func (s *ActivityTaskCancelRequestedEventAttributes) SetActivityId(v string) *ActivityTaskCancelRequestedEventAttributes {
4524	s.ActivityId = &v
4525	return s
4526}
4527
4528// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
4529func (s *ActivityTaskCancelRequestedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ActivityTaskCancelRequestedEventAttributes {
4530	s.DecisionTaskCompletedEventId = &v
4531	return s
4532}
4533
4534// Provides the details of the ActivityTaskCanceled event.
4535type ActivityTaskCanceledEventAttributes struct {
4536	_ struct{} `type:"structure"`
4537
4538	// Details of the cancellation.
4539	Details *string `locationName:"details" type:"string"`
4540
4541	// If set, contains the ID of the last ActivityTaskCancelRequested event recorded
4542	// for this activity task. This information can be useful for diagnosing problems
4543	// by tracing back the chain of events leading up to this event.
4544	LatestCancelRequestedEventId *int64 `locationName:"latestCancelRequestedEventId" type:"long"`
4545
4546	// The ID of the ActivityTaskScheduled event that was recorded when this activity
4547	// task was scheduled. This information can be useful for diagnosing problems
4548	// by tracing back the chain of events leading up to this event.
4549	//
4550	// ScheduledEventId is a required field
4551	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
4552
4553	// The ID of the ActivityTaskStarted event recorded when this activity task
4554	// was started. This information can be useful for diagnosing problems by tracing
4555	// back the chain of events leading up to this event.
4556	//
4557	// StartedEventId is a required field
4558	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
4559}
4560
4561// String returns the string representation
4562func (s ActivityTaskCanceledEventAttributes) String() string {
4563	return awsutil.Prettify(s)
4564}
4565
4566// GoString returns the string representation
4567func (s ActivityTaskCanceledEventAttributes) GoString() string {
4568	return s.String()
4569}
4570
4571// SetDetails sets the Details field's value.
4572func (s *ActivityTaskCanceledEventAttributes) SetDetails(v string) *ActivityTaskCanceledEventAttributes {
4573	s.Details = &v
4574	return s
4575}
4576
4577// SetLatestCancelRequestedEventId sets the LatestCancelRequestedEventId field's value.
4578func (s *ActivityTaskCanceledEventAttributes) SetLatestCancelRequestedEventId(v int64) *ActivityTaskCanceledEventAttributes {
4579	s.LatestCancelRequestedEventId = &v
4580	return s
4581}
4582
4583// SetScheduledEventId sets the ScheduledEventId field's value.
4584func (s *ActivityTaskCanceledEventAttributes) SetScheduledEventId(v int64) *ActivityTaskCanceledEventAttributes {
4585	s.ScheduledEventId = &v
4586	return s
4587}
4588
4589// SetStartedEventId sets the StartedEventId field's value.
4590func (s *ActivityTaskCanceledEventAttributes) SetStartedEventId(v int64) *ActivityTaskCanceledEventAttributes {
4591	s.StartedEventId = &v
4592	return s
4593}
4594
4595// Provides the details of the ActivityTaskCompleted event.
4596type ActivityTaskCompletedEventAttributes struct {
4597	_ struct{} `type:"structure"`
4598
4599	// The results of the activity task.
4600	Result *string `locationName:"result" type:"string"`
4601
4602	// The ID of the ActivityTaskScheduled event that was recorded when this activity
4603	// task was scheduled. This information can be useful for diagnosing problems
4604	// by tracing back the chain of events leading up to this event.
4605	//
4606	// ScheduledEventId is a required field
4607	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
4608
4609	// The ID of the ActivityTaskStarted event recorded when this activity task
4610	// was started. This information can be useful for diagnosing problems by tracing
4611	// back the chain of events leading up to this event.
4612	//
4613	// StartedEventId is a required field
4614	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
4615}
4616
4617// String returns the string representation
4618func (s ActivityTaskCompletedEventAttributes) String() string {
4619	return awsutil.Prettify(s)
4620}
4621
4622// GoString returns the string representation
4623func (s ActivityTaskCompletedEventAttributes) GoString() string {
4624	return s.String()
4625}
4626
4627// SetResult sets the Result field's value.
4628func (s *ActivityTaskCompletedEventAttributes) SetResult(v string) *ActivityTaskCompletedEventAttributes {
4629	s.Result = &v
4630	return s
4631}
4632
4633// SetScheduledEventId sets the ScheduledEventId field's value.
4634func (s *ActivityTaskCompletedEventAttributes) SetScheduledEventId(v int64) *ActivityTaskCompletedEventAttributes {
4635	s.ScheduledEventId = &v
4636	return s
4637}
4638
4639// SetStartedEventId sets the StartedEventId field's value.
4640func (s *ActivityTaskCompletedEventAttributes) SetStartedEventId(v int64) *ActivityTaskCompletedEventAttributes {
4641	s.StartedEventId = &v
4642	return s
4643}
4644
4645// Provides the details of the ActivityTaskFailed event.
4646type ActivityTaskFailedEventAttributes struct {
4647	_ struct{} `type:"structure"`
4648
4649	// The details of the failure.
4650	Details *string `locationName:"details" type:"string"`
4651
4652	// The reason provided for the failure.
4653	Reason *string `locationName:"reason" type:"string"`
4654
4655	// The ID of the ActivityTaskScheduled event that was recorded when this activity
4656	// task was scheduled. This information can be useful for diagnosing problems
4657	// by tracing back the chain of events leading up to this event.
4658	//
4659	// ScheduledEventId is a required field
4660	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
4661
4662	// The ID of the ActivityTaskStarted event recorded when this activity task
4663	// was started. This information can be useful for diagnosing problems by tracing
4664	// back the chain of events leading up to this event.
4665	//
4666	// StartedEventId is a required field
4667	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
4668}
4669
4670// String returns the string representation
4671func (s ActivityTaskFailedEventAttributes) String() string {
4672	return awsutil.Prettify(s)
4673}
4674
4675// GoString returns the string representation
4676func (s ActivityTaskFailedEventAttributes) GoString() string {
4677	return s.String()
4678}
4679
4680// SetDetails sets the Details field's value.
4681func (s *ActivityTaskFailedEventAttributes) SetDetails(v string) *ActivityTaskFailedEventAttributes {
4682	s.Details = &v
4683	return s
4684}
4685
4686// SetReason sets the Reason field's value.
4687func (s *ActivityTaskFailedEventAttributes) SetReason(v string) *ActivityTaskFailedEventAttributes {
4688	s.Reason = &v
4689	return s
4690}
4691
4692// SetScheduledEventId sets the ScheduledEventId field's value.
4693func (s *ActivityTaskFailedEventAttributes) SetScheduledEventId(v int64) *ActivityTaskFailedEventAttributes {
4694	s.ScheduledEventId = &v
4695	return s
4696}
4697
4698// SetStartedEventId sets the StartedEventId field's value.
4699func (s *ActivityTaskFailedEventAttributes) SetStartedEventId(v int64) *ActivityTaskFailedEventAttributes {
4700	s.StartedEventId = &v
4701	return s
4702}
4703
4704// Provides the details of the ActivityTaskScheduled event.
4705type ActivityTaskScheduledEventAttributes struct {
4706	_ struct{} `type:"structure"`
4707
4708	// The unique ID of the activity task.
4709	//
4710	// ActivityId is a required field
4711	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
4712
4713	// The type of the activity task.
4714	//
4715	// ActivityType is a required field
4716	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
4717
4718	// Data attached to the event that can be used by the decider in subsequent
4719	// workflow tasks. This data isn't sent to the activity.
4720	Control *string `locationName:"control" type:"string"`
4721
4722	// The ID of the DecisionTaskCompleted event corresponding to the decision that
4723	// resulted in the scheduling of this activity task. This information can be
4724	// useful for diagnosing problems by tracing back the chain of events leading
4725	// up to this event.
4726	//
4727	// DecisionTaskCompletedEventId is a required field
4728	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
4729
4730	// The maximum time before which the worker processing this task must report
4731	// progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded,
4732	// the activity task is automatically timed out. If the worker subsequently
4733	// attempts to record a heartbeat or return a result, it is ignored.
4734	HeartbeatTimeout *string `locationName:"heartbeatTimeout" type:"string"`
4735
4736	// The input provided to the activity task.
4737	Input *string `locationName:"input" type:"string"`
4738
4739	// The maximum amount of time for this activity task.
4740	ScheduleToCloseTimeout *string `locationName:"scheduleToCloseTimeout" type:"string"`
4741
4742	// The maximum amount of time the activity task can wait to be assigned to a
4743	// worker.
4744	ScheduleToStartTimeout *string `locationName:"scheduleToStartTimeout" type:"string"`
4745
4746	// The maximum amount of time a worker may take to process the activity task.
4747	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
4748
4749	// The task list in which the activity task has been scheduled.
4750	//
4751	// TaskList is a required field
4752	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
4753
4754	// The priority to assign to the scheduled activity task. If set, this overrides
4755	// any default priority value that was assigned when the activity type was registered.
4756	//
4757	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
4758	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
4759	//
4760	// For more information about setting task priority, see Setting Task Priority
4761	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
4762	// in the Amazon SWF Developer Guide.
4763	TaskPriority *string `locationName:"taskPriority" type:"string"`
4764}
4765
4766// String returns the string representation
4767func (s ActivityTaskScheduledEventAttributes) String() string {
4768	return awsutil.Prettify(s)
4769}
4770
4771// GoString returns the string representation
4772func (s ActivityTaskScheduledEventAttributes) GoString() string {
4773	return s.String()
4774}
4775
4776// SetActivityId sets the ActivityId field's value.
4777func (s *ActivityTaskScheduledEventAttributes) SetActivityId(v string) *ActivityTaskScheduledEventAttributes {
4778	s.ActivityId = &v
4779	return s
4780}
4781
4782// SetActivityType sets the ActivityType field's value.
4783func (s *ActivityTaskScheduledEventAttributes) SetActivityType(v *ActivityType) *ActivityTaskScheduledEventAttributes {
4784	s.ActivityType = v
4785	return s
4786}
4787
4788// SetControl sets the Control field's value.
4789func (s *ActivityTaskScheduledEventAttributes) SetControl(v string) *ActivityTaskScheduledEventAttributes {
4790	s.Control = &v
4791	return s
4792}
4793
4794// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
4795func (s *ActivityTaskScheduledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ActivityTaskScheduledEventAttributes {
4796	s.DecisionTaskCompletedEventId = &v
4797	return s
4798}
4799
4800// SetHeartbeatTimeout sets the HeartbeatTimeout field's value.
4801func (s *ActivityTaskScheduledEventAttributes) SetHeartbeatTimeout(v string) *ActivityTaskScheduledEventAttributes {
4802	s.HeartbeatTimeout = &v
4803	return s
4804}
4805
4806// SetInput sets the Input field's value.
4807func (s *ActivityTaskScheduledEventAttributes) SetInput(v string) *ActivityTaskScheduledEventAttributes {
4808	s.Input = &v
4809	return s
4810}
4811
4812// SetScheduleToCloseTimeout sets the ScheduleToCloseTimeout field's value.
4813func (s *ActivityTaskScheduledEventAttributes) SetScheduleToCloseTimeout(v string) *ActivityTaskScheduledEventAttributes {
4814	s.ScheduleToCloseTimeout = &v
4815	return s
4816}
4817
4818// SetScheduleToStartTimeout sets the ScheduleToStartTimeout field's value.
4819func (s *ActivityTaskScheduledEventAttributes) SetScheduleToStartTimeout(v string) *ActivityTaskScheduledEventAttributes {
4820	s.ScheduleToStartTimeout = &v
4821	return s
4822}
4823
4824// SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
4825func (s *ActivityTaskScheduledEventAttributes) SetStartToCloseTimeout(v string) *ActivityTaskScheduledEventAttributes {
4826	s.StartToCloseTimeout = &v
4827	return s
4828}
4829
4830// SetTaskList sets the TaskList field's value.
4831func (s *ActivityTaskScheduledEventAttributes) SetTaskList(v *TaskList) *ActivityTaskScheduledEventAttributes {
4832	s.TaskList = v
4833	return s
4834}
4835
4836// SetTaskPriority sets the TaskPriority field's value.
4837func (s *ActivityTaskScheduledEventAttributes) SetTaskPriority(v string) *ActivityTaskScheduledEventAttributes {
4838	s.TaskPriority = &v
4839	return s
4840}
4841
4842// Provides the details of the ActivityTaskStarted event.
4843type ActivityTaskStartedEventAttributes struct {
4844	_ struct{} `type:"structure"`
4845
4846	// Identity of the worker that was assigned this task. This aids diagnostics
4847	// when problems arise. The form of this identity is user defined.
4848	Identity *string `locationName:"identity" type:"string"`
4849
4850	// The ID of the ActivityTaskScheduled event that was recorded when this activity
4851	// task was scheduled. This information can be useful for diagnosing problems
4852	// by tracing back the chain of events leading up to this event.
4853	//
4854	// ScheduledEventId is a required field
4855	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
4856}
4857
4858// String returns the string representation
4859func (s ActivityTaskStartedEventAttributes) String() string {
4860	return awsutil.Prettify(s)
4861}
4862
4863// GoString returns the string representation
4864func (s ActivityTaskStartedEventAttributes) GoString() string {
4865	return s.String()
4866}
4867
4868// SetIdentity sets the Identity field's value.
4869func (s *ActivityTaskStartedEventAttributes) SetIdentity(v string) *ActivityTaskStartedEventAttributes {
4870	s.Identity = &v
4871	return s
4872}
4873
4874// SetScheduledEventId sets the ScheduledEventId field's value.
4875func (s *ActivityTaskStartedEventAttributes) SetScheduledEventId(v int64) *ActivityTaskStartedEventAttributes {
4876	s.ScheduledEventId = &v
4877	return s
4878}
4879
4880// Provides the details of the ActivityTaskTimedOut event.
4881type ActivityTaskTimedOutEventAttributes struct {
4882	_ struct{} `type:"structure"`
4883
4884	// Contains the content of the details parameter for the last call made by the
4885	// activity to RecordActivityTaskHeartbeat.
4886	Details *string `locationName:"details" type:"string"`
4887
4888	// The ID of the ActivityTaskScheduled event that was recorded when this activity
4889	// task was scheduled. This information can be useful for diagnosing problems
4890	// by tracing back the chain of events leading up to this event.
4891	//
4892	// ScheduledEventId is a required field
4893	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
4894
4895	// The ID of the ActivityTaskStarted event recorded when this activity task
4896	// was started. This information can be useful for diagnosing problems by tracing
4897	// back the chain of events leading up to this event.
4898	//
4899	// StartedEventId is a required field
4900	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
4901
4902	// The type of the timeout that caused this event.
4903	//
4904	// TimeoutType is a required field
4905	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"ActivityTaskTimeoutType"`
4906}
4907
4908// String returns the string representation
4909func (s ActivityTaskTimedOutEventAttributes) String() string {
4910	return awsutil.Prettify(s)
4911}
4912
4913// GoString returns the string representation
4914func (s ActivityTaskTimedOutEventAttributes) GoString() string {
4915	return s.String()
4916}
4917
4918// SetDetails sets the Details field's value.
4919func (s *ActivityTaskTimedOutEventAttributes) SetDetails(v string) *ActivityTaskTimedOutEventAttributes {
4920	s.Details = &v
4921	return s
4922}
4923
4924// SetScheduledEventId sets the ScheduledEventId field's value.
4925func (s *ActivityTaskTimedOutEventAttributes) SetScheduledEventId(v int64) *ActivityTaskTimedOutEventAttributes {
4926	s.ScheduledEventId = &v
4927	return s
4928}
4929
4930// SetStartedEventId sets the StartedEventId field's value.
4931func (s *ActivityTaskTimedOutEventAttributes) SetStartedEventId(v int64) *ActivityTaskTimedOutEventAttributes {
4932	s.StartedEventId = &v
4933	return s
4934}
4935
4936// SetTimeoutType sets the TimeoutType field's value.
4937func (s *ActivityTaskTimedOutEventAttributes) SetTimeoutType(v string) *ActivityTaskTimedOutEventAttributes {
4938	s.TimeoutType = &v
4939	return s
4940}
4941
4942// Represents an activity type.
4943type ActivityType struct {
4944	_ struct{} `type:"structure"`
4945
4946	// The name of this activity.
4947	//
4948	// The combination of activity type name and version must be unique within a
4949	// domain.
4950	//
4951	// Name is a required field
4952	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4953
4954	// The version of this activity.
4955	//
4956	// The combination of activity type name and version must be unique with in
4957	// a domain.
4958	//
4959	// Version is a required field
4960	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
4961}
4962
4963// String returns the string representation
4964func (s ActivityType) String() string {
4965	return awsutil.Prettify(s)
4966}
4967
4968// GoString returns the string representation
4969func (s ActivityType) GoString() string {
4970	return s.String()
4971}
4972
4973// Validate inspects the fields of the type to determine if they are valid.
4974func (s *ActivityType) Validate() error {
4975	invalidParams := request.ErrInvalidParams{Context: "ActivityType"}
4976	if s.Name == nil {
4977		invalidParams.Add(request.NewErrParamRequired("Name"))
4978	}
4979	if s.Name != nil && len(*s.Name) < 1 {
4980		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4981	}
4982	if s.Version == nil {
4983		invalidParams.Add(request.NewErrParamRequired("Version"))
4984	}
4985	if s.Version != nil && len(*s.Version) < 1 {
4986		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
4987	}
4988
4989	if invalidParams.Len() > 0 {
4990		return invalidParams
4991	}
4992	return nil
4993}
4994
4995// SetName sets the Name field's value.
4996func (s *ActivityType) SetName(v string) *ActivityType {
4997	s.Name = &v
4998	return s
4999}
5000
5001// SetVersion sets the Version field's value.
5002func (s *ActivityType) SetVersion(v string) *ActivityType {
5003	s.Version = &v
5004	return s
5005}
5006
5007// Configuration settings registered with the activity type.
5008type ActivityTypeConfiguration struct {
5009	_ struct{} `type:"structure"`
5010
5011	// The default maximum time, in seconds, before which a worker processing a
5012	// task must report progress by calling RecordActivityTaskHeartbeat.
5013	//
5014	// You can specify this value only when registering an activity type. The registered
5015	// default value can be overridden when you schedule a task through the ScheduleActivityTask
5016	// Decision. If the activity worker subsequently attempts to record a heartbeat
5017	// or returns a result, the activity worker receives an UnknownResource fault.
5018	// In this case, Amazon SWF no longer considers the activity task to be valid;
5019	// the activity worker should clean up the activity task.
5020	//
5021	// The duration is specified in seconds, an integer greater than or equal to
5022	// 0. You can use NONE to specify unlimited duration.
5023	DefaultTaskHeartbeatTimeout *string `locationName:"defaultTaskHeartbeatTimeout" type:"string"`
5024
5025	// The default task list specified for this activity type at registration. This
5026	// default is used if a task list isn't provided when a task is scheduled through
5027	// the ScheduleActivityTask Decision. You can override the default registered
5028	// task list when scheduling a task through the ScheduleActivityTask Decision.
5029	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
5030
5031	// The default task priority for tasks of this activity type, specified at registration.
5032	// If not set, then 0 is used as the default priority. This default can be overridden
5033	// when scheduling an activity task.
5034	//
5035	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
5036	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
5037	//
5038	// For more information about setting task priority, see Setting Task Priority
5039	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
5040	// in the Amazon SWF Developer Guide.
5041	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
5042
5043	// The default maximum duration, specified when registering the activity type,
5044	// for tasks of this activity type. You can override this default when scheduling
5045	// a task through the ScheduleActivityTask Decision.
5046	//
5047	// The duration is specified in seconds, an integer greater than or equal to
5048	// 0. You can use NONE to specify unlimited duration.
5049	DefaultTaskScheduleToCloseTimeout *string `locationName:"defaultTaskScheduleToCloseTimeout" type:"string"`
5050
5051	// The default maximum duration, specified when registering the activity type,
5052	// that a task of an activity type can wait before being assigned to a worker.
5053	// You can override this default when scheduling a task through the ScheduleActivityTask
5054	// Decision.
5055	//
5056	// The duration is specified in seconds, an integer greater than or equal to
5057	// 0. You can use NONE to specify unlimited duration.
5058	DefaultTaskScheduleToStartTimeout *string `locationName:"defaultTaskScheduleToStartTimeout" type:"string"`
5059
5060	// The default maximum duration for tasks of an activity type specified when
5061	// registering the activity type. You can override this default when scheduling
5062	// a task through the ScheduleActivityTask Decision.
5063	//
5064	// The duration is specified in seconds, an integer greater than or equal to
5065	// 0. You can use NONE to specify unlimited duration.
5066	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
5067}
5068
5069// String returns the string representation
5070func (s ActivityTypeConfiguration) String() string {
5071	return awsutil.Prettify(s)
5072}
5073
5074// GoString returns the string representation
5075func (s ActivityTypeConfiguration) GoString() string {
5076	return s.String()
5077}
5078
5079// SetDefaultTaskHeartbeatTimeout sets the DefaultTaskHeartbeatTimeout field's value.
5080func (s *ActivityTypeConfiguration) SetDefaultTaskHeartbeatTimeout(v string) *ActivityTypeConfiguration {
5081	s.DefaultTaskHeartbeatTimeout = &v
5082	return s
5083}
5084
5085// SetDefaultTaskList sets the DefaultTaskList field's value.
5086func (s *ActivityTypeConfiguration) SetDefaultTaskList(v *TaskList) *ActivityTypeConfiguration {
5087	s.DefaultTaskList = v
5088	return s
5089}
5090
5091// SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
5092func (s *ActivityTypeConfiguration) SetDefaultTaskPriority(v string) *ActivityTypeConfiguration {
5093	s.DefaultTaskPriority = &v
5094	return s
5095}
5096
5097// SetDefaultTaskScheduleToCloseTimeout sets the DefaultTaskScheduleToCloseTimeout field's value.
5098func (s *ActivityTypeConfiguration) SetDefaultTaskScheduleToCloseTimeout(v string) *ActivityTypeConfiguration {
5099	s.DefaultTaskScheduleToCloseTimeout = &v
5100	return s
5101}
5102
5103// SetDefaultTaskScheduleToStartTimeout sets the DefaultTaskScheduleToStartTimeout field's value.
5104func (s *ActivityTypeConfiguration) SetDefaultTaskScheduleToStartTimeout(v string) *ActivityTypeConfiguration {
5105	s.DefaultTaskScheduleToStartTimeout = &v
5106	return s
5107}
5108
5109// SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
5110func (s *ActivityTypeConfiguration) SetDefaultTaskStartToCloseTimeout(v string) *ActivityTypeConfiguration {
5111	s.DefaultTaskStartToCloseTimeout = &v
5112	return s
5113}
5114
5115// Detailed information about an activity type.
5116type ActivityTypeInfo struct {
5117	_ struct{} `type:"structure"`
5118
5119	// The ActivityType type structure representing the activity type.
5120	//
5121	// ActivityType is a required field
5122	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
5123
5124	// The date and time this activity type was created through RegisterActivityType.
5125	//
5126	// CreationDate is a required field
5127	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
5128
5129	// If DEPRECATED, the date and time DeprecateActivityType was called.
5130	DeprecationDate *time.Time `locationName:"deprecationDate" type:"timestamp"`
5131
5132	// The description of the activity type provided in RegisterActivityType.
5133	Description *string `locationName:"description" type:"string"`
5134
5135	// The current status of the activity type.
5136	//
5137	// Status is a required field
5138	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistrationStatus"`
5139}
5140
5141// String returns the string representation
5142func (s ActivityTypeInfo) String() string {
5143	return awsutil.Prettify(s)
5144}
5145
5146// GoString returns the string representation
5147func (s ActivityTypeInfo) GoString() string {
5148	return s.String()
5149}
5150
5151// SetActivityType sets the ActivityType field's value.
5152func (s *ActivityTypeInfo) SetActivityType(v *ActivityType) *ActivityTypeInfo {
5153	s.ActivityType = v
5154	return s
5155}
5156
5157// SetCreationDate sets the CreationDate field's value.
5158func (s *ActivityTypeInfo) SetCreationDate(v time.Time) *ActivityTypeInfo {
5159	s.CreationDate = &v
5160	return s
5161}
5162
5163// SetDeprecationDate sets the DeprecationDate field's value.
5164func (s *ActivityTypeInfo) SetDeprecationDate(v time.Time) *ActivityTypeInfo {
5165	s.DeprecationDate = &v
5166	return s
5167}
5168
5169// SetDescription sets the Description field's value.
5170func (s *ActivityTypeInfo) SetDescription(v string) *ActivityTypeInfo {
5171	s.Description = &v
5172	return s
5173}
5174
5175// SetStatus sets the Status field's value.
5176func (s *ActivityTypeInfo) SetStatus(v string) *ActivityTypeInfo {
5177	s.Status = &v
5178	return s
5179}
5180
5181// Provides the details of the CancelTimer decision.
5182//
5183// Access Control
5184//
5185// You can use IAM policies to control this decision's access to Amazon SWF
5186// resources as follows:
5187//
5188//    * Use a Resource element with the domain name to limit the action to only
5189//    specified domains.
5190//
5191//    * Use an Action element to allow or deny permission to call this action.
5192//
5193//    * You cannot use an IAM policy to constrain this action's parameters.
5194//
5195// If the caller doesn't have sufficient permissions to invoke the action, or
5196// the parameter values fall outside the specified constraints, the action fails.
5197// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
5198// For details and example IAM policies, see Using IAM to Manage Access to Amazon
5199// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5200// in the Amazon SWF Developer Guide.
5201type CancelTimerDecisionAttributes struct {
5202	_ struct{} `type:"structure"`
5203
5204	// The unique ID of the timer to cancel.
5205	//
5206	// TimerId is a required field
5207	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
5208}
5209
5210// String returns the string representation
5211func (s CancelTimerDecisionAttributes) String() string {
5212	return awsutil.Prettify(s)
5213}
5214
5215// GoString returns the string representation
5216func (s CancelTimerDecisionAttributes) GoString() string {
5217	return s.String()
5218}
5219
5220// Validate inspects the fields of the type to determine if they are valid.
5221func (s *CancelTimerDecisionAttributes) Validate() error {
5222	invalidParams := request.ErrInvalidParams{Context: "CancelTimerDecisionAttributes"}
5223	if s.TimerId == nil {
5224		invalidParams.Add(request.NewErrParamRequired("TimerId"))
5225	}
5226	if s.TimerId != nil && len(*s.TimerId) < 1 {
5227		invalidParams.Add(request.NewErrParamMinLen("TimerId", 1))
5228	}
5229
5230	if invalidParams.Len() > 0 {
5231		return invalidParams
5232	}
5233	return nil
5234}
5235
5236// SetTimerId sets the TimerId field's value.
5237func (s *CancelTimerDecisionAttributes) SetTimerId(v string) *CancelTimerDecisionAttributes {
5238	s.TimerId = &v
5239	return s
5240}
5241
5242// Provides the details of the CancelTimerFailed event.
5243type CancelTimerFailedEventAttributes struct {
5244	_ struct{} `type:"structure"`
5245
5246	// The cause of the failure. This information is generated by the system and
5247	// can be useful for diagnostic purposes.
5248	//
5249	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
5250	// lacked sufficient permissions. For details and example IAM policies, see
5251	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5252	// in the Amazon SWF Developer Guide.
5253	//
5254	// Cause is a required field
5255	Cause *string `locationName:"cause" type:"string" required:"true" enum:"CancelTimerFailedCause"`
5256
5257	// The ID of the DecisionTaskCompleted event corresponding to the decision task
5258	// that resulted in the CancelTimer decision to cancel this timer. This information
5259	// can be useful for diagnosing problems by tracing back the chain of events
5260	// leading up to this event.
5261	//
5262	// DecisionTaskCompletedEventId is a required field
5263	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
5264
5265	// The timerId provided in the CancelTimer decision that failed.
5266	//
5267	// TimerId is a required field
5268	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
5269}
5270
5271// String returns the string representation
5272func (s CancelTimerFailedEventAttributes) String() string {
5273	return awsutil.Prettify(s)
5274}
5275
5276// GoString returns the string representation
5277func (s CancelTimerFailedEventAttributes) GoString() string {
5278	return s.String()
5279}
5280
5281// SetCause sets the Cause field's value.
5282func (s *CancelTimerFailedEventAttributes) SetCause(v string) *CancelTimerFailedEventAttributes {
5283	s.Cause = &v
5284	return s
5285}
5286
5287// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
5288func (s *CancelTimerFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *CancelTimerFailedEventAttributes {
5289	s.DecisionTaskCompletedEventId = &v
5290	return s
5291}
5292
5293// SetTimerId sets the TimerId field's value.
5294func (s *CancelTimerFailedEventAttributes) SetTimerId(v string) *CancelTimerFailedEventAttributes {
5295	s.TimerId = &v
5296	return s
5297}
5298
5299// Provides the details of the CancelWorkflowExecution decision.
5300//
5301// Access Control
5302//
5303// You can use IAM policies to control this decision's access to Amazon SWF
5304// resources as follows:
5305//
5306//    * Use a Resource element with the domain name to limit the action to only
5307//    specified domains.
5308//
5309//    * Use an Action element to allow or deny permission to call this action.
5310//
5311//    * You cannot use an IAM policy to constrain this action's parameters.
5312//
5313// If the caller doesn't have sufficient permissions to invoke the action, or
5314// the parameter values fall outside the specified constraints, the action fails.
5315// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
5316// For details and example IAM policies, see Using IAM to Manage Access to Amazon
5317// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5318// in the Amazon SWF Developer Guide.
5319type CancelWorkflowExecutionDecisionAttributes struct {
5320	_ struct{} `type:"structure"`
5321
5322	// Details of the cancellation.
5323	Details *string `locationName:"details" type:"string"`
5324}
5325
5326// String returns the string representation
5327func (s CancelWorkflowExecutionDecisionAttributes) String() string {
5328	return awsutil.Prettify(s)
5329}
5330
5331// GoString returns the string representation
5332func (s CancelWorkflowExecutionDecisionAttributes) GoString() string {
5333	return s.String()
5334}
5335
5336// SetDetails sets the Details field's value.
5337func (s *CancelWorkflowExecutionDecisionAttributes) SetDetails(v string) *CancelWorkflowExecutionDecisionAttributes {
5338	s.Details = &v
5339	return s
5340}
5341
5342// Provides the details of the CancelWorkflowExecutionFailed event.
5343type CancelWorkflowExecutionFailedEventAttributes struct {
5344	_ struct{} `type:"structure"`
5345
5346	// The cause of the failure. This information is generated by the system and
5347	// can be useful for diagnostic purposes.
5348	//
5349	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
5350	// lacked sufficient permissions. For details and example IAM policies, see
5351	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5352	// in the Amazon SWF Developer Guide.
5353	//
5354	// Cause is a required field
5355	Cause *string `locationName:"cause" type:"string" required:"true" enum:"CancelWorkflowExecutionFailedCause"`
5356
5357	// The ID of the DecisionTaskCompleted event corresponding to the decision task
5358	// that resulted in the CancelWorkflowExecution decision for this cancellation
5359	// request. This information can be useful for diagnosing problems by tracing
5360	// back the chain of events leading up to this event.
5361	//
5362	// DecisionTaskCompletedEventId is a required field
5363	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
5364}
5365
5366// String returns the string representation
5367func (s CancelWorkflowExecutionFailedEventAttributes) String() string {
5368	return awsutil.Prettify(s)
5369}
5370
5371// GoString returns the string representation
5372func (s CancelWorkflowExecutionFailedEventAttributes) GoString() string {
5373	return s.String()
5374}
5375
5376// SetCause sets the Cause field's value.
5377func (s *CancelWorkflowExecutionFailedEventAttributes) SetCause(v string) *CancelWorkflowExecutionFailedEventAttributes {
5378	s.Cause = &v
5379	return s
5380}
5381
5382// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
5383func (s *CancelWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *CancelWorkflowExecutionFailedEventAttributes {
5384	s.DecisionTaskCompletedEventId = &v
5385	return s
5386}
5387
5388// Provide details of the ChildWorkflowExecutionCanceled event.
5389type ChildWorkflowExecutionCanceledEventAttributes struct {
5390	_ struct{} `type:"structure"`
5391
5392	// Details of the cancellation (if provided).
5393	Details *string `locationName:"details" type:"string"`
5394
5395	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
5396	// the StartChildWorkflowExecution Decision to start this child workflow execution.
5397	// This information can be useful for diagnosing problems by tracing back the
5398	// chain of events leading up to this event.
5399	//
5400	// InitiatedEventId is a required field
5401	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
5402
5403	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
5404	// workflow execution was started. This information can be useful for diagnosing
5405	// problems by tracing back the chain of events leading up to this event.
5406	//
5407	// StartedEventId is a required field
5408	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
5409
5410	// The child workflow execution that was canceled.
5411	//
5412	// WorkflowExecution is a required field
5413	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
5414
5415	// The type of the child workflow execution.
5416	//
5417	// WorkflowType is a required field
5418	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
5419}
5420
5421// String returns the string representation
5422func (s ChildWorkflowExecutionCanceledEventAttributes) String() string {
5423	return awsutil.Prettify(s)
5424}
5425
5426// GoString returns the string representation
5427func (s ChildWorkflowExecutionCanceledEventAttributes) GoString() string {
5428	return s.String()
5429}
5430
5431// SetDetails sets the Details field's value.
5432func (s *ChildWorkflowExecutionCanceledEventAttributes) SetDetails(v string) *ChildWorkflowExecutionCanceledEventAttributes {
5433	s.Details = &v
5434	return s
5435}
5436
5437// SetInitiatedEventId sets the InitiatedEventId field's value.
5438func (s *ChildWorkflowExecutionCanceledEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionCanceledEventAttributes {
5439	s.InitiatedEventId = &v
5440	return s
5441}
5442
5443// SetStartedEventId sets the StartedEventId field's value.
5444func (s *ChildWorkflowExecutionCanceledEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionCanceledEventAttributes {
5445	s.StartedEventId = &v
5446	return s
5447}
5448
5449// SetWorkflowExecution sets the WorkflowExecution field's value.
5450func (s *ChildWorkflowExecutionCanceledEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionCanceledEventAttributes {
5451	s.WorkflowExecution = v
5452	return s
5453}
5454
5455// SetWorkflowType sets the WorkflowType field's value.
5456func (s *ChildWorkflowExecutionCanceledEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionCanceledEventAttributes {
5457	s.WorkflowType = v
5458	return s
5459}
5460
5461// Provides the details of the ChildWorkflowExecutionCompleted event.
5462type ChildWorkflowExecutionCompletedEventAttributes struct {
5463	_ struct{} `type:"structure"`
5464
5465	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
5466	// the StartChildWorkflowExecution Decision to start this child workflow execution.
5467	// This information can be useful for diagnosing problems by tracing back the
5468	// chain of events leading up to this event.
5469	//
5470	// InitiatedEventId is a required field
5471	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
5472
5473	// The result of the child workflow execution.
5474	Result *string `locationName:"result" type:"string"`
5475
5476	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
5477	// workflow execution was started. This information can be useful for diagnosing
5478	// problems by tracing back the chain of events leading up to this event.
5479	//
5480	// StartedEventId is a required field
5481	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
5482
5483	// The child workflow execution that was completed.
5484	//
5485	// WorkflowExecution is a required field
5486	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
5487
5488	// The type of the child workflow execution.
5489	//
5490	// WorkflowType is a required field
5491	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
5492}
5493
5494// String returns the string representation
5495func (s ChildWorkflowExecutionCompletedEventAttributes) String() string {
5496	return awsutil.Prettify(s)
5497}
5498
5499// GoString returns the string representation
5500func (s ChildWorkflowExecutionCompletedEventAttributes) GoString() string {
5501	return s.String()
5502}
5503
5504// SetInitiatedEventId sets the InitiatedEventId field's value.
5505func (s *ChildWorkflowExecutionCompletedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionCompletedEventAttributes {
5506	s.InitiatedEventId = &v
5507	return s
5508}
5509
5510// SetResult sets the Result field's value.
5511func (s *ChildWorkflowExecutionCompletedEventAttributes) SetResult(v string) *ChildWorkflowExecutionCompletedEventAttributes {
5512	s.Result = &v
5513	return s
5514}
5515
5516// SetStartedEventId sets the StartedEventId field's value.
5517func (s *ChildWorkflowExecutionCompletedEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionCompletedEventAttributes {
5518	s.StartedEventId = &v
5519	return s
5520}
5521
5522// SetWorkflowExecution sets the WorkflowExecution field's value.
5523func (s *ChildWorkflowExecutionCompletedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionCompletedEventAttributes {
5524	s.WorkflowExecution = v
5525	return s
5526}
5527
5528// SetWorkflowType sets the WorkflowType field's value.
5529func (s *ChildWorkflowExecutionCompletedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionCompletedEventAttributes {
5530	s.WorkflowType = v
5531	return s
5532}
5533
5534// Provides the details of the ChildWorkflowExecutionFailed event.
5535type ChildWorkflowExecutionFailedEventAttributes struct {
5536	_ struct{} `type:"structure"`
5537
5538	// The details of the failure (if provided).
5539	Details *string `locationName:"details" type:"string"`
5540
5541	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
5542	// the StartChildWorkflowExecution Decision to start this child workflow execution.
5543	// This information can be useful for diagnosing problems by tracing back the
5544	// chain of events leading up to this event.
5545	//
5546	// InitiatedEventId is a required field
5547	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
5548
5549	// The reason for the failure (if provided).
5550	Reason *string `locationName:"reason" type:"string"`
5551
5552	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
5553	// workflow execution was started. This information can be useful for diagnosing
5554	// problems by tracing back the chain of events leading up to this event.
5555	//
5556	// StartedEventId is a required field
5557	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
5558
5559	// The child workflow execution that failed.
5560	//
5561	// WorkflowExecution is a required field
5562	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
5563
5564	// The type of the child workflow execution.
5565	//
5566	// WorkflowType is a required field
5567	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
5568}
5569
5570// String returns the string representation
5571func (s ChildWorkflowExecutionFailedEventAttributes) String() string {
5572	return awsutil.Prettify(s)
5573}
5574
5575// GoString returns the string representation
5576func (s ChildWorkflowExecutionFailedEventAttributes) GoString() string {
5577	return s.String()
5578}
5579
5580// SetDetails sets the Details field's value.
5581func (s *ChildWorkflowExecutionFailedEventAttributes) SetDetails(v string) *ChildWorkflowExecutionFailedEventAttributes {
5582	s.Details = &v
5583	return s
5584}
5585
5586// SetInitiatedEventId sets the InitiatedEventId field's value.
5587func (s *ChildWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionFailedEventAttributes {
5588	s.InitiatedEventId = &v
5589	return s
5590}
5591
5592// SetReason sets the Reason field's value.
5593func (s *ChildWorkflowExecutionFailedEventAttributes) SetReason(v string) *ChildWorkflowExecutionFailedEventAttributes {
5594	s.Reason = &v
5595	return s
5596}
5597
5598// SetStartedEventId sets the StartedEventId field's value.
5599func (s *ChildWorkflowExecutionFailedEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionFailedEventAttributes {
5600	s.StartedEventId = &v
5601	return s
5602}
5603
5604// SetWorkflowExecution sets the WorkflowExecution field's value.
5605func (s *ChildWorkflowExecutionFailedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionFailedEventAttributes {
5606	s.WorkflowExecution = v
5607	return s
5608}
5609
5610// SetWorkflowType sets the WorkflowType field's value.
5611func (s *ChildWorkflowExecutionFailedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionFailedEventAttributes {
5612	s.WorkflowType = v
5613	return s
5614}
5615
5616// Provides the details of the ChildWorkflowExecutionStarted event.
5617type ChildWorkflowExecutionStartedEventAttributes struct {
5618	_ struct{} `type:"structure"`
5619
5620	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
5621	// the StartChildWorkflowExecution Decision to start this child workflow execution.
5622	// This information can be useful for diagnosing problems by tracing back the
5623	// chain of events leading up to this event.
5624	//
5625	// InitiatedEventId is a required field
5626	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
5627
5628	// The child workflow execution that was started.
5629	//
5630	// WorkflowExecution is a required field
5631	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
5632
5633	// The type of the child workflow execution.
5634	//
5635	// WorkflowType is a required field
5636	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
5637}
5638
5639// String returns the string representation
5640func (s ChildWorkflowExecutionStartedEventAttributes) String() string {
5641	return awsutil.Prettify(s)
5642}
5643
5644// GoString returns the string representation
5645func (s ChildWorkflowExecutionStartedEventAttributes) GoString() string {
5646	return s.String()
5647}
5648
5649// SetInitiatedEventId sets the InitiatedEventId field's value.
5650func (s *ChildWorkflowExecutionStartedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionStartedEventAttributes {
5651	s.InitiatedEventId = &v
5652	return s
5653}
5654
5655// SetWorkflowExecution sets the WorkflowExecution field's value.
5656func (s *ChildWorkflowExecutionStartedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionStartedEventAttributes {
5657	s.WorkflowExecution = v
5658	return s
5659}
5660
5661// SetWorkflowType sets the WorkflowType field's value.
5662func (s *ChildWorkflowExecutionStartedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionStartedEventAttributes {
5663	s.WorkflowType = v
5664	return s
5665}
5666
5667// Provides the details of the ChildWorkflowExecutionTerminated event.
5668type ChildWorkflowExecutionTerminatedEventAttributes struct {
5669	_ struct{} `type:"structure"`
5670
5671	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
5672	// the StartChildWorkflowExecution Decision to start this child workflow execution.
5673	// This information can be useful for diagnosing problems by tracing back the
5674	// chain of events leading up to this event.
5675	//
5676	// InitiatedEventId is a required field
5677	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
5678
5679	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
5680	// workflow execution was started. This information can be useful for diagnosing
5681	// problems by tracing back the chain of events leading up to this event.
5682	//
5683	// StartedEventId is a required field
5684	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
5685
5686	// The child workflow execution that was terminated.
5687	//
5688	// WorkflowExecution is a required field
5689	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
5690
5691	// The type of the child workflow execution.
5692	//
5693	// WorkflowType is a required field
5694	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
5695}
5696
5697// String returns the string representation
5698func (s ChildWorkflowExecutionTerminatedEventAttributes) String() string {
5699	return awsutil.Prettify(s)
5700}
5701
5702// GoString returns the string representation
5703func (s ChildWorkflowExecutionTerminatedEventAttributes) GoString() string {
5704	return s.String()
5705}
5706
5707// SetInitiatedEventId sets the InitiatedEventId field's value.
5708func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionTerminatedEventAttributes {
5709	s.InitiatedEventId = &v
5710	return s
5711}
5712
5713// SetStartedEventId sets the StartedEventId field's value.
5714func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionTerminatedEventAttributes {
5715	s.StartedEventId = &v
5716	return s
5717}
5718
5719// SetWorkflowExecution sets the WorkflowExecution field's value.
5720func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionTerminatedEventAttributes {
5721	s.WorkflowExecution = v
5722	return s
5723}
5724
5725// SetWorkflowType sets the WorkflowType field's value.
5726func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionTerminatedEventAttributes {
5727	s.WorkflowType = v
5728	return s
5729}
5730
5731// Provides the details of the ChildWorkflowExecutionTimedOut event.
5732type ChildWorkflowExecutionTimedOutEventAttributes struct {
5733	_ struct{} `type:"structure"`
5734
5735	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
5736	// the StartChildWorkflowExecution Decision to start this child workflow execution.
5737	// This information can be useful for diagnosing problems by tracing back the
5738	// chain of events leading up to this event.
5739	//
5740	// InitiatedEventId is a required field
5741	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
5742
5743	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
5744	// workflow execution was started. This information can be useful for diagnosing
5745	// problems by tracing back the chain of events leading up to this event.
5746	//
5747	// StartedEventId is a required field
5748	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
5749
5750	// The type of the timeout that caused the child workflow execution to time
5751	// out.
5752	//
5753	// TimeoutType is a required field
5754	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"WorkflowExecutionTimeoutType"`
5755
5756	// The child workflow execution that timed out.
5757	//
5758	// WorkflowExecution is a required field
5759	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
5760
5761	// The type of the child workflow execution.
5762	//
5763	// WorkflowType is a required field
5764	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
5765}
5766
5767// String returns the string representation
5768func (s ChildWorkflowExecutionTimedOutEventAttributes) String() string {
5769	return awsutil.Prettify(s)
5770}
5771
5772// GoString returns the string representation
5773func (s ChildWorkflowExecutionTimedOutEventAttributes) GoString() string {
5774	return s.String()
5775}
5776
5777// SetInitiatedEventId sets the InitiatedEventId field's value.
5778func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionTimedOutEventAttributes {
5779	s.InitiatedEventId = &v
5780	return s
5781}
5782
5783// SetStartedEventId sets the StartedEventId field's value.
5784func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionTimedOutEventAttributes {
5785	s.StartedEventId = &v
5786	return s
5787}
5788
5789// SetTimeoutType sets the TimeoutType field's value.
5790func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetTimeoutType(v string) *ChildWorkflowExecutionTimedOutEventAttributes {
5791	s.TimeoutType = &v
5792	return s
5793}
5794
5795// SetWorkflowExecution sets the WorkflowExecution field's value.
5796func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionTimedOutEventAttributes {
5797	s.WorkflowExecution = v
5798	return s
5799}
5800
5801// SetWorkflowType sets the WorkflowType field's value.
5802func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionTimedOutEventAttributes {
5803	s.WorkflowType = v
5804	return s
5805}
5806
5807// Used to filter the closed workflow executions in visibility APIs by their
5808// close status.
5809type CloseStatusFilter struct {
5810	_ struct{} `type:"structure"`
5811
5812	// The close status that must match the close status of an execution for it
5813	// to meet the criteria of this filter.
5814	//
5815	// Status is a required field
5816	Status *string `locationName:"status" type:"string" required:"true" enum:"CloseStatus"`
5817}
5818
5819// String returns the string representation
5820func (s CloseStatusFilter) String() string {
5821	return awsutil.Prettify(s)
5822}
5823
5824// GoString returns the string representation
5825func (s CloseStatusFilter) GoString() string {
5826	return s.String()
5827}
5828
5829// Validate inspects the fields of the type to determine if they are valid.
5830func (s *CloseStatusFilter) Validate() error {
5831	invalidParams := request.ErrInvalidParams{Context: "CloseStatusFilter"}
5832	if s.Status == nil {
5833		invalidParams.Add(request.NewErrParamRequired("Status"))
5834	}
5835
5836	if invalidParams.Len() > 0 {
5837		return invalidParams
5838	}
5839	return nil
5840}
5841
5842// SetStatus sets the Status field's value.
5843func (s *CloseStatusFilter) SetStatus(v string) *CloseStatusFilter {
5844	s.Status = &v
5845	return s
5846}
5847
5848// Provides the details of the CompleteWorkflowExecution decision.
5849//
5850// Access Control
5851//
5852// You can use IAM policies to control this decision's access to Amazon SWF
5853// resources as follows:
5854//
5855//    * Use a Resource element with the domain name to limit the action to only
5856//    specified domains.
5857//
5858//    * Use an Action element to allow or deny permission to call this action.
5859//
5860//    * You cannot use an IAM policy to constrain this action's parameters.
5861//
5862// If the caller doesn't have sufficient permissions to invoke the action, or
5863// the parameter values fall outside the specified constraints, the action fails.
5864// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
5865// For details and example IAM policies, see Using IAM to Manage Access to Amazon
5866// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5867// in the Amazon SWF Developer Guide.
5868type CompleteWorkflowExecutionDecisionAttributes struct {
5869	_ struct{} `type:"structure"`
5870
5871	// The result of the workflow execution. The form of the result is implementation
5872	// defined.
5873	Result *string `locationName:"result" type:"string"`
5874}
5875
5876// String returns the string representation
5877func (s CompleteWorkflowExecutionDecisionAttributes) String() string {
5878	return awsutil.Prettify(s)
5879}
5880
5881// GoString returns the string representation
5882func (s CompleteWorkflowExecutionDecisionAttributes) GoString() string {
5883	return s.String()
5884}
5885
5886// SetResult sets the Result field's value.
5887func (s *CompleteWorkflowExecutionDecisionAttributes) SetResult(v string) *CompleteWorkflowExecutionDecisionAttributes {
5888	s.Result = &v
5889	return s
5890}
5891
5892// Provides the details of the CompleteWorkflowExecutionFailed event.
5893type CompleteWorkflowExecutionFailedEventAttributes struct {
5894	_ struct{} `type:"structure"`
5895
5896	// The cause of the failure. This information is generated by the system and
5897	// can be useful for diagnostic purposes.
5898	//
5899	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
5900	// lacked sufficient permissions. For details and example IAM policies, see
5901	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5902	// in the Amazon SWF Developer Guide.
5903	//
5904	// Cause is a required field
5905	Cause *string `locationName:"cause" type:"string" required:"true" enum:"CompleteWorkflowExecutionFailedCause"`
5906
5907	// The ID of the DecisionTaskCompleted event corresponding to the decision task
5908	// that resulted in the CompleteWorkflowExecution decision to complete this
5909	// execution. This information can be useful for diagnosing problems by tracing
5910	// back the chain of events leading up to this event.
5911	//
5912	// DecisionTaskCompletedEventId is a required field
5913	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
5914}
5915
5916// String returns the string representation
5917func (s CompleteWorkflowExecutionFailedEventAttributes) String() string {
5918	return awsutil.Prettify(s)
5919}
5920
5921// GoString returns the string representation
5922func (s CompleteWorkflowExecutionFailedEventAttributes) GoString() string {
5923	return s.String()
5924}
5925
5926// SetCause sets the Cause field's value.
5927func (s *CompleteWorkflowExecutionFailedEventAttributes) SetCause(v string) *CompleteWorkflowExecutionFailedEventAttributes {
5928	s.Cause = &v
5929	return s
5930}
5931
5932// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
5933func (s *CompleteWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *CompleteWorkflowExecutionFailedEventAttributes {
5934	s.DecisionTaskCompletedEventId = &v
5935	return s
5936}
5937
5938// Provides the details of the ContinueAsNewWorkflowExecution decision.
5939//
5940// Access Control
5941//
5942// You can use IAM policies to control this decision's access to Amazon SWF
5943// resources as follows:
5944//
5945//    * Use a Resource element with the domain name to limit the action to only
5946//    specified domains.
5947//
5948//    * Use an Action element to allow or deny permission to call this action.
5949//
5950//    * Constrain the following parameters by using a Condition element with
5951//    the appropriate keys. tag – A tag used to identify the workflow execution
5952//    taskList – String constraint. The key is swf:taskList.name. workflowType.version
5953//    – String constraint. The key is swf:workflowType.version.
5954//
5955// If the caller doesn't have sufficient permissions to invoke the action, or
5956// the parameter values fall outside the specified constraints, the action fails.
5957// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
5958// For details and example IAM policies, see Using IAM to Manage Access to Amazon
5959// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
5960// in the Amazon SWF Developer Guide.
5961type ContinueAsNewWorkflowExecutionDecisionAttributes struct {
5962	_ struct{} `type:"structure"`
5963
5964	// If set, specifies the policy to use for the child workflow executions of
5965	// the new execution if it is terminated by calling the TerminateWorkflowExecution
5966	// action explicitly or due to an expired timeout. This policy overrides the
5967	// default child policy specified when registering the workflow type using RegisterWorkflowType.
5968	//
5969	// The supported child policies are:
5970	//
5971	//    * TERMINATE – The child executions are terminated.
5972	//
5973	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
5974	//    by recording a WorkflowExecutionCancelRequested event in its history.
5975	//    It is up to the decider to take appropriate actions when it receives an
5976	//    execution history with this event.
5977	//
5978	//    * ABANDON – No action is taken. The child executions continue to run.
5979	//
5980	// A child policy for this workflow execution must be specified either as a
5981	// default for the workflow type or through this parameter. If neither this
5982	// parameter is set nor a default child policy was specified at registration
5983	// time then a fault is returned.
5984	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
5985
5986	// If set, specifies the total duration for this workflow execution. This overrides
5987	// the defaultExecutionStartToCloseTimeout specified when registering the workflow
5988	// type.
5989	//
5990	// The duration is specified in seconds, an integer greater than or equal to
5991	// 0. You can use NONE to specify unlimited duration.
5992	//
5993	// An execution start-to-close timeout for this workflow execution must be specified
5994	// either as a default for the workflow type or through this field. If neither
5995	// this field is set nor a default execution start-to-close timeout was specified
5996	// at registration time then a fault is returned.
5997	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
5998
5999	// The input provided to the new workflow execution.
6000	Input *string `locationName:"input" type:"string"`
6001
6002	// The IAM role to attach to the new (continued) execution.
6003	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
6004
6005	// The list of tags to associate with the new workflow execution. A maximum
6006	// of 5 tags can be specified. You can list workflow executions with a specific
6007	// tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions
6008	// and specifying a TagFilter.
6009	TagList []*string `locationName:"tagList" type:"list"`
6010
6011	// The task list to use for the decisions of the new (continued) workflow execution.
6012	TaskList *TaskList `locationName:"taskList" type:"structure"`
6013
6014	// The task priority that, if set, specifies the priority for the decision tasks
6015	// for this workflow execution. This overrides the defaultTaskPriority specified
6016	// when registering the workflow type. Valid values are integers that range
6017	// from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
6018	// Higher numbers indicate higher priority.
6019	//
6020	// For more information about setting task priority, see Setting Task Priority
6021	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
6022	// in the Amazon SWF Developer Guide.
6023	TaskPriority *string `locationName:"taskPriority" type:"string"`
6024
6025	// Specifies the maximum duration of decision tasks for the new workflow execution.
6026	// This parameter overrides the defaultTaskStartToCloseTimout specified when
6027	// registering the workflow type using RegisterWorkflowType.
6028	//
6029	// The duration is specified in seconds, an integer greater than or equal to
6030	// 0. You can use NONE to specify unlimited duration.
6031	//
6032	// A task start-to-close timeout for the new workflow execution must be specified
6033	// either as a default for the workflow type or through this parameter. If neither
6034	// this parameter is set nor a default task start-to-close timeout was specified
6035	// at registration time then a fault is returned.
6036	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
6037
6038	// The version of the workflow to start.
6039	WorkflowTypeVersion *string `locationName:"workflowTypeVersion" min:"1" type:"string"`
6040}
6041
6042// String returns the string representation
6043func (s ContinueAsNewWorkflowExecutionDecisionAttributes) String() string {
6044	return awsutil.Prettify(s)
6045}
6046
6047// GoString returns the string representation
6048func (s ContinueAsNewWorkflowExecutionDecisionAttributes) GoString() string {
6049	return s.String()
6050}
6051
6052// Validate inspects the fields of the type to determine if they are valid.
6053func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) Validate() error {
6054	invalidParams := request.ErrInvalidParams{Context: "ContinueAsNewWorkflowExecutionDecisionAttributes"}
6055	if s.LambdaRole != nil && len(*s.LambdaRole) < 1 {
6056		invalidParams.Add(request.NewErrParamMinLen("LambdaRole", 1))
6057	}
6058	if s.WorkflowTypeVersion != nil && len(*s.WorkflowTypeVersion) < 1 {
6059		invalidParams.Add(request.NewErrParamMinLen("WorkflowTypeVersion", 1))
6060	}
6061	if s.TaskList != nil {
6062		if err := s.TaskList.Validate(); err != nil {
6063			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
6064		}
6065	}
6066
6067	if invalidParams.Len() > 0 {
6068		return invalidParams
6069	}
6070	return nil
6071}
6072
6073// SetChildPolicy sets the ChildPolicy field's value.
6074func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetChildPolicy(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6075	s.ChildPolicy = &v
6076	return s
6077}
6078
6079// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
6080func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetExecutionStartToCloseTimeout(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6081	s.ExecutionStartToCloseTimeout = &v
6082	return s
6083}
6084
6085// SetInput sets the Input field's value.
6086func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetInput(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6087	s.Input = &v
6088	return s
6089}
6090
6091// SetLambdaRole sets the LambdaRole field's value.
6092func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetLambdaRole(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6093	s.LambdaRole = &v
6094	return s
6095}
6096
6097// SetTagList sets the TagList field's value.
6098func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTagList(v []*string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6099	s.TagList = v
6100	return s
6101}
6102
6103// SetTaskList sets the TaskList field's value.
6104func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTaskList(v *TaskList) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6105	s.TaskList = v
6106	return s
6107}
6108
6109// SetTaskPriority sets the TaskPriority field's value.
6110func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTaskPriority(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6111	s.TaskPriority = &v
6112	return s
6113}
6114
6115// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
6116func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTaskStartToCloseTimeout(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6117	s.TaskStartToCloseTimeout = &v
6118	return s
6119}
6120
6121// SetWorkflowTypeVersion sets the WorkflowTypeVersion field's value.
6122func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetWorkflowTypeVersion(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
6123	s.WorkflowTypeVersion = &v
6124	return s
6125}
6126
6127// Provides the details of the ContinueAsNewWorkflowExecutionFailed event.
6128type ContinueAsNewWorkflowExecutionFailedEventAttributes struct {
6129	_ struct{} `type:"structure"`
6130
6131	// The cause of the failure. This information is generated by the system and
6132	// can be useful for diagnostic purposes.
6133	//
6134	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
6135	// lacked sufficient permissions. For details and example IAM policies, see
6136	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
6137	// in the Amazon SWF Developer Guide.
6138	//
6139	// Cause is a required field
6140	Cause *string `locationName:"cause" type:"string" required:"true" enum:"ContinueAsNewWorkflowExecutionFailedCause"`
6141
6142	// The ID of the DecisionTaskCompleted event corresponding to the decision task
6143	// that resulted in the ContinueAsNewWorkflowExecution decision that started
6144	// this execution. This information can be useful for diagnosing problems by
6145	// tracing back the chain of events leading up to this event.
6146	//
6147	// DecisionTaskCompletedEventId is a required field
6148	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
6149}
6150
6151// String returns the string representation
6152func (s ContinueAsNewWorkflowExecutionFailedEventAttributes) String() string {
6153	return awsutil.Prettify(s)
6154}
6155
6156// GoString returns the string representation
6157func (s ContinueAsNewWorkflowExecutionFailedEventAttributes) GoString() string {
6158	return s.String()
6159}
6160
6161// SetCause sets the Cause field's value.
6162func (s *ContinueAsNewWorkflowExecutionFailedEventAttributes) SetCause(v string) *ContinueAsNewWorkflowExecutionFailedEventAttributes {
6163	s.Cause = &v
6164	return s
6165}
6166
6167// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
6168func (s *ContinueAsNewWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ContinueAsNewWorkflowExecutionFailedEventAttributes {
6169	s.DecisionTaskCompletedEventId = &v
6170	return s
6171}
6172
6173type CountClosedWorkflowExecutionsInput struct {
6174	_ struct{} `type:"structure"`
6175
6176	// If specified, only workflow executions that match this close status are counted.
6177	// This filter has an affect only if executionStatus is specified as CLOSED.
6178	//
6179	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
6180	// exclusive. You can specify at most one of these in a request.
6181	CloseStatusFilter *CloseStatusFilter `locationName:"closeStatusFilter" type:"structure"`
6182
6183	// If specified, only workflow executions that meet the close time criteria
6184	// of the filter are counted.
6185	//
6186	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
6187	// one of these in a request but not both.
6188	CloseTimeFilter *ExecutionTimeFilter `locationName:"closeTimeFilter" type:"structure"`
6189
6190	// The name of the domain containing the workflow executions to count.
6191	//
6192	// Domain is a required field
6193	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
6194
6195	// If specified, only workflow executions matching the WorkflowId in the filter
6196	// are counted.
6197	//
6198	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
6199	// exclusive. You can specify at most one of these in a request.
6200	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
6201
6202	// If specified, only workflow executions that meet the start time criteria
6203	// of the filter are counted.
6204	//
6205	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
6206	// one of these in a request but not both.
6207	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure"`
6208
6209	// If specified, only executions that have a tag that matches the filter are
6210	// counted.
6211	//
6212	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
6213	// exclusive. You can specify at most one of these in a request.
6214	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
6215
6216	// If specified, indicates the type of the workflow executions to be counted.
6217	//
6218	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
6219	// exclusive. You can specify at most one of these in a request.
6220	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
6221}
6222
6223// String returns the string representation
6224func (s CountClosedWorkflowExecutionsInput) String() string {
6225	return awsutil.Prettify(s)
6226}
6227
6228// GoString returns the string representation
6229func (s CountClosedWorkflowExecutionsInput) GoString() string {
6230	return s.String()
6231}
6232
6233// Validate inspects the fields of the type to determine if they are valid.
6234func (s *CountClosedWorkflowExecutionsInput) Validate() error {
6235	invalidParams := request.ErrInvalidParams{Context: "CountClosedWorkflowExecutionsInput"}
6236	if s.Domain == nil {
6237		invalidParams.Add(request.NewErrParamRequired("Domain"))
6238	}
6239	if s.Domain != nil && len(*s.Domain) < 1 {
6240		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
6241	}
6242	if s.CloseStatusFilter != nil {
6243		if err := s.CloseStatusFilter.Validate(); err != nil {
6244			invalidParams.AddNested("CloseStatusFilter", err.(request.ErrInvalidParams))
6245		}
6246	}
6247	if s.CloseTimeFilter != nil {
6248		if err := s.CloseTimeFilter.Validate(); err != nil {
6249			invalidParams.AddNested("CloseTimeFilter", err.(request.ErrInvalidParams))
6250		}
6251	}
6252	if s.ExecutionFilter != nil {
6253		if err := s.ExecutionFilter.Validate(); err != nil {
6254			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
6255		}
6256	}
6257	if s.StartTimeFilter != nil {
6258		if err := s.StartTimeFilter.Validate(); err != nil {
6259			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
6260		}
6261	}
6262	if s.TagFilter != nil {
6263		if err := s.TagFilter.Validate(); err != nil {
6264			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
6265		}
6266	}
6267	if s.TypeFilter != nil {
6268		if err := s.TypeFilter.Validate(); err != nil {
6269			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
6270		}
6271	}
6272
6273	if invalidParams.Len() > 0 {
6274		return invalidParams
6275	}
6276	return nil
6277}
6278
6279// SetCloseStatusFilter sets the CloseStatusFilter field's value.
6280func (s *CountClosedWorkflowExecutionsInput) SetCloseStatusFilter(v *CloseStatusFilter) *CountClosedWorkflowExecutionsInput {
6281	s.CloseStatusFilter = v
6282	return s
6283}
6284
6285// SetCloseTimeFilter sets the CloseTimeFilter field's value.
6286func (s *CountClosedWorkflowExecutionsInput) SetCloseTimeFilter(v *ExecutionTimeFilter) *CountClosedWorkflowExecutionsInput {
6287	s.CloseTimeFilter = v
6288	return s
6289}
6290
6291// SetDomain sets the Domain field's value.
6292func (s *CountClosedWorkflowExecutionsInput) SetDomain(v string) *CountClosedWorkflowExecutionsInput {
6293	s.Domain = &v
6294	return s
6295}
6296
6297// SetExecutionFilter sets the ExecutionFilter field's value.
6298func (s *CountClosedWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *CountClosedWorkflowExecutionsInput {
6299	s.ExecutionFilter = v
6300	return s
6301}
6302
6303// SetStartTimeFilter sets the StartTimeFilter field's value.
6304func (s *CountClosedWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *CountClosedWorkflowExecutionsInput {
6305	s.StartTimeFilter = v
6306	return s
6307}
6308
6309// SetTagFilter sets the TagFilter field's value.
6310func (s *CountClosedWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *CountClosedWorkflowExecutionsInput {
6311	s.TagFilter = v
6312	return s
6313}
6314
6315// SetTypeFilter sets the TypeFilter field's value.
6316func (s *CountClosedWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *CountClosedWorkflowExecutionsInput {
6317	s.TypeFilter = v
6318	return s
6319}
6320
6321type CountOpenWorkflowExecutionsInput struct {
6322	_ struct{} `type:"structure"`
6323
6324	// The name of the domain containing the workflow executions to count.
6325	//
6326	// Domain is a required field
6327	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
6328
6329	// If specified, only workflow executions matching the WorkflowId in the filter
6330	// are counted.
6331	//
6332	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
6333	// specify at most one of these in a request.
6334	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
6335
6336	// Specifies the start time criteria that workflow executions must meet in order
6337	// to be counted.
6338	//
6339	// StartTimeFilter is a required field
6340	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure" required:"true"`
6341
6342	// If specified, only executions that have a tag that matches the filter are
6343	// counted.
6344	//
6345	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
6346	// specify at most one of these in a request.
6347	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
6348
6349	// Specifies the type of the workflow executions to be counted.
6350	//
6351	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
6352	// specify at most one of these in a request.
6353	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
6354}
6355
6356// String returns the string representation
6357func (s CountOpenWorkflowExecutionsInput) String() string {
6358	return awsutil.Prettify(s)
6359}
6360
6361// GoString returns the string representation
6362func (s CountOpenWorkflowExecutionsInput) GoString() string {
6363	return s.String()
6364}
6365
6366// Validate inspects the fields of the type to determine if they are valid.
6367func (s *CountOpenWorkflowExecutionsInput) Validate() error {
6368	invalidParams := request.ErrInvalidParams{Context: "CountOpenWorkflowExecutionsInput"}
6369	if s.Domain == nil {
6370		invalidParams.Add(request.NewErrParamRequired("Domain"))
6371	}
6372	if s.Domain != nil && len(*s.Domain) < 1 {
6373		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
6374	}
6375	if s.StartTimeFilter == nil {
6376		invalidParams.Add(request.NewErrParamRequired("StartTimeFilter"))
6377	}
6378	if s.ExecutionFilter != nil {
6379		if err := s.ExecutionFilter.Validate(); err != nil {
6380			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
6381		}
6382	}
6383	if s.StartTimeFilter != nil {
6384		if err := s.StartTimeFilter.Validate(); err != nil {
6385			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
6386		}
6387	}
6388	if s.TagFilter != nil {
6389		if err := s.TagFilter.Validate(); err != nil {
6390			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
6391		}
6392	}
6393	if s.TypeFilter != nil {
6394		if err := s.TypeFilter.Validate(); err != nil {
6395			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
6396		}
6397	}
6398
6399	if invalidParams.Len() > 0 {
6400		return invalidParams
6401	}
6402	return nil
6403}
6404
6405// SetDomain sets the Domain field's value.
6406func (s *CountOpenWorkflowExecutionsInput) SetDomain(v string) *CountOpenWorkflowExecutionsInput {
6407	s.Domain = &v
6408	return s
6409}
6410
6411// SetExecutionFilter sets the ExecutionFilter field's value.
6412func (s *CountOpenWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *CountOpenWorkflowExecutionsInput {
6413	s.ExecutionFilter = v
6414	return s
6415}
6416
6417// SetStartTimeFilter sets the StartTimeFilter field's value.
6418func (s *CountOpenWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *CountOpenWorkflowExecutionsInput {
6419	s.StartTimeFilter = v
6420	return s
6421}
6422
6423// SetTagFilter sets the TagFilter field's value.
6424func (s *CountOpenWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *CountOpenWorkflowExecutionsInput {
6425	s.TagFilter = v
6426	return s
6427}
6428
6429// SetTypeFilter sets the TypeFilter field's value.
6430func (s *CountOpenWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *CountOpenWorkflowExecutionsInput {
6431	s.TypeFilter = v
6432	return s
6433}
6434
6435type CountPendingActivityTasksInput struct {
6436	_ struct{} `type:"structure"`
6437
6438	// The name of the domain that contains the task list.
6439	//
6440	// Domain is a required field
6441	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
6442
6443	// The name of the task list.
6444	//
6445	// TaskList is a required field
6446	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
6447}
6448
6449// String returns the string representation
6450func (s CountPendingActivityTasksInput) String() string {
6451	return awsutil.Prettify(s)
6452}
6453
6454// GoString returns the string representation
6455func (s CountPendingActivityTasksInput) GoString() string {
6456	return s.String()
6457}
6458
6459// Validate inspects the fields of the type to determine if they are valid.
6460func (s *CountPendingActivityTasksInput) Validate() error {
6461	invalidParams := request.ErrInvalidParams{Context: "CountPendingActivityTasksInput"}
6462	if s.Domain == nil {
6463		invalidParams.Add(request.NewErrParamRequired("Domain"))
6464	}
6465	if s.Domain != nil && len(*s.Domain) < 1 {
6466		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
6467	}
6468	if s.TaskList == nil {
6469		invalidParams.Add(request.NewErrParamRequired("TaskList"))
6470	}
6471	if s.TaskList != nil {
6472		if err := s.TaskList.Validate(); err != nil {
6473			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
6474		}
6475	}
6476
6477	if invalidParams.Len() > 0 {
6478		return invalidParams
6479	}
6480	return nil
6481}
6482
6483// SetDomain sets the Domain field's value.
6484func (s *CountPendingActivityTasksInput) SetDomain(v string) *CountPendingActivityTasksInput {
6485	s.Domain = &v
6486	return s
6487}
6488
6489// SetTaskList sets the TaskList field's value.
6490func (s *CountPendingActivityTasksInput) SetTaskList(v *TaskList) *CountPendingActivityTasksInput {
6491	s.TaskList = v
6492	return s
6493}
6494
6495type CountPendingDecisionTasksInput struct {
6496	_ struct{} `type:"structure"`
6497
6498	// The name of the domain that contains the task list.
6499	//
6500	// Domain is a required field
6501	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
6502
6503	// The name of the task list.
6504	//
6505	// TaskList is a required field
6506	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
6507}
6508
6509// String returns the string representation
6510func (s CountPendingDecisionTasksInput) String() string {
6511	return awsutil.Prettify(s)
6512}
6513
6514// GoString returns the string representation
6515func (s CountPendingDecisionTasksInput) GoString() string {
6516	return s.String()
6517}
6518
6519// Validate inspects the fields of the type to determine if they are valid.
6520func (s *CountPendingDecisionTasksInput) Validate() error {
6521	invalidParams := request.ErrInvalidParams{Context: "CountPendingDecisionTasksInput"}
6522	if s.Domain == nil {
6523		invalidParams.Add(request.NewErrParamRequired("Domain"))
6524	}
6525	if s.Domain != nil && len(*s.Domain) < 1 {
6526		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
6527	}
6528	if s.TaskList == nil {
6529		invalidParams.Add(request.NewErrParamRequired("TaskList"))
6530	}
6531	if s.TaskList != nil {
6532		if err := s.TaskList.Validate(); err != nil {
6533			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
6534		}
6535	}
6536
6537	if invalidParams.Len() > 0 {
6538		return invalidParams
6539	}
6540	return nil
6541}
6542
6543// SetDomain sets the Domain field's value.
6544func (s *CountPendingDecisionTasksInput) SetDomain(v string) *CountPendingDecisionTasksInput {
6545	s.Domain = &v
6546	return s
6547}
6548
6549// SetTaskList sets the TaskList field's value.
6550func (s *CountPendingDecisionTasksInput) SetTaskList(v *TaskList) *CountPendingDecisionTasksInput {
6551	s.TaskList = v
6552	return s
6553}
6554
6555// Specifies a decision made by the decider. A decision can be one of these
6556// types:
6557//
6558//    * CancelTimer – Cancels a previously started timer and records a TimerCanceled
6559//    event in the history.
6560//
6561//    * CancelWorkflowExecution – Closes the workflow execution and records
6562//    a WorkflowExecutionCanceled event in the history.
6563//
6564//    * CompleteWorkflowExecution – Closes the workflow execution and records
6565//    a WorkflowExecutionCompleted event in the history .
6566//
6567//    * ContinueAsNewWorkflowExecution – Closes the workflow execution and
6568//    starts a new workflow execution of the same type using the same workflow
6569//    ID and a unique run Id. A WorkflowExecutionContinuedAsNew event is recorded
6570//    in the history.
6571//
6572//    * FailWorkflowExecution – Closes the workflow execution and records
6573//    a WorkflowExecutionFailed event in the history.
6574//
6575//    * RecordMarker – Records a MarkerRecorded event in the history. Markers
6576//    can be used for adding custom information in the history for instance
6577//    to let deciders know that they don't need to look at the history beyond
6578//    the marker event.
6579//
6580//    * RequestCancelActivityTask – Attempts to cancel a previously scheduled
6581//    activity task. If the activity task was scheduled but has not been assigned
6582//    to a worker, then it is canceled. If the activity task was already assigned
6583//    to a worker, then the worker is informed that cancellation has been requested
6584//    in the response to RecordActivityTaskHeartbeat.
6585//
6586//    * RequestCancelExternalWorkflowExecution – Requests that a request be
6587//    made to cancel the specified external workflow execution and records a
6588//    RequestCancelExternalWorkflowExecutionInitiated event in the history.
6589//
6590//    * ScheduleActivityTask – Schedules an activity task.
6591//
6592//    * SignalExternalWorkflowExecution – Requests a signal to be delivered
6593//    to the specified external workflow execution and records a SignalExternalWorkflowExecutionInitiated
6594//    event in the history.
6595//
6596//    * StartChildWorkflowExecution – Requests that a child workflow execution
6597//    be started and records a StartChildWorkflowExecutionInitiated event in
6598//    the history. The child workflow execution is a separate workflow execution
6599//    with its own history.
6600//
6601//    * StartTimer – Starts a timer for this workflow execution and records
6602//    a TimerStarted event in the history. This timer fires after the specified
6603//    delay and record a TimerFired event.
6604//
6605// Access Control
6606//
6607// If you grant permission to use RespondDecisionTaskCompleted, you can use
6608// IAM policies to express permissions for the list of decisions returned by
6609// this action as if they were members of the API. Treating decisions as a pseudo
6610// API maintains a uniform conceptual model and helps keep policies readable.
6611// For details and example IAM policies, see Using IAM to Manage Access to Amazon
6612// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
6613// in the Amazon SWF Developer Guide.
6614//
6615// Decision Failure
6616//
6617// Decisions can fail for several reasons
6618//
6619//    * The ordering of decisions should follow a logical flow. Some decisions
6620//    might not make sense in the current context of the workflow execution
6621//    and therefore fails.
6622//
6623//    * A limit on your account was reached.
6624//
6625//    * The decision lacks sufficient permissions.
6626//
6627// One of the following events might be added to the history to indicate an
6628// error. The event attribute's cause parameter indicates the cause. If cause
6629// is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked
6630// sufficient permissions. For details and example IAM policies, see Using IAM
6631// to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
6632// in the Amazon SWF Developer Guide.
6633//
6634//    * ScheduleActivityTaskFailed – A ScheduleActivityTask decision failed.
6635//    This could happen if the activity type specified in the decision isn't
6636//    registered, is in a deprecated state, or the decision isn't properly configured.
6637//
6638//    * RequestCancelActivityTaskFailed – A RequestCancelActivityTask decision
6639//    failed. This could happen if there is no open activity task with the specified
6640//    activityId.
6641//
6642//    * StartTimerFailed – A StartTimer decision failed. This could happen
6643//    if there is another open timer with the same timerId.
6644//
6645//    * CancelTimerFailed – A CancelTimer decision failed. This could happen
6646//    if there is no open timer with the specified timerId.
6647//
6648//    * StartChildWorkflowExecutionFailed – A StartChildWorkflowExecution
6649//    decision failed. This could happen if the workflow type specified isn't
6650//    registered, is deprecated, or the decision isn't properly configured.
6651//
6652//    * SignalExternalWorkflowExecutionFailed – A SignalExternalWorkflowExecution
6653//    decision failed. This could happen if the workflowID specified in the
6654//    decision was incorrect.
6655//
6656//    * RequestCancelExternalWorkflowExecutionFailed – A RequestCancelExternalWorkflowExecution
6657//    decision failed. This could happen if the workflowID specified in the
6658//    decision was incorrect.
6659//
6660//    * CancelWorkflowExecutionFailed – A CancelWorkflowExecution decision
6661//    failed. This could happen if there is an unhandled decision task pending
6662//    in the workflow execution.
6663//
6664//    * CompleteWorkflowExecutionFailed – A CompleteWorkflowExecution decision
6665//    failed. This could happen if there is an unhandled decision task pending
6666//    in the workflow execution.
6667//
6668//    * ContinueAsNewWorkflowExecutionFailed – A ContinueAsNewWorkflowExecution
6669//    decision failed. This could happen if there is an unhandled decision task
6670//    pending in the workflow execution or the ContinueAsNewWorkflowExecution
6671//    decision was not configured correctly.
6672//
6673//    * FailWorkflowExecutionFailed – A FailWorkflowExecution decision failed.
6674//    This could happen if there is an unhandled decision task pending in the
6675//    workflow execution.
6676//
6677// The preceding error events might occur due to an error in the decider logic,
6678// which might put the workflow execution in an unstable state The cause field
6679// in the event structure for the error event indicates the cause of the error.
6680//
6681// A workflow execution may be closed by the decider by returning one of the
6682// following decisions when completing a decision task: CompleteWorkflowExecution,
6683// FailWorkflowExecution, CancelWorkflowExecution and ContinueAsNewWorkflowExecution.
6684// An UnhandledDecision fault is returned if a workflow closing decision is
6685// specified and a signal or activity event had been added to the history while
6686// the decision task was being performed by the decider. Unlike the above situations
6687// which are logic issues, this fault is always possible because of race conditions
6688// in a distributed system. The right action here is to call RespondDecisionTaskCompleted
6689// without any decisions. This would result in another decision task with these
6690// new events included in the history. The decider should handle the new events
6691// and may decide to close the workflow execution.
6692//
6693// How to Code a Decision
6694//
6695// You code a decision by first setting the decision type field to one of the
6696// above decision values, and then set the corresponding attributes field shown
6697// below:
6698//
6699//    * ScheduleActivityTaskDecisionAttributes
6700//
6701//    * RequestCancelActivityTaskDecisionAttributes
6702//
6703//    * CompleteWorkflowExecutionDecisionAttributes
6704//
6705//    * FailWorkflowExecutionDecisionAttributes
6706//
6707//    * CancelWorkflowExecutionDecisionAttributes
6708//
6709//    * ContinueAsNewWorkflowExecutionDecisionAttributes
6710//
6711//    * RecordMarkerDecisionAttributes
6712//
6713//    * StartTimerDecisionAttributes
6714//
6715//    * CancelTimerDecisionAttributes
6716//
6717//    * SignalExternalWorkflowExecutionDecisionAttributes
6718//
6719//    * RequestCancelExternalWorkflowExecutionDecisionAttributes
6720//
6721//    * StartChildWorkflowExecutionDecisionAttributes
6722type Decision struct {
6723	_ struct{} `type:"structure"`
6724
6725	// Provides the details of the CancelTimer decision. It isn't set for other
6726	// decision types.
6727	CancelTimerDecisionAttributes *CancelTimerDecisionAttributes `locationName:"cancelTimerDecisionAttributes" type:"structure"`
6728
6729	// Provides the details of the CancelWorkflowExecution decision. It isn't set
6730	// for other decision types.
6731	CancelWorkflowExecutionDecisionAttributes *CancelWorkflowExecutionDecisionAttributes `locationName:"cancelWorkflowExecutionDecisionAttributes" type:"structure"`
6732
6733	// Provides the details of the CompleteWorkflowExecution decision. It isn't
6734	// set for other decision types.
6735	CompleteWorkflowExecutionDecisionAttributes *CompleteWorkflowExecutionDecisionAttributes `locationName:"completeWorkflowExecutionDecisionAttributes" type:"structure"`
6736
6737	// Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't
6738	// set for other decision types.
6739	ContinueAsNewWorkflowExecutionDecisionAttributes *ContinueAsNewWorkflowExecutionDecisionAttributes `locationName:"continueAsNewWorkflowExecutionDecisionAttributes" type:"structure"`
6740
6741	// Specifies the type of the decision.
6742	//
6743	// DecisionType is a required field
6744	DecisionType *string `locationName:"decisionType" type:"string" required:"true" enum:"DecisionType"`
6745
6746	// Provides the details of the FailWorkflowExecution decision. It isn't set
6747	// for other decision types.
6748	FailWorkflowExecutionDecisionAttributes *FailWorkflowExecutionDecisionAttributes `locationName:"failWorkflowExecutionDecisionAttributes" type:"structure"`
6749
6750	// Provides the details of the RecordMarker decision. It isn't set for other
6751	// decision types.
6752	RecordMarkerDecisionAttributes *RecordMarkerDecisionAttributes `locationName:"recordMarkerDecisionAttributes" type:"structure"`
6753
6754	// Provides the details of the RequestCancelActivityTask decision. It isn't
6755	// set for other decision types.
6756	RequestCancelActivityTaskDecisionAttributes *RequestCancelActivityTaskDecisionAttributes `locationName:"requestCancelActivityTaskDecisionAttributes" type:"structure"`
6757
6758	// Provides the details of the RequestCancelExternalWorkflowExecution decision.
6759	// It isn't set for other decision types.
6760	RequestCancelExternalWorkflowExecutionDecisionAttributes *RequestCancelExternalWorkflowExecutionDecisionAttributes `locationName:"requestCancelExternalWorkflowExecutionDecisionAttributes" type:"structure"`
6761
6762	// Provides the details of the ScheduleActivityTask decision. It isn't set for
6763	// other decision types.
6764	ScheduleActivityTaskDecisionAttributes *ScheduleActivityTaskDecisionAttributes `locationName:"scheduleActivityTaskDecisionAttributes" type:"structure"`
6765
6766	// Provides the details of the ScheduleLambdaFunction decision. It isn't set
6767	// for other decision types.
6768	ScheduleLambdaFunctionDecisionAttributes *ScheduleLambdaFunctionDecisionAttributes `locationName:"scheduleLambdaFunctionDecisionAttributes" type:"structure"`
6769
6770	// Provides the details of the SignalExternalWorkflowExecution decision. It
6771	// isn't set for other decision types.
6772	SignalExternalWorkflowExecutionDecisionAttributes *SignalExternalWorkflowExecutionDecisionAttributes `locationName:"signalExternalWorkflowExecutionDecisionAttributes" type:"structure"`
6773
6774	// Provides the details of the StartChildWorkflowExecution decision. It isn't
6775	// set for other decision types.
6776	StartChildWorkflowExecutionDecisionAttributes *StartChildWorkflowExecutionDecisionAttributes `locationName:"startChildWorkflowExecutionDecisionAttributes" type:"structure"`
6777
6778	// Provides the details of the StartTimer decision. It isn't set for other decision
6779	// types.
6780	StartTimerDecisionAttributes *StartTimerDecisionAttributes `locationName:"startTimerDecisionAttributes" type:"structure"`
6781}
6782
6783// String returns the string representation
6784func (s Decision) String() string {
6785	return awsutil.Prettify(s)
6786}
6787
6788// GoString returns the string representation
6789func (s Decision) GoString() string {
6790	return s.String()
6791}
6792
6793// Validate inspects the fields of the type to determine if they are valid.
6794func (s *Decision) Validate() error {
6795	invalidParams := request.ErrInvalidParams{Context: "Decision"}
6796	if s.DecisionType == nil {
6797		invalidParams.Add(request.NewErrParamRequired("DecisionType"))
6798	}
6799	if s.CancelTimerDecisionAttributes != nil {
6800		if err := s.CancelTimerDecisionAttributes.Validate(); err != nil {
6801			invalidParams.AddNested("CancelTimerDecisionAttributes", err.(request.ErrInvalidParams))
6802		}
6803	}
6804	if s.ContinueAsNewWorkflowExecutionDecisionAttributes != nil {
6805		if err := s.ContinueAsNewWorkflowExecutionDecisionAttributes.Validate(); err != nil {
6806			invalidParams.AddNested("ContinueAsNewWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
6807		}
6808	}
6809	if s.RecordMarkerDecisionAttributes != nil {
6810		if err := s.RecordMarkerDecisionAttributes.Validate(); err != nil {
6811			invalidParams.AddNested("RecordMarkerDecisionAttributes", err.(request.ErrInvalidParams))
6812		}
6813	}
6814	if s.RequestCancelActivityTaskDecisionAttributes != nil {
6815		if err := s.RequestCancelActivityTaskDecisionAttributes.Validate(); err != nil {
6816			invalidParams.AddNested("RequestCancelActivityTaskDecisionAttributes", err.(request.ErrInvalidParams))
6817		}
6818	}
6819	if s.RequestCancelExternalWorkflowExecutionDecisionAttributes != nil {
6820		if err := s.RequestCancelExternalWorkflowExecutionDecisionAttributes.Validate(); err != nil {
6821			invalidParams.AddNested("RequestCancelExternalWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
6822		}
6823	}
6824	if s.ScheduleActivityTaskDecisionAttributes != nil {
6825		if err := s.ScheduleActivityTaskDecisionAttributes.Validate(); err != nil {
6826			invalidParams.AddNested("ScheduleActivityTaskDecisionAttributes", err.(request.ErrInvalidParams))
6827		}
6828	}
6829	if s.ScheduleLambdaFunctionDecisionAttributes != nil {
6830		if err := s.ScheduleLambdaFunctionDecisionAttributes.Validate(); err != nil {
6831			invalidParams.AddNested("ScheduleLambdaFunctionDecisionAttributes", err.(request.ErrInvalidParams))
6832		}
6833	}
6834	if s.SignalExternalWorkflowExecutionDecisionAttributes != nil {
6835		if err := s.SignalExternalWorkflowExecutionDecisionAttributes.Validate(); err != nil {
6836			invalidParams.AddNested("SignalExternalWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
6837		}
6838	}
6839	if s.StartChildWorkflowExecutionDecisionAttributes != nil {
6840		if err := s.StartChildWorkflowExecutionDecisionAttributes.Validate(); err != nil {
6841			invalidParams.AddNested("StartChildWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
6842		}
6843	}
6844	if s.StartTimerDecisionAttributes != nil {
6845		if err := s.StartTimerDecisionAttributes.Validate(); err != nil {
6846			invalidParams.AddNested("StartTimerDecisionAttributes", err.(request.ErrInvalidParams))
6847		}
6848	}
6849
6850	if invalidParams.Len() > 0 {
6851		return invalidParams
6852	}
6853	return nil
6854}
6855
6856// SetCancelTimerDecisionAttributes sets the CancelTimerDecisionAttributes field's value.
6857func (s *Decision) SetCancelTimerDecisionAttributes(v *CancelTimerDecisionAttributes) *Decision {
6858	s.CancelTimerDecisionAttributes = v
6859	return s
6860}
6861
6862// SetCancelWorkflowExecutionDecisionAttributes sets the CancelWorkflowExecutionDecisionAttributes field's value.
6863func (s *Decision) SetCancelWorkflowExecutionDecisionAttributes(v *CancelWorkflowExecutionDecisionAttributes) *Decision {
6864	s.CancelWorkflowExecutionDecisionAttributes = v
6865	return s
6866}
6867
6868// SetCompleteWorkflowExecutionDecisionAttributes sets the CompleteWorkflowExecutionDecisionAttributes field's value.
6869func (s *Decision) SetCompleteWorkflowExecutionDecisionAttributes(v *CompleteWorkflowExecutionDecisionAttributes) *Decision {
6870	s.CompleteWorkflowExecutionDecisionAttributes = v
6871	return s
6872}
6873
6874// SetContinueAsNewWorkflowExecutionDecisionAttributes sets the ContinueAsNewWorkflowExecutionDecisionAttributes field's value.
6875func (s *Decision) SetContinueAsNewWorkflowExecutionDecisionAttributes(v *ContinueAsNewWorkflowExecutionDecisionAttributes) *Decision {
6876	s.ContinueAsNewWorkflowExecutionDecisionAttributes = v
6877	return s
6878}
6879
6880// SetDecisionType sets the DecisionType field's value.
6881func (s *Decision) SetDecisionType(v string) *Decision {
6882	s.DecisionType = &v
6883	return s
6884}
6885
6886// SetFailWorkflowExecutionDecisionAttributes sets the FailWorkflowExecutionDecisionAttributes field's value.
6887func (s *Decision) SetFailWorkflowExecutionDecisionAttributes(v *FailWorkflowExecutionDecisionAttributes) *Decision {
6888	s.FailWorkflowExecutionDecisionAttributes = v
6889	return s
6890}
6891
6892// SetRecordMarkerDecisionAttributes sets the RecordMarkerDecisionAttributes field's value.
6893func (s *Decision) SetRecordMarkerDecisionAttributes(v *RecordMarkerDecisionAttributes) *Decision {
6894	s.RecordMarkerDecisionAttributes = v
6895	return s
6896}
6897
6898// SetRequestCancelActivityTaskDecisionAttributes sets the RequestCancelActivityTaskDecisionAttributes field's value.
6899func (s *Decision) SetRequestCancelActivityTaskDecisionAttributes(v *RequestCancelActivityTaskDecisionAttributes) *Decision {
6900	s.RequestCancelActivityTaskDecisionAttributes = v
6901	return s
6902}
6903
6904// SetRequestCancelExternalWorkflowExecutionDecisionAttributes sets the RequestCancelExternalWorkflowExecutionDecisionAttributes field's value.
6905func (s *Decision) SetRequestCancelExternalWorkflowExecutionDecisionAttributes(v *RequestCancelExternalWorkflowExecutionDecisionAttributes) *Decision {
6906	s.RequestCancelExternalWorkflowExecutionDecisionAttributes = v
6907	return s
6908}
6909
6910// SetScheduleActivityTaskDecisionAttributes sets the ScheduleActivityTaskDecisionAttributes field's value.
6911func (s *Decision) SetScheduleActivityTaskDecisionAttributes(v *ScheduleActivityTaskDecisionAttributes) *Decision {
6912	s.ScheduleActivityTaskDecisionAttributes = v
6913	return s
6914}
6915
6916// SetScheduleLambdaFunctionDecisionAttributes sets the ScheduleLambdaFunctionDecisionAttributes field's value.
6917func (s *Decision) SetScheduleLambdaFunctionDecisionAttributes(v *ScheduleLambdaFunctionDecisionAttributes) *Decision {
6918	s.ScheduleLambdaFunctionDecisionAttributes = v
6919	return s
6920}
6921
6922// SetSignalExternalWorkflowExecutionDecisionAttributes sets the SignalExternalWorkflowExecutionDecisionAttributes field's value.
6923func (s *Decision) SetSignalExternalWorkflowExecutionDecisionAttributes(v *SignalExternalWorkflowExecutionDecisionAttributes) *Decision {
6924	s.SignalExternalWorkflowExecutionDecisionAttributes = v
6925	return s
6926}
6927
6928// SetStartChildWorkflowExecutionDecisionAttributes sets the StartChildWorkflowExecutionDecisionAttributes field's value.
6929func (s *Decision) SetStartChildWorkflowExecutionDecisionAttributes(v *StartChildWorkflowExecutionDecisionAttributes) *Decision {
6930	s.StartChildWorkflowExecutionDecisionAttributes = v
6931	return s
6932}
6933
6934// SetStartTimerDecisionAttributes sets the StartTimerDecisionAttributes field's value.
6935func (s *Decision) SetStartTimerDecisionAttributes(v *StartTimerDecisionAttributes) *Decision {
6936	s.StartTimerDecisionAttributes = v
6937	return s
6938}
6939
6940// Provides the details of the DecisionTaskCompleted event.
6941type DecisionTaskCompletedEventAttributes struct {
6942	_ struct{} `type:"structure"`
6943
6944	// User defined context for the workflow execution.
6945	ExecutionContext *string `locationName:"executionContext" type:"string"`
6946
6947	// The ID of the DecisionTaskScheduled event that was recorded when this decision
6948	// task was scheduled. This information can be useful for diagnosing problems
6949	// by tracing back the chain of events leading up to this event.
6950	//
6951	// ScheduledEventId is a required field
6952	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
6953
6954	// The ID of the DecisionTaskStarted event recorded when this decision task
6955	// was started. This information can be useful for diagnosing problems by tracing
6956	// back the chain of events leading up to this event.
6957	//
6958	// StartedEventId is a required field
6959	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
6960}
6961
6962// String returns the string representation
6963func (s DecisionTaskCompletedEventAttributes) String() string {
6964	return awsutil.Prettify(s)
6965}
6966
6967// GoString returns the string representation
6968func (s DecisionTaskCompletedEventAttributes) GoString() string {
6969	return s.String()
6970}
6971
6972// SetExecutionContext sets the ExecutionContext field's value.
6973func (s *DecisionTaskCompletedEventAttributes) SetExecutionContext(v string) *DecisionTaskCompletedEventAttributes {
6974	s.ExecutionContext = &v
6975	return s
6976}
6977
6978// SetScheduledEventId sets the ScheduledEventId field's value.
6979func (s *DecisionTaskCompletedEventAttributes) SetScheduledEventId(v int64) *DecisionTaskCompletedEventAttributes {
6980	s.ScheduledEventId = &v
6981	return s
6982}
6983
6984// SetStartedEventId sets the StartedEventId field's value.
6985func (s *DecisionTaskCompletedEventAttributes) SetStartedEventId(v int64) *DecisionTaskCompletedEventAttributes {
6986	s.StartedEventId = &v
6987	return s
6988}
6989
6990// Provides details about the DecisionTaskScheduled event.
6991type DecisionTaskScheduledEventAttributes struct {
6992	_ struct{} `type:"structure"`
6993
6994	// The maximum duration for this decision task. The task is considered timed
6995	// out if it doesn't completed within this duration.
6996	//
6997	// The duration is specified in seconds, an integer greater than or equal to
6998	// 0. You can use NONE to specify unlimited duration.
6999	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
7000
7001	// The name of the task list in which the decision task was scheduled.
7002	//
7003	// TaskList is a required field
7004	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
7005
7006	// A task priority that, if set, specifies the priority for this decision task.
7007	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
7008	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
7009	//
7010	// For more information about setting task priority, see Setting Task Priority
7011	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
7012	// in the Amazon SWF Developer Guide.
7013	TaskPriority *string `locationName:"taskPriority" type:"string"`
7014}
7015
7016// String returns the string representation
7017func (s DecisionTaskScheduledEventAttributes) String() string {
7018	return awsutil.Prettify(s)
7019}
7020
7021// GoString returns the string representation
7022func (s DecisionTaskScheduledEventAttributes) GoString() string {
7023	return s.String()
7024}
7025
7026// SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
7027func (s *DecisionTaskScheduledEventAttributes) SetStartToCloseTimeout(v string) *DecisionTaskScheduledEventAttributes {
7028	s.StartToCloseTimeout = &v
7029	return s
7030}
7031
7032// SetTaskList sets the TaskList field's value.
7033func (s *DecisionTaskScheduledEventAttributes) SetTaskList(v *TaskList) *DecisionTaskScheduledEventAttributes {
7034	s.TaskList = v
7035	return s
7036}
7037
7038// SetTaskPriority sets the TaskPriority field's value.
7039func (s *DecisionTaskScheduledEventAttributes) SetTaskPriority(v string) *DecisionTaskScheduledEventAttributes {
7040	s.TaskPriority = &v
7041	return s
7042}
7043
7044// Provides the details of the DecisionTaskStarted event.
7045type DecisionTaskStartedEventAttributes struct {
7046	_ struct{} `type:"structure"`
7047
7048	// Identity of the decider making the request. This enables diagnostic tracing
7049	// when problems arise. The form of this identity is user defined.
7050	Identity *string `locationName:"identity" type:"string"`
7051
7052	// The ID of the DecisionTaskScheduled event that was recorded when this decision
7053	// task was scheduled. This information can be useful for diagnosing problems
7054	// by tracing back the chain of events leading up to this event.
7055	//
7056	// ScheduledEventId is a required field
7057	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
7058}
7059
7060// String returns the string representation
7061func (s DecisionTaskStartedEventAttributes) String() string {
7062	return awsutil.Prettify(s)
7063}
7064
7065// GoString returns the string representation
7066func (s DecisionTaskStartedEventAttributes) GoString() string {
7067	return s.String()
7068}
7069
7070// SetIdentity sets the Identity field's value.
7071func (s *DecisionTaskStartedEventAttributes) SetIdentity(v string) *DecisionTaskStartedEventAttributes {
7072	s.Identity = &v
7073	return s
7074}
7075
7076// SetScheduledEventId sets the ScheduledEventId field's value.
7077func (s *DecisionTaskStartedEventAttributes) SetScheduledEventId(v int64) *DecisionTaskStartedEventAttributes {
7078	s.ScheduledEventId = &v
7079	return s
7080}
7081
7082// Provides the details of the DecisionTaskTimedOut event.
7083type DecisionTaskTimedOutEventAttributes struct {
7084	_ struct{} `type:"structure"`
7085
7086	// The ID of the DecisionTaskScheduled event that was recorded when this decision
7087	// task was scheduled. This information can be useful for diagnosing problems
7088	// by tracing back the chain of events leading up to this event.
7089	//
7090	// ScheduledEventId is a required field
7091	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
7092
7093	// The ID of the DecisionTaskStarted event recorded when this decision task
7094	// was started. This information can be useful for diagnosing problems by tracing
7095	// back the chain of events leading up to this event.
7096	//
7097	// StartedEventId is a required field
7098	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
7099
7100	// The type of timeout that expired before the decision task could be completed.
7101	//
7102	// TimeoutType is a required field
7103	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"DecisionTaskTimeoutType"`
7104}
7105
7106// String returns the string representation
7107func (s DecisionTaskTimedOutEventAttributes) String() string {
7108	return awsutil.Prettify(s)
7109}
7110
7111// GoString returns the string representation
7112func (s DecisionTaskTimedOutEventAttributes) GoString() string {
7113	return s.String()
7114}
7115
7116// SetScheduledEventId sets the ScheduledEventId field's value.
7117func (s *DecisionTaskTimedOutEventAttributes) SetScheduledEventId(v int64) *DecisionTaskTimedOutEventAttributes {
7118	s.ScheduledEventId = &v
7119	return s
7120}
7121
7122// SetStartedEventId sets the StartedEventId field's value.
7123func (s *DecisionTaskTimedOutEventAttributes) SetStartedEventId(v int64) *DecisionTaskTimedOutEventAttributes {
7124	s.StartedEventId = &v
7125	return s
7126}
7127
7128// SetTimeoutType sets the TimeoutType field's value.
7129func (s *DecisionTaskTimedOutEventAttributes) SetTimeoutType(v string) *DecisionTaskTimedOutEventAttributes {
7130	s.TimeoutType = &v
7131	return s
7132}
7133
7134// The StartWorkflowExecution API action was called without the required parameters
7135// set.
7136//
7137// Some workflow execution parameters, such as the decision taskList, must be
7138// set to start the execution. However, these parameters might have been set
7139// as defaults when the workflow type was registered. In this case, you can
7140// omit these parameters from the StartWorkflowExecution call and Amazon SWF
7141// uses the values defined in the workflow type.
7142//
7143// If these parameters aren't set and no default parameters were defined in
7144// the workflow type, this error is displayed.
7145type DefaultUndefinedFault struct {
7146	_            struct{}                  `type:"structure"`
7147	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7148
7149	Message_ *string `locationName:"message" type:"string"`
7150}
7151
7152// String returns the string representation
7153func (s DefaultUndefinedFault) String() string {
7154	return awsutil.Prettify(s)
7155}
7156
7157// GoString returns the string representation
7158func (s DefaultUndefinedFault) GoString() string {
7159	return s.String()
7160}
7161
7162func newErrorDefaultUndefinedFault(v protocol.ResponseMetadata) error {
7163	return &DefaultUndefinedFault{
7164		RespMetadata: v,
7165	}
7166}
7167
7168// Code returns the exception type name.
7169func (s *DefaultUndefinedFault) Code() string {
7170	return "DefaultUndefinedFault"
7171}
7172
7173// Message returns the exception's message.
7174func (s *DefaultUndefinedFault) Message() string {
7175	if s.Message_ != nil {
7176		return *s.Message_
7177	}
7178	return ""
7179}
7180
7181// OrigErr always returns nil, satisfies awserr.Error interface.
7182func (s *DefaultUndefinedFault) OrigErr() error {
7183	return nil
7184}
7185
7186func (s *DefaultUndefinedFault) Error() string {
7187	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7188}
7189
7190// Status code returns the HTTP status code for the request's response error.
7191func (s *DefaultUndefinedFault) StatusCode() int {
7192	return s.RespMetadata.StatusCode
7193}
7194
7195// RequestID returns the service's response RequestID for request.
7196func (s *DefaultUndefinedFault) RequestID() string {
7197	return s.RespMetadata.RequestID
7198}
7199
7200type DeprecateActivityTypeInput struct {
7201	_ struct{} `type:"structure"`
7202
7203	// The activity type to deprecate.
7204	//
7205	// ActivityType is a required field
7206	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
7207
7208	// The name of the domain in which the activity type is registered.
7209	//
7210	// Domain is a required field
7211	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
7212}
7213
7214// String returns the string representation
7215func (s DeprecateActivityTypeInput) String() string {
7216	return awsutil.Prettify(s)
7217}
7218
7219// GoString returns the string representation
7220func (s DeprecateActivityTypeInput) GoString() string {
7221	return s.String()
7222}
7223
7224// Validate inspects the fields of the type to determine if they are valid.
7225func (s *DeprecateActivityTypeInput) Validate() error {
7226	invalidParams := request.ErrInvalidParams{Context: "DeprecateActivityTypeInput"}
7227	if s.ActivityType == nil {
7228		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
7229	}
7230	if s.Domain == nil {
7231		invalidParams.Add(request.NewErrParamRequired("Domain"))
7232	}
7233	if s.Domain != nil && len(*s.Domain) < 1 {
7234		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
7235	}
7236	if s.ActivityType != nil {
7237		if err := s.ActivityType.Validate(); err != nil {
7238			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
7239		}
7240	}
7241
7242	if invalidParams.Len() > 0 {
7243		return invalidParams
7244	}
7245	return nil
7246}
7247
7248// SetActivityType sets the ActivityType field's value.
7249func (s *DeprecateActivityTypeInput) SetActivityType(v *ActivityType) *DeprecateActivityTypeInput {
7250	s.ActivityType = v
7251	return s
7252}
7253
7254// SetDomain sets the Domain field's value.
7255func (s *DeprecateActivityTypeInput) SetDomain(v string) *DeprecateActivityTypeInput {
7256	s.Domain = &v
7257	return s
7258}
7259
7260type DeprecateActivityTypeOutput struct {
7261	_ struct{} `type:"structure"`
7262}
7263
7264// String returns the string representation
7265func (s DeprecateActivityTypeOutput) String() string {
7266	return awsutil.Prettify(s)
7267}
7268
7269// GoString returns the string representation
7270func (s DeprecateActivityTypeOutput) GoString() string {
7271	return s.String()
7272}
7273
7274type DeprecateDomainInput struct {
7275	_ struct{} `type:"structure"`
7276
7277	// The name of the domain to deprecate.
7278	//
7279	// Name is a required field
7280	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7281}
7282
7283// String returns the string representation
7284func (s DeprecateDomainInput) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation
7289func (s DeprecateDomainInput) GoString() string {
7290	return s.String()
7291}
7292
7293// Validate inspects the fields of the type to determine if they are valid.
7294func (s *DeprecateDomainInput) Validate() error {
7295	invalidParams := request.ErrInvalidParams{Context: "DeprecateDomainInput"}
7296	if s.Name == nil {
7297		invalidParams.Add(request.NewErrParamRequired("Name"))
7298	}
7299	if s.Name != nil && len(*s.Name) < 1 {
7300		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7301	}
7302
7303	if invalidParams.Len() > 0 {
7304		return invalidParams
7305	}
7306	return nil
7307}
7308
7309// SetName sets the Name field's value.
7310func (s *DeprecateDomainInput) SetName(v string) *DeprecateDomainInput {
7311	s.Name = &v
7312	return s
7313}
7314
7315type DeprecateDomainOutput struct {
7316	_ struct{} `type:"structure"`
7317}
7318
7319// String returns the string representation
7320func (s DeprecateDomainOutput) String() string {
7321	return awsutil.Prettify(s)
7322}
7323
7324// GoString returns the string representation
7325func (s DeprecateDomainOutput) GoString() string {
7326	return s.String()
7327}
7328
7329type DeprecateWorkflowTypeInput struct {
7330	_ struct{} `type:"structure"`
7331
7332	// The name of the domain in which the workflow type is registered.
7333	//
7334	// Domain is a required field
7335	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
7336
7337	// The workflow type to deprecate.
7338	//
7339	// WorkflowType is a required field
7340	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
7341}
7342
7343// String returns the string representation
7344func (s DeprecateWorkflowTypeInput) String() string {
7345	return awsutil.Prettify(s)
7346}
7347
7348// GoString returns the string representation
7349func (s DeprecateWorkflowTypeInput) GoString() string {
7350	return s.String()
7351}
7352
7353// Validate inspects the fields of the type to determine if they are valid.
7354func (s *DeprecateWorkflowTypeInput) Validate() error {
7355	invalidParams := request.ErrInvalidParams{Context: "DeprecateWorkflowTypeInput"}
7356	if s.Domain == nil {
7357		invalidParams.Add(request.NewErrParamRequired("Domain"))
7358	}
7359	if s.Domain != nil && len(*s.Domain) < 1 {
7360		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
7361	}
7362	if s.WorkflowType == nil {
7363		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
7364	}
7365	if s.WorkflowType != nil {
7366		if err := s.WorkflowType.Validate(); err != nil {
7367			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
7368		}
7369	}
7370
7371	if invalidParams.Len() > 0 {
7372		return invalidParams
7373	}
7374	return nil
7375}
7376
7377// SetDomain sets the Domain field's value.
7378func (s *DeprecateWorkflowTypeInput) SetDomain(v string) *DeprecateWorkflowTypeInput {
7379	s.Domain = &v
7380	return s
7381}
7382
7383// SetWorkflowType sets the WorkflowType field's value.
7384func (s *DeprecateWorkflowTypeInput) SetWorkflowType(v *WorkflowType) *DeprecateWorkflowTypeInput {
7385	s.WorkflowType = v
7386	return s
7387}
7388
7389type DeprecateWorkflowTypeOutput struct {
7390	_ struct{} `type:"structure"`
7391}
7392
7393// String returns the string representation
7394func (s DeprecateWorkflowTypeOutput) String() string {
7395	return awsutil.Prettify(s)
7396}
7397
7398// GoString returns the string representation
7399func (s DeprecateWorkflowTypeOutput) GoString() string {
7400	return s.String()
7401}
7402
7403type DescribeActivityTypeInput struct {
7404	_ struct{} `type:"structure"`
7405
7406	// The activity type to get information about. Activity types are identified
7407	// by the name and version that were supplied when the activity was registered.
7408	//
7409	// ActivityType is a required field
7410	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
7411
7412	// The name of the domain in which the activity type is registered.
7413	//
7414	// Domain is a required field
7415	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
7416}
7417
7418// String returns the string representation
7419func (s DescribeActivityTypeInput) String() string {
7420	return awsutil.Prettify(s)
7421}
7422
7423// GoString returns the string representation
7424func (s DescribeActivityTypeInput) GoString() string {
7425	return s.String()
7426}
7427
7428// Validate inspects the fields of the type to determine if they are valid.
7429func (s *DescribeActivityTypeInput) Validate() error {
7430	invalidParams := request.ErrInvalidParams{Context: "DescribeActivityTypeInput"}
7431	if s.ActivityType == nil {
7432		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
7433	}
7434	if s.Domain == nil {
7435		invalidParams.Add(request.NewErrParamRequired("Domain"))
7436	}
7437	if s.Domain != nil && len(*s.Domain) < 1 {
7438		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
7439	}
7440	if s.ActivityType != nil {
7441		if err := s.ActivityType.Validate(); err != nil {
7442			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
7443		}
7444	}
7445
7446	if invalidParams.Len() > 0 {
7447		return invalidParams
7448	}
7449	return nil
7450}
7451
7452// SetActivityType sets the ActivityType field's value.
7453func (s *DescribeActivityTypeInput) SetActivityType(v *ActivityType) *DescribeActivityTypeInput {
7454	s.ActivityType = v
7455	return s
7456}
7457
7458// SetDomain sets the Domain field's value.
7459func (s *DescribeActivityTypeInput) SetDomain(v string) *DescribeActivityTypeInput {
7460	s.Domain = &v
7461	return s
7462}
7463
7464// Detailed information about an activity type.
7465type DescribeActivityTypeOutput struct {
7466	_ struct{} `type:"structure"`
7467
7468	// The configuration settings registered with the activity type.
7469	//
7470	// Configuration is a required field
7471	Configuration *ActivityTypeConfiguration `locationName:"configuration" type:"structure" required:"true"`
7472
7473	// General information about the activity type.
7474	//
7475	// The status of activity type (returned in the ActivityTypeInfo structure)
7476	// can be one of the following.
7477	//
7478	//    * REGISTERED – The type is registered and available. Workers supporting
7479	//    this type should be running.
7480	//
7481	//    * DEPRECATED – The type was deprecated using DeprecateActivityType,
7482	//    but is still in use. You should keep workers supporting this type running.
7483	//    You cannot create new tasks of this type.
7484	//
7485	// TypeInfo is a required field
7486	TypeInfo *ActivityTypeInfo `locationName:"typeInfo" type:"structure" required:"true"`
7487}
7488
7489// String returns the string representation
7490func (s DescribeActivityTypeOutput) String() string {
7491	return awsutil.Prettify(s)
7492}
7493
7494// GoString returns the string representation
7495func (s DescribeActivityTypeOutput) GoString() string {
7496	return s.String()
7497}
7498
7499// SetConfiguration sets the Configuration field's value.
7500func (s *DescribeActivityTypeOutput) SetConfiguration(v *ActivityTypeConfiguration) *DescribeActivityTypeOutput {
7501	s.Configuration = v
7502	return s
7503}
7504
7505// SetTypeInfo sets the TypeInfo field's value.
7506func (s *DescribeActivityTypeOutput) SetTypeInfo(v *ActivityTypeInfo) *DescribeActivityTypeOutput {
7507	s.TypeInfo = v
7508	return s
7509}
7510
7511type DescribeDomainInput struct {
7512	_ struct{} `type:"structure"`
7513
7514	// The name of the domain to describe.
7515	//
7516	// Name is a required field
7517	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7518}
7519
7520// String returns the string representation
7521func (s DescribeDomainInput) String() string {
7522	return awsutil.Prettify(s)
7523}
7524
7525// GoString returns the string representation
7526func (s DescribeDomainInput) GoString() string {
7527	return s.String()
7528}
7529
7530// Validate inspects the fields of the type to determine if they are valid.
7531func (s *DescribeDomainInput) Validate() error {
7532	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainInput"}
7533	if s.Name == nil {
7534		invalidParams.Add(request.NewErrParamRequired("Name"))
7535	}
7536	if s.Name != nil && len(*s.Name) < 1 {
7537		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7538	}
7539
7540	if invalidParams.Len() > 0 {
7541		return invalidParams
7542	}
7543	return nil
7544}
7545
7546// SetName sets the Name field's value.
7547func (s *DescribeDomainInput) SetName(v string) *DescribeDomainInput {
7548	s.Name = &v
7549	return s
7550}
7551
7552// Contains details of a domain.
7553type DescribeDomainOutput struct {
7554	_ struct{} `type:"structure"`
7555
7556	// The domain configuration. Currently, this includes only the domain's retention
7557	// period.
7558	//
7559	// Configuration is a required field
7560	Configuration *DomainConfiguration `locationName:"configuration" type:"structure" required:"true"`
7561
7562	// The basic information about a domain, such as its name, status, and description.
7563	//
7564	// DomainInfo is a required field
7565	DomainInfo *DomainInfo `locationName:"domainInfo" type:"structure" required:"true"`
7566}
7567
7568// String returns the string representation
7569func (s DescribeDomainOutput) String() string {
7570	return awsutil.Prettify(s)
7571}
7572
7573// GoString returns the string representation
7574func (s DescribeDomainOutput) GoString() string {
7575	return s.String()
7576}
7577
7578// SetConfiguration sets the Configuration field's value.
7579func (s *DescribeDomainOutput) SetConfiguration(v *DomainConfiguration) *DescribeDomainOutput {
7580	s.Configuration = v
7581	return s
7582}
7583
7584// SetDomainInfo sets the DomainInfo field's value.
7585func (s *DescribeDomainOutput) SetDomainInfo(v *DomainInfo) *DescribeDomainOutput {
7586	s.DomainInfo = v
7587	return s
7588}
7589
7590type DescribeWorkflowExecutionInput struct {
7591	_ struct{} `type:"structure"`
7592
7593	// The name of the domain containing the workflow execution.
7594	//
7595	// Domain is a required field
7596	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
7597
7598	// The workflow execution to describe.
7599	//
7600	// Execution is a required field
7601	Execution *WorkflowExecution `locationName:"execution" type:"structure" required:"true"`
7602}
7603
7604// String returns the string representation
7605func (s DescribeWorkflowExecutionInput) String() string {
7606	return awsutil.Prettify(s)
7607}
7608
7609// GoString returns the string representation
7610func (s DescribeWorkflowExecutionInput) GoString() string {
7611	return s.String()
7612}
7613
7614// Validate inspects the fields of the type to determine if they are valid.
7615func (s *DescribeWorkflowExecutionInput) Validate() error {
7616	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowExecutionInput"}
7617	if s.Domain == nil {
7618		invalidParams.Add(request.NewErrParamRequired("Domain"))
7619	}
7620	if s.Domain != nil && len(*s.Domain) < 1 {
7621		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
7622	}
7623	if s.Execution == nil {
7624		invalidParams.Add(request.NewErrParamRequired("Execution"))
7625	}
7626	if s.Execution != nil {
7627		if err := s.Execution.Validate(); err != nil {
7628			invalidParams.AddNested("Execution", err.(request.ErrInvalidParams))
7629		}
7630	}
7631
7632	if invalidParams.Len() > 0 {
7633		return invalidParams
7634	}
7635	return nil
7636}
7637
7638// SetDomain sets the Domain field's value.
7639func (s *DescribeWorkflowExecutionInput) SetDomain(v string) *DescribeWorkflowExecutionInput {
7640	s.Domain = &v
7641	return s
7642}
7643
7644// SetExecution sets the Execution field's value.
7645func (s *DescribeWorkflowExecutionInput) SetExecution(v *WorkflowExecution) *DescribeWorkflowExecutionInput {
7646	s.Execution = v
7647	return s
7648}
7649
7650// Contains details about a workflow execution.
7651type DescribeWorkflowExecutionOutput struct {
7652	_ struct{} `type:"structure"`
7653
7654	// The configuration settings for this workflow execution including timeout
7655	// values, tasklist etc.
7656	//
7657	// ExecutionConfiguration is a required field
7658	ExecutionConfiguration *WorkflowExecutionConfiguration `locationName:"executionConfiguration" type:"structure" required:"true"`
7659
7660	// Information about the workflow execution.
7661	//
7662	// ExecutionInfo is a required field
7663	ExecutionInfo *WorkflowExecutionInfo `locationName:"executionInfo" type:"structure" required:"true"`
7664
7665	// The time when the last activity task was scheduled for this workflow execution.
7666	// You can use this information to determine if the workflow has not made progress
7667	// for an unusually long period of time and might require a corrective action.
7668	LatestActivityTaskTimestamp *time.Time `locationName:"latestActivityTaskTimestamp" type:"timestamp"`
7669
7670	// The latest executionContext provided by the decider for this workflow execution.
7671	// A decider can provide an executionContext (a free-form string) when closing
7672	// a decision task using RespondDecisionTaskCompleted.
7673	LatestExecutionContext *string `locationName:"latestExecutionContext" type:"string"`
7674
7675	// The number of tasks for this workflow execution. This includes open and closed
7676	// tasks of all types.
7677	//
7678	// OpenCounts is a required field
7679	OpenCounts *WorkflowExecutionOpenCounts `locationName:"openCounts" type:"structure" required:"true"`
7680}
7681
7682// String returns the string representation
7683func (s DescribeWorkflowExecutionOutput) String() string {
7684	return awsutil.Prettify(s)
7685}
7686
7687// GoString returns the string representation
7688func (s DescribeWorkflowExecutionOutput) GoString() string {
7689	return s.String()
7690}
7691
7692// SetExecutionConfiguration sets the ExecutionConfiguration field's value.
7693func (s *DescribeWorkflowExecutionOutput) SetExecutionConfiguration(v *WorkflowExecutionConfiguration) *DescribeWorkflowExecutionOutput {
7694	s.ExecutionConfiguration = v
7695	return s
7696}
7697
7698// SetExecutionInfo sets the ExecutionInfo field's value.
7699func (s *DescribeWorkflowExecutionOutput) SetExecutionInfo(v *WorkflowExecutionInfo) *DescribeWorkflowExecutionOutput {
7700	s.ExecutionInfo = v
7701	return s
7702}
7703
7704// SetLatestActivityTaskTimestamp sets the LatestActivityTaskTimestamp field's value.
7705func (s *DescribeWorkflowExecutionOutput) SetLatestActivityTaskTimestamp(v time.Time) *DescribeWorkflowExecutionOutput {
7706	s.LatestActivityTaskTimestamp = &v
7707	return s
7708}
7709
7710// SetLatestExecutionContext sets the LatestExecutionContext field's value.
7711func (s *DescribeWorkflowExecutionOutput) SetLatestExecutionContext(v string) *DescribeWorkflowExecutionOutput {
7712	s.LatestExecutionContext = &v
7713	return s
7714}
7715
7716// SetOpenCounts sets the OpenCounts field's value.
7717func (s *DescribeWorkflowExecutionOutput) SetOpenCounts(v *WorkflowExecutionOpenCounts) *DescribeWorkflowExecutionOutput {
7718	s.OpenCounts = v
7719	return s
7720}
7721
7722type DescribeWorkflowTypeInput struct {
7723	_ struct{} `type:"structure"`
7724
7725	// The name of the domain in which this workflow type is registered.
7726	//
7727	// Domain is a required field
7728	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
7729
7730	// The workflow type to describe.
7731	//
7732	// WorkflowType is a required field
7733	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
7734}
7735
7736// String returns the string representation
7737func (s DescribeWorkflowTypeInput) String() string {
7738	return awsutil.Prettify(s)
7739}
7740
7741// GoString returns the string representation
7742func (s DescribeWorkflowTypeInput) GoString() string {
7743	return s.String()
7744}
7745
7746// Validate inspects the fields of the type to determine if they are valid.
7747func (s *DescribeWorkflowTypeInput) Validate() error {
7748	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowTypeInput"}
7749	if s.Domain == nil {
7750		invalidParams.Add(request.NewErrParamRequired("Domain"))
7751	}
7752	if s.Domain != nil && len(*s.Domain) < 1 {
7753		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
7754	}
7755	if s.WorkflowType == nil {
7756		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
7757	}
7758	if s.WorkflowType != nil {
7759		if err := s.WorkflowType.Validate(); err != nil {
7760			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
7761		}
7762	}
7763
7764	if invalidParams.Len() > 0 {
7765		return invalidParams
7766	}
7767	return nil
7768}
7769
7770// SetDomain sets the Domain field's value.
7771func (s *DescribeWorkflowTypeInput) SetDomain(v string) *DescribeWorkflowTypeInput {
7772	s.Domain = &v
7773	return s
7774}
7775
7776// SetWorkflowType sets the WorkflowType field's value.
7777func (s *DescribeWorkflowTypeInput) SetWorkflowType(v *WorkflowType) *DescribeWorkflowTypeInput {
7778	s.WorkflowType = v
7779	return s
7780}
7781
7782// Contains details about a workflow type.
7783type DescribeWorkflowTypeOutput struct {
7784	_ struct{} `type:"structure"`
7785
7786	// Configuration settings of the workflow type registered through RegisterWorkflowType
7787	//
7788	// Configuration is a required field
7789	Configuration *WorkflowTypeConfiguration `locationName:"configuration" type:"structure" required:"true"`
7790
7791	// General information about the workflow type.
7792	//
7793	// The status of the workflow type (returned in the WorkflowTypeInfo structure)
7794	// can be one of the following.
7795	//
7796	//    * REGISTERED – The type is registered and available. Workers supporting
7797	//    this type should be running.
7798	//
7799	//    * DEPRECATED – The type was deprecated using DeprecateWorkflowType,
7800	//    but is still in use. You should keep workers supporting this type running.
7801	//    You cannot create new workflow executions of this type.
7802	//
7803	// TypeInfo is a required field
7804	TypeInfo *WorkflowTypeInfo `locationName:"typeInfo" type:"structure" required:"true"`
7805}
7806
7807// String returns the string representation
7808func (s DescribeWorkflowTypeOutput) String() string {
7809	return awsutil.Prettify(s)
7810}
7811
7812// GoString returns the string representation
7813func (s DescribeWorkflowTypeOutput) GoString() string {
7814	return s.String()
7815}
7816
7817// SetConfiguration sets the Configuration field's value.
7818func (s *DescribeWorkflowTypeOutput) SetConfiguration(v *WorkflowTypeConfiguration) *DescribeWorkflowTypeOutput {
7819	s.Configuration = v
7820	return s
7821}
7822
7823// SetTypeInfo sets the TypeInfo field's value.
7824func (s *DescribeWorkflowTypeOutput) SetTypeInfo(v *WorkflowTypeInfo) *DescribeWorkflowTypeOutput {
7825	s.TypeInfo = v
7826	return s
7827}
7828
7829// Returned if the domain already exists. You may get this fault if you are
7830// registering a domain that is either already registered or deprecated, or
7831// if you undeprecate a domain that is currently registered.
7832type DomainAlreadyExistsFault struct {
7833	_            struct{}                  `type:"structure"`
7834	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7835
7836	// A description that may help with diagnosing the cause of the fault.
7837	Message_ *string `locationName:"message" type:"string"`
7838}
7839
7840// String returns the string representation
7841func (s DomainAlreadyExistsFault) String() string {
7842	return awsutil.Prettify(s)
7843}
7844
7845// GoString returns the string representation
7846func (s DomainAlreadyExistsFault) GoString() string {
7847	return s.String()
7848}
7849
7850func newErrorDomainAlreadyExistsFault(v protocol.ResponseMetadata) error {
7851	return &DomainAlreadyExistsFault{
7852		RespMetadata: v,
7853	}
7854}
7855
7856// Code returns the exception type name.
7857func (s *DomainAlreadyExistsFault) Code() string {
7858	return "DomainAlreadyExistsFault"
7859}
7860
7861// Message returns the exception's message.
7862func (s *DomainAlreadyExistsFault) Message() string {
7863	if s.Message_ != nil {
7864		return *s.Message_
7865	}
7866	return ""
7867}
7868
7869// OrigErr always returns nil, satisfies awserr.Error interface.
7870func (s *DomainAlreadyExistsFault) OrigErr() error {
7871	return nil
7872}
7873
7874func (s *DomainAlreadyExistsFault) Error() string {
7875	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7876}
7877
7878// Status code returns the HTTP status code for the request's response error.
7879func (s *DomainAlreadyExistsFault) StatusCode() int {
7880	return s.RespMetadata.StatusCode
7881}
7882
7883// RequestID returns the service's response RequestID for request.
7884func (s *DomainAlreadyExistsFault) RequestID() string {
7885	return s.RespMetadata.RequestID
7886}
7887
7888// Contains the configuration settings of a domain.
7889type DomainConfiguration struct {
7890	_ struct{} `type:"structure"`
7891
7892	// The retention period for workflow executions in this domain.
7893	//
7894	// WorkflowExecutionRetentionPeriodInDays is a required field
7895	WorkflowExecutionRetentionPeriodInDays *string `locationName:"workflowExecutionRetentionPeriodInDays" min:"1" type:"string" required:"true"`
7896}
7897
7898// String returns the string representation
7899func (s DomainConfiguration) String() string {
7900	return awsutil.Prettify(s)
7901}
7902
7903// GoString returns the string representation
7904func (s DomainConfiguration) GoString() string {
7905	return s.String()
7906}
7907
7908// SetWorkflowExecutionRetentionPeriodInDays sets the WorkflowExecutionRetentionPeriodInDays field's value.
7909func (s *DomainConfiguration) SetWorkflowExecutionRetentionPeriodInDays(v string) *DomainConfiguration {
7910	s.WorkflowExecutionRetentionPeriodInDays = &v
7911	return s
7912}
7913
7914// Returned when the specified domain has been deprecated.
7915type DomainDeprecatedFault struct {
7916	_            struct{}                  `type:"structure"`
7917	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7918
7919	// A description that may help with diagnosing the cause of the fault.
7920	Message_ *string `locationName:"message" type:"string"`
7921}
7922
7923// String returns the string representation
7924func (s DomainDeprecatedFault) String() string {
7925	return awsutil.Prettify(s)
7926}
7927
7928// GoString returns the string representation
7929func (s DomainDeprecatedFault) GoString() string {
7930	return s.String()
7931}
7932
7933func newErrorDomainDeprecatedFault(v protocol.ResponseMetadata) error {
7934	return &DomainDeprecatedFault{
7935		RespMetadata: v,
7936	}
7937}
7938
7939// Code returns the exception type name.
7940func (s *DomainDeprecatedFault) Code() string {
7941	return "DomainDeprecatedFault"
7942}
7943
7944// Message returns the exception's message.
7945func (s *DomainDeprecatedFault) Message() string {
7946	if s.Message_ != nil {
7947		return *s.Message_
7948	}
7949	return ""
7950}
7951
7952// OrigErr always returns nil, satisfies awserr.Error interface.
7953func (s *DomainDeprecatedFault) OrigErr() error {
7954	return nil
7955}
7956
7957func (s *DomainDeprecatedFault) Error() string {
7958	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7959}
7960
7961// Status code returns the HTTP status code for the request's response error.
7962func (s *DomainDeprecatedFault) StatusCode() int {
7963	return s.RespMetadata.StatusCode
7964}
7965
7966// RequestID returns the service's response RequestID for request.
7967func (s *DomainDeprecatedFault) RequestID() string {
7968	return s.RespMetadata.RequestID
7969}
7970
7971// Contains general information about a domain.
7972type DomainInfo struct {
7973	_ struct{} `type:"structure"`
7974
7975	// The ARN of the domain.
7976	Arn *string `locationName:"arn" min:"1" type:"string"`
7977
7978	// The description of the domain provided through RegisterDomain.
7979	Description *string `locationName:"description" type:"string"`
7980
7981	// The name of the domain. This name is unique within the account.
7982	//
7983	// Name is a required field
7984	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7985
7986	// The status of the domain:
7987	//
7988	//    * REGISTERED – The domain is properly registered and available. You
7989	//    can use this domain for registering types and creating new workflow executions.
7990	//
7991	//    * DEPRECATED – The domain was deprecated using DeprecateDomain, but
7992	//    is still in use. You should not create new workflow executions in this
7993	//    domain.
7994	//
7995	// Status is a required field
7996	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistrationStatus"`
7997}
7998
7999// String returns the string representation
8000func (s DomainInfo) String() string {
8001	return awsutil.Prettify(s)
8002}
8003
8004// GoString returns the string representation
8005func (s DomainInfo) GoString() string {
8006	return s.String()
8007}
8008
8009// SetArn sets the Arn field's value.
8010func (s *DomainInfo) SetArn(v string) *DomainInfo {
8011	s.Arn = &v
8012	return s
8013}
8014
8015// SetDescription sets the Description field's value.
8016func (s *DomainInfo) SetDescription(v string) *DomainInfo {
8017	s.Description = &v
8018	return s
8019}
8020
8021// SetName sets the Name field's value.
8022func (s *DomainInfo) SetName(v string) *DomainInfo {
8023	s.Name = &v
8024	return s
8025}
8026
8027// SetStatus sets the Status field's value.
8028func (s *DomainInfo) SetStatus(v string) *DomainInfo {
8029	s.Status = &v
8030	return s
8031}
8032
8033// Used to filter the workflow executions in visibility APIs by various time-based
8034// rules. Each parameter, if specified, defines a rule that must be satisfied
8035// by each returned query result. The parameter values are in the Unix Time
8036// format (https://en.wikipedia.org/wiki/Unix_time). For example: "oldestDate":
8037// 1325376070.
8038type ExecutionTimeFilter struct {
8039	_ struct{} `type:"structure"`
8040
8041	// Specifies the latest start or close date and time to return.
8042	LatestDate *time.Time `locationName:"latestDate" type:"timestamp"`
8043
8044	// Specifies the oldest start or close date and time to return.
8045	//
8046	// OldestDate is a required field
8047	OldestDate *time.Time `locationName:"oldestDate" type:"timestamp" required:"true"`
8048}
8049
8050// String returns the string representation
8051func (s ExecutionTimeFilter) String() string {
8052	return awsutil.Prettify(s)
8053}
8054
8055// GoString returns the string representation
8056func (s ExecutionTimeFilter) GoString() string {
8057	return s.String()
8058}
8059
8060// Validate inspects the fields of the type to determine if they are valid.
8061func (s *ExecutionTimeFilter) Validate() error {
8062	invalidParams := request.ErrInvalidParams{Context: "ExecutionTimeFilter"}
8063	if s.OldestDate == nil {
8064		invalidParams.Add(request.NewErrParamRequired("OldestDate"))
8065	}
8066
8067	if invalidParams.Len() > 0 {
8068		return invalidParams
8069	}
8070	return nil
8071}
8072
8073// SetLatestDate sets the LatestDate field's value.
8074func (s *ExecutionTimeFilter) SetLatestDate(v time.Time) *ExecutionTimeFilter {
8075	s.LatestDate = &v
8076	return s
8077}
8078
8079// SetOldestDate sets the OldestDate field's value.
8080func (s *ExecutionTimeFilter) SetOldestDate(v time.Time) *ExecutionTimeFilter {
8081	s.OldestDate = &v
8082	return s
8083}
8084
8085// Provides the details of the ExternalWorkflowExecutionCancelRequested event.
8086type ExternalWorkflowExecutionCancelRequestedEventAttributes struct {
8087	_ struct{} `type:"structure"`
8088
8089	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding
8090	// to the RequestCancelExternalWorkflowExecution decision to cancel this external
8091	// workflow execution. This information can be useful for diagnosing problems
8092	// by tracing back the chain of events leading up to this event.
8093	//
8094	// InitiatedEventId is a required field
8095	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
8096
8097	// The external workflow execution to which the cancellation request was delivered.
8098	//
8099	// WorkflowExecution is a required field
8100	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
8101}
8102
8103// String returns the string representation
8104func (s ExternalWorkflowExecutionCancelRequestedEventAttributes) String() string {
8105	return awsutil.Prettify(s)
8106}
8107
8108// GoString returns the string representation
8109func (s ExternalWorkflowExecutionCancelRequestedEventAttributes) GoString() string {
8110	return s.String()
8111}
8112
8113// SetInitiatedEventId sets the InitiatedEventId field's value.
8114func (s *ExternalWorkflowExecutionCancelRequestedEventAttributes) SetInitiatedEventId(v int64) *ExternalWorkflowExecutionCancelRequestedEventAttributes {
8115	s.InitiatedEventId = &v
8116	return s
8117}
8118
8119// SetWorkflowExecution sets the WorkflowExecution field's value.
8120func (s *ExternalWorkflowExecutionCancelRequestedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ExternalWorkflowExecutionCancelRequestedEventAttributes {
8121	s.WorkflowExecution = v
8122	return s
8123}
8124
8125// Provides the details of the ExternalWorkflowExecutionSignaled event.
8126type ExternalWorkflowExecutionSignaledEventAttributes struct {
8127	_ struct{} `type:"structure"`
8128
8129	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding
8130	// to the SignalExternalWorkflowExecution decision to request this signal. This
8131	// information can be useful for diagnosing problems by tracing back the chain
8132	// of events leading up to this event.
8133	//
8134	// InitiatedEventId is a required field
8135	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
8136
8137	// The external workflow execution that the signal was delivered to.
8138	//
8139	// WorkflowExecution is a required field
8140	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
8141}
8142
8143// String returns the string representation
8144func (s ExternalWorkflowExecutionSignaledEventAttributes) String() string {
8145	return awsutil.Prettify(s)
8146}
8147
8148// GoString returns the string representation
8149func (s ExternalWorkflowExecutionSignaledEventAttributes) GoString() string {
8150	return s.String()
8151}
8152
8153// SetInitiatedEventId sets the InitiatedEventId field's value.
8154func (s *ExternalWorkflowExecutionSignaledEventAttributes) SetInitiatedEventId(v int64) *ExternalWorkflowExecutionSignaledEventAttributes {
8155	s.InitiatedEventId = &v
8156	return s
8157}
8158
8159// SetWorkflowExecution sets the WorkflowExecution field's value.
8160func (s *ExternalWorkflowExecutionSignaledEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ExternalWorkflowExecutionSignaledEventAttributes {
8161	s.WorkflowExecution = v
8162	return s
8163}
8164
8165// Provides the details of the FailWorkflowExecution decision.
8166//
8167// Access Control
8168//
8169// You can use IAM policies to control this decision's access to Amazon SWF
8170// resources as follows:
8171//
8172//    * Use a Resource element with the domain name to limit the action to only
8173//    specified domains.
8174//
8175//    * Use an Action element to allow or deny permission to call this action.
8176//
8177//    * You cannot use an IAM policy to constrain this action's parameters.
8178//
8179// If the caller doesn't have sufficient permissions to invoke the action, or
8180// the parameter values fall outside the specified constraints, the action fails.
8181// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
8182// For details and example IAM policies, see Using IAM to Manage Access to Amazon
8183// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
8184// in the Amazon SWF Developer Guide.
8185type FailWorkflowExecutionDecisionAttributes struct {
8186	_ struct{} `type:"structure"`
8187
8188	// Details of the failure.
8189	Details *string `locationName:"details" type:"string"`
8190
8191	// A descriptive reason for the failure that may help in diagnostics.
8192	Reason *string `locationName:"reason" type:"string"`
8193}
8194
8195// String returns the string representation
8196func (s FailWorkflowExecutionDecisionAttributes) String() string {
8197	return awsutil.Prettify(s)
8198}
8199
8200// GoString returns the string representation
8201func (s FailWorkflowExecutionDecisionAttributes) GoString() string {
8202	return s.String()
8203}
8204
8205// SetDetails sets the Details field's value.
8206func (s *FailWorkflowExecutionDecisionAttributes) SetDetails(v string) *FailWorkflowExecutionDecisionAttributes {
8207	s.Details = &v
8208	return s
8209}
8210
8211// SetReason sets the Reason field's value.
8212func (s *FailWorkflowExecutionDecisionAttributes) SetReason(v string) *FailWorkflowExecutionDecisionAttributes {
8213	s.Reason = &v
8214	return s
8215}
8216
8217// Provides the details of the FailWorkflowExecutionFailed event.
8218type FailWorkflowExecutionFailedEventAttributes struct {
8219	_ struct{} `type:"structure"`
8220
8221	// The cause of the failure. This information is generated by the system and
8222	// can be useful for diagnostic purposes.
8223	//
8224	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
8225	// lacked sufficient permissions. For details and example IAM policies, see
8226	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
8227	// in the Amazon SWF Developer Guide.
8228	//
8229	// Cause is a required field
8230	Cause *string `locationName:"cause" type:"string" required:"true" enum:"FailWorkflowExecutionFailedCause"`
8231
8232	// The ID of the DecisionTaskCompleted event corresponding to the decision task
8233	// that resulted in the FailWorkflowExecution decision to fail this execution.
8234	// This information can be useful for diagnosing problems by tracing back the
8235	// chain of events leading up to this event.
8236	//
8237	// DecisionTaskCompletedEventId is a required field
8238	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
8239}
8240
8241// String returns the string representation
8242func (s FailWorkflowExecutionFailedEventAttributes) String() string {
8243	return awsutil.Prettify(s)
8244}
8245
8246// GoString returns the string representation
8247func (s FailWorkflowExecutionFailedEventAttributes) GoString() string {
8248	return s.String()
8249}
8250
8251// SetCause sets the Cause field's value.
8252func (s *FailWorkflowExecutionFailedEventAttributes) SetCause(v string) *FailWorkflowExecutionFailedEventAttributes {
8253	s.Cause = &v
8254	return s
8255}
8256
8257// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
8258func (s *FailWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *FailWorkflowExecutionFailedEventAttributes {
8259	s.DecisionTaskCompletedEventId = &v
8260	return s
8261}
8262
8263type GetWorkflowExecutionHistoryInput struct {
8264	_ struct{} `type:"structure"`
8265
8266	// The name of the domain containing the workflow execution.
8267	//
8268	// Domain is a required field
8269	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
8270
8271	// Specifies the workflow execution for which to return the history.
8272	//
8273	// Execution is a required field
8274	Execution *WorkflowExecution `locationName:"execution" type:"structure" required:"true"`
8275
8276	// The maximum number of results that are returned per call. Use nextPageToken
8277	// to obtain further pages of results.
8278	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
8279
8280	// If NextPageToken is returned there are more results available. The value
8281	// of NextPageToken is a unique pagination token for each page. Make the call
8282	// again using the returned token to retrieve the next page. Keep all other
8283	// arguments unchanged. Each pagination token expires after 60 seconds. Using
8284	// an expired pagination token will return a 400 error: "Specified token has
8285	// exceeded its maximum lifetime".
8286	//
8287	// The configured maximumPageSize determines how many results can be returned
8288	// in a single call.
8289	NextPageToken *string `locationName:"nextPageToken" type:"string"`
8290
8291	// When set to true, returns the events in reverse order. By default the results
8292	// are returned in ascending order of the eventTimeStamp of the events.
8293	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
8294}
8295
8296// String returns the string representation
8297func (s GetWorkflowExecutionHistoryInput) String() string {
8298	return awsutil.Prettify(s)
8299}
8300
8301// GoString returns the string representation
8302func (s GetWorkflowExecutionHistoryInput) GoString() string {
8303	return s.String()
8304}
8305
8306// Validate inspects the fields of the type to determine if they are valid.
8307func (s *GetWorkflowExecutionHistoryInput) Validate() error {
8308	invalidParams := request.ErrInvalidParams{Context: "GetWorkflowExecutionHistoryInput"}
8309	if s.Domain == nil {
8310		invalidParams.Add(request.NewErrParamRequired("Domain"))
8311	}
8312	if s.Domain != nil && len(*s.Domain) < 1 {
8313		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
8314	}
8315	if s.Execution == nil {
8316		invalidParams.Add(request.NewErrParamRequired("Execution"))
8317	}
8318	if s.Execution != nil {
8319		if err := s.Execution.Validate(); err != nil {
8320			invalidParams.AddNested("Execution", err.(request.ErrInvalidParams))
8321		}
8322	}
8323
8324	if invalidParams.Len() > 0 {
8325		return invalidParams
8326	}
8327	return nil
8328}
8329
8330// SetDomain sets the Domain field's value.
8331func (s *GetWorkflowExecutionHistoryInput) SetDomain(v string) *GetWorkflowExecutionHistoryInput {
8332	s.Domain = &v
8333	return s
8334}
8335
8336// SetExecution sets the Execution field's value.
8337func (s *GetWorkflowExecutionHistoryInput) SetExecution(v *WorkflowExecution) *GetWorkflowExecutionHistoryInput {
8338	s.Execution = v
8339	return s
8340}
8341
8342// SetMaximumPageSize sets the MaximumPageSize field's value.
8343func (s *GetWorkflowExecutionHistoryInput) SetMaximumPageSize(v int64) *GetWorkflowExecutionHistoryInput {
8344	s.MaximumPageSize = &v
8345	return s
8346}
8347
8348// SetNextPageToken sets the NextPageToken field's value.
8349func (s *GetWorkflowExecutionHistoryInput) SetNextPageToken(v string) *GetWorkflowExecutionHistoryInput {
8350	s.NextPageToken = &v
8351	return s
8352}
8353
8354// SetReverseOrder sets the ReverseOrder field's value.
8355func (s *GetWorkflowExecutionHistoryInput) SetReverseOrder(v bool) *GetWorkflowExecutionHistoryInput {
8356	s.ReverseOrder = &v
8357	return s
8358}
8359
8360// Paginated representation of a workflow history for a workflow execution.
8361// This is the up to date, complete and authoritative record of the events related
8362// to all tasks and events in the life of the workflow execution.
8363type GetWorkflowExecutionHistoryOutput struct {
8364	_ struct{} `type:"structure"`
8365
8366	// The list of history events.
8367	//
8368	// Events is a required field
8369	Events []*HistoryEvent `locationName:"events" type:"list" required:"true"`
8370
8371	// If a NextPageToken was returned by a previous call, there are more results
8372	// available. To retrieve the next page of results, make the call again using
8373	// the returned token in nextPageToken. Keep all other arguments unchanged.
8374	//
8375	// The configured maximumPageSize determines how many results can be returned
8376	// in a single call.
8377	NextPageToken *string `locationName:"nextPageToken" type:"string"`
8378}
8379
8380// String returns the string representation
8381func (s GetWorkflowExecutionHistoryOutput) String() string {
8382	return awsutil.Prettify(s)
8383}
8384
8385// GoString returns the string representation
8386func (s GetWorkflowExecutionHistoryOutput) GoString() string {
8387	return s.String()
8388}
8389
8390// SetEvents sets the Events field's value.
8391func (s *GetWorkflowExecutionHistoryOutput) SetEvents(v []*HistoryEvent) *GetWorkflowExecutionHistoryOutput {
8392	s.Events = v
8393	return s
8394}
8395
8396// SetNextPageToken sets the NextPageToken field's value.
8397func (s *GetWorkflowExecutionHistoryOutput) SetNextPageToken(v string) *GetWorkflowExecutionHistoryOutput {
8398	s.NextPageToken = &v
8399	return s
8400}
8401
8402// Event within a workflow execution. A history event can be one of these types:
8403//
8404//    * ActivityTaskCancelRequested – A RequestCancelActivityTask decision
8405//    was received by the system.
8406//
8407//    * ActivityTaskCanceled – The activity task was successfully canceled.
8408//
8409//    * ActivityTaskCompleted – An activity worker successfully completed
8410//    an activity task by calling RespondActivityTaskCompleted.
8411//
8412//    * ActivityTaskFailed – An activity worker failed an activity task by
8413//    calling RespondActivityTaskFailed.
8414//
8415//    * ActivityTaskScheduled – An activity task was scheduled for execution.
8416//
8417//    * ActivityTaskStarted – The scheduled activity task was dispatched to
8418//    a worker.
8419//
8420//    * ActivityTaskTimedOut – The activity task timed out.
8421//
8422//    * CancelTimerFailed – Failed to process CancelTimer decision. This happens
8423//    when the decision isn't configured properly, for example no timer exists
8424//    with the specified timer Id.
8425//
8426//    * CancelWorkflowExecutionFailed – A request to cancel a workflow execution
8427//    failed.
8428//
8429//    * ChildWorkflowExecutionCanceled – A child workflow execution, started
8430//    by this workflow execution, was canceled and closed.
8431//
8432//    * ChildWorkflowExecutionCompleted – A child workflow execution, started
8433//    by this workflow execution, completed successfully and was closed.
8434//
8435//    * ChildWorkflowExecutionFailed – A child workflow execution, started
8436//    by this workflow execution, failed to complete successfully and was closed.
8437//
8438//    * ChildWorkflowExecutionStarted – A child workflow execution was successfully
8439//    started.
8440//
8441//    * ChildWorkflowExecutionTerminated – A child workflow execution, started
8442//    by this workflow execution, was terminated.
8443//
8444//    * ChildWorkflowExecutionTimedOut – A child workflow execution, started
8445//    by this workflow execution, timed out and was closed.
8446//
8447//    * CompleteWorkflowExecutionFailed – The workflow execution failed to
8448//    complete.
8449//
8450//    * ContinueAsNewWorkflowExecutionFailed – The workflow execution failed
8451//    to complete after being continued as a new workflow execution.
8452//
8453//    * DecisionTaskCompleted – The decider successfully completed a decision
8454//    task by calling RespondDecisionTaskCompleted.
8455//
8456//    * DecisionTaskScheduled – A decision task was scheduled for the workflow
8457//    execution.
8458//
8459//    * DecisionTaskStarted – The decision task was dispatched to a decider.
8460//
8461//    * DecisionTaskTimedOut – The decision task timed out.
8462//
8463//    * ExternalWorkflowExecutionCancelRequested – Request to cancel an external
8464//    workflow execution was successfully delivered to the target execution.
8465//
8466//    * ExternalWorkflowExecutionSignaled – A signal, requested by this workflow
8467//    execution, was successfully delivered to the target external workflow
8468//    execution.
8469//
8470//    * FailWorkflowExecutionFailed – A request to mark a workflow execution
8471//    as failed, itself failed.
8472//
8473//    * MarkerRecorded – A marker was recorded in the workflow history as
8474//    the result of a RecordMarker decision.
8475//
8476//    * RecordMarkerFailed – A RecordMarker decision was returned as failed.
8477//
8478//    * RequestCancelActivityTaskFailed – Failed to process RequestCancelActivityTask
8479//    decision. This happens when the decision isn't configured properly.
8480//
8481//    * RequestCancelExternalWorkflowExecutionFailed – Request to cancel an
8482//    external workflow execution failed.
8483//
8484//    * RequestCancelExternalWorkflowExecutionInitiated – A request was made
8485//    to request the cancellation of an external workflow execution.
8486//
8487//    * ScheduleActivityTaskFailed – Failed to process ScheduleActivityTask
8488//    decision. This happens when the decision isn't configured properly, for
8489//    example the activity type specified isn't registered.
8490//
8491//    * SignalExternalWorkflowExecutionFailed – The request to signal an external
8492//    workflow execution failed.
8493//
8494//    * SignalExternalWorkflowExecutionInitiated – A request to signal an
8495//    external workflow was made.
8496//
8497//    * StartActivityTaskFailed – A scheduled activity task failed to start.
8498//
8499//    * StartChildWorkflowExecutionFailed – Failed to process StartChildWorkflowExecution
8500//    decision. This happens when the decision isn't configured properly, for
8501//    example the workflow type specified isn't registered.
8502//
8503//    * StartChildWorkflowExecutionInitiated – A request was made to start
8504//    a child workflow execution.
8505//
8506//    * StartTimerFailed – Failed to process StartTimer decision. This happens
8507//    when the decision isn't configured properly, for example a timer already
8508//    exists with the specified timer Id.
8509//
8510//    * TimerCanceled – A timer, previously started for this workflow execution,
8511//    was successfully canceled.
8512//
8513//    * TimerFired – A timer, previously started for this workflow execution,
8514//    fired.
8515//
8516//    * TimerStarted – A timer was started for the workflow execution due
8517//    to a StartTimer decision.
8518//
8519//    * WorkflowExecutionCancelRequested – A request to cancel this workflow
8520//    execution was made.
8521//
8522//    * WorkflowExecutionCanceled – The workflow execution was successfully
8523//    canceled and closed.
8524//
8525//    * WorkflowExecutionCompleted – The workflow execution was closed due
8526//    to successful completion.
8527//
8528//    * WorkflowExecutionContinuedAsNew – The workflow execution was closed
8529//    and a new execution of the same type was created with the same workflowId.
8530//
8531//    * WorkflowExecutionFailed – The workflow execution closed due to a failure.
8532//
8533//    * WorkflowExecutionSignaled – An external signal was received for the
8534//    workflow execution.
8535//
8536//    * WorkflowExecutionStarted – The workflow execution was started.
8537//
8538//    * WorkflowExecutionTerminated – The workflow execution was terminated.
8539//
8540//    * WorkflowExecutionTimedOut – The workflow execution was closed because
8541//    a time out was exceeded.
8542type HistoryEvent struct {
8543	_ struct{} `type:"structure"`
8544
8545	// If the event is of type ActivityTaskcancelRequested then this member is set
8546	// and provides detailed information about the event. It isn't set for other
8547	// event types.
8548	ActivityTaskCancelRequestedEventAttributes *ActivityTaskCancelRequestedEventAttributes `locationName:"activityTaskCancelRequestedEventAttributes" type:"structure"`
8549
8550	// If the event is of type ActivityTaskCanceled then this member is set and
8551	// provides detailed information about the event. It isn't set for other event
8552	// types.
8553	ActivityTaskCanceledEventAttributes *ActivityTaskCanceledEventAttributes `locationName:"activityTaskCanceledEventAttributes" type:"structure"`
8554
8555	// If the event is of type ActivityTaskCompleted then this member is set and
8556	// provides detailed information about the event. It isn't set for other event
8557	// types.
8558	ActivityTaskCompletedEventAttributes *ActivityTaskCompletedEventAttributes `locationName:"activityTaskCompletedEventAttributes" type:"structure"`
8559
8560	// If the event is of type ActivityTaskFailed then this member is set and provides
8561	// detailed information about the event. It isn't set for other event types.
8562	ActivityTaskFailedEventAttributes *ActivityTaskFailedEventAttributes `locationName:"activityTaskFailedEventAttributes" type:"structure"`
8563
8564	// If the event is of type ActivityTaskScheduled then this member is set and
8565	// provides detailed information about the event. It isn't set for other event
8566	// types.
8567	ActivityTaskScheduledEventAttributes *ActivityTaskScheduledEventAttributes `locationName:"activityTaskScheduledEventAttributes" type:"structure"`
8568
8569	// If the event is of type ActivityTaskStarted then this member is set and provides
8570	// detailed information about the event. It isn't set for other event types.
8571	ActivityTaskStartedEventAttributes *ActivityTaskStartedEventAttributes `locationName:"activityTaskStartedEventAttributes" type:"structure"`
8572
8573	// If the event is of type ActivityTaskTimedOut then this member is set and
8574	// provides detailed information about the event. It isn't set for other event
8575	// types.
8576	ActivityTaskTimedOutEventAttributes *ActivityTaskTimedOutEventAttributes `locationName:"activityTaskTimedOutEventAttributes" type:"structure"`
8577
8578	// If the event is of type CancelTimerFailed then this member is set and provides
8579	// detailed information about the event. It isn't set for other event types.
8580	CancelTimerFailedEventAttributes *CancelTimerFailedEventAttributes `locationName:"cancelTimerFailedEventAttributes" type:"structure"`
8581
8582	// If the event is of type CancelWorkflowExecutionFailed then this member is
8583	// set and provides detailed information about the event. It isn't set for other
8584	// event types.
8585	CancelWorkflowExecutionFailedEventAttributes *CancelWorkflowExecutionFailedEventAttributes `locationName:"cancelWorkflowExecutionFailedEventAttributes" type:"structure"`
8586
8587	// If the event is of type ChildWorkflowExecutionCanceled then this member is
8588	// set and provides detailed information about the event. It isn't set for other
8589	// event types.
8590	ChildWorkflowExecutionCanceledEventAttributes *ChildWorkflowExecutionCanceledEventAttributes `locationName:"childWorkflowExecutionCanceledEventAttributes" type:"structure"`
8591
8592	// If the event is of type ChildWorkflowExecutionCompleted then this member
8593	// is set and provides detailed information about the event. It isn't set for
8594	// other event types.
8595	ChildWorkflowExecutionCompletedEventAttributes *ChildWorkflowExecutionCompletedEventAttributes `locationName:"childWorkflowExecutionCompletedEventAttributes" type:"structure"`
8596
8597	// If the event is of type ChildWorkflowExecutionFailed then this member is
8598	// set and provides detailed information about the event. It isn't set for other
8599	// event types.
8600	ChildWorkflowExecutionFailedEventAttributes *ChildWorkflowExecutionFailedEventAttributes `locationName:"childWorkflowExecutionFailedEventAttributes" type:"structure"`
8601
8602	// If the event is of type ChildWorkflowExecutionStarted then this member is
8603	// set and provides detailed information about the event. It isn't set for other
8604	// event types.
8605	ChildWorkflowExecutionStartedEventAttributes *ChildWorkflowExecutionStartedEventAttributes `locationName:"childWorkflowExecutionStartedEventAttributes" type:"structure"`
8606
8607	// If the event is of type ChildWorkflowExecutionTerminated then this member
8608	// is set and provides detailed information about the event. It isn't set for
8609	// other event types.
8610	ChildWorkflowExecutionTerminatedEventAttributes *ChildWorkflowExecutionTerminatedEventAttributes `locationName:"childWorkflowExecutionTerminatedEventAttributes" type:"structure"`
8611
8612	// If the event is of type ChildWorkflowExecutionTimedOut then this member is
8613	// set and provides detailed information about the event. It isn't set for other
8614	// event types.
8615	ChildWorkflowExecutionTimedOutEventAttributes *ChildWorkflowExecutionTimedOutEventAttributes `locationName:"childWorkflowExecutionTimedOutEventAttributes" type:"structure"`
8616
8617	// If the event is of type CompleteWorkflowExecutionFailed then this member
8618	// is set and provides detailed information about the event. It isn't set for
8619	// other event types.
8620	CompleteWorkflowExecutionFailedEventAttributes *CompleteWorkflowExecutionFailedEventAttributes `locationName:"completeWorkflowExecutionFailedEventAttributes" type:"structure"`
8621
8622	// If the event is of type ContinueAsNewWorkflowExecutionFailed then this member
8623	// is set and provides detailed information about the event. It isn't set for
8624	// other event types.
8625	ContinueAsNewWorkflowExecutionFailedEventAttributes *ContinueAsNewWorkflowExecutionFailedEventAttributes `locationName:"continueAsNewWorkflowExecutionFailedEventAttributes" type:"structure"`
8626
8627	// If the event is of type DecisionTaskCompleted then this member is set and
8628	// provides detailed information about the event. It isn't set for other event
8629	// types.
8630	DecisionTaskCompletedEventAttributes *DecisionTaskCompletedEventAttributes `locationName:"decisionTaskCompletedEventAttributes" type:"structure"`
8631
8632	// If the event is of type DecisionTaskScheduled then this member is set and
8633	// provides detailed information about the event. It isn't set for other event
8634	// types.
8635	DecisionTaskScheduledEventAttributes *DecisionTaskScheduledEventAttributes `locationName:"decisionTaskScheduledEventAttributes" type:"structure"`
8636
8637	// If the event is of type DecisionTaskStarted then this member is set and provides
8638	// detailed information about the event. It isn't set for other event types.
8639	DecisionTaskStartedEventAttributes *DecisionTaskStartedEventAttributes `locationName:"decisionTaskStartedEventAttributes" type:"structure"`
8640
8641	// If the event is of type DecisionTaskTimedOut then this member is set and
8642	// provides detailed information about the event. It isn't set for other event
8643	// types.
8644	DecisionTaskTimedOutEventAttributes *DecisionTaskTimedOutEventAttributes `locationName:"decisionTaskTimedOutEventAttributes" type:"structure"`
8645
8646	// The system generated ID of the event. This ID uniquely identifies the event
8647	// with in the workflow execution history.
8648	//
8649	// EventId is a required field
8650	EventId *int64 `locationName:"eventId" type:"long" required:"true"`
8651
8652	// The date and time when the event occurred.
8653	//
8654	// EventTimestamp is a required field
8655	EventTimestamp *time.Time `locationName:"eventTimestamp" type:"timestamp" required:"true"`
8656
8657	// The type of the history event.
8658	//
8659	// EventType is a required field
8660	EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
8661
8662	// If the event is of type ExternalWorkflowExecutionCancelRequested then this
8663	// member is set and provides detailed information about the event. It isn't
8664	// set for other event types.
8665	ExternalWorkflowExecutionCancelRequestedEventAttributes *ExternalWorkflowExecutionCancelRequestedEventAttributes `locationName:"externalWorkflowExecutionCancelRequestedEventAttributes" type:"structure"`
8666
8667	// If the event is of type ExternalWorkflowExecutionSignaled then this member
8668	// is set and provides detailed information about the event. It isn't set for
8669	// other event types.
8670	ExternalWorkflowExecutionSignaledEventAttributes *ExternalWorkflowExecutionSignaledEventAttributes `locationName:"externalWorkflowExecutionSignaledEventAttributes" type:"structure"`
8671
8672	// If the event is of type FailWorkflowExecutionFailed then this member is set
8673	// and provides detailed information about the event. It isn't set for other
8674	// event types.
8675	FailWorkflowExecutionFailedEventAttributes *FailWorkflowExecutionFailedEventAttributes `locationName:"failWorkflowExecutionFailedEventAttributes" type:"structure"`
8676
8677	// Provides the details of the LambdaFunctionCompleted event. It isn't set for
8678	// other event types.
8679	LambdaFunctionCompletedEventAttributes *LambdaFunctionCompletedEventAttributes `locationName:"lambdaFunctionCompletedEventAttributes" type:"structure"`
8680
8681	// Provides the details of the LambdaFunctionFailed event. It isn't set for
8682	// other event types.
8683	LambdaFunctionFailedEventAttributes *LambdaFunctionFailedEventAttributes `locationName:"lambdaFunctionFailedEventAttributes" type:"structure"`
8684
8685	// Provides the details of the LambdaFunctionScheduled event. It isn't set for
8686	// other event types.
8687	LambdaFunctionScheduledEventAttributes *LambdaFunctionScheduledEventAttributes `locationName:"lambdaFunctionScheduledEventAttributes" type:"structure"`
8688
8689	// Provides the details of the LambdaFunctionStarted event. It isn't set for
8690	// other event types.
8691	LambdaFunctionStartedEventAttributes *LambdaFunctionStartedEventAttributes `locationName:"lambdaFunctionStartedEventAttributes" type:"structure"`
8692
8693	// Provides the details of the LambdaFunctionTimedOut event. It isn't set for
8694	// other event types.
8695	LambdaFunctionTimedOutEventAttributes *LambdaFunctionTimedOutEventAttributes `locationName:"lambdaFunctionTimedOutEventAttributes" type:"structure"`
8696
8697	// If the event is of type MarkerRecorded then this member is set and provides
8698	// detailed information about the event. It isn't set for other event types.
8699	MarkerRecordedEventAttributes *MarkerRecordedEventAttributes `locationName:"markerRecordedEventAttributes" type:"structure"`
8700
8701	// If the event is of type DecisionTaskFailed then this member is set and provides
8702	// detailed information about the event. It isn't set for other event types.
8703	RecordMarkerFailedEventAttributes *RecordMarkerFailedEventAttributes `locationName:"recordMarkerFailedEventAttributes" type:"structure"`
8704
8705	// If the event is of type RequestCancelActivityTaskFailed then this member
8706	// is set and provides detailed information about the event. It isn't set for
8707	// other event types.
8708	RequestCancelActivityTaskFailedEventAttributes *RequestCancelActivityTaskFailedEventAttributes `locationName:"requestCancelActivityTaskFailedEventAttributes" type:"structure"`
8709
8710	// If the event is of type RequestCancelExternalWorkflowExecutionFailed then
8711	// this member is set and provides detailed information about the event. It
8712	// isn't set for other event types.
8713	RequestCancelExternalWorkflowExecutionFailedEventAttributes *RequestCancelExternalWorkflowExecutionFailedEventAttributes `locationName:"requestCancelExternalWorkflowExecutionFailedEventAttributes" type:"structure"`
8714
8715	// If the event is of type RequestCancelExternalWorkflowExecutionInitiated then
8716	// this member is set and provides detailed information about the event. It
8717	// isn't set for other event types.
8718	RequestCancelExternalWorkflowExecutionInitiatedEventAttributes *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes `locationName:"requestCancelExternalWorkflowExecutionInitiatedEventAttributes" type:"structure"`
8719
8720	// If the event is of type ScheduleActivityTaskFailed then this member is set
8721	// and provides detailed information about the event. It isn't set for other
8722	// event types.
8723	ScheduleActivityTaskFailedEventAttributes *ScheduleActivityTaskFailedEventAttributes `locationName:"scheduleActivityTaskFailedEventAttributes" type:"structure"`
8724
8725	// Provides the details of the ScheduleLambdaFunctionFailed event. It isn't
8726	// set for other event types.
8727	ScheduleLambdaFunctionFailedEventAttributes *ScheduleLambdaFunctionFailedEventAttributes `locationName:"scheduleLambdaFunctionFailedEventAttributes" type:"structure"`
8728
8729	// If the event is of type SignalExternalWorkflowExecutionFailed then this member
8730	// is set and provides detailed information about the event. It isn't set for
8731	// other event types.
8732	SignalExternalWorkflowExecutionFailedEventAttributes *SignalExternalWorkflowExecutionFailedEventAttributes `locationName:"signalExternalWorkflowExecutionFailedEventAttributes" type:"structure"`
8733
8734	// If the event is of type SignalExternalWorkflowExecutionInitiated then this
8735	// member is set and provides detailed information about the event. It isn't
8736	// set for other event types.
8737	SignalExternalWorkflowExecutionInitiatedEventAttributes *SignalExternalWorkflowExecutionInitiatedEventAttributes `locationName:"signalExternalWorkflowExecutionInitiatedEventAttributes" type:"structure"`
8738
8739	// If the event is of type StartChildWorkflowExecutionFailed then this member
8740	// is set and provides detailed information about the event. It isn't set for
8741	// other event types.
8742	StartChildWorkflowExecutionFailedEventAttributes *StartChildWorkflowExecutionFailedEventAttributes `locationName:"startChildWorkflowExecutionFailedEventAttributes" type:"structure"`
8743
8744	// If the event is of type StartChildWorkflowExecutionInitiated then this member
8745	// is set and provides detailed information about the event. It isn't set for
8746	// other event types.
8747	StartChildWorkflowExecutionInitiatedEventAttributes *StartChildWorkflowExecutionInitiatedEventAttributes `locationName:"startChildWorkflowExecutionInitiatedEventAttributes" type:"structure"`
8748
8749	// Provides the details of the StartLambdaFunctionFailed event. It isn't set
8750	// for other event types.
8751	StartLambdaFunctionFailedEventAttributes *StartLambdaFunctionFailedEventAttributes `locationName:"startLambdaFunctionFailedEventAttributes" type:"structure"`
8752
8753	// If the event is of type StartTimerFailed then this member is set and provides
8754	// detailed information about the event. It isn't set for other event types.
8755	StartTimerFailedEventAttributes *StartTimerFailedEventAttributes `locationName:"startTimerFailedEventAttributes" type:"structure"`
8756
8757	// If the event is of type TimerCanceled then this member is set and provides
8758	// detailed information about the event. It isn't set for other event types.
8759	TimerCanceledEventAttributes *TimerCanceledEventAttributes `locationName:"timerCanceledEventAttributes" type:"structure"`
8760
8761	// If the event is of type TimerFired then this member is set and provides detailed
8762	// information about the event. It isn't set for other event types.
8763	TimerFiredEventAttributes *TimerFiredEventAttributes `locationName:"timerFiredEventAttributes" type:"structure"`
8764
8765	// If the event is of type TimerStarted then this member is set and provides
8766	// detailed information about the event. It isn't set for other event types.
8767	TimerStartedEventAttributes *TimerStartedEventAttributes `locationName:"timerStartedEventAttributes" type:"structure"`
8768
8769	// If the event is of type WorkflowExecutionCancelRequested then this member
8770	// is set and provides detailed information about the event. It isn't set for
8771	// other event types.
8772	WorkflowExecutionCancelRequestedEventAttributes *WorkflowExecutionCancelRequestedEventAttributes `locationName:"workflowExecutionCancelRequestedEventAttributes" type:"structure"`
8773
8774	// If the event is of type WorkflowExecutionCanceled then this member is set
8775	// and provides detailed information about the event. It isn't set for other
8776	// event types.
8777	WorkflowExecutionCanceledEventAttributes *WorkflowExecutionCanceledEventAttributes `locationName:"workflowExecutionCanceledEventAttributes" type:"structure"`
8778
8779	// If the event is of type WorkflowExecutionCompleted then this member is set
8780	// and provides detailed information about the event. It isn't set for other
8781	// event types.
8782	WorkflowExecutionCompletedEventAttributes *WorkflowExecutionCompletedEventAttributes `locationName:"workflowExecutionCompletedEventAttributes" type:"structure"`
8783
8784	// If the event is of type WorkflowExecutionContinuedAsNew then this member
8785	// is set and provides detailed information about the event. It isn't set for
8786	// other event types.
8787	WorkflowExecutionContinuedAsNewEventAttributes *WorkflowExecutionContinuedAsNewEventAttributes `locationName:"workflowExecutionContinuedAsNewEventAttributes" type:"structure"`
8788
8789	// If the event is of type WorkflowExecutionFailed then this member is set and
8790	// provides detailed information about the event. It isn't set for other event
8791	// types.
8792	WorkflowExecutionFailedEventAttributes *WorkflowExecutionFailedEventAttributes `locationName:"workflowExecutionFailedEventAttributes" type:"structure"`
8793
8794	// If the event is of type WorkflowExecutionSignaled then this member is set
8795	// and provides detailed information about the event. It isn't set for other
8796	// event types.
8797	WorkflowExecutionSignaledEventAttributes *WorkflowExecutionSignaledEventAttributes `locationName:"workflowExecutionSignaledEventAttributes" type:"structure"`
8798
8799	// If the event is of type WorkflowExecutionStarted then this member is set
8800	// and provides detailed information about the event. It isn't set for other
8801	// event types.
8802	WorkflowExecutionStartedEventAttributes *WorkflowExecutionStartedEventAttributes `locationName:"workflowExecutionStartedEventAttributes" type:"structure"`
8803
8804	// If the event is of type WorkflowExecutionTerminated then this member is set
8805	// and provides detailed information about the event. It isn't set for other
8806	// event types.
8807	WorkflowExecutionTerminatedEventAttributes *WorkflowExecutionTerminatedEventAttributes `locationName:"workflowExecutionTerminatedEventAttributes" type:"structure"`
8808
8809	// If the event is of type WorkflowExecutionTimedOut then this member is set
8810	// and provides detailed information about the event. It isn't set for other
8811	// event types.
8812	WorkflowExecutionTimedOutEventAttributes *WorkflowExecutionTimedOutEventAttributes `locationName:"workflowExecutionTimedOutEventAttributes" type:"structure"`
8813}
8814
8815// String returns the string representation
8816func (s HistoryEvent) String() string {
8817	return awsutil.Prettify(s)
8818}
8819
8820// GoString returns the string representation
8821func (s HistoryEvent) GoString() string {
8822	return s.String()
8823}
8824
8825// SetActivityTaskCancelRequestedEventAttributes sets the ActivityTaskCancelRequestedEventAttributes field's value.
8826func (s *HistoryEvent) SetActivityTaskCancelRequestedEventAttributes(v *ActivityTaskCancelRequestedEventAttributes) *HistoryEvent {
8827	s.ActivityTaskCancelRequestedEventAttributes = v
8828	return s
8829}
8830
8831// SetActivityTaskCanceledEventAttributes sets the ActivityTaskCanceledEventAttributes field's value.
8832func (s *HistoryEvent) SetActivityTaskCanceledEventAttributes(v *ActivityTaskCanceledEventAttributes) *HistoryEvent {
8833	s.ActivityTaskCanceledEventAttributes = v
8834	return s
8835}
8836
8837// SetActivityTaskCompletedEventAttributes sets the ActivityTaskCompletedEventAttributes field's value.
8838func (s *HistoryEvent) SetActivityTaskCompletedEventAttributes(v *ActivityTaskCompletedEventAttributes) *HistoryEvent {
8839	s.ActivityTaskCompletedEventAttributes = v
8840	return s
8841}
8842
8843// SetActivityTaskFailedEventAttributes sets the ActivityTaskFailedEventAttributes field's value.
8844func (s *HistoryEvent) SetActivityTaskFailedEventAttributes(v *ActivityTaskFailedEventAttributes) *HistoryEvent {
8845	s.ActivityTaskFailedEventAttributes = v
8846	return s
8847}
8848
8849// SetActivityTaskScheduledEventAttributes sets the ActivityTaskScheduledEventAttributes field's value.
8850func (s *HistoryEvent) SetActivityTaskScheduledEventAttributes(v *ActivityTaskScheduledEventAttributes) *HistoryEvent {
8851	s.ActivityTaskScheduledEventAttributes = v
8852	return s
8853}
8854
8855// SetActivityTaskStartedEventAttributes sets the ActivityTaskStartedEventAttributes field's value.
8856func (s *HistoryEvent) SetActivityTaskStartedEventAttributes(v *ActivityTaskStartedEventAttributes) *HistoryEvent {
8857	s.ActivityTaskStartedEventAttributes = v
8858	return s
8859}
8860
8861// SetActivityTaskTimedOutEventAttributes sets the ActivityTaskTimedOutEventAttributes field's value.
8862func (s *HistoryEvent) SetActivityTaskTimedOutEventAttributes(v *ActivityTaskTimedOutEventAttributes) *HistoryEvent {
8863	s.ActivityTaskTimedOutEventAttributes = v
8864	return s
8865}
8866
8867// SetCancelTimerFailedEventAttributes sets the CancelTimerFailedEventAttributes field's value.
8868func (s *HistoryEvent) SetCancelTimerFailedEventAttributes(v *CancelTimerFailedEventAttributes) *HistoryEvent {
8869	s.CancelTimerFailedEventAttributes = v
8870	return s
8871}
8872
8873// SetCancelWorkflowExecutionFailedEventAttributes sets the CancelWorkflowExecutionFailedEventAttributes field's value.
8874func (s *HistoryEvent) SetCancelWorkflowExecutionFailedEventAttributes(v *CancelWorkflowExecutionFailedEventAttributes) *HistoryEvent {
8875	s.CancelWorkflowExecutionFailedEventAttributes = v
8876	return s
8877}
8878
8879// SetChildWorkflowExecutionCanceledEventAttributes sets the ChildWorkflowExecutionCanceledEventAttributes field's value.
8880func (s *HistoryEvent) SetChildWorkflowExecutionCanceledEventAttributes(v *ChildWorkflowExecutionCanceledEventAttributes) *HistoryEvent {
8881	s.ChildWorkflowExecutionCanceledEventAttributes = v
8882	return s
8883}
8884
8885// SetChildWorkflowExecutionCompletedEventAttributes sets the ChildWorkflowExecutionCompletedEventAttributes field's value.
8886func (s *HistoryEvent) SetChildWorkflowExecutionCompletedEventAttributes(v *ChildWorkflowExecutionCompletedEventAttributes) *HistoryEvent {
8887	s.ChildWorkflowExecutionCompletedEventAttributes = v
8888	return s
8889}
8890
8891// SetChildWorkflowExecutionFailedEventAttributes sets the ChildWorkflowExecutionFailedEventAttributes field's value.
8892func (s *HistoryEvent) SetChildWorkflowExecutionFailedEventAttributes(v *ChildWorkflowExecutionFailedEventAttributes) *HistoryEvent {
8893	s.ChildWorkflowExecutionFailedEventAttributes = v
8894	return s
8895}
8896
8897// SetChildWorkflowExecutionStartedEventAttributes sets the ChildWorkflowExecutionStartedEventAttributes field's value.
8898func (s *HistoryEvent) SetChildWorkflowExecutionStartedEventAttributes(v *ChildWorkflowExecutionStartedEventAttributes) *HistoryEvent {
8899	s.ChildWorkflowExecutionStartedEventAttributes = v
8900	return s
8901}
8902
8903// SetChildWorkflowExecutionTerminatedEventAttributes sets the ChildWorkflowExecutionTerminatedEventAttributes field's value.
8904func (s *HistoryEvent) SetChildWorkflowExecutionTerminatedEventAttributes(v *ChildWorkflowExecutionTerminatedEventAttributes) *HistoryEvent {
8905	s.ChildWorkflowExecutionTerminatedEventAttributes = v
8906	return s
8907}
8908
8909// SetChildWorkflowExecutionTimedOutEventAttributes sets the ChildWorkflowExecutionTimedOutEventAttributes field's value.
8910func (s *HistoryEvent) SetChildWorkflowExecutionTimedOutEventAttributes(v *ChildWorkflowExecutionTimedOutEventAttributes) *HistoryEvent {
8911	s.ChildWorkflowExecutionTimedOutEventAttributes = v
8912	return s
8913}
8914
8915// SetCompleteWorkflowExecutionFailedEventAttributes sets the CompleteWorkflowExecutionFailedEventAttributes field's value.
8916func (s *HistoryEvent) SetCompleteWorkflowExecutionFailedEventAttributes(v *CompleteWorkflowExecutionFailedEventAttributes) *HistoryEvent {
8917	s.CompleteWorkflowExecutionFailedEventAttributes = v
8918	return s
8919}
8920
8921// SetContinueAsNewWorkflowExecutionFailedEventAttributes sets the ContinueAsNewWorkflowExecutionFailedEventAttributes field's value.
8922func (s *HistoryEvent) SetContinueAsNewWorkflowExecutionFailedEventAttributes(v *ContinueAsNewWorkflowExecutionFailedEventAttributes) *HistoryEvent {
8923	s.ContinueAsNewWorkflowExecutionFailedEventAttributes = v
8924	return s
8925}
8926
8927// SetDecisionTaskCompletedEventAttributes sets the DecisionTaskCompletedEventAttributes field's value.
8928func (s *HistoryEvent) SetDecisionTaskCompletedEventAttributes(v *DecisionTaskCompletedEventAttributes) *HistoryEvent {
8929	s.DecisionTaskCompletedEventAttributes = v
8930	return s
8931}
8932
8933// SetDecisionTaskScheduledEventAttributes sets the DecisionTaskScheduledEventAttributes field's value.
8934func (s *HistoryEvent) SetDecisionTaskScheduledEventAttributes(v *DecisionTaskScheduledEventAttributes) *HistoryEvent {
8935	s.DecisionTaskScheduledEventAttributes = v
8936	return s
8937}
8938
8939// SetDecisionTaskStartedEventAttributes sets the DecisionTaskStartedEventAttributes field's value.
8940func (s *HistoryEvent) SetDecisionTaskStartedEventAttributes(v *DecisionTaskStartedEventAttributes) *HistoryEvent {
8941	s.DecisionTaskStartedEventAttributes = v
8942	return s
8943}
8944
8945// SetDecisionTaskTimedOutEventAttributes sets the DecisionTaskTimedOutEventAttributes field's value.
8946func (s *HistoryEvent) SetDecisionTaskTimedOutEventAttributes(v *DecisionTaskTimedOutEventAttributes) *HistoryEvent {
8947	s.DecisionTaskTimedOutEventAttributes = v
8948	return s
8949}
8950
8951// SetEventId sets the EventId field's value.
8952func (s *HistoryEvent) SetEventId(v int64) *HistoryEvent {
8953	s.EventId = &v
8954	return s
8955}
8956
8957// SetEventTimestamp sets the EventTimestamp field's value.
8958func (s *HistoryEvent) SetEventTimestamp(v time.Time) *HistoryEvent {
8959	s.EventTimestamp = &v
8960	return s
8961}
8962
8963// SetEventType sets the EventType field's value.
8964func (s *HistoryEvent) SetEventType(v string) *HistoryEvent {
8965	s.EventType = &v
8966	return s
8967}
8968
8969// SetExternalWorkflowExecutionCancelRequestedEventAttributes sets the ExternalWorkflowExecutionCancelRequestedEventAttributes field's value.
8970func (s *HistoryEvent) SetExternalWorkflowExecutionCancelRequestedEventAttributes(v *ExternalWorkflowExecutionCancelRequestedEventAttributes) *HistoryEvent {
8971	s.ExternalWorkflowExecutionCancelRequestedEventAttributes = v
8972	return s
8973}
8974
8975// SetExternalWorkflowExecutionSignaledEventAttributes sets the ExternalWorkflowExecutionSignaledEventAttributes field's value.
8976func (s *HistoryEvent) SetExternalWorkflowExecutionSignaledEventAttributes(v *ExternalWorkflowExecutionSignaledEventAttributes) *HistoryEvent {
8977	s.ExternalWorkflowExecutionSignaledEventAttributes = v
8978	return s
8979}
8980
8981// SetFailWorkflowExecutionFailedEventAttributes sets the FailWorkflowExecutionFailedEventAttributes field's value.
8982func (s *HistoryEvent) SetFailWorkflowExecutionFailedEventAttributes(v *FailWorkflowExecutionFailedEventAttributes) *HistoryEvent {
8983	s.FailWorkflowExecutionFailedEventAttributes = v
8984	return s
8985}
8986
8987// SetLambdaFunctionCompletedEventAttributes sets the LambdaFunctionCompletedEventAttributes field's value.
8988func (s *HistoryEvent) SetLambdaFunctionCompletedEventAttributes(v *LambdaFunctionCompletedEventAttributes) *HistoryEvent {
8989	s.LambdaFunctionCompletedEventAttributes = v
8990	return s
8991}
8992
8993// SetLambdaFunctionFailedEventAttributes sets the LambdaFunctionFailedEventAttributes field's value.
8994func (s *HistoryEvent) SetLambdaFunctionFailedEventAttributes(v *LambdaFunctionFailedEventAttributes) *HistoryEvent {
8995	s.LambdaFunctionFailedEventAttributes = v
8996	return s
8997}
8998
8999// SetLambdaFunctionScheduledEventAttributes sets the LambdaFunctionScheduledEventAttributes field's value.
9000func (s *HistoryEvent) SetLambdaFunctionScheduledEventAttributes(v *LambdaFunctionScheduledEventAttributes) *HistoryEvent {
9001	s.LambdaFunctionScheduledEventAttributes = v
9002	return s
9003}
9004
9005// SetLambdaFunctionStartedEventAttributes sets the LambdaFunctionStartedEventAttributes field's value.
9006func (s *HistoryEvent) SetLambdaFunctionStartedEventAttributes(v *LambdaFunctionStartedEventAttributes) *HistoryEvent {
9007	s.LambdaFunctionStartedEventAttributes = v
9008	return s
9009}
9010
9011// SetLambdaFunctionTimedOutEventAttributes sets the LambdaFunctionTimedOutEventAttributes field's value.
9012func (s *HistoryEvent) SetLambdaFunctionTimedOutEventAttributes(v *LambdaFunctionTimedOutEventAttributes) *HistoryEvent {
9013	s.LambdaFunctionTimedOutEventAttributes = v
9014	return s
9015}
9016
9017// SetMarkerRecordedEventAttributes sets the MarkerRecordedEventAttributes field's value.
9018func (s *HistoryEvent) SetMarkerRecordedEventAttributes(v *MarkerRecordedEventAttributes) *HistoryEvent {
9019	s.MarkerRecordedEventAttributes = v
9020	return s
9021}
9022
9023// SetRecordMarkerFailedEventAttributes sets the RecordMarkerFailedEventAttributes field's value.
9024func (s *HistoryEvent) SetRecordMarkerFailedEventAttributes(v *RecordMarkerFailedEventAttributes) *HistoryEvent {
9025	s.RecordMarkerFailedEventAttributes = v
9026	return s
9027}
9028
9029// SetRequestCancelActivityTaskFailedEventAttributes sets the RequestCancelActivityTaskFailedEventAttributes field's value.
9030func (s *HistoryEvent) SetRequestCancelActivityTaskFailedEventAttributes(v *RequestCancelActivityTaskFailedEventAttributes) *HistoryEvent {
9031	s.RequestCancelActivityTaskFailedEventAttributes = v
9032	return s
9033}
9034
9035// SetRequestCancelExternalWorkflowExecutionFailedEventAttributes sets the RequestCancelExternalWorkflowExecutionFailedEventAttributes field's value.
9036func (s *HistoryEvent) SetRequestCancelExternalWorkflowExecutionFailedEventAttributes(v *RequestCancelExternalWorkflowExecutionFailedEventAttributes) *HistoryEvent {
9037	s.RequestCancelExternalWorkflowExecutionFailedEventAttributes = v
9038	return s
9039}
9040
9041// SetRequestCancelExternalWorkflowExecutionInitiatedEventAttributes sets the RequestCancelExternalWorkflowExecutionInitiatedEventAttributes field's value.
9042func (s *HistoryEvent) SetRequestCancelExternalWorkflowExecutionInitiatedEventAttributes(v *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) *HistoryEvent {
9043	s.RequestCancelExternalWorkflowExecutionInitiatedEventAttributes = v
9044	return s
9045}
9046
9047// SetScheduleActivityTaskFailedEventAttributes sets the ScheduleActivityTaskFailedEventAttributes field's value.
9048func (s *HistoryEvent) SetScheduleActivityTaskFailedEventAttributes(v *ScheduleActivityTaskFailedEventAttributes) *HistoryEvent {
9049	s.ScheduleActivityTaskFailedEventAttributes = v
9050	return s
9051}
9052
9053// SetScheduleLambdaFunctionFailedEventAttributes sets the ScheduleLambdaFunctionFailedEventAttributes field's value.
9054func (s *HistoryEvent) SetScheduleLambdaFunctionFailedEventAttributes(v *ScheduleLambdaFunctionFailedEventAttributes) *HistoryEvent {
9055	s.ScheduleLambdaFunctionFailedEventAttributes = v
9056	return s
9057}
9058
9059// SetSignalExternalWorkflowExecutionFailedEventAttributes sets the SignalExternalWorkflowExecutionFailedEventAttributes field's value.
9060func (s *HistoryEvent) SetSignalExternalWorkflowExecutionFailedEventAttributes(v *SignalExternalWorkflowExecutionFailedEventAttributes) *HistoryEvent {
9061	s.SignalExternalWorkflowExecutionFailedEventAttributes = v
9062	return s
9063}
9064
9065// SetSignalExternalWorkflowExecutionInitiatedEventAttributes sets the SignalExternalWorkflowExecutionInitiatedEventAttributes field's value.
9066func (s *HistoryEvent) SetSignalExternalWorkflowExecutionInitiatedEventAttributes(v *SignalExternalWorkflowExecutionInitiatedEventAttributes) *HistoryEvent {
9067	s.SignalExternalWorkflowExecutionInitiatedEventAttributes = v
9068	return s
9069}
9070
9071// SetStartChildWorkflowExecutionFailedEventAttributes sets the StartChildWorkflowExecutionFailedEventAttributes field's value.
9072func (s *HistoryEvent) SetStartChildWorkflowExecutionFailedEventAttributes(v *StartChildWorkflowExecutionFailedEventAttributes) *HistoryEvent {
9073	s.StartChildWorkflowExecutionFailedEventAttributes = v
9074	return s
9075}
9076
9077// SetStartChildWorkflowExecutionInitiatedEventAttributes sets the StartChildWorkflowExecutionInitiatedEventAttributes field's value.
9078func (s *HistoryEvent) SetStartChildWorkflowExecutionInitiatedEventAttributes(v *StartChildWorkflowExecutionInitiatedEventAttributes) *HistoryEvent {
9079	s.StartChildWorkflowExecutionInitiatedEventAttributes = v
9080	return s
9081}
9082
9083// SetStartLambdaFunctionFailedEventAttributes sets the StartLambdaFunctionFailedEventAttributes field's value.
9084func (s *HistoryEvent) SetStartLambdaFunctionFailedEventAttributes(v *StartLambdaFunctionFailedEventAttributes) *HistoryEvent {
9085	s.StartLambdaFunctionFailedEventAttributes = v
9086	return s
9087}
9088
9089// SetStartTimerFailedEventAttributes sets the StartTimerFailedEventAttributes field's value.
9090func (s *HistoryEvent) SetStartTimerFailedEventAttributes(v *StartTimerFailedEventAttributes) *HistoryEvent {
9091	s.StartTimerFailedEventAttributes = v
9092	return s
9093}
9094
9095// SetTimerCanceledEventAttributes sets the TimerCanceledEventAttributes field's value.
9096func (s *HistoryEvent) SetTimerCanceledEventAttributes(v *TimerCanceledEventAttributes) *HistoryEvent {
9097	s.TimerCanceledEventAttributes = v
9098	return s
9099}
9100
9101// SetTimerFiredEventAttributes sets the TimerFiredEventAttributes field's value.
9102func (s *HistoryEvent) SetTimerFiredEventAttributes(v *TimerFiredEventAttributes) *HistoryEvent {
9103	s.TimerFiredEventAttributes = v
9104	return s
9105}
9106
9107// SetTimerStartedEventAttributes sets the TimerStartedEventAttributes field's value.
9108func (s *HistoryEvent) SetTimerStartedEventAttributes(v *TimerStartedEventAttributes) *HistoryEvent {
9109	s.TimerStartedEventAttributes = v
9110	return s
9111}
9112
9113// SetWorkflowExecutionCancelRequestedEventAttributes sets the WorkflowExecutionCancelRequestedEventAttributes field's value.
9114func (s *HistoryEvent) SetWorkflowExecutionCancelRequestedEventAttributes(v *WorkflowExecutionCancelRequestedEventAttributes) *HistoryEvent {
9115	s.WorkflowExecutionCancelRequestedEventAttributes = v
9116	return s
9117}
9118
9119// SetWorkflowExecutionCanceledEventAttributes sets the WorkflowExecutionCanceledEventAttributes field's value.
9120func (s *HistoryEvent) SetWorkflowExecutionCanceledEventAttributes(v *WorkflowExecutionCanceledEventAttributes) *HistoryEvent {
9121	s.WorkflowExecutionCanceledEventAttributes = v
9122	return s
9123}
9124
9125// SetWorkflowExecutionCompletedEventAttributes sets the WorkflowExecutionCompletedEventAttributes field's value.
9126func (s *HistoryEvent) SetWorkflowExecutionCompletedEventAttributes(v *WorkflowExecutionCompletedEventAttributes) *HistoryEvent {
9127	s.WorkflowExecutionCompletedEventAttributes = v
9128	return s
9129}
9130
9131// SetWorkflowExecutionContinuedAsNewEventAttributes sets the WorkflowExecutionContinuedAsNewEventAttributes field's value.
9132func (s *HistoryEvent) SetWorkflowExecutionContinuedAsNewEventAttributes(v *WorkflowExecutionContinuedAsNewEventAttributes) *HistoryEvent {
9133	s.WorkflowExecutionContinuedAsNewEventAttributes = v
9134	return s
9135}
9136
9137// SetWorkflowExecutionFailedEventAttributes sets the WorkflowExecutionFailedEventAttributes field's value.
9138func (s *HistoryEvent) SetWorkflowExecutionFailedEventAttributes(v *WorkflowExecutionFailedEventAttributes) *HistoryEvent {
9139	s.WorkflowExecutionFailedEventAttributes = v
9140	return s
9141}
9142
9143// SetWorkflowExecutionSignaledEventAttributes sets the WorkflowExecutionSignaledEventAttributes field's value.
9144func (s *HistoryEvent) SetWorkflowExecutionSignaledEventAttributes(v *WorkflowExecutionSignaledEventAttributes) *HistoryEvent {
9145	s.WorkflowExecutionSignaledEventAttributes = v
9146	return s
9147}
9148
9149// SetWorkflowExecutionStartedEventAttributes sets the WorkflowExecutionStartedEventAttributes field's value.
9150func (s *HistoryEvent) SetWorkflowExecutionStartedEventAttributes(v *WorkflowExecutionStartedEventAttributes) *HistoryEvent {
9151	s.WorkflowExecutionStartedEventAttributes = v
9152	return s
9153}
9154
9155// SetWorkflowExecutionTerminatedEventAttributes sets the WorkflowExecutionTerminatedEventAttributes field's value.
9156func (s *HistoryEvent) SetWorkflowExecutionTerminatedEventAttributes(v *WorkflowExecutionTerminatedEventAttributes) *HistoryEvent {
9157	s.WorkflowExecutionTerminatedEventAttributes = v
9158	return s
9159}
9160
9161// SetWorkflowExecutionTimedOutEventAttributes sets the WorkflowExecutionTimedOutEventAttributes field's value.
9162func (s *HistoryEvent) SetWorkflowExecutionTimedOutEventAttributes(v *WorkflowExecutionTimedOutEventAttributes) *HistoryEvent {
9163	s.WorkflowExecutionTimedOutEventAttributes = v
9164	return s
9165}
9166
9167// Provides the details of the LambdaFunctionCompleted event. It isn't set for
9168// other event types.
9169type LambdaFunctionCompletedEventAttributes struct {
9170	_ struct{} `type:"structure"`
9171
9172	// The results of the Lambda task.
9173	Result *string `locationName:"result" type:"string"`
9174
9175	// The ID of the LambdaFunctionScheduled event that was recorded when this Lambda
9176	// task was scheduled. To help diagnose issues, use this information to trace
9177	// back the chain of events leading up to this event.
9178	//
9179	// ScheduledEventId is a required field
9180	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
9181
9182	// The ID of the LambdaFunctionStarted event recorded when this activity task
9183	// started. To help diagnose issues, use this information to trace back the
9184	// chain of events leading up to this event.
9185	//
9186	// StartedEventId is a required field
9187	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
9188}
9189
9190// String returns the string representation
9191func (s LambdaFunctionCompletedEventAttributes) String() string {
9192	return awsutil.Prettify(s)
9193}
9194
9195// GoString returns the string representation
9196func (s LambdaFunctionCompletedEventAttributes) GoString() string {
9197	return s.String()
9198}
9199
9200// SetResult sets the Result field's value.
9201func (s *LambdaFunctionCompletedEventAttributes) SetResult(v string) *LambdaFunctionCompletedEventAttributes {
9202	s.Result = &v
9203	return s
9204}
9205
9206// SetScheduledEventId sets the ScheduledEventId field's value.
9207func (s *LambdaFunctionCompletedEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionCompletedEventAttributes {
9208	s.ScheduledEventId = &v
9209	return s
9210}
9211
9212// SetStartedEventId sets the StartedEventId field's value.
9213func (s *LambdaFunctionCompletedEventAttributes) SetStartedEventId(v int64) *LambdaFunctionCompletedEventAttributes {
9214	s.StartedEventId = &v
9215	return s
9216}
9217
9218// Provides the details of the LambdaFunctionFailed event. It isn't set for
9219// other event types.
9220type LambdaFunctionFailedEventAttributes struct {
9221	_ struct{} `type:"structure"`
9222
9223	// The details of the failure.
9224	Details *string `locationName:"details" type:"string"`
9225
9226	// The reason provided for the failure.
9227	Reason *string `locationName:"reason" type:"string"`
9228
9229	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
9230	// task was scheduled. To help diagnose issues, use this information to trace
9231	// back the chain of events leading up to this event.
9232	//
9233	// ScheduledEventId is a required field
9234	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
9235
9236	// The ID of the LambdaFunctionStarted event recorded when this activity task
9237	// started. To help diagnose issues, use this information to trace back the
9238	// chain of events leading up to this event.
9239	//
9240	// StartedEventId is a required field
9241	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
9242}
9243
9244// String returns the string representation
9245func (s LambdaFunctionFailedEventAttributes) String() string {
9246	return awsutil.Prettify(s)
9247}
9248
9249// GoString returns the string representation
9250func (s LambdaFunctionFailedEventAttributes) GoString() string {
9251	return s.String()
9252}
9253
9254// SetDetails sets the Details field's value.
9255func (s *LambdaFunctionFailedEventAttributes) SetDetails(v string) *LambdaFunctionFailedEventAttributes {
9256	s.Details = &v
9257	return s
9258}
9259
9260// SetReason sets the Reason field's value.
9261func (s *LambdaFunctionFailedEventAttributes) SetReason(v string) *LambdaFunctionFailedEventAttributes {
9262	s.Reason = &v
9263	return s
9264}
9265
9266// SetScheduledEventId sets the ScheduledEventId field's value.
9267func (s *LambdaFunctionFailedEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionFailedEventAttributes {
9268	s.ScheduledEventId = &v
9269	return s
9270}
9271
9272// SetStartedEventId sets the StartedEventId field's value.
9273func (s *LambdaFunctionFailedEventAttributes) SetStartedEventId(v int64) *LambdaFunctionFailedEventAttributes {
9274	s.StartedEventId = &v
9275	return s
9276}
9277
9278// Provides the details of the LambdaFunctionScheduled event. It isn't set for
9279// other event types.
9280type LambdaFunctionScheduledEventAttributes struct {
9281	_ struct{} `type:"structure"`
9282
9283	// Data attached to the event that the decider can use in subsequent workflow
9284	// tasks. This data isn't sent to the Lambda task.
9285	Control *string `locationName:"control" type:"string"`
9286
9287	// The ID of the LambdaFunctionCompleted event corresponding to the decision
9288	// that resulted in scheduling this activity task. To help diagnose issues,
9289	// use this information to trace back the chain of events leading up to this
9290	// event.
9291	//
9292	// DecisionTaskCompletedEventId is a required field
9293	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
9294
9295	// The unique ID of the Lambda task.
9296	//
9297	// Id is a required field
9298	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
9299
9300	// The input provided to the Lambda task.
9301	Input *string `locationName:"input" type:"string"`
9302
9303	// The name of the Lambda function.
9304	//
9305	// Name is a required field
9306	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9307
9308	// The maximum amount of time a worker can take to process the Lambda task.
9309	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
9310}
9311
9312// String returns the string representation
9313func (s LambdaFunctionScheduledEventAttributes) String() string {
9314	return awsutil.Prettify(s)
9315}
9316
9317// GoString returns the string representation
9318func (s LambdaFunctionScheduledEventAttributes) GoString() string {
9319	return s.String()
9320}
9321
9322// SetControl sets the Control field's value.
9323func (s *LambdaFunctionScheduledEventAttributes) SetControl(v string) *LambdaFunctionScheduledEventAttributes {
9324	s.Control = &v
9325	return s
9326}
9327
9328// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
9329func (s *LambdaFunctionScheduledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *LambdaFunctionScheduledEventAttributes {
9330	s.DecisionTaskCompletedEventId = &v
9331	return s
9332}
9333
9334// SetId sets the Id field's value.
9335func (s *LambdaFunctionScheduledEventAttributes) SetId(v string) *LambdaFunctionScheduledEventAttributes {
9336	s.Id = &v
9337	return s
9338}
9339
9340// SetInput sets the Input field's value.
9341func (s *LambdaFunctionScheduledEventAttributes) SetInput(v string) *LambdaFunctionScheduledEventAttributes {
9342	s.Input = &v
9343	return s
9344}
9345
9346// SetName sets the Name field's value.
9347func (s *LambdaFunctionScheduledEventAttributes) SetName(v string) *LambdaFunctionScheduledEventAttributes {
9348	s.Name = &v
9349	return s
9350}
9351
9352// SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
9353func (s *LambdaFunctionScheduledEventAttributes) SetStartToCloseTimeout(v string) *LambdaFunctionScheduledEventAttributes {
9354	s.StartToCloseTimeout = &v
9355	return s
9356}
9357
9358// Provides the details of the LambdaFunctionStarted event. It isn't set for
9359// other event types.
9360type LambdaFunctionStartedEventAttributes struct {
9361	_ struct{} `type:"structure"`
9362
9363	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
9364	// task was scheduled. To help diagnose issues, use this information to trace
9365	// back the chain of events leading up to this event.
9366	//
9367	// ScheduledEventId is a required field
9368	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
9369}
9370
9371// String returns the string representation
9372func (s LambdaFunctionStartedEventAttributes) String() string {
9373	return awsutil.Prettify(s)
9374}
9375
9376// GoString returns the string representation
9377func (s LambdaFunctionStartedEventAttributes) GoString() string {
9378	return s.String()
9379}
9380
9381// SetScheduledEventId sets the ScheduledEventId field's value.
9382func (s *LambdaFunctionStartedEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionStartedEventAttributes {
9383	s.ScheduledEventId = &v
9384	return s
9385}
9386
9387// Provides details of the LambdaFunctionTimedOut event.
9388type LambdaFunctionTimedOutEventAttributes struct {
9389	_ struct{} `type:"structure"`
9390
9391	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
9392	// task was scheduled. To help diagnose issues, use this information to trace
9393	// back the chain of events leading up to this event.
9394	//
9395	// ScheduledEventId is a required field
9396	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
9397
9398	// The ID of the ActivityTaskStarted event that was recorded when this activity
9399	// task started. To help diagnose issues, use this information to trace back
9400	// the chain of events leading up to this event.
9401	//
9402	// StartedEventId is a required field
9403	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
9404
9405	// The type of the timeout that caused this event.
9406	TimeoutType *string `locationName:"timeoutType" type:"string" enum:"LambdaFunctionTimeoutType"`
9407}
9408
9409// String returns the string representation
9410func (s LambdaFunctionTimedOutEventAttributes) String() string {
9411	return awsutil.Prettify(s)
9412}
9413
9414// GoString returns the string representation
9415func (s LambdaFunctionTimedOutEventAttributes) GoString() string {
9416	return s.String()
9417}
9418
9419// SetScheduledEventId sets the ScheduledEventId field's value.
9420func (s *LambdaFunctionTimedOutEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionTimedOutEventAttributes {
9421	s.ScheduledEventId = &v
9422	return s
9423}
9424
9425// SetStartedEventId sets the StartedEventId field's value.
9426func (s *LambdaFunctionTimedOutEventAttributes) SetStartedEventId(v int64) *LambdaFunctionTimedOutEventAttributes {
9427	s.StartedEventId = &v
9428	return s
9429}
9430
9431// SetTimeoutType sets the TimeoutType field's value.
9432func (s *LambdaFunctionTimedOutEventAttributes) SetTimeoutType(v string) *LambdaFunctionTimedOutEventAttributes {
9433	s.TimeoutType = &v
9434	return s
9435}
9436
9437// Returned by any operation if a system imposed limitation has been reached.
9438// To address this fault you should either clean up unused resources or increase
9439// the limit by contacting AWS.
9440type LimitExceededFault struct {
9441	_            struct{}                  `type:"structure"`
9442	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9443
9444	// A description that may help with diagnosing the cause of the fault.
9445	Message_ *string `locationName:"message" type:"string"`
9446}
9447
9448// String returns the string representation
9449func (s LimitExceededFault) String() string {
9450	return awsutil.Prettify(s)
9451}
9452
9453// GoString returns the string representation
9454func (s LimitExceededFault) GoString() string {
9455	return s.String()
9456}
9457
9458func newErrorLimitExceededFault(v protocol.ResponseMetadata) error {
9459	return &LimitExceededFault{
9460		RespMetadata: v,
9461	}
9462}
9463
9464// Code returns the exception type name.
9465func (s *LimitExceededFault) Code() string {
9466	return "LimitExceededFault"
9467}
9468
9469// Message returns the exception's message.
9470func (s *LimitExceededFault) Message() string {
9471	if s.Message_ != nil {
9472		return *s.Message_
9473	}
9474	return ""
9475}
9476
9477// OrigErr always returns nil, satisfies awserr.Error interface.
9478func (s *LimitExceededFault) OrigErr() error {
9479	return nil
9480}
9481
9482func (s *LimitExceededFault) Error() string {
9483	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
9484}
9485
9486// Status code returns the HTTP status code for the request's response error.
9487func (s *LimitExceededFault) StatusCode() int {
9488	return s.RespMetadata.StatusCode
9489}
9490
9491// RequestID returns the service's response RequestID for request.
9492func (s *LimitExceededFault) RequestID() string {
9493	return s.RespMetadata.RequestID
9494}
9495
9496type ListActivityTypesInput struct {
9497	_ struct{} `type:"structure"`
9498
9499	// The name of the domain in which the activity types have been registered.
9500	//
9501	// Domain is a required field
9502	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
9503
9504	// The maximum number of results that are returned per call. Use nextPageToken
9505	// to obtain further pages of results.
9506	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
9507
9508	// If specified, only lists the activity types that have this name.
9509	Name *string `locationName:"name" min:"1" type:"string"`
9510
9511	// If NextPageToken is returned there are more results available. The value
9512	// of NextPageToken is a unique pagination token for each page. Make the call
9513	// again using the returned token to retrieve the next page. Keep all other
9514	// arguments unchanged. Each pagination token expires after 60 seconds. Using
9515	// an expired pagination token will return a 400 error: "Specified token has
9516	// exceeded its maximum lifetime".
9517	//
9518	// The configured maximumPageSize determines how many results can be returned
9519	// in a single call.
9520	NextPageToken *string `locationName:"nextPageToken" type:"string"`
9521
9522	// Specifies the registration status of the activity types to list.
9523	//
9524	// RegistrationStatus is a required field
9525	RegistrationStatus *string `locationName:"registrationStatus" type:"string" required:"true" enum:"RegistrationStatus"`
9526
9527	// When set to true, returns the results in reverse order. By default, the results
9528	// are returned in ascending alphabetical order by name of the activity types.
9529	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
9530}
9531
9532// String returns the string representation
9533func (s ListActivityTypesInput) String() string {
9534	return awsutil.Prettify(s)
9535}
9536
9537// GoString returns the string representation
9538func (s ListActivityTypesInput) GoString() string {
9539	return s.String()
9540}
9541
9542// Validate inspects the fields of the type to determine if they are valid.
9543func (s *ListActivityTypesInput) Validate() error {
9544	invalidParams := request.ErrInvalidParams{Context: "ListActivityTypesInput"}
9545	if s.Domain == nil {
9546		invalidParams.Add(request.NewErrParamRequired("Domain"))
9547	}
9548	if s.Domain != nil && len(*s.Domain) < 1 {
9549		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
9550	}
9551	if s.Name != nil && len(*s.Name) < 1 {
9552		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9553	}
9554	if s.RegistrationStatus == nil {
9555		invalidParams.Add(request.NewErrParamRequired("RegistrationStatus"))
9556	}
9557
9558	if invalidParams.Len() > 0 {
9559		return invalidParams
9560	}
9561	return nil
9562}
9563
9564// SetDomain sets the Domain field's value.
9565func (s *ListActivityTypesInput) SetDomain(v string) *ListActivityTypesInput {
9566	s.Domain = &v
9567	return s
9568}
9569
9570// SetMaximumPageSize sets the MaximumPageSize field's value.
9571func (s *ListActivityTypesInput) SetMaximumPageSize(v int64) *ListActivityTypesInput {
9572	s.MaximumPageSize = &v
9573	return s
9574}
9575
9576// SetName sets the Name field's value.
9577func (s *ListActivityTypesInput) SetName(v string) *ListActivityTypesInput {
9578	s.Name = &v
9579	return s
9580}
9581
9582// SetNextPageToken sets the NextPageToken field's value.
9583func (s *ListActivityTypesInput) SetNextPageToken(v string) *ListActivityTypesInput {
9584	s.NextPageToken = &v
9585	return s
9586}
9587
9588// SetRegistrationStatus sets the RegistrationStatus field's value.
9589func (s *ListActivityTypesInput) SetRegistrationStatus(v string) *ListActivityTypesInput {
9590	s.RegistrationStatus = &v
9591	return s
9592}
9593
9594// SetReverseOrder sets the ReverseOrder field's value.
9595func (s *ListActivityTypesInput) SetReverseOrder(v bool) *ListActivityTypesInput {
9596	s.ReverseOrder = &v
9597	return s
9598}
9599
9600// Contains a paginated list of activity type information structures.
9601type ListActivityTypesOutput struct {
9602	_ struct{} `type:"structure"`
9603
9604	// If a NextPageToken was returned by a previous call, there are more results
9605	// available. To retrieve the next page of results, make the call again using
9606	// the returned token in nextPageToken. Keep all other arguments unchanged.
9607	//
9608	// The configured maximumPageSize determines how many results can be returned
9609	// in a single call.
9610	NextPageToken *string `locationName:"nextPageToken" type:"string"`
9611
9612	// List of activity type information.
9613	//
9614	// TypeInfos is a required field
9615	TypeInfos []*ActivityTypeInfo `locationName:"typeInfos" type:"list" required:"true"`
9616}
9617
9618// String returns the string representation
9619func (s ListActivityTypesOutput) String() string {
9620	return awsutil.Prettify(s)
9621}
9622
9623// GoString returns the string representation
9624func (s ListActivityTypesOutput) GoString() string {
9625	return s.String()
9626}
9627
9628// SetNextPageToken sets the NextPageToken field's value.
9629func (s *ListActivityTypesOutput) SetNextPageToken(v string) *ListActivityTypesOutput {
9630	s.NextPageToken = &v
9631	return s
9632}
9633
9634// SetTypeInfos sets the TypeInfos field's value.
9635func (s *ListActivityTypesOutput) SetTypeInfos(v []*ActivityTypeInfo) *ListActivityTypesOutput {
9636	s.TypeInfos = v
9637	return s
9638}
9639
9640type ListClosedWorkflowExecutionsInput struct {
9641	_ struct{} `type:"structure"`
9642
9643	// If specified, only workflow executions that match this close status are listed.
9644	// For example, if TERMINATED is specified, then only TERMINATED workflow executions
9645	// are listed.
9646	//
9647	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
9648	// exclusive. You can specify at most one of these in a request.
9649	CloseStatusFilter *CloseStatusFilter `locationName:"closeStatusFilter" type:"structure"`
9650
9651	// If specified, the workflow executions are included in the returned results
9652	// based on whether their close times are within the range specified by this
9653	// filter. Also, if this parameter is specified, the returned results are ordered
9654	// by their close times.
9655	//
9656	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
9657	// one of these in a request but not both.
9658	CloseTimeFilter *ExecutionTimeFilter `locationName:"closeTimeFilter" type:"structure"`
9659
9660	// The name of the domain that contains the workflow executions to list.
9661	//
9662	// Domain is a required field
9663	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
9664
9665	// If specified, only workflow executions matching the workflow ID specified
9666	// in the filter are returned.
9667	//
9668	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
9669	// exclusive. You can specify at most one of these in a request.
9670	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
9671
9672	// The maximum number of results that are returned per call. Use nextPageToken
9673	// to obtain further pages of results.
9674	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
9675
9676	// If NextPageToken is returned there are more results available. The value
9677	// of NextPageToken is a unique pagination token for each page. Make the call
9678	// again using the returned token to retrieve the next page. Keep all other
9679	// arguments unchanged. Each pagination token expires after 60 seconds. Using
9680	// an expired pagination token will return a 400 error: "Specified token has
9681	// exceeded its maximum lifetime".
9682	//
9683	// The configured maximumPageSize determines how many results can be returned
9684	// in a single call.
9685	NextPageToken *string `locationName:"nextPageToken" type:"string"`
9686
9687	// When set to true, returns the results in reverse order. By default the results
9688	// are returned in descending order of the start or the close time of the executions.
9689	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
9690
9691	// If specified, the workflow executions are included in the returned results
9692	// based on whether their start times are within the range specified by this
9693	// filter. Also, if this parameter is specified, the returned results are ordered
9694	// by their start times.
9695	//
9696	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
9697	// one of these in a request but not both.
9698	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure"`
9699
9700	// If specified, only executions that have the matching tag are listed.
9701	//
9702	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
9703	// exclusive. You can specify at most one of these in a request.
9704	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
9705
9706	// If specified, only executions of the type specified in the filter are returned.
9707	//
9708	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
9709	// exclusive. You can specify at most one of these in a request.
9710	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
9711}
9712
9713// String returns the string representation
9714func (s ListClosedWorkflowExecutionsInput) String() string {
9715	return awsutil.Prettify(s)
9716}
9717
9718// GoString returns the string representation
9719func (s ListClosedWorkflowExecutionsInput) GoString() string {
9720	return s.String()
9721}
9722
9723// Validate inspects the fields of the type to determine if they are valid.
9724func (s *ListClosedWorkflowExecutionsInput) Validate() error {
9725	invalidParams := request.ErrInvalidParams{Context: "ListClosedWorkflowExecutionsInput"}
9726	if s.Domain == nil {
9727		invalidParams.Add(request.NewErrParamRequired("Domain"))
9728	}
9729	if s.Domain != nil && len(*s.Domain) < 1 {
9730		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
9731	}
9732	if s.CloseStatusFilter != nil {
9733		if err := s.CloseStatusFilter.Validate(); err != nil {
9734			invalidParams.AddNested("CloseStatusFilter", err.(request.ErrInvalidParams))
9735		}
9736	}
9737	if s.CloseTimeFilter != nil {
9738		if err := s.CloseTimeFilter.Validate(); err != nil {
9739			invalidParams.AddNested("CloseTimeFilter", err.(request.ErrInvalidParams))
9740		}
9741	}
9742	if s.ExecutionFilter != nil {
9743		if err := s.ExecutionFilter.Validate(); err != nil {
9744			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
9745		}
9746	}
9747	if s.StartTimeFilter != nil {
9748		if err := s.StartTimeFilter.Validate(); err != nil {
9749			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
9750		}
9751	}
9752	if s.TagFilter != nil {
9753		if err := s.TagFilter.Validate(); err != nil {
9754			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
9755		}
9756	}
9757	if s.TypeFilter != nil {
9758		if err := s.TypeFilter.Validate(); err != nil {
9759			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
9760		}
9761	}
9762
9763	if invalidParams.Len() > 0 {
9764		return invalidParams
9765	}
9766	return nil
9767}
9768
9769// SetCloseStatusFilter sets the CloseStatusFilter field's value.
9770func (s *ListClosedWorkflowExecutionsInput) SetCloseStatusFilter(v *CloseStatusFilter) *ListClosedWorkflowExecutionsInput {
9771	s.CloseStatusFilter = v
9772	return s
9773}
9774
9775// SetCloseTimeFilter sets the CloseTimeFilter field's value.
9776func (s *ListClosedWorkflowExecutionsInput) SetCloseTimeFilter(v *ExecutionTimeFilter) *ListClosedWorkflowExecutionsInput {
9777	s.CloseTimeFilter = v
9778	return s
9779}
9780
9781// SetDomain sets the Domain field's value.
9782func (s *ListClosedWorkflowExecutionsInput) SetDomain(v string) *ListClosedWorkflowExecutionsInput {
9783	s.Domain = &v
9784	return s
9785}
9786
9787// SetExecutionFilter sets the ExecutionFilter field's value.
9788func (s *ListClosedWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *ListClosedWorkflowExecutionsInput {
9789	s.ExecutionFilter = v
9790	return s
9791}
9792
9793// SetMaximumPageSize sets the MaximumPageSize field's value.
9794func (s *ListClosedWorkflowExecutionsInput) SetMaximumPageSize(v int64) *ListClosedWorkflowExecutionsInput {
9795	s.MaximumPageSize = &v
9796	return s
9797}
9798
9799// SetNextPageToken sets the NextPageToken field's value.
9800func (s *ListClosedWorkflowExecutionsInput) SetNextPageToken(v string) *ListClosedWorkflowExecutionsInput {
9801	s.NextPageToken = &v
9802	return s
9803}
9804
9805// SetReverseOrder sets the ReverseOrder field's value.
9806func (s *ListClosedWorkflowExecutionsInput) SetReverseOrder(v bool) *ListClosedWorkflowExecutionsInput {
9807	s.ReverseOrder = &v
9808	return s
9809}
9810
9811// SetStartTimeFilter sets the StartTimeFilter field's value.
9812func (s *ListClosedWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *ListClosedWorkflowExecutionsInput {
9813	s.StartTimeFilter = v
9814	return s
9815}
9816
9817// SetTagFilter sets the TagFilter field's value.
9818func (s *ListClosedWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *ListClosedWorkflowExecutionsInput {
9819	s.TagFilter = v
9820	return s
9821}
9822
9823// SetTypeFilter sets the TypeFilter field's value.
9824func (s *ListClosedWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *ListClosedWorkflowExecutionsInput {
9825	s.TypeFilter = v
9826	return s
9827}
9828
9829type ListDomainsInput struct {
9830	_ struct{} `type:"structure"`
9831
9832	// The maximum number of results that are returned per call. Use nextPageToken
9833	// to obtain further pages of results.
9834	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
9835
9836	// If NextPageToken is returned there are more results available. The value
9837	// of NextPageToken is a unique pagination token for each page. Make the call
9838	// again using the returned token to retrieve the next page. Keep all other
9839	// arguments unchanged. Each pagination token expires after 60 seconds. Using
9840	// an expired pagination token will return a 400 error: "Specified token has
9841	// exceeded its maximum lifetime".
9842	//
9843	// The configured maximumPageSize determines how many results can be returned
9844	// in a single call.
9845	NextPageToken *string `locationName:"nextPageToken" type:"string"`
9846
9847	// Specifies the registration status of the domains to list.
9848	//
9849	// RegistrationStatus is a required field
9850	RegistrationStatus *string `locationName:"registrationStatus" type:"string" required:"true" enum:"RegistrationStatus"`
9851
9852	// When set to true, returns the results in reverse order. By default, the results
9853	// are returned in ascending alphabetical order by name of the domains.
9854	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
9855}
9856
9857// String returns the string representation
9858func (s ListDomainsInput) String() string {
9859	return awsutil.Prettify(s)
9860}
9861
9862// GoString returns the string representation
9863func (s ListDomainsInput) GoString() string {
9864	return s.String()
9865}
9866
9867// Validate inspects the fields of the type to determine if they are valid.
9868func (s *ListDomainsInput) Validate() error {
9869	invalidParams := request.ErrInvalidParams{Context: "ListDomainsInput"}
9870	if s.RegistrationStatus == nil {
9871		invalidParams.Add(request.NewErrParamRequired("RegistrationStatus"))
9872	}
9873
9874	if invalidParams.Len() > 0 {
9875		return invalidParams
9876	}
9877	return nil
9878}
9879
9880// SetMaximumPageSize sets the MaximumPageSize field's value.
9881func (s *ListDomainsInput) SetMaximumPageSize(v int64) *ListDomainsInput {
9882	s.MaximumPageSize = &v
9883	return s
9884}
9885
9886// SetNextPageToken sets the NextPageToken field's value.
9887func (s *ListDomainsInput) SetNextPageToken(v string) *ListDomainsInput {
9888	s.NextPageToken = &v
9889	return s
9890}
9891
9892// SetRegistrationStatus sets the RegistrationStatus field's value.
9893func (s *ListDomainsInput) SetRegistrationStatus(v string) *ListDomainsInput {
9894	s.RegistrationStatus = &v
9895	return s
9896}
9897
9898// SetReverseOrder sets the ReverseOrder field's value.
9899func (s *ListDomainsInput) SetReverseOrder(v bool) *ListDomainsInput {
9900	s.ReverseOrder = &v
9901	return s
9902}
9903
9904// Contains a paginated collection of DomainInfo structures.
9905type ListDomainsOutput struct {
9906	_ struct{} `type:"structure"`
9907
9908	// A list of DomainInfo structures.
9909	//
9910	// DomainInfos is a required field
9911	DomainInfos []*DomainInfo `locationName:"domainInfos" type:"list" required:"true"`
9912
9913	// If a NextPageToken was returned by a previous call, there are more results
9914	// available. To retrieve the next page of results, make the call again using
9915	// the returned token in nextPageToken. Keep all other arguments unchanged.
9916	//
9917	// The configured maximumPageSize determines how many results can be returned
9918	// in a single call.
9919	NextPageToken *string `locationName:"nextPageToken" type:"string"`
9920}
9921
9922// String returns the string representation
9923func (s ListDomainsOutput) String() string {
9924	return awsutil.Prettify(s)
9925}
9926
9927// GoString returns the string representation
9928func (s ListDomainsOutput) GoString() string {
9929	return s.String()
9930}
9931
9932// SetDomainInfos sets the DomainInfos field's value.
9933func (s *ListDomainsOutput) SetDomainInfos(v []*DomainInfo) *ListDomainsOutput {
9934	s.DomainInfos = v
9935	return s
9936}
9937
9938// SetNextPageToken sets the NextPageToken field's value.
9939func (s *ListDomainsOutput) SetNextPageToken(v string) *ListDomainsOutput {
9940	s.NextPageToken = &v
9941	return s
9942}
9943
9944type ListOpenWorkflowExecutionsInput struct {
9945	_ struct{} `type:"structure"`
9946
9947	// The name of the domain that contains the workflow executions to list.
9948	//
9949	// Domain is a required field
9950	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
9951
9952	// If specified, only workflow executions matching the workflow ID specified
9953	// in the filter are returned.
9954	//
9955	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
9956	// specify at most one of these in a request.
9957	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
9958
9959	// The maximum number of results that are returned per call. Use nextPageToken
9960	// to obtain further pages of results.
9961	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
9962
9963	// If NextPageToken is returned there are more results available. The value
9964	// of NextPageToken is a unique pagination token for each page. Make the call
9965	// again using the returned token to retrieve the next page. Keep all other
9966	// arguments unchanged. Each pagination token expires after 60 seconds. Using
9967	// an expired pagination token will return a 400 error: "Specified token has
9968	// exceeded its maximum lifetime".
9969	//
9970	// The configured maximumPageSize determines how many results can be returned
9971	// in a single call.
9972	NextPageToken *string `locationName:"nextPageToken" type:"string"`
9973
9974	// When set to true, returns the results in reverse order. By default the results
9975	// are returned in descending order of the start time of the executions.
9976	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
9977
9978	// Workflow executions are included in the returned results based on whether
9979	// their start times are within the range specified by this filter.
9980	//
9981	// StartTimeFilter is a required field
9982	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure" required:"true"`
9983
9984	// If specified, only executions that have the matching tag are listed.
9985	//
9986	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
9987	// specify at most one of these in a request.
9988	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
9989
9990	// If specified, only executions of the type specified in the filter are returned.
9991	//
9992	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
9993	// specify at most one of these in a request.
9994	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
9995}
9996
9997// String returns the string representation
9998func (s ListOpenWorkflowExecutionsInput) String() string {
9999	return awsutil.Prettify(s)
10000}
10001
10002// GoString returns the string representation
10003func (s ListOpenWorkflowExecutionsInput) GoString() string {
10004	return s.String()
10005}
10006
10007// Validate inspects the fields of the type to determine if they are valid.
10008func (s *ListOpenWorkflowExecutionsInput) Validate() error {
10009	invalidParams := request.ErrInvalidParams{Context: "ListOpenWorkflowExecutionsInput"}
10010	if s.Domain == nil {
10011		invalidParams.Add(request.NewErrParamRequired("Domain"))
10012	}
10013	if s.Domain != nil && len(*s.Domain) < 1 {
10014		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
10015	}
10016	if s.StartTimeFilter == nil {
10017		invalidParams.Add(request.NewErrParamRequired("StartTimeFilter"))
10018	}
10019	if s.ExecutionFilter != nil {
10020		if err := s.ExecutionFilter.Validate(); err != nil {
10021			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
10022		}
10023	}
10024	if s.StartTimeFilter != nil {
10025		if err := s.StartTimeFilter.Validate(); err != nil {
10026			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
10027		}
10028	}
10029	if s.TagFilter != nil {
10030		if err := s.TagFilter.Validate(); err != nil {
10031			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
10032		}
10033	}
10034	if s.TypeFilter != nil {
10035		if err := s.TypeFilter.Validate(); err != nil {
10036			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
10037		}
10038	}
10039
10040	if invalidParams.Len() > 0 {
10041		return invalidParams
10042	}
10043	return nil
10044}
10045
10046// SetDomain sets the Domain field's value.
10047func (s *ListOpenWorkflowExecutionsInput) SetDomain(v string) *ListOpenWorkflowExecutionsInput {
10048	s.Domain = &v
10049	return s
10050}
10051
10052// SetExecutionFilter sets the ExecutionFilter field's value.
10053func (s *ListOpenWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *ListOpenWorkflowExecutionsInput {
10054	s.ExecutionFilter = v
10055	return s
10056}
10057
10058// SetMaximumPageSize sets the MaximumPageSize field's value.
10059func (s *ListOpenWorkflowExecutionsInput) SetMaximumPageSize(v int64) *ListOpenWorkflowExecutionsInput {
10060	s.MaximumPageSize = &v
10061	return s
10062}
10063
10064// SetNextPageToken sets the NextPageToken field's value.
10065func (s *ListOpenWorkflowExecutionsInput) SetNextPageToken(v string) *ListOpenWorkflowExecutionsInput {
10066	s.NextPageToken = &v
10067	return s
10068}
10069
10070// SetReverseOrder sets the ReverseOrder field's value.
10071func (s *ListOpenWorkflowExecutionsInput) SetReverseOrder(v bool) *ListOpenWorkflowExecutionsInput {
10072	s.ReverseOrder = &v
10073	return s
10074}
10075
10076// SetStartTimeFilter sets the StartTimeFilter field's value.
10077func (s *ListOpenWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *ListOpenWorkflowExecutionsInput {
10078	s.StartTimeFilter = v
10079	return s
10080}
10081
10082// SetTagFilter sets the TagFilter field's value.
10083func (s *ListOpenWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *ListOpenWorkflowExecutionsInput {
10084	s.TagFilter = v
10085	return s
10086}
10087
10088// SetTypeFilter sets the TypeFilter field's value.
10089func (s *ListOpenWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *ListOpenWorkflowExecutionsInput {
10090	s.TypeFilter = v
10091	return s
10092}
10093
10094type ListTagsForResourceInput struct {
10095	_ struct{} `type:"structure"`
10096
10097	// The Amazon Resource Name (ARN) for the Amazon SWF domain.
10098	//
10099	// ResourceArn is a required field
10100	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
10101}
10102
10103// String returns the string representation
10104func (s ListTagsForResourceInput) String() string {
10105	return awsutil.Prettify(s)
10106}
10107
10108// GoString returns the string representation
10109func (s ListTagsForResourceInput) GoString() string {
10110	return s.String()
10111}
10112
10113// Validate inspects the fields of the type to determine if they are valid.
10114func (s *ListTagsForResourceInput) Validate() error {
10115	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
10116	if s.ResourceArn == nil {
10117		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10118	}
10119	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10120		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10121	}
10122
10123	if invalidParams.Len() > 0 {
10124		return invalidParams
10125	}
10126	return nil
10127}
10128
10129// SetResourceArn sets the ResourceArn field's value.
10130func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
10131	s.ResourceArn = &v
10132	return s
10133}
10134
10135type ListTagsForResourceOutput struct {
10136	_ struct{} `type:"structure"`
10137
10138	// An array of tags associated with the domain.
10139	Tags []*ResourceTag `locationName:"tags" type:"list"`
10140}
10141
10142// String returns the string representation
10143func (s ListTagsForResourceOutput) String() string {
10144	return awsutil.Prettify(s)
10145}
10146
10147// GoString returns the string representation
10148func (s ListTagsForResourceOutput) GoString() string {
10149	return s.String()
10150}
10151
10152// SetTags sets the Tags field's value.
10153func (s *ListTagsForResourceOutput) SetTags(v []*ResourceTag) *ListTagsForResourceOutput {
10154	s.Tags = v
10155	return s
10156}
10157
10158type ListWorkflowTypesInput struct {
10159	_ struct{} `type:"structure"`
10160
10161	// The name of the domain in which the workflow types have been registered.
10162	//
10163	// Domain is a required field
10164	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
10165
10166	// The maximum number of results that are returned per call. Use nextPageToken
10167	// to obtain further pages of results.
10168	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
10169
10170	// If specified, lists the workflow type with this name.
10171	Name *string `locationName:"name" min:"1" type:"string"`
10172
10173	// If NextPageToken is returned there are more results available. The value
10174	// of NextPageToken is a unique pagination token for each page. Make the call
10175	// again using the returned token to retrieve the next page. Keep all other
10176	// arguments unchanged. Each pagination token expires after 60 seconds. Using
10177	// an expired pagination token will return a 400 error: "Specified token has
10178	// exceeded its maximum lifetime".
10179	//
10180	// The configured maximumPageSize determines how many results can be returned
10181	// in a single call.
10182	NextPageToken *string `locationName:"nextPageToken" type:"string"`
10183
10184	// Specifies the registration status of the workflow types to list.
10185	//
10186	// RegistrationStatus is a required field
10187	RegistrationStatus *string `locationName:"registrationStatus" type:"string" required:"true" enum:"RegistrationStatus"`
10188
10189	// When set to true, returns the results in reverse order. By default the results
10190	// are returned in ascending alphabetical order of the name of the workflow
10191	// types.
10192	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
10193}
10194
10195// String returns the string representation
10196func (s ListWorkflowTypesInput) String() string {
10197	return awsutil.Prettify(s)
10198}
10199
10200// GoString returns the string representation
10201func (s ListWorkflowTypesInput) GoString() string {
10202	return s.String()
10203}
10204
10205// Validate inspects the fields of the type to determine if they are valid.
10206func (s *ListWorkflowTypesInput) Validate() error {
10207	invalidParams := request.ErrInvalidParams{Context: "ListWorkflowTypesInput"}
10208	if s.Domain == nil {
10209		invalidParams.Add(request.NewErrParamRequired("Domain"))
10210	}
10211	if s.Domain != nil && len(*s.Domain) < 1 {
10212		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
10213	}
10214	if s.Name != nil && len(*s.Name) < 1 {
10215		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10216	}
10217	if s.RegistrationStatus == nil {
10218		invalidParams.Add(request.NewErrParamRequired("RegistrationStatus"))
10219	}
10220
10221	if invalidParams.Len() > 0 {
10222		return invalidParams
10223	}
10224	return nil
10225}
10226
10227// SetDomain sets the Domain field's value.
10228func (s *ListWorkflowTypesInput) SetDomain(v string) *ListWorkflowTypesInput {
10229	s.Domain = &v
10230	return s
10231}
10232
10233// SetMaximumPageSize sets the MaximumPageSize field's value.
10234func (s *ListWorkflowTypesInput) SetMaximumPageSize(v int64) *ListWorkflowTypesInput {
10235	s.MaximumPageSize = &v
10236	return s
10237}
10238
10239// SetName sets the Name field's value.
10240func (s *ListWorkflowTypesInput) SetName(v string) *ListWorkflowTypesInput {
10241	s.Name = &v
10242	return s
10243}
10244
10245// SetNextPageToken sets the NextPageToken field's value.
10246func (s *ListWorkflowTypesInput) SetNextPageToken(v string) *ListWorkflowTypesInput {
10247	s.NextPageToken = &v
10248	return s
10249}
10250
10251// SetRegistrationStatus sets the RegistrationStatus field's value.
10252func (s *ListWorkflowTypesInput) SetRegistrationStatus(v string) *ListWorkflowTypesInput {
10253	s.RegistrationStatus = &v
10254	return s
10255}
10256
10257// SetReverseOrder sets the ReverseOrder field's value.
10258func (s *ListWorkflowTypesInput) SetReverseOrder(v bool) *ListWorkflowTypesInput {
10259	s.ReverseOrder = &v
10260	return s
10261}
10262
10263// Contains a paginated list of information structures about workflow types.
10264type ListWorkflowTypesOutput struct {
10265	_ struct{} `type:"structure"`
10266
10267	// If a NextPageToken was returned by a previous call, there are more results
10268	// available. To retrieve the next page of results, make the call again using
10269	// the returned token in nextPageToken. Keep all other arguments unchanged.
10270	//
10271	// The configured maximumPageSize determines how many results can be returned
10272	// in a single call.
10273	NextPageToken *string `locationName:"nextPageToken" type:"string"`
10274
10275	// The list of workflow type information.
10276	//
10277	// TypeInfos is a required field
10278	TypeInfos []*WorkflowTypeInfo `locationName:"typeInfos" type:"list" required:"true"`
10279}
10280
10281// String returns the string representation
10282func (s ListWorkflowTypesOutput) String() string {
10283	return awsutil.Prettify(s)
10284}
10285
10286// GoString returns the string representation
10287func (s ListWorkflowTypesOutput) GoString() string {
10288	return s.String()
10289}
10290
10291// SetNextPageToken sets the NextPageToken field's value.
10292func (s *ListWorkflowTypesOutput) SetNextPageToken(v string) *ListWorkflowTypesOutput {
10293	s.NextPageToken = &v
10294	return s
10295}
10296
10297// SetTypeInfos sets the TypeInfos field's value.
10298func (s *ListWorkflowTypesOutput) SetTypeInfos(v []*WorkflowTypeInfo) *ListWorkflowTypesOutput {
10299	s.TypeInfos = v
10300	return s
10301}
10302
10303// Provides the details of the MarkerRecorded event.
10304type MarkerRecordedEventAttributes struct {
10305	_ struct{} `type:"structure"`
10306
10307	// The ID of the DecisionTaskCompleted event corresponding to the decision task
10308	// that resulted in the RecordMarker decision that requested this marker. This
10309	// information can be useful for diagnosing problems by tracing back the chain
10310	// of events leading up to this event.
10311	//
10312	// DecisionTaskCompletedEventId is a required field
10313	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
10314
10315	// The details of the marker.
10316	Details *string `locationName:"details" type:"string"`
10317
10318	// The name of the marker.
10319	//
10320	// MarkerName is a required field
10321	MarkerName *string `locationName:"markerName" min:"1" type:"string" required:"true"`
10322}
10323
10324// String returns the string representation
10325func (s MarkerRecordedEventAttributes) String() string {
10326	return awsutil.Prettify(s)
10327}
10328
10329// GoString returns the string representation
10330func (s MarkerRecordedEventAttributes) GoString() string {
10331	return s.String()
10332}
10333
10334// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
10335func (s *MarkerRecordedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *MarkerRecordedEventAttributes {
10336	s.DecisionTaskCompletedEventId = &v
10337	return s
10338}
10339
10340// SetDetails sets the Details field's value.
10341func (s *MarkerRecordedEventAttributes) SetDetails(v string) *MarkerRecordedEventAttributes {
10342	s.Details = &v
10343	return s
10344}
10345
10346// SetMarkerName sets the MarkerName field's value.
10347func (s *MarkerRecordedEventAttributes) SetMarkerName(v string) *MarkerRecordedEventAttributes {
10348	s.MarkerName = &v
10349	return s
10350}
10351
10352// Returned when the caller doesn't have sufficient permissions to invoke the
10353// action.
10354type OperationNotPermittedFault struct {
10355	_            struct{}                  `type:"structure"`
10356	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10357
10358	// A description that may help with diagnosing the cause of the fault.
10359	Message_ *string `locationName:"message" type:"string"`
10360}
10361
10362// String returns the string representation
10363func (s OperationNotPermittedFault) String() string {
10364	return awsutil.Prettify(s)
10365}
10366
10367// GoString returns the string representation
10368func (s OperationNotPermittedFault) GoString() string {
10369	return s.String()
10370}
10371
10372func newErrorOperationNotPermittedFault(v protocol.ResponseMetadata) error {
10373	return &OperationNotPermittedFault{
10374		RespMetadata: v,
10375	}
10376}
10377
10378// Code returns the exception type name.
10379func (s *OperationNotPermittedFault) Code() string {
10380	return "OperationNotPermittedFault"
10381}
10382
10383// Message returns the exception's message.
10384func (s *OperationNotPermittedFault) Message() string {
10385	if s.Message_ != nil {
10386		return *s.Message_
10387	}
10388	return ""
10389}
10390
10391// OrigErr always returns nil, satisfies awserr.Error interface.
10392func (s *OperationNotPermittedFault) OrigErr() error {
10393	return nil
10394}
10395
10396func (s *OperationNotPermittedFault) Error() string {
10397	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10398}
10399
10400// Status code returns the HTTP status code for the request's response error.
10401func (s *OperationNotPermittedFault) StatusCode() int {
10402	return s.RespMetadata.StatusCode
10403}
10404
10405// RequestID returns the service's response RequestID for request.
10406func (s *OperationNotPermittedFault) RequestID() string {
10407	return s.RespMetadata.RequestID
10408}
10409
10410// Contains the count of tasks in a task list.
10411type PendingTaskCount struct {
10412	_ struct{} `type:"structure"`
10413
10414	// The number of tasks in the task list.
10415	//
10416	// Count is a required field
10417	Count *int64 `locationName:"count" type:"integer" required:"true"`
10418
10419	// If set to true, indicates that the actual count was more than the maximum
10420	// supported by this API and the count returned is the truncated value.
10421	Truncated *bool `locationName:"truncated" type:"boolean"`
10422}
10423
10424// String returns the string representation
10425func (s PendingTaskCount) String() string {
10426	return awsutil.Prettify(s)
10427}
10428
10429// GoString returns the string representation
10430func (s PendingTaskCount) GoString() string {
10431	return s.String()
10432}
10433
10434// SetCount sets the Count field's value.
10435func (s *PendingTaskCount) SetCount(v int64) *PendingTaskCount {
10436	s.Count = &v
10437	return s
10438}
10439
10440// SetTruncated sets the Truncated field's value.
10441func (s *PendingTaskCount) SetTruncated(v bool) *PendingTaskCount {
10442	s.Truncated = &v
10443	return s
10444}
10445
10446type PollForActivityTaskInput struct {
10447	_ struct{} `type:"structure"`
10448
10449	// The name of the domain that contains the task lists being polled.
10450	//
10451	// Domain is a required field
10452	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
10453
10454	// Identity of the worker making the request, recorded in the ActivityTaskStarted
10455	// event in the workflow history. This enables diagnostic tracing when problems
10456	// arise. The form of this identity is user defined.
10457	Identity *string `locationName:"identity" type:"string"`
10458
10459	// Specifies the task list to poll for activity tasks.
10460	//
10461	// The specified string must not start or end with whitespace. It must not contain
10462	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
10463	// | \u007f-\u009f). Also, it must not be the literal string arn.
10464	//
10465	// TaskList is a required field
10466	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
10467}
10468
10469// String returns the string representation
10470func (s PollForActivityTaskInput) String() string {
10471	return awsutil.Prettify(s)
10472}
10473
10474// GoString returns the string representation
10475func (s PollForActivityTaskInput) GoString() string {
10476	return s.String()
10477}
10478
10479// Validate inspects the fields of the type to determine if they are valid.
10480func (s *PollForActivityTaskInput) Validate() error {
10481	invalidParams := request.ErrInvalidParams{Context: "PollForActivityTaskInput"}
10482	if s.Domain == nil {
10483		invalidParams.Add(request.NewErrParamRequired("Domain"))
10484	}
10485	if s.Domain != nil && len(*s.Domain) < 1 {
10486		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
10487	}
10488	if s.TaskList == nil {
10489		invalidParams.Add(request.NewErrParamRequired("TaskList"))
10490	}
10491	if s.TaskList != nil {
10492		if err := s.TaskList.Validate(); err != nil {
10493			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
10494		}
10495	}
10496
10497	if invalidParams.Len() > 0 {
10498		return invalidParams
10499	}
10500	return nil
10501}
10502
10503// SetDomain sets the Domain field's value.
10504func (s *PollForActivityTaskInput) SetDomain(v string) *PollForActivityTaskInput {
10505	s.Domain = &v
10506	return s
10507}
10508
10509// SetIdentity sets the Identity field's value.
10510func (s *PollForActivityTaskInput) SetIdentity(v string) *PollForActivityTaskInput {
10511	s.Identity = &v
10512	return s
10513}
10514
10515// SetTaskList sets the TaskList field's value.
10516func (s *PollForActivityTaskInput) SetTaskList(v *TaskList) *PollForActivityTaskInput {
10517	s.TaskList = v
10518	return s
10519}
10520
10521// Unit of work sent to an activity worker.
10522type PollForActivityTaskOutput struct {
10523	_ struct{} `type:"structure"`
10524
10525	// The unique ID of the task.
10526	//
10527	// ActivityId is a required field
10528	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
10529
10530	// The type of this activity task.
10531	//
10532	// ActivityType is a required field
10533	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
10534
10535	// The inputs provided when the activity task was scheduled. The form of the
10536	// input is user defined and should be meaningful to the activity implementation.
10537	Input *string `locationName:"input" type:"string"`
10538
10539	// The ID of the ActivityTaskStarted event recorded in the history.
10540	//
10541	// StartedEventId is a required field
10542	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
10543
10544	// The opaque string used as a handle on the task. This token is used by workers
10545	// to communicate progress and response information back to the system about
10546	// the task.
10547	//
10548	// TaskToken is a required field
10549	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
10550
10551	// The workflow execution that started this activity task.
10552	//
10553	// WorkflowExecution is a required field
10554	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
10555}
10556
10557// String returns the string representation
10558func (s PollForActivityTaskOutput) String() string {
10559	return awsutil.Prettify(s)
10560}
10561
10562// GoString returns the string representation
10563func (s PollForActivityTaskOutput) GoString() string {
10564	return s.String()
10565}
10566
10567// SetActivityId sets the ActivityId field's value.
10568func (s *PollForActivityTaskOutput) SetActivityId(v string) *PollForActivityTaskOutput {
10569	s.ActivityId = &v
10570	return s
10571}
10572
10573// SetActivityType sets the ActivityType field's value.
10574func (s *PollForActivityTaskOutput) SetActivityType(v *ActivityType) *PollForActivityTaskOutput {
10575	s.ActivityType = v
10576	return s
10577}
10578
10579// SetInput sets the Input field's value.
10580func (s *PollForActivityTaskOutput) SetInput(v string) *PollForActivityTaskOutput {
10581	s.Input = &v
10582	return s
10583}
10584
10585// SetStartedEventId sets the StartedEventId field's value.
10586func (s *PollForActivityTaskOutput) SetStartedEventId(v int64) *PollForActivityTaskOutput {
10587	s.StartedEventId = &v
10588	return s
10589}
10590
10591// SetTaskToken sets the TaskToken field's value.
10592func (s *PollForActivityTaskOutput) SetTaskToken(v string) *PollForActivityTaskOutput {
10593	s.TaskToken = &v
10594	return s
10595}
10596
10597// SetWorkflowExecution sets the WorkflowExecution field's value.
10598func (s *PollForActivityTaskOutput) SetWorkflowExecution(v *WorkflowExecution) *PollForActivityTaskOutput {
10599	s.WorkflowExecution = v
10600	return s
10601}
10602
10603type PollForDecisionTaskInput struct {
10604	_ struct{} `type:"structure"`
10605
10606	// The name of the domain containing the task lists to poll.
10607	//
10608	// Domain is a required field
10609	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
10610
10611	// Identity of the decider making the request, which is recorded in the DecisionTaskStarted
10612	// event in the workflow history. This enables diagnostic tracing when problems
10613	// arise. The form of this identity is user defined.
10614	Identity *string `locationName:"identity" type:"string"`
10615
10616	// The maximum number of results that are returned per call. Use nextPageToken
10617	// to obtain further pages of results.
10618	//
10619	// This is an upper limit only; the actual number of results returned per call
10620	// may be fewer than the specified maximum.
10621	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
10622
10623	// If NextPageToken is returned there are more results available. The value
10624	// of NextPageToken is a unique pagination token for each page. Make the call
10625	// again using the returned token to retrieve the next page. Keep all other
10626	// arguments unchanged. Each pagination token expires after 60 seconds. Using
10627	// an expired pagination token will return a 400 error: "Specified token has
10628	// exceeded its maximum lifetime".
10629	//
10630	// The configured maximumPageSize determines how many results can be returned
10631	// in a single call.
10632	//
10633	// The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory
10634	// to get the next page. You must call PollForDecisionTask again (with the nextPageToken)
10635	// to retrieve the next page of history records. Calling PollForDecisionTask
10636	// with a nextPageToken doesn't return a new decision task.
10637	NextPageToken *string `locationName:"nextPageToken" type:"string"`
10638
10639	// When set to true, returns the events in reverse order. By default the results
10640	// are returned in ascending order of the eventTimestamp of the events.
10641	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
10642
10643	// Specifies the task list to poll for decision tasks.
10644	//
10645	// The specified string must not start or end with whitespace. It must not contain
10646	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
10647	// | \u007f-\u009f). Also, it must not be the literal string arn.
10648	//
10649	// TaskList is a required field
10650	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
10651}
10652
10653// String returns the string representation
10654func (s PollForDecisionTaskInput) String() string {
10655	return awsutil.Prettify(s)
10656}
10657
10658// GoString returns the string representation
10659func (s PollForDecisionTaskInput) GoString() string {
10660	return s.String()
10661}
10662
10663// Validate inspects the fields of the type to determine if they are valid.
10664func (s *PollForDecisionTaskInput) Validate() error {
10665	invalidParams := request.ErrInvalidParams{Context: "PollForDecisionTaskInput"}
10666	if s.Domain == nil {
10667		invalidParams.Add(request.NewErrParamRequired("Domain"))
10668	}
10669	if s.Domain != nil && len(*s.Domain) < 1 {
10670		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
10671	}
10672	if s.TaskList == nil {
10673		invalidParams.Add(request.NewErrParamRequired("TaskList"))
10674	}
10675	if s.TaskList != nil {
10676		if err := s.TaskList.Validate(); err != nil {
10677			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
10678		}
10679	}
10680
10681	if invalidParams.Len() > 0 {
10682		return invalidParams
10683	}
10684	return nil
10685}
10686
10687// SetDomain sets the Domain field's value.
10688func (s *PollForDecisionTaskInput) SetDomain(v string) *PollForDecisionTaskInput {
10689	s.Domain = &v
10690	return s
10691}
10692
10693// SetIdentity sets the Identity field's value.
10694func (s *PollForDecisionTaskInput) SetIdentity(v string) *PollForDecisionTaskInput {
10695	s.Identity = &v
10696	return s
10697}
10698
10699// SetMaximumPageSize sets the MaximumPageSize field's value.
10700func (s *PollForDecisionTaskInput) SetMaximumPageSize(v int64) *PollForDecisionTaskInput {
10701	s.MaximumPageSize = &v
10702	return s
10703}
10704
10705// SetNextPageToken sets the NextPageToken field's value.
10706func (s *PollForDecisionTaskInput) SetNextPageToken(v string) *PollForDecisionTaskInput {
10707	s.NextPageToken = &v
10708	return s
10709}
10710
10711// SetReverseOrder sets the ReverseOrder field's value.
10712func (s *PollForDecisionTaskInput) SetReverseOrder(v bool) *PollForDecisionTaskInput {
10713	s.ReverseOrder = &v
10714	return s
10715}
10716
10717// SetTaskList sets the TaskList field's value.
10718func (s *PollForDecisionTaskInput) SetTaskList(v *TaskList) *PollForDecisionTaskInput {
10719	s.TaskList = v
10720	return s
10721}
10722
10723// A structure that represents a decision task. Decision tasks are sent to deciders
10724// in order for them to make decisions.
10725type PollForDecisionTaskOutput struct {
10726	_ struct{} `type:"structure"`
10727
10728	// A paginated list of history events of the workflow execution. The decider
10729	// uses this during the processing of the decision task.
10730	//
10731	// Events is a required field
10732	Events []*HistoryEvent `locationName:"events" type:"list" required:"true"`
10733
10734	// If a NextPageToken was returned by a previous call, there are more results
10735	// available. To retrieve the next page of results, make the call again using
10736	// the returned token in nextPageToken. Keep all other arguments unchanged.
10737	//
10738	// The configured maximumPageSize determines how many results can be returned
10739	// in a single call.
10740	NextPageToken *string `locationName:"nextPageToken" type:"string"`
10741
10742	// The ID of the DecisionTaskStarted event of the previous decision task of
10743	// this workflow execution that was processed by the decider. This can be used
10744	// to determine the events in the history new since the last decision task received
10745	// by the decider.
10746	PreviousStartedEventId *int64 `locationName:"previousStartedEventId" type:"long"`
10747
10748	// The ID of the DecisionTaskStarted event recorded in the history.
10749	//
10750	// StartedEventId is a required field
10751	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
10752
10753	// The opaque string used as a handle on the task. This token is used by workers
10754	// to communicate progress and response information back to the system about
10755	// the task.
10756	//
10757	// TaskToken is a required field
10758	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
10759
10760	// The workflow execution for which this decision task was created.
10761	//
10762	// WorkflowExecution is a required field
10763	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
10764
10765	// The type of the workflow execution for which this decision task was created.
10766	//
10767	// WorkflowType is a required field
10768	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
10769}
10770
10771// String returns the string representation
10772func (s PollForDecisionTaskOutput) String() string {
10773	return awsutil.Prettify(s)
10774}
10775
10776// GoString returns the string representation
10777func (s PollForDecisionTaskOutput) GoString() string {
10778	return s.String()
10779}
10780
10781// SetEvents sets the Events field's value.
10782func (s *PollForDecisionTaskOutput) SetEvents(v []*HistoryEvent) *PollForDecisionTaskOutput {
10783	s.Events = v
10784	return s
10785}
10786
10787// SetNextPageToken sets the NextPageToken field's value.
10788func (s *PollForDecisionTaskOutput) SetNextPageToken(v string) *PollForDecisionTaskOutput {
10789	s.NextPageToken = &v
10790	return s
10791}
10792
10793// SetPreviousStartedEventId sets the PreviousStartedEventId field's value.
10794func (s *PollForDecisionTaskOutput) SetPreviousStartedEventId(v int64) *PollForDecisionTaskOutput {
10795	s.PreviousStartedEventId = &v
10796	return s
10797}
10798
10799// SetStartedEventId sets the StartedEventId field's value.
10800func (s *PollForDecisionTaskOutput) SetStartedEventId(v int64) *PollForDecisionTaskOutput {
10801	s.StartedEventId = &v
10802	return s
10803}
10804
10805// SetTaskToken sets the TaskToken field's value.
10806func (s *PollForDecisionTaskOutput) SetTaskToken(v string) *PollForDecisionTaskOutput {
10807	s.TaskToken = &v
10808	return s
10809}
10810
10811// SetWorkflowExecution sets the WorkflowExecution field's value.
10812func (s *PollForDecisionTaskOutput) SetWorkflowExecution(v *WorkflowExecution) *PollForDecisionTaskOutput {
10813	s.WorkflowExecution = v
10814	return s
10815}
10816
10817// SetWorkflowType sets the WorkflowType field's value.
10818func (s *PollForDecisionTaskOutput) SetWorkflowType(v *WorkflowType) *PollForDecisionTaskOutput {
10819	s.WorkflowType = v
10820	return s
10821}
10822
10823type RecordActivityTaskHeartbeatInput struct {
10824	_ struct{} `type:"structure"`
10825
10826	// If specified, contains details about the progress of the task.
10827	Details *string `locationName:"details" type:"string"`
10828
10829	// The taskToken of the ActivityTask.
10830	//
10831	// taskToken is generated by the service and should be treated as an opaque
10832	// value. If the task is passed to another process, its taskToken must also
10833	// be passed. This enables it to provide its progress and respond with results.
10834	//
10835	// TaskToken is a required field
10836	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
10837}
10838
10839// String returns the string representation
10840func (s RecordActivityTaskHeartbeatInput) String() string {
10841	return awsutil.Prettify(s)
10842}
10843
10844// GoString returns the string representation
10845func (s RecordActivityTaskHeartbeatInput) GoString() string {
10846	return s.String()
10847}
10848
10849// Validate inspects the fields of the type to determine if they are valid.
10850func (s *RecordActivityTaskHeartbeatInput) Validate() error {
10851	invalidParams := request.ErrInvalidParams{Context: "RecordActivityTaskHeartbeatInput"}
10852	if s.TaskToken == nil {
10853		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
10854	}
10855	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
10856		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
10857	}
10858
10859	if invalidParams.Len() > 0 {
10860		return invalidParams
10861	}
10862	return nil
10863}
10864
10865// SetDetails sets the Details field's value.
10866func (s *RecordActivityTaskHeartbeatInput) SetDetails(v string) *RecordActivityTaskHeartbeatInput {
10867	s.Details = &v
10868	return s
10869}
10870
10871// SetTaskToken sets the TaskToken field's value.
10872func (s *RecordActivityTaskHeartbeatInput) SetTaskToken(v string) *RecordActivityTaskHeartbeatInput {
10873	s.TaskToken = &v
10874	return s
10875}
10876
10877// Status information about an activity task.
10878type RecordActivityTaskHeartbeatOutput struct {
10879	_ struct{} `type:"structure"`
10880
10881	// Set to true if cancellation of the task is requested.
10882	//
10883	// CancelRequested is a required field
10884	CancelRequested *bool `locationName:"cancelRequested" type:"boolean" required:"true"`
10885}
10886
10887// String returns the string representation
10888func (s RecordActivityTaskHeartbeatOutput) String() string {
10889	return awsutil.Prettify(s)
10890}
10891
10892// GoString returns the string representation
10893func (s RecordActivityTaskHeartbeatOutput) GoString() string {
10894	return s.String()
10895}
10896
10897// SetCancelRequested sets the CancelRequested field's value.
10898func (s *RecordActivityTaskHeartbeatOutput) SetCancelRequested(v bool) *RecordActivityTaskHeartbeatOutput {
10899	s.CancelRequested = &v
10900	return s
10901}
10902
10903// Provides the details of the RecordMarker decision.
10904//
10905// Access Control
10906//
10907// You can use IAM policies to control this decision's access to Amazon SWF
10908// resources as follows:
10909//
10910//    * Use a Resource element with the domain name to limit the action to only
10911//    specified domains.
10912//
10913//    * Use an Action element to allow or deny permission to call this action.
10914//
10915//    * You cannot use an IAM policy to constrain this action's parameters.
10916//
10917// If the caller doesn't have sufficient permissions to invoke the action, or
10918// the parameter values fall outside the specified constraints, the action fails.
10919// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
10920// For details and example IAM policies, see Using IAM to Manage Access to Amazon
10921// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
10922// in the Amazon SWF Developer Guide.
10923type RecordMarkerDecisionAttributes struct {
10924	_ struct{} `type:"structure"`
10925
10926	// The details of the marker.
10927	Details *string `locationName:"details" type:"string"`
10928
10929	// The name of the marker.
10930	//
10931	// MarkerName is a required field
10932	MarkerName *string `locationName:"markerName" min:"1" type:"string" required:"true"`
10933}
10934
10935// String returns the string representation
10936func (s RecordMarkerDecisionAttributes) String() string {
10937	return awsutil.Prettify(s)
10938}
10939
10940// GoString returns the string representation
10941func (s RecordMarkerDecisionAttributes) GoString() string {
10942	return s.String()
10943}
10944
10945// Validate inspects the fields of the type to determine if they are valid.
10946func (s *RecordMarkerDecisionAttributes) Validate() error {
10947	invalidParams := request.ErrInvalidParams{Context: "RecordMarkerDecisionAttributes"}
10948	if s.MarkerName == nil {
10949		invalidParams.Add(request.NewErrParamRequired("MarkerName"))
10950	}
10951	if s.MarkerName != nil && len(*s.MarkerName) < 1 {
10952		invalidParams.Add(request.NewErrParamMinLen("MarkerName", 1))
10953	}
10954
10955	if invalidParams.Len() > 0 {
10956		return invalidParams
10957	}
10958	return nil
10959}
10960
10961// SetDetails sets the Details field's value.
10962func (s *RecordMarkerDecisionAttributes) SetDetails(v string) *RecordMarkerDecisionAttributes {
10963	s.Details = &v
10964	return s
10965}
10966
10967// SetMarkerName sets the MarkerName field's value.
10968func (s *RecordMarkerDecisionAttributes) SetMarkerName(v string) *RecordMarkerDecisionAttributes {
10969	s.MarkerName = &v
10970	return s
10971}
10972
10973// Provides the details of the RecordMarkerFailed event.
10974type RecordMarkerFailedEventAttributes struct {
10975	_ struct{} `type:"structure"`
10976
10977	// The cause of the failure. This information is generated by the system and
10978	// can be useful for diagnostic purposes.
10979	//
10980	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
10981	// lacked sufficient permissions. For details and example IAM policies, see
10982	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
10983	// in the Amazon SWF Developer Guide.
10984	//
10985	// Cause is a required field
10986	Cause *string `locationName:"cause" type:"string" required:"true" enum:"RecordMarkerFailedCause"`
10987
10988	// The ID of the DecisionTaskCompleted event corresponding to the decision task
10989	// that resulted in the RecordMarkerFailed decision for this cancellation request.
10990	// This information can be useful for diagnosing problems by tracing back the
10991	// chain of events leading up to this event.
10992	//
10993	// DecisionTaskCompletedEventId is a required field
10994	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
10995
10996	// The marker's name.
10997	//
10998	// MarkerName is a required field
10999	MarkerName *string `locationName:"markerName" min:"1" type:"string" required:"true"`
11000}
11001
11002// String returns the string representation
11003func (s RecordMarkerFailedEventAttributes) String() string {
11004	return awsutil.Prettify(s)
11005}
11006
11007// GoString returns the string representation
11008func (s RecordMarkerFailedEventAttributes) GoString() string {
11009	return s.String()
11010}
11011
11012// SetCause sets the Cause field's value.
11013func (s *RecordMarkerFailedEventAttributes) SetCause(v string) *RecordMarkerFailedEventAttributes {
11014	s.Cause = &v
11015	return s
11016}
11017
11018// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
11019func (s *RecordMarkerFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RecordMarkerFailedEventAttributes {
11020	s.DecisionTaskCompletedEventId = &v
11021	return s
11022}
11023
11024// SetMarkerName sets the MarkerName field's value.
11025func (s *RecordMarkerFailedEventAttributes) SetMarkerName(v string) *RecordMarkerFailedEventAttributes {
11026	s.MarkerName = &v
11027	return s
11028}
11029
11030type RegisterActivityTypeInput struct {
11031	_ struct{} `type:"structure"`
11032
11033	// If set, specifies the default maximum time before which a worker processing
11034	// a task of this type must report progress by calling RecordActivityTaskHeartbeat.
11035	// If the timeout is exceeded, the activity task is automatically timed out.
11036	// This default can be overridden when scheduling an activity task using the
11037	// ScheduleActivityTask Decision. If the activity worker subsequently attempts
11038	// to record a heartbeat or returns a result, the activity worker receives an
11039	// UnknownResource fault. In this case, Amazon SWF no longer considers the activity
11040	// task to be valid; the activity worker should clean up the activity task.
11041	//
11042	// The duration is specified in seconds, an integer greater than or equal to
11043	// 0. You can use NONE to specify unlimited duration.
11044	DefaultTaskHeartbeatTimeout *string `locationName:"defaultTaskHeartbeatTimeout" type:"string"`
11045
11046	// If set, specifies the default task list to use for scheduling tasks of this
11047	// activity type. This default task list is used if a task list isn't provided
11048	// when a task is scheduled through the ScheduleActivityTask Decision.
11049	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
11050
11051	// The default task priority to assign to the activity type. If not assigned,
11052	// then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE
11053	// (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate
11054	// higher priority.
11055	//
11056	// For more information about setting task priority, see Setting Task Priority
11057	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
11058	// in the in the Amazon SWF Developer Guide..
11059	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
11060
11061	// If set, specifies the default maximum duration for a task of this activity
11062	// type. This default can be overridden when scheduling an activity task using
11063	// the ScheduleActivityTask Decision.
11064	//
11065	// The duration is specified in seconds, an integer greater than or equal to
11066	// 0. You can use NONE to specify unlimited duration.
11067	DefaultTaskScheduleToCloseTimeout *string `locationName:"defaultTaskScheduleToCloseTimeout" type:"string"`
11068
11069	// If set, specifies the default maximum duration that a task of this activity
11070	// type can wait before being assigned to a worker. This default can be overridden
11071	// when scheduling an activity task using the ScheduleActivityTask Decision.
11072	//
11073	// The duration is specified in seconds, an integer greater than or equal to
11074	// 0. You can use NONE to specify unlimited duration.
11075	DefaultTaskScheduleToStartTimeout *string `locationName:"defaultTaskScheduleToStartTimeout" type:"string"`
11076
11077	// If set, specifies the default maximum duration that a worker can take to
11078	// process tasks of this activity type. This default can be overridden when
11079	// scheduling an activity task using the ScheduleActivityTask Decision.
11080	//
11081	// The duration is specified in seconds, an integer greater than or equal to
11082	// 0. You can use NONE to specify unlimited duration.
11083	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
11084
11085	// A textual description of the activity type.
11086	Description *string `locationName:"description" type:"string"`
11087
11088	// The name of the domain in which this activity is to be registered.
11089	//
11090	// Domain is a required field
11091	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
11092
11093	// The name of the activity type within the domain.
11094	//
11095	// The specified string must not start or end with whitespace. It must not contain
11096	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
11097	// | \u007f-\u009f). Also, it must not be the literal string arn.
11098	//
11099	// Name is a required field
11100	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
11101
11102	// The version of the activity type.
11103	//
11104	// The activity type consists of the name and version, the combination of which
11105	// must be unique within the domain.
11106	//
11107	// The specified string must not start or end with whitespace. It must not contain
11108	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
11109	// | \u007f-\u009f). Also, it must not be the literal string arn.
11110	//
11111	// Version is a required field
11112	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
11113}
11114
11115// String returns the string representation
11116func (s RegisterActivityTypeInput) String() string {
11117	return awsutil.Prettify(s)
11118}
11119
11120// GoString returns the string representation
11121func (s RegisterActivityTypeInput) GoString() string {
11122	return s.String()
11123}
11124
11125// Validate inspects the fields of the type to determine if they are valid.
11126func (s *RegisterActivityTypeInput) Validate() error {
11127	invalidParams := request.ErrInvalidParams{Context: "RegisterActivityTypeInput"}
11128	if s.Domain == nil {
11129		invalidParams.Add(request.NewErrParamRequired("Domain"))
11130	}
11131	if s.Domain != nil && len(*s.Domain) < 1 {
11132		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
11133	}
11134	if s.Name == nil {
11135		invalidParams.Add(request.NewErrParamRequired("Name"))
11136	}
11137	if s.Name != nil && len(*s.Name) < 1 {
11138		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11139	}
11140	if s.Version == nil {
11141		invalidParams.Add(request.NewErrParamRequired("Version"))
11142	}
11143	if s.Version != nil && len(*s.Version) < 1 {
11144		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
11145	}
11146	if s.DefaultTaskList != nil {
11147		if err := s.DefaultTaskList.Validate(); err != nil {
11148			invalidParams.AddNested("DefaultTaskList", err.(request.ErrInvalidParams))
11149		}
11150	}
11151
11152	if invalidParams.Len() > 0 {
11153		return invalidParams
11154	}
11155	return nil
11156}
11157
11158// SetDefaultTaskHeartbeatTimeout sets the DefaultTaskHeartbeatTimeout field's value.
11159func (s *RegisterActivityTypeInput) SetDefaultTaskHeartbeatTimeout(v string) *RegisterActivityTypeInput {
11160	s.DefaultTaskHeartbeatTimeout = &v
11161	return s
11162}
11163
11164// SetDefaultTaskList sets the DefaultTaskList field's value.
11165func (s *RegisterActivityTypeInput) SetDefaultTaskList(v *TaskList) *RegisterActivityTypeInput {
11166	s.DefaultTaskList = v
11167	return s
11168}
11169
11170// SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
11171func (s *RegisterActivityTypeInput) SetDefaultTaskPriority(v string) *RegisterActivityTypeInput {
11172	s.DefaultTaskPriority = &v
11173	return s
11174}
11175
11176// SetDefaultTaskScheduleToCloseTimeout sets the DefaultTaskScheduleToCloseTimeout field's value.
11177func (s *RegisterActivityTypeInput) SetDefaultTaskScheduleToCloseTimeout(v string) *RegisterActivityTypeInput {
11178	s.DefaultTaskScheduleToCloseTimeout = &v
11179	return s
11180}
11181
11182// SetDefaultTaskScheduleToStartTimeout sets the DefaultTaskScheduleToStartTimeout field's value.
11183func (s *RegisterActivityTypeInput) SetDefaultTaskScheduleToStartTimeout(v string) *RegisterActivityTypeInput {
11184	s.DefaultTaskScheduleToStartTimeout = &v
11185	return s
11186}
11187
11188// SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
11189func (s *RegisterActivityTypeInput) SetDefaultTaskStartToCloseTimeout(v string) *RegisterActivityTypeInput {
11190	s.DefaultTaskStartToCloseTimeout = &v
11191	return s
11192}
11193
11194// SetDescription sets the Description field's value.
11195func (s *RegisterActivityTypeInput) SetDescription(v string) *RegisterActivityTypeInput {
11196	s.Description = &v
11197	return s
11198}
11199
11200// SetDomain sets the Domain field's value.
11201func (s *RegisterActivityTypeInput) SetDomain(v string) *RegisterActivityTypeInput {
11202	s.Domain = &v
11203	return s
11204}
11205
11206// SetName sets the Name field's value.
11207func (s *RegisterActivityTypeInput) SetName(v string) *RegisterActivityTypeInput {
11208	s.Name = &v
11209	return s
11210}
11211
11212// SetVersion sets the Version field's value.
11213func (s *RegisterActivityTypeInput) SetVersion(v string) *RegisterActivityTypeInput {
11214	s.Version = &v
11215	return s
11216}
11217
11218type RegisterActivityTypeOutput struct {
11219	_ struct{} `type:"structure"`
11220}
11221
11222// String returns the string representation
11223func (s RegisterActivityTypeOutput) String() string {
11224	return awsutil.Prettify(s)
11225}
11226
11227// GoString returns the string representation
11228func (s RegisterActivityTypeOutput) GoString() string {
11229	return s.String()
11230}
11231
11232type RegisterDomainInput struct {
11233	_ struct{} `type:"structure"`
11234
11235	// A text description of the domain.
11236	Description *string `locationName:"description" type:"string"`
11237
11238	// Name of the domain to register. The name must be unique in the region that
11239	// the domain is registered in.
11240	//
11241	// The specified string must not start or end with whitespace. It must not contain
11242	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
11243	// | \u007f-\u009f). Also, it must not be the literal string arn.
11244	//
11245	// Name is a required field
11246	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
11247
11248	// Tags to be added when registering a domain.
11249	//
11250	// Tags may only contain unicode letters, digits, whitespace, or these symbols:
11251	// _ . : / = + - @.
11252	Tags []*ResourceTag `locationName:"tags" type:"list"`
11253
11254	// The duration (in days) that records and histories of workflow executions
11255	// on the domain should be kept by the service. After the retention period,
11256	// the workflow execution isn't available in the results of visibility calls.
11257	//
11258	// If you pass the value NONE or 0 (zero), then the workflow execution history
11259	// isn't retained. As soon as the workflow execution completes, the execution
11260	// record and its history are deleted.
11261	//
11262	// The maximum workflow execution retention period is 90 days. For more information
11263	// about Amazon SWF service limits, see: Amazon SWF Service Limits (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-limits.html)
11264	// in the Amazon SWF Developer Guide.
11265	//
11266	// WorkflowExecutionRetentionPeriodInDays is a required field
11267	WorkflowExecutionRetentionPeriodInDays *string `locationName:"workflowExecutionRetentionPeriodInDays" min:"1" type:"string" required:"true"`
11268}
11269
11270// String returns the string representation
11271func (s RegisterDomainInput) String() string {
11272	return awsutil.Prettify(s)
11273}
11274
11275// GoString returns the string representation
11276func (s RegisterDomainInput) GoString() string {
11277	return s.String()
11278}
11279
11280// Validate inspects the fields of the type to determine if they are valid.
11281func (s *RegisterDomainInput) Validate() error {
11282	invalidParams := request.ErrInvalidParams{Context: "RegisterDomainInput"}
11283	if s.Name == nil {
11284		invalidParams.Add(request.NewErrParamRequired("Name"))
11285	}
11286	if s.Name != nil && len(*s.Name) < 1 {
11287		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11288	}
11289	if s.WorkflowExecutionRetentionPeriodInDays == nil {
11290		invalidParams.Add(request.NewErrParamRequired("WorkflowExecutionRetentionPeriodInDays"))
11291	}
11292	if s.WorkflowExecutionRetentionPeriodInDays != nil && len(*s.WorkflowExecutionRetentionPeriodInDays) < 1 {
11293		invalidParams.Add(request.NewErrParamMinLen("WorkflowExecutionRetentionPeriodInDays", 1))
11294	}
11295	if s.Tags != nil {
11296		for i, v := range s.Tags {
11297			if v == nil {
11298				continue
11299			}
11300			if err := v.Validate(); err != nil {
11301				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
11302			}
11303		}
11304	}
11305
11306	if invalidParams.Len() > 0 {
11307		return invalidParams
11308	}
11309	return nil
11310}
11311
11312// SetDescription sets the Description field's value.
11313func (s *RegisterDomainInput) SetDescription(v string) *RegisterDomainInput {
11314	s.Description = &v
11315	return s
11316}
11317
11318// SetName sets the Name field's value.
11319func (s *RegisterDomainInput) SetName(v string) *RegisterDomainInput {
11320	s.Name = &v
11321	return s
11322}
11323
11324// SetTags sets the Tags field's value.
11325func (s *RegisterDomainInput) SetTags(v []*ResourceTag) *RegisterDomainInput {
11326	s.Tags = v
11327	return s
11328}
11329
11330// SetWorkflowExecutionRetentionPeriodInDays sets the WorkflowExecutionRetentionPeriodInDays field's value.
11331func (s *RegisterDomainInput) SetWorkflowExecutionRetentionPeriodInDays(v string) *RegisterDomainInput {
11332	s.WorkflowExecutionRetentionPeriodInDays = &v
11333	return s
11334}
11335
11336type RegisterDomainOutput struct {
11337	_ struct{} `type:"structure"`
11338}
11339
11340// String returns the string representation
11341func (s RegisterDomainOutput) String() string {
11342	return awsutil.Prettify(s)
11343}
11344
11345// GoString returns the string representation
11346func (s RegisterDomainOutput) GoString() string {
11347	return s.String()
11348}
11349
11350type RegisterWorkflowTypeInput struct {
11351	_ struct{} `type:"structure"`
11352
11353	// If set, specifies the default policy to use for the child workflow executions
11354	// when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution
11355	// action explicitly or due to an expired timeout. This default can be overridden
11356	// when starting a workflow execution using the StartWorkflowExecution action
11357	// or the StartChildWorkflowExecution Decision.
11358	//
11359	// The supported child policies are:
11360	//
11361	//    * TERMINATE – The child executions are terminated.
11362	//
11363	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
11364	//    by recording a WorkflowExecutionCancelRequested event in its history.
11365	//    It is up to the decider to take appropriate actions when it receives an
11366	//    execution history with this event.
11367	//
11368	//    * ABANDON – No action is taken. The child executions continue to run.
11369	DefaultChildPolicy *string `locationName:"defaultChildPolicy" type:"string" enum:"ChildPolicy"`
11370
11371	// If set, specifies the default maximum duration for executions of this workflow
11372	// type. You can override this default when starting an execution through the
11373	// StartWorkflowExecution Action or StartChildWorkflowExecution Decision.
11374	//
11375	// The duration is specified in seconds; an integer greater than or equal to
11376	// 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot
11377	// specify a value of "NONE" for defaultExecutionStartToCloseTimeout; there
11378	// is a one-year max limit on the time that a workflow execution can run. Exceeding
11379	// this limit always causes the workflow execution to time out.
11380	DefaultExecutionStartToCloseTimeout *string `locationName:"defaultExecutionStartToCloseTimeout" type:"string"`
11381
11382	// The default IAM role attached to this workflow type.
11383	//
11384	// Executions of this workflow type need IAM roles to invoke Lambda functions.
11385	// If you don't specify an IAM role when you start this workflow type, the default
11386	// Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
11387	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
11388	// in the Amazon SWF Developer Guide.
11389	DefaultLambdaRole *string `locationName:"defaultLambdaRole" min:"1" type:"string"`
11390
11391	// If set, specifies the default task list to use for scheduling decision tasks
11392	// for executions of this workflow type. This default is used only if a task
11393	// list isn't provided when starting the execution through the StartWorkflowExecution
11394	// Action or StartChildWorkflowExecution Decision.
11395	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
11396
11397	// The default task priority to assign to the workflow type. If not assigned,
11398	// then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE
11399	// (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate
11400	// higher priority.
11401	//
11402	// For more information about setting task priority, see Setting Task Priority
11403	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
11404	// in the Amazon SWF Developer Guide.
11405	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
11406
11407	// If set, specifies the default maximum duration of decision tasks for this
11408	// workflow type. This default can be overridden when starting a workflow execution
11409	// using the StartWorkflowExecution action or the StartChildWorkflowExecution
11410	// Decision.
11411	//
11412	// The duration is specified in seconds, an integer greater than or equal to
11413	// 0. You can use NONE to specify unlimited duration.
11414	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
11415
11416	// Textual description of the workflow type.
11417	Description *string `locationName:"description" type:"string"`
11418
11419	// The name of the domain in which to register the workflow type.
11420	//
11421	// Domain is a required field
11422	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
11423
11424	// The name of the workflow type.
11425	//
11426	// The specified string must not start or end with whitespace. It must not contain
11427	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
11428	// | \u007f-\u009f). Also, it must not be the literal string arn.
11429	//
11430	// Name is a required field
11431	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
11432
11433	// The version of the workflow type.
11434	//
11435	// The workflow type consists of the name and version, the combination of which
11436	// must be unique within the domain. To get a list of all currently registered
11437	// workflow types, use the ListWorkflowTypes action.
11438	//
11439	// The specified string must not start or end with whitespace. It must not contain
11440	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
11441	// | \u007f-\u009f). Also, it must not be the literal string arn.
11442	//
11443	// Version is a required field
11444	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
11445}
11446
11447// String returns the string representation
11448func (s RegisterWorkflowTypeInput) String() string {
11449	return awsutil.Prettify(s)
11450}
11451
11452// GoString returns the string representation
11453func (s RegisterWorkflowTypeInput) GoString() string {
11454	return s.String()
11455}
11456
11457// Validate inspects the fields of the type to determine if they are valid.
11458func (s *RegisterWorkflowTypeInput) Validate() error {
11459	invalidParams := request.ErrInvalidParams{Context: "RegisterWorkflowTypeInput"}
11460	if s.DefaultLambdaRole != nil && len(*s.DefaultLambdaRole) < 1 {
11461		invalidParams.Add(request.NewErrParamMinLen("DefaultLambdaRole", 1))
11462	}
11463	if s.Domain == nil {
11464		invalidParams.Add(request.NewErrParamRequired("Domain"))
11465	}
11466	if s.Domain != nil && len(*s.Domain) < 1 {
11467		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
11468	}
11469	if s.Name == nil {
11470		invalidParams.Add(request.NewErrParamRequired("Name"))
11471	}
11472	if s.Name != nil && len(*s.Name) < 1 {
11473		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11474	}
11475	if s.Version == nil {
11476		invalidParams.Add(request.NewErrParamRequired("Version"))
11477	}
11478	if s.Version != nil && len(*s.Version) < 1 {
11479		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
11480	}
11481	if s.DefaultTaskList != nil {
11482		if err := s.DefaultTaskList.Validate(); err != nil {
11483			invalidParams.AddNested("DefaultTaskList", err.(request.ErrInvalidParams))
11484		}
11485	}
11486
11487	if invalidParams.Len() > 0 {
11488		return invalidParams
11489	}
11490	return nil
11491}
11492
11493// SetDefaultChildPolicy sets the DefaultChildPolicy field's value.
11494func (s *RegisterWorkflowTypeInput) SetDefaultChildPolicy(v string) *RegisterWorkflowTypeInput {
11495	s.DefaultChildPolicy = &v
11496	return s
11497}
11498
11499// SetDefaultExecutionStartToCloseTimeout sets the DefaultExecutionStartToCloseTimeout field's value.
11500func (s *RegisterWorkflowTypeInput) SetDefaultExecutionStartToCloseTimeout(v string) *RegisterWorkflowTypeInput {
11501	s.DefaultExecutionStartToCloseTimeout = &v
11502	return s
11503}
11504
11505// SetDefaultLambdaRole sets the DefaultLambdaRole field's value.
11506func (s *RegisterWorkflowTypeInput) SetDefaultLambdaRole(v string) *RegisterWorkflowTypeInput {
11507	s.DefaultLambdaRole = &v
11508	return s
11509}
11510
11511// SetDefaultTaskList sets the DefaultTaskList field's value.
11512func (s *RegisterWorkflowTypeInput) SetDefaultTaskList(v *TaskList) *RegisterWorkflowTypeInput {
11513	s.DefaultTaskList = v
11514	return s
11515}
11516
11517// SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
11518func (s *RegisterWorkflowTypeInput) SetDefaultTaskPriority(v string) *RegisterWorkflowTypeInput {
11519	s.DefaultTaskPriority = &v
11520	return s
11521}
11522
11523// SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
11524func (s *RegisterWorkflowTypeInput) SetDefaultTaskStartToCloseTimeout(v string) *RegisterWorkflowTypeInput {
11525	s.DefaultTaskStartToCloseTimeout = &v
11526	return s
11527}
11528
11529// SetDescription sets the Description field's value.
11530func (s *RegisterWorkflowTypeInput) SetDescription(v string) *RegisterWorkflowTypeInput {
11531	s.Description = &v
11532	return s
11533}
11534
11535// SetDomain sets the Domain field's value.
11536func (s *RegisterWorkflowTypeInput) SetDomain(v string) *RegisterWorkflowTypeInput {
11537	s.Domain = &v
11538	return s
11539}
11540
11541// SetName sets the Name field's value.
11542func (s *RegisterWorkflowTypeInput) SetName(v string) *RegisterWorkflowTypeInput {
11543	s.Name = &v
11544	return s
11545}
11546
11547// SetVersion sets the Version field's value.
11548func (s *RegisterWorkflowTypeInput) SetVersion(v string) *RegisterWorkflowTypeInput {
11549	s.Version = &v
11550	return s
11551}
11552
11553type RegisterWorkflowTypeOutput struct {
11554	_ struct{} `type:"structure"`
11555}
11556
11557// String returns the string representation
11558func (s RegisterWorkflowTypeOutput) String() string {
11559	return awsutil.Prettify(s)
11560}
11561
11562// GoString returns the string representation
11563func (s RegisterWorkflowTypeOutput) GoString() string {
11564	return s.String()
11565}
11566
11567// Provides the details of the RequestCancelActivityTask decision.
11568//
11569// Access Control
11570//
11571// You can use IAM policies to control this decision's access to Amazon SWF
11572// resources as follows:
11573//
11574//    * Use a Resource element with the domain name to limit the action to only
11575//    specified domains.
11576//
11577//    * Use an Action element to allow or deny permission to call this action.
11578//
11579//    * You cannot use an IAM policy to constrain this action's parameters.
11580//
11581// If the caller doesn't have sufficient permissions to invoke the action, or
11582// the parameter values fall outside the specified constraints, the action fails.
11583// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
11584// For details and example IAM policies, see Using IAM to Manage Access to Amazon
11585// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
11586// in the Amazon SWF Developer Guide.
11587type RequestCancelActivityTaskDecisionAttributes struct {
11588	_ struct{} `type:"structure"`
11589
11590	// The activityId of the activity task to be canceled.
11591	//
11592	// ActivityId is a required field
11593	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
11594}
11595
11596// String returns the string representation
11597func (s RequestCancelActivityTaskDecisionAttributes) String() string {
11598	return awsutil.Prettify(s)
11599}
11600
11601// GoString returns the string representation
11602func (s RequestCancelActivityTaskDecisionAttributes) GoString() string {
11603	return s.String()
11604}
11605
11606// Validate inspects the fields of the type to determine if they are valid.
11607func (s *RequestCancelActivityTaskDecisionAttributes) Validate() error {
11608	invalidParams := request.ErrInvalidParams{Context: "RequestCancelActivityTaskDecisionAttributes"}
11609	if s.ActivityId == nil {
11610		invalidParams.Add(request.NewErrParamRequired("ActivityId"))
11611	}
11612	if s.ActivityId != nil && len(*s.ActivityId) < 1 {
11613		invalidParams.Add(request.NewErrParamMinLen("ActivityId", 1))
11614	}
11615
11616	if invalidParams.Len() > 0 {
11617		return invalidParams
11618	}
11619	return nil
11620}
11621
11622// SetActivityId sets the ActivityId field's value.
11623func (s *RequestCancelActivityTaskDecisionAttributes) SetActivityId(v string) *RequestCancelActivityTaskDecisionAttributes {
11624	s.ActivityId = &v
11625	return s
11626}
11627
11628// Provides the details of the RequestCancelActivityTaskFailed event.
11629type RequestCancelActivityTaskFailedEventAttributes struct {
11630	_ struct{} `type:"structure"`
11631
11632	// The activityId provided in the RequestCancelActivityTask decision that failed.
11633	//
11634	// ActivityId is a required field
11635	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
11636
11637	// The cause of the failure. This information is generated by the system and
11638	// can be useful for diagnostic purposes.
11639	//
11640	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
11641	// lacked sufficient permissions. For details and example IAM policies, see
11642	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
11643	// in the Amazon SWF Developer Guide.
11644	//
11645	// Cause is a required field
11646	Cause *string `locationName:"cause" type:"string" required:"true" enum:"RequestCancelActivityTaskFailedCause"`
11647
11648	// The ID of the DecisionTaskCompleted event corresponding to the decision task
11649	// that resulted in the RequestCancelActivityTask decision for this cancellation
11650	// request. This information can be useful for diagnosing problems by tracing
11651	// back the chain of events leading up to this event.
11652	//
11653	// DecisionTaskCompletedEventId is a required field
11654	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
11655}
11656
11657// String returns the string representation
11658func (s RequestCancelActivityTaskFailedEventAttributes) String() string {
11659	return awsutil.Prettify(s)
11660}
11661
11662// GoString returns the string representation
11663func (s RequestCancelActivityTaskFailedEventAttributes) GoString() string {
11664	return s.String()
11665}
11666
11667// SetActivityId sets the ActivityId field's value.
11668func (s *RequestCancelActivityTaskFailedEventAttributes) SetActivityId(v string) *RequestCancelActivityTaskFailedEventAttributes {
11669	s.ActivityId = &v
11670	return s
11671}
11672
11673// SetCause sets the Cause field's value.
11674func (s *RequestCancelActivityTaskFailedEventAttributes) SetCause(v string) *RequestCancelActivityTaskFailedEventAttributes {
11675	s.Cause = &v
11676	return s
11677}
11678
11679// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
11680func (s *RequestCancelActivityTaskFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RequestCancelActivityTaskFailedEventAttributes {
11681	s.DecisionTaskCompletedEventId = &v
11682	return s
11683}
11684
11685// Provides the details of the RequestCancelExternalWorkflowExecution decision.
11686//
11687// Access Control
11688//
11689// You can use IAM policies to control this decision's access to Amazon SWF
11690// resources as follows:
11691//
11692//    * Use a Resource element with the domain name to limit the action to only
11693//    specified domains.
11694//
11695//    * Use an Action element to allow or deny permission to call this action.
11696//
11697//    * You cannot use an IAM policy to constrain this action's parameters.
11698//
11699// If the caller doesn't have sufficient permissions to invoke the action, or
11700// the parameter values fall outside the specified constraints, the action fails.
11701// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
11702// For details and example IAM policies, see Using IAM to Manage Access to Amazon
11703// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
11704// in the Amazon SWF Developer Guide.
11705type RequestCancelExternalWorkflowExecutionDecisionAttributes struct {
11706	_ struct{} `type:"structure"`
11707
11708	// The data attached to the event that can be used by the decider in subsequent
11709	// workflow tasks.
11710	Control *string `locationName:"control" type:"string"`
11711
11712	// The runId of the external workflow execution to cancel.
11713	RunId *string `locationName:"runId" type:"string"`
11714
11715	// The workflowId of the external workflow execution to cancel.
11716	//
11717	// WorkflowId is a required field
11718	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
11719}
11720
11721// String returns the string representation
11722func (s RequestCancelExternalWorkflowExecutionDecisionAttributes) String() string {
11723	return awsutil.Prettify(s)
11724}
11725
11726// GoString returns the string representation
11727func (s RequestCancelExternalWorkflowExecutionDecisionAttributes) GoString() string {
11728	return s.String()
11729}
11730
11731// Validate inspects the fields of the type to determine if they are valid.
11732func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) Validate() error {
11733	invalidParams := request.ErrInvalidParams{Context: "RequestCancelExternalWorkflowExecutionDecisionAttributes"}
11734	if s.WorkflowId == nil {
11735		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
11736	}
11737	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
11738		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
11739	}
11740
11741	if invalidParams.Len() > 0 {
11742		return invalidParams
11743	}
11744	return nil
11745}
11746
11747// SetControl sets the Control field's value.
11748func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) SetControl(v string) *RequestCancelExternalWorkflowExecutionDecisionAttributes {
11749	s.Control = &v
11750	return s
11751}
11752
11753// SetRunId sets the RunId field's value.
11754func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) SetRunId(v string) *RequestCancelExternalWorkflowExecutionDecisionAttributes {
11755	s.RunId = &v
11756	return s
11757}
11758
11759// SetWorkflowId sets the WorkflowId field's value.
11760func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) SetWorkflowId(v string) *RequestCancelExternalWorkflowExecutionDecisionAttributes {
11761	s.WorkflowId = &v
11762	return s
11763}
11764
11765// Provides the details of the RequestCancelExternalWorkflowExecutionFailed
11766// event.
11767type RequestCancelExternalWorkflowExecutionFailedEventAttributes struct {
11768	_ struct{} `type:"structure"`
11769
11770	// The cause of the failure. This information is generated by the system and
11771	// can be useful for diagnostic purposes.
11772	//
11773	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
11774	// lacked sufficient permissions. For details and example IAM policies, see
11775	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
11776	// in the Amazon SWF Developer Guide.
11777	//
11778	// Cause is a required field
11779	Cause *string `locationName:"cause" type:"string" required:"true" enum:"RequestCancelExternalWorkflowExecutionFailedCause"`
11780
11781	// The data attached to the event that the decider can use in subsequent workflow
11782	// tasks. This data isn't sent to the workflow execution.
11783	Control *string `locationName:"control" type:"string"`
11784
11785	// The ID of the DecisionTaskCompleted event corresponding to the decision task
11786	// that resulted in the RequestCancelExternalWorkflowExecution decision for
11787	// this cancellation request. This information can be useful for diagnosing
11788	// problems by tracing back the chain of events leading up to this event.
11789	//
11790	// DecisionTaskCompletedEventId is a required field
11791	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
11792
11793	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding
11794	// to the RequestCancelExternalWorkflowExecution decision to cancel this external
11795	// workflow execution. This information can be useful for diagnosing problems
11796	// by tracing back the chain of events leading up to this event.
11797	//
11798	// InitiatedEventId is a required field
11799	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
11800
11801	// The runId of the external workflow execution.
11802	RunId *string `locationName:"runId" type:"string"`
11803
11804	// The workflowId of the external workflow to which the cancel request was to
11805	// be delivered.
11806	//
11807	// WorkflowId is a required field
11808	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
11809}
11810
11811// String returns the string representation
11812func (s RequestCancelExternalWorkflowExecutionFailedEventAttributes) String() string {
11813	return awsutil.Prettify(s)
11814}
11815
11816// GoString returns the string representation
11817func (s RequestCancelExternalWorkflowExecutionFailedEventAttributes) GoString() string {
11818	return s.String()
11819}
11820
11821// SetCause sets the Cause field's value.
11822func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetCause(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
11823	s.Cause = &v
11824	return s
11825}
11826
11827// SetControl sets the Control field's value.
11828func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetControl(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
11829	s.Control = &v
11830	return s
11831}
11832
11833// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
11834func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
11835	s.DecisionTaskCompletedEventId = &v
11836	return s
11837}
11838
11839// SetInitiatedEventId sets the InitiatedEventId field's value.
11840func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
11841	s.InitiatedEventId = &v
11842	return s
11843}
11844
11845// SetRunId sets the RunId field's value.
11846func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetRunId(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
11847	s.RunId = &v
11848	return s
11849}
11850
11851// SetWorkflowId sets the WorkflowId field's value.
11852func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetWorkflowId(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
11853	s.WorkflowId = &v
11854	return s
11855}
11856
11857// Provides the details of the RequestCancelExternalWorkflowExecutionInitiated
11858// event.
11859type RequestCancelExternalWorkflowExecutionInitiatedEventAttributes struct {
11860	_ struct{} `type:"structure"`
11861
11862	// Data attached to the event that can be used by the decider in subsequent
11863	// workflow tasks.
11864	Control *string `locationName:"control" type:"string"`
11865
11866	// The ID of the DecisionTaskCompleted event corresponding to the decision task
11867	// that resulted in the RequestCancelExternalWorkflowExecution decision for
11868	// this cancellation request. This information can be useful for diagnosing
11869	// problems by tracing back the chain of events leading up to this event.
11870	//
11871	// DecisionTaskCompletedEventId is a required field
11872	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
11873
11874	// The runId of the external workflow execution to be canceled.
11875	RunId *string `locationName:"runId" type:"string"`
11876
11877	// The workflowId of the external workflow execution to be canceled.
11878	//
11879	// WorkflowId is a required field
11880	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
11881}
11882
11883// String returns the string representation
11884func (s RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) String() string {
11885	return awsutil.Prettify(s)
11886}
11887
11888// GoString returns the string representation
11889func (s RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GoString() string {
11890	return s.String()
11891}
11892
11893// SetControl sets the Control field's value.
11894func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetControl(v string) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
11895	s.Control = &v
11896	return s
11897}
11898
11899// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
11900func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
11901	s.DecisionTaskCompletedEventId = &v
11902	return s
11903}
11904
11905// SetRunId sets the RunId field's value.
11906func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetRunId(v string) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
11907	s.RunId = &v
11908	return s
11909}
11910
11911// SetWorkflowId sets the WorkflowId field's value.
11912func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetWorkflowId(v string) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
11913	s.WorkflowId = &v
11914	return s
11915}
11916
11917type RequestCancelWorkflowExecutionInput struct {
11918	_ struct{} `type:"structure"`
11919
11920	// The name of the domain containing the workflow execution to cancel.
11921	//
11922	// Domain is a required field
11923	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
11924
11925	// The runId of the workflow execution to cancel.
11926	RunId *string `locationName:"runId" type:"string"`
11927
11928	// The workflowId of the workflow execution to cancel.
11929	//
11930	// WorkflowId is a required field
11931	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
11932}
11933
11934// String returns the string representation
11935func (s RequestCancelWorkflowExecutionInput) String() string {
11936	return awsutil.Prettify(s)
11937}
11938
11939// GoString returns the string representation
11940func (s RequestCancelWorkflowExecutionInput) GoString() string {
11941	return s.String()
11942}
11943
11944// Validate inspects the fields of the type to determine if they are valid.
11945func (s *RequestCancelWorkflowExecutionInput) Validate() error {
11946	invalidParams := request.ErrInvalidParams{Context: "RequestCancelWorkflowExecutionInput"}
11947	if s.Domain == nil {
11948		invalidParams.Add(request.NewErrParamRequired("Domain"))
11949	}
11950	if s.Domain != nil && len(*s.Domain) < 1 {
11951		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
11952	}
11953	if s.WorkflowId == nil {
11954		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
11955	}
11956	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
11957		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
11958	}
11959
11960	if invalidParams.Len() > 0 {
11961		return invalidParams
11962	}
11963	return nil
11964}
11965
11966// SetDomain sets the Domain field's value.
11967func (s *RequestCancelWorkflowExecutionInput) SetDomain(v string) *RequestCancelWorkflowExecutionInput {
11968	s.Domain = &v
11969	return s
11970}
11971
11972// SetRunId sets the RunId field's value.
11973func (s *RequestCancelWorkflowExecutionInput) SetRunId(v string) *RequestCancelWorkflowExecutionInput {
11974	s.RunId = &v
11975	return s
11976}
11977
11978// SetWorkflowId sets the WorkflowId field's value.
11979func (s *RequestCancelWorkflowExecutionInput) SetWorkflowId(v string) *RequestCancelWorkflowExecutionInput {
11980	s.WorkflowId = &v
11981	return s
11982}
11983
11984type RequestCancelWorkflowExecutionOutput struct {
11985	_ struct{} `type:"structure"`
11986}
11987
11988// String returns the string representation
11989func (s RequestCancelWorkflowExecutionOutput) String() string {
11990	return awsutil.Prettify(s)
11991}
11992
11993// GoString returns the string representation
11994func (s RequestCancelWorkflowExecutionOutput) GoString() string {
11995	return s.String()
11996}
11997
11998// Tags are key-value pairs that can be associated with Amazon SWF state machines
11999// and activities.
12000//
12001// Tags may only contain unicode letters, digits, whitespace, or these symbols:
12002// _ . : / = + - @.
12003type ResourceTag struct {
12004	_ struct{} `type:"structure"`
12005
12006	// The key of a tag.
12007	//
12008	// Key is a required field
12009	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
12010
12011	// The value of a tag.
12012	Value *string `locationName:"value" type:"string"`
12013}
12014
12015// String returns the string representation
12016func (s ResourceTag) String() string {
12017	return awsutil.Prettify(s)
12018}
12019
12020// GoString returns the string representation
12021func (s ResourceTag) GoString() string {
12022	return s.String()
12023}
12024
12025// Validate inspects the fields of the type to determine if they are valid.
12026func (s *ResourceTag) Validate() error {
12027	invalidParams := request.ErrInvalidParams{Context: "ResourceTag"}
12028	if s.Key == nil {
12029		invalidParams.Add(request.NewErrParamRequired("Key"))
12030	}
12031	if s.Key != nil && len(*s.Key) < 1 {
12032		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12033	}
12034
12035	if invalidParams.Len() > 0 {
12036		return invalidParams
12037	}
12038	return nil
12039}
12040
12041// SetKey sets the Key field's value.
12042func (s *ResourceTag) SetKey(v string) *ResourceTag {
12043	s.Key = &v
12044	return s
12045}
12046
12047// SetValue sets the Value field's value.
12048func (s *ResourceTag) SetValue(v string) *ResourceTag {
12049	s.Value = &v
12050	return s
12051}
12052
12053type RespondActivityTaskCanceledInput struct {
12054	_ struct{} `type:"structure"`
12055
12056	// Information about the cancellation.
12057	Details *string `locationName:"details" type:"string"`
12058
12059	// The taskToken of the ActivityTask.
12060	//
12061	// taskToken is generated by the service and should be treated as an opaque
12062	// value. If the task is passed to another process, its taskToken must also
12063	// be passed. This enables it to provide its progress and respond with results.
12064	//
12065	// TaskToken is a required field
12066	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
12067}
12068
12069// String returns the string representation
12070func (s RespondActivityTaskCanceledInput) String() string {
12071	return awsutil.Prettify(s)
12072}
12073
12074// GoString returns the string representation
12075func (s RespondActivityTaskCanceledInput) GoString() string {
12076	return s.String()
12077}
12078
12079// Validate inspects the fields of the type to determine if they are valid.
12080func (s *RespondActivityTaskCanceledInput) Validate() error {
12081	invalidParams := request.ErrInvalidParams{Context: "RespondActivityTaskCanceledInput"}
12082	if s.TaskToken == nil {
12083		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
12084	}
12085	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
12086		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
12087	}
12088
12089	if invalidParams.Len() > 0 {
12090		return invalidParams
12091	}
12092	return nil
12093}
12094
12095// SetDetails sets the Details field's value.
12096func (s *RespondActivityTaskCanceledInput) SetDetails(v string) *RespondActivityTaskCanceledInput {
12097	s.Details = &v
12098	return s
12099}
12100
12101// SetTaskToken sets the TaskToken field's value.
12102func (s *RespondActivityTaskCanceledInput) SetTaskToken(v string) *RespondActivityTaskCanceledInput {
12103	s.TaskToken = &v
12104	return s
12105}
12106
12107type RespondActivityTaskCanceledOutput struct {
12108	_ struct{} `type:"structure"`
12109}
12110
12111// String returns the string representation
12112func (s RespondActivityTaskCanceledOutput) String() string {
12113	return awsutil.Prettify(s)
12114}
12115
12116// GoString returns the string representation
12117func (s RespondActivityTaskCanceledOutput) GoString() string {
12118	return s.String()
12119}
12120
12121type RespondActivityTaskCompletedInput struct {
12122	_ struct{} `type:"structure"`
12123
12124	// The result of the activity task. It is a free form string that is implementation
12125	// specific.
12126	Result *string `locationName:"result" type:"string"`
12127
12128	// The taskToken of the ActivityTask.
12129	//
12130	// taskToken is generated by the service and should be treated as an opaque
12131	// value. If the task is passed to another process, its taskToken must also
12132	// be passed. This enables it to provide its progress and respond with results.
12133	//
12134	// TaskToken is a required field
12135	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
12136}
12137
12138// String returns the string representation
12139func (s RespondActivityTaskCompletedInput) String() string {
12140	return awsutil.Prettify(s)
12141}
12142
12143// GoString returns the string representation
12144func (s RespondActivityTaskCompletedInput) GoString() string {
12145	return s.String()
12146}
12147
12148// Validate inspects the fields of the type to determine if they are valid.
12149func (s *RespondActivityTaskCompletedInput) Validate() error {
12150	invalidParams := request.ErrInvalidParams{Context: "RespondActivityTaskCompletedInput"}
12151	if s.TaskToken == nil {
12152		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
12153	}
12154	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
12155		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
12156	}
12157
12158	if invalidParams.Len() > 0 {
12159		return invalidParams
12160	}
12161	return nil
12162}
12163
12164// SetResult sets the Result field's value.
12165func (s *RespondActivityTaskCompletedInput) SetResult(v string) *RespondActivityTaskCompletedInput {
12166	s.Result = &v
12167	return s
12168}
12169
12170// SetTaskToken sets the TaskToken field's value.
12171func (s *RespondActivityTaskCompletedInput) SetTaskToken(v string) *RespondActivityTaskCompletedInput {
12172	s.TaskToken = &v
12173	return s
12174}
12175
12176type RespondActivityTaskCompletedOutput struct {
12177	_ struct{} `type:"structure"`
12178}
12179
12180// String returns the string representation
12181func (s RespondActivityTaskCompletedOutput) String() string {
12182	return awsutil.Prettify(s)
12183}
12184
12185// GoString returns the string representation
12186func (s RespondActivityTaskCompletedOutput) GoString() string {
12187	return s.String()
12188}
12189
12190type RespondActivityTaskFailedInput struct {
12191	_ struct{} `type:"structure"`
12192
12193	// Detailed information about the failure.
12194	Details *string `locationName:"details" type:"string"`
12195
12196	// Description of the error that may assist in diagnostics.
12197	Reason *string `locationName:"reason" type:"string"`
12198
12199	// The taskToken of the ActivityTask.
12200	//
12201	// taskToken is generated by the service and should be treated as an opaque
12202	// value. If the task is passed to another process, its taskToken must also
12203	// be passed. This enables it to provide its progress and respond with results.
12204	//
12205	// TaskToken is a required field
12206	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
12207}
12208
12209// String returns the string representation
12210func (s RespondActivityTaskFailedInput) String() string {
12211	return awsutil.Prettify(s)
12212}
12213
12214// GoString returns the string representation
12215func (s RespondActivityTaskFailedInput) GoString() string {
12216	return s.String()
12217}
12218
12219// Validate inspects the fields of the type to determine if they are valid.
12220func (s *RespondActivityTaskFailedInput) Validate() error {
12221	invalidParams := request.ErrInvalidParams{Context: "RespondActivityTaskFailedInput"}
12222	if s.TaskToken == nil {
12223		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
12224	}
12225	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
12226		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
12227	}
12228
12229	if invalidParams.Len() > 0 {
12230		return invalidParams
12231	}
12232	return nil
12233}
12234
12235// SetDetails sets the Details field's value.
12236func (s *RespondActivityTaskFailedInput) SetDetails(v string) *RespondActivityTaskFailedInput {
12237	s.Details = &v
12238	return s
12239}
12240
12241// SetReason sets the Reason field's value.
12242func (s *RespondActivityTaskFailedInput) SetReason(v string) *RespondActivityTaskFailedInput {
12243	s.Reason = &v
12244	return s
12245}
12246
12247// SetTaskToken sets the TaskToken field's value.
12248func (s *RespondActivityTaskFailedInput) SetTaskToken(v string) *RespondActivityTaskFailedInput {
12249	s.TaskToken = &v
12250	return s
12251}
12252
12253type RespondActivityTaskFailedOutput struct {
12254	_ struct{} `type:"structure"`
12255}
12256
12257// String returns the string representation
12258func (s RespondActivityTaskFailedOutput) String() string {
12259	return awsutil.Prettify(s)
12260}
12261
12262// GoString returns the string representation
12263func (s RespondActivityTaskFailedOutput) GoString() string {
12264	return s.String()
12265}
12266
12267// Input data for a TaskCompleted response to a decision task.
12268type RespondDecisionTaskCompletedInput struct {
12269	_ struct{} `type:"structure"`
12270
12271	// The list of decisions (possibly empty) made by the decider while processing
12272	// this decision task. See the docs for the Decision structure for details.
12273	Decisions []*Decision `locationName:"decisions" type:"list"`
12274
12275	// User defined context to add to workflow execution.
12276	ExecutionContext *string `locationName:"executionContext" type:"string"`
12277
12278	// The taskToken from the DecisionTask.
12279	//
12280	// taskToken is generated by the service and should be treated as an opaque
12281	// value. If the task is passed to another process, its taskToken must also
12282	// be passed. This enables it to provide its progress and respond with results.
12283	//
12284	// TaskToken is a required field
12285	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
12286}
12287
12288// String returns the string representation
12289func (s RespondDecisionTaskCompletedInput) String() string {
12290	return awsutil.Prettify(s)
12291}
12292
12293// GoString returns the string representation
12294func (s RespondDecisionTaskCompletedInput) GoString() string {
12295	return s.String()
12296}
12297
12298// Validate inspects the fields of the type to determine if they are valid.
12299func (s *RespondDecisionTaskCompletedInput) Validate() error {
12300	invalidParams := request.ErrInvalidParams{Context: "RespondDecisionTaskCompletedInput"}
12301	if s.TaskToken == nil {
12302		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
12303	}
12304	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
12305		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
12306	}
12307	if s.Decisions != nil {
12308		for i, v := range s.Decisions {
12309			if v == nil {
12310				continue
12311			}
12312			if err := v.Validate(); err != nil {
12313				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Decisions", i), err.(request.ErrInvalidParams))
12314			}
12315		}
12316	}
12317
12318	if invalidParams.Len() > 0 {
12319		return invalidParams
12320	}
12321	return nil
12322}
12323
12324// SetDecisions sets the Decisions field's value.
12325func (s *RespondDecisionTaskCompletedInput) SetDecisions(v []*Decision) *RespondDecisionTaskCompletedInput {
12326	s.Decisions = v
12327	return s
12328}
12329
12330// SetExecutionContext sets the ExecutionContext field's value.
12331func (s *RespondDecisionTaskCompletedInput) SetExecutionContext(v string) *RespondDecisionTaskCompletedInput {
12332	s.ExecutionContext = &v
12333	return s
12334}
12335
12336// SetTaskToken sets the TaskToken field's value.
12337func (s *RespondDecisionTaskCompletedInput) SetTaskToken(v string) *RespondDecisionTaskCompletedInput {
12338	s.TaskToken = &v
12339	return s
12340}
12341
12342type RespondDecisionTaskCompletedOutput struct {
12343	_ struct{} `type:"structure"`
12344}
12345
12346// String returns the string representation
12347func (s RespondDecisionTaskCompletedOutput) String() string {
12348	return awsutil.Prettify(s)
12349}
12350
12351// GoString returns the string representation
12352func (s RespondDecisionTaskCompletedOutput) GoString() string {
12353	return s.String()
12354}
12355
12356// Provides the details of the ScheduleActivityTask decision.
12357//
12358// Access Control
12359//
12360// You can use IAM policies to control this decision's access to Amazon SWF
12361// resources as follows:
12362//
12363//    * Use a Resource element with the domain name to limit the action to only
12364//    specified domains.
12365//
12366//    * Use an Action element to allow or deny permission to call this action.
12367//
12368//    * Constrain the following parameters by using a Condition element with
12369//    the appropriate keys. activityType.name – String constraint. The key
12370//    is swf:activityType.name. activityType.version – String constraint.
12371//    The key is swf:activityType.version. taskList – String constraint. The
12372//    key is swf:taskList.name.
12373//
12374// If the caller doesn't have sufficient permissions to invoke the action, or
12375// the parameter values fall outside the specified constraints, the action fails.
12376// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
12377// For details and example IAM policies, see Using IAM to Manage Access to Amazon
12378// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
12379// in the Amazon SWF Developer Guide.
12380type ScheduleActivityTaskDecisionAttributes struct {
12381	_ struct{} `type:"structure"`
12382
12383	// The activityId of the activity task.
12384	//
12385	// The specified string must not start or end with whitespace. It must not contain
12386	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
12387	// | \u007f-\u009f). Also, it must not contain the literal string arn.
12388	//
12389	// ActivityId is a required field
12390	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
12391
12392	// The type of the activity task to schedule.
12393	//
12394	// ActivityType is a required field
12395	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
12396
12397	// Data attached to the event that can be used by the decider in subsequent
12398	// workflow tasks. This data isn't sent to the activity.
12399	Control *string `locationName:"control" type:"string"`
12400
12401	// If set, specifies the maximum time before which a worker processing a task
12402	// of this type must report progress by calling RecordActivityTaskHeartbeat.
12403	// If the timeout is exceeded, the activity task is automatically timed out.
12404	// If the worker subsequently attempts to record a heartbeat or returns a result,
12405	// it is ignored. This overrides the default heartbeat timeout specified when
12406	// registering the activity type using RegisterActivityType.
12407	//
12408	// The duration is specified in seconds, an integer greater than or equal to
12409	// 0. You can use NONE to specify unlimited duration.
12410	HeartbeatTimeout *string `locationName:"heartbeatTimeout" type:"string"`
12411
12412	// The input provided to the activity task.
12413	Input *string `locationName:"input" type:"string"`
12414
12415	// The maximum duration for this activity task.
12416	//
12417	// The duration is specified in seconds, an integer greater than or equal to
12418	// 0. You can use NONE to specify unlimited duration.
12419	//
12420	// A schedule-to-close timeout for this activity task must be specified either
12421	// as a default for the activity type or through this field. If neither this
12422	// field is set nor a default schedule-to-close timeout was specified at registration
12423	// time then a fault is returned.
12424	ScheduleToCloseTimeout *string `locationName:"scheduleToCloseTimeout" type:"string"`
12425
12426	// If set, specifies the maximum duration the activity task can wait to be assigned
12427	// to a worker. This overrides the default schedule-to-start timeout specified
12428	// when registering the activity type using RegisterActivityType.
12429	//
12430	// The duration is specified in seconds, an integer greater than or equal to
12431	// 0. You can use NONE to specify unlimited duration.
12432	//
12433	// A schedule-to-start timeout for this activity task must be specified either
12434	// as a default for the activity type or through this field. If neither this
12435	// field is set nor a default schedule-to-start timeout was specified at registration
12436	// time then a fault is returned.
12437	ScheduleToStartTimeout *string `locationName:"scheduleToStartTimeout" type:"string"`
12438
12439	// If set, specifies the maximum duration a worker may take to process this
12440	// activity task. This overrides the default start-to-close timeout specified
12441	// when registering the activity type using RegisterActivityType.
12442	//
12443	// The duration is specified in seconds, an integer greater than or equal to
12444	// 0. You can use NONE to specify unlimited duration.
12445	//
12446	// A start-to-close timeout for this activity task must be specified either
12447	// as a default for the activity type or through this field. If neither this
12448	// field is set nor a default start-to-close timeout was specified at registration
12449	// time then a fault is returned.
12450	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
12451
12452	// If set, specifies the name of the task list in which to schedule the activity
12453	// task. If not specified, the defaultTaskList registered with the activity
12454	// type is used.
12455	//
12456	// A task list for this activity task must be specified either as a default
12457	// for the activity type or through this field. If neither this field is set
12458	// nor a default task list was specified at registration time then a fault is
12459	// returned.
12460	//
12461	// The specified string must not start or end with whitespace. It must not contain
12462	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
12463	// | \u007f-\u009f). Also, it must not contain the literal string arn.
12464	TaskList *TaskList `locationName:"taskList" type:"structure"`
12465
12466	// If set, specifies the priority with which the activity task is to be assigned
12467	// to a worker. This overrides the defaultTaskPriority specified when registering
12468	// the activity type using RegisterActivityType. Valid values are integers that
12469	// range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
12470	// Higher numbers indicate higher priority.
12471	//
12472	// For more information about setting task priority, see Setting Task Priority
12473	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
12474	// in the Amazon SWF Developer Guide.
12475	TaskPriority *string `locationName:"taskPriority" type:"string"`
12476}
12477
12478// String returns the string representation
12479func (s ScheduleActivityTaskDecisionAttributes) String() string {
12480	return awsutil.Prettify(s)
12481}
12482
12483// GoString returns the string representation
12484func (s ScheduleActivityTaskDecisionAttributes) GoString() string {
12485	return s.String()
12486}
12487
12488// Validate inspects the fields of the type to determine if they are valid.
12489func (s *ScheduleActivityTaskDecisionAttributes) Validate() error {
12490	invalidParams := request.ErrInvalidParams{Context: "ScheduleActivityTaskDecisionAttributes"}
12491	if s.ActivityId == nil {
12492		invalidParams.Add(request.NewErrParamRequired("ActivityId"))
12493	}
12494	if s.ActivityId != nil && len(*s.ActivityId) < 1 {
12495		invalidParams.Add(request.NewErrParamMinLen("ActivityId", 1))
12496	}
12497	if s.ActivityType == nil {
12498		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
12499	}
12500	if s.ActivityType != nil {
12501		if err := s.ActivityType.Validate(); err != nil {
12502			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
12503		}
12504	}
12505	if s.TaskList != nil {
12506		if err := s.TaskList.Validate(); err != nil {
12507			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
12508		}
12509	}
12510
12511	if invalidParams.Len() > 0 {
12512		return invalidParams
12513	}
12514	return nil
12515}
12516
12517// SetActivityId sets the ActivityId field's value.
12518func (s *ScheduleActivityTaskDecisionAttributes) SetActivityId(v string) *ScheduleActivityTaskDecisionAttributes {
12519	s.ActivityId = &v
12520	return s
12521}
12522
12523// SetActivityType sets the ActivityType field's value.
12524func (s *ScheduleActivityTaskDecisionAttributes) SetActivityType(v *ActivityType) *ScheduleActivityTaskDecisionAttributes {
12525	s.ActivityType = v
12526	return s
12527}
12528
12529// SetControl sets the Control field's value.
12530func (s *ScheduleActivityTaskDecisionAttributes) SetControl(v string) *ScheduleActivityTaskDecisionAttributes {
12531	s.Control = &v
12532	return s
12533}
12534
12535// SetHeartbeatTimeout sets the HeartbeatTimeout field's value.
12536func (s *ScheduleActivityTaskDecisionAttributes) SetHeartbeatTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
12537	s.HeartbeatTimeout = &v
12538	return s
12539}
12540
12541// SetInput sets the Input field's value.
12542func (s *ScheduleActivityTaskDecisionAttributes) SetInput(v string) *ScheduleActivityTaskDecisionAttributes {
12543	s.Input = &v
12544	return s
12545}
12546
12547// SetScheduleToCloseTimeout sets the ScheduleToCloseTimeout field's value.
12548func (s *ScheduleActivityTaskDecisionAttributes) SetScheduleToCloseTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
12549	s.ScheduleToCloseTimeout = &v
12550	return s
12551}
12552
12553// SetScheduleToStartTimeout sets the ScheduleToStartTimeout field's value.
12554func (s *ScheduleActivityTaskDecisionAttributes) SetScheduleToStartTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
12555	s.ScheduleToStartTimeout = &v
12556	return s
12557}
12558
12559// SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
12560func (s *ScheduleActivityTaskDecisionAttributes) SetStartToCloseTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
12561	s.StartToCloseTimeout = &v
12562	return s
12563}
12564
12565// SetTaskList sets the TaskList field's value.
12566func (s *ScheduleActivityTaskDecisionAttributes) SetTaskList(v *TaskList) *ScheduleActivityTaskDecisionAttributes {
12567	s.TaskList = v
12568	return s
12569}
12570
12571// SetTaskPriority sets the TaskPriority field's value.
12572func (s *ScheduleActivityTaskDecisionAttributes) SetTaskPriority(v string) *ScheduleActivityTaskDecisionAttributes {
12573	s.TaskPriority = &v
12574	return s
12575}
12576
12577// Provides the details of the ScheduleActivityTaskFailed event.
12578type ScheduleActivityTaskFailedEventAttributes struct {
12579	_ struct{} `type:"structure"`
12580
12581	// The activityId provided in the ScheduleActivityTask decision that failed.
12582	//
12583	// ActivityId is a required field
12584	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
12585
12586	// The activity type provided in the ScheduleActivityTask decision that failed.
12587	//
12588	// ActivityType is a required field
12589	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
12590
12591	// The cause of the failure. This information is generated by the system and
12592	// can be useful for diagnostic purposes.
12593	//
12594	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
12595	// lacked sufficient permissions. For details and example IAM policies, see
12596	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
12597	// in the Amazon SWF Developer Guide.
12598	//
12599	// Cause is a required field
12600	Cause *string `locationName:"cause" type:"string" required:"true" enum:"ScheduleActivityTaskFailedCause"`
12601
12602	// The ID of the DecisionTaskCompleted event corresponding to the decision that
12603	// resulted in the scheduling of this activity task. This information can be
12604	// useful for diagnosing problems by tracing back the chain of events leading
12605	// up to this event.
12606	//
12607	// DecisionTaskCompletedEventId is a required field
12608	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
12609}
12610
12611// String returns the string representation
12612func (s ScheduleActivityTaskFailedEventAttributes) String() string {
12613	return awsutil.Prettify(s)
12614}
12615
12616// GoString returns the string representation
12617func (s ScheduleActivityTaskFailedEventAttributes) GoString() string {
12618	return s.String()
12619}
12620
12621// SetActivityId sets the ActivityId field's value.
12622func (s *ScheduleActivityTaskFailedEventAttributes) SetActivityId(v string) *ScheduleActivityTaskFailedEventAttributes {
12623	s.ActivityId = &v
12624	return s
12625}
12626
12627// SetActivityType sets the ActivityType field's value.
12628func (s *ScheduleActivityTaskFailedEventAttributes) SetActivityType(v *ActivityType) *ScheduleActivityTaskFailedEventAttributes {
12629	s.ActivityType = v
12630	return s
12631}
12632
12633// SetCause sets the Cause field's value.
12634func (s *ScheduleActivityTaskFailedEventAttributes) SetCause(v string) *ScheduleActivityTaskFailedEventAttributes {
12635	s.Cause = &v
12636	return s
12637}
12638
12639// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
12640func (s *ScheduleActivityTaskFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ScheduleActivityTaskFailedEventAttributes {
12641	s.DecisionTaskCompletedEventId = &v
12642	return s
12643}
12644
12645// Decision attributes specified in scheduleLambdaFunctionDecisionAttributes
12646// within the list of decisions decisions passed to RespondDecisionTaskCompleted.
12647type ScheduleLambdaFunctionDecisionAttributes struct {
12648	_ struct{} `type:"structure"`
12649
12650	// The data attached to the event that the decider can use in subsequent workflow
12651	// tasks. This data isn't sent to the Lambda task.
12652	Control *string `locationName:"control" type:"string"`
12653
12654	// A string that identifies the Lambda function execution in the event history.
12655	//
12656	// Id is a required field
12657	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
12658
12659	// The optional input data to be supplied to the Lambda function.
12660	Input *string `locationName:"input" type:"string"`
12661
12662	// The name, or ARN, of the Lambda function to schedule.
12663	//
12664	// Name is a required field
12665	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12666
12667	// The timeout value, in seconds, after which the Lambda function is considered
12668	// to be failed once it has started. This can be any integer from 1-300 (1s-5m).
12669	// If no value is supplied, than a default value of 300s is assumed.
12670	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
12671}
12672
12673// String returns the string representation
12674func (s ScheduleLambdaFunctionDecisionAttributes) String() string {
12675	return awsutil.Prettify(s)
12676}
12677
12678// GoString returns the string representation
12679func (s ScheduleLambdaFunctionDecisionAttributes) GoString() string {
12680	return s.String()
12681}
12682
12683// Validate inspects the fields of the type to determine if they are valid.
12684func (s *ScheduleLambdaFunctionDecisionAttributes) Validate() error {
12685	invalidParams := request.ErrInvalidParams{Context: "ScheduleLambdaFunctionDecisionAttributes"}
12686	if s.Id == nil {
12687		invalidParams.Add(request.NewErrParamRequired("Id"))
12688	}
12689	if s.Id != nil && len(*s.Id) < 1 {
12690		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
12691	}
12692	if s.Name == nil {
12693		invalidParams.Add(request.NewErrParamRequired("Name"))
12694	}
12695	if s.Name != nil && len(*s.Name) < 1 {
12696		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12697	}
12698
12699	if invalidParams.Len() > 0 {
12700		return invalidParams
12701	}
12702	return nil
12703}
12704
12705// SetControl sets the Control field's value.
12706func (s *ScheduleLambdaFunctionDecisionAttributes) SetControl(v string) *ScheduleLambdaFunctionDecisionAttributes {
12707	s.Control = &v
12708	return s
12709}
12710
12711// SetId sets the Id field's value.
12712func (s *ScheduleLambdaFunctionDecisionAttributes) SetId(v string) *ScheduleLambdaFunctionDecisionAttributes {
12713	s.Id = &v
12714	return s
12715}
12716
12717// SetInput sets the Input field's value.
12718func (s *ScheduleLambdaFunctionDecisionAttributes) SetInput(v string) *ScheduleLambdaFunctionDecisionAttributes {
12719	s.Input = &v
12720	return s
12721}
12722
12723// SetName sets the Name field's value.
12724func (s *ScheduleLambdaFunctionDecisionAttributes) SetName(v string) *ScheduleLambdaFunctionDecisionAttributes {
12725	s.Name = &v
12726	return s
12727}
12728
12729// SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
12730func (s *ScheduleLambdaFunctionDecisionAttributes) SetStartToCloseTimeout(v string) *ScheduleLambdaFunctionDecisionAttributes {
12731	s.StartToCloseTimeout = &v
12732	return s
12733}
12734
12735// Provides the details of the ScheduleLambdaFunctionFailed event. It isn't
12736// set for other event types.
12737type ScheduleLambdaFunctionFailedEventAttributes struct {
12738	_ struct{} `type:"structure"`
12739
12740	// The cause of the failure. To help diagnose issues, use this information to
12741	// trace back the chain of events leading up to this event.
12742	//
12743	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
12744	// lacked sufficient permissions. For details and example IAM policies, see
12745	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
12746	// in the Amazon SWF Developer Guide.
12747	//
12748	// Cause is a required field
12749	Cause *string `locationName:"cause" type:"string" required:"true" enum:"ScheduleLambdaFunctionFailedCause"`
12750
12751	// The ID of the LambdaFunctionCompleted event corresponding to the decision
12752	// that resulted in scheduling this Lambda task. To help diagnose issues, use
12753	// this information to trace back the chain of events leading up to this event.
12754	//
12755	// DecisionTaskCompletedEventId is a required field
12756	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
12757
12758	// The ID provided in the ScheduleLambdaFunction decision that failed.
12759	//
12760	// Id is a required field
12761	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
12762
12763	// The name of the Lambda function.
12764	//
12765	// Name is a required field
12766	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12767}
12768
12769// String returns the string representation
12770func (s ScheduleLambdaFunctionFailedEventAttributes) String() string {
12771	return awsutil.Prettify(s)
12772}
12773
12774// GoString returns the string representation
12775func (s ScheduleLambdaFunctionFailedEventAttributes) GoString() string {
12776	return s.String()
12777}
12778
12779// SetCause sets the Cause field's value.
12780func (s *ScheduleLambdaFunctionFailedEventAttributes) SetCause(v string) *ScheduleLambdaFunctionFailedEventAttributes {
12781	s.Cause = &v
12782	return s
12783}
12784
12785// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
12786func (s *ScheduleLambdaFunctionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ScheduleLambdaFunctionFailedEventAttributes {
12787	s.DecisionTaskCompletedEventId = &v
12788	return s
12789}
12790
12791// SetId sets the Id field's value.
12792func (s *ScheduleLambdaFunctionFailedEventAttributes) SetId(v string) *ScheduleLambdaFunctionFailedEventAttributes {
12793	s.Id = &v
12794	return s
12795}
12796
12797// SetName sets the Name field's value.
12798func (s *ScheduleLambdaFunctionFailedEventAttributes) SetName(v string) *ScheduleLambdaFunctionFailedEventAttributes {
12799	s.Name = &v
12800	return s
12801}
12802
12803// Provides the details of the SignalExternalWorkflowExecution decision.
12804//
12805// Access Control
12806//
12807// You can use IAM policies to control this decision's access to Amazon SWF
12808// resources as follows:
12809//
12810//    * Use a Resource element with the domain name to limit the action to only
12811//    specified domains.
12812//
12813//    * Use an Action element to allow or deny permission to call this action.
12814//
12815//    * You cannot use an IAM policy to constrain this action's parameters.
12816//
12817// If the caller doesn't have sufficient permissions to invoke the action, or
12818// the parameter values fall outside the specified constraints, the action fails.
12819// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
12820// For details and example IAM policies, see Using IAM to Manage Access to Amazon
12821// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
12822// in the Amazon SWF Developer Guide.
12823type SignalExternalWorkflowExecutionDecisionAttributes struct {
12824	_ struct{} `type:"structure"`
12825
12826	// The data attached to the event that can be used by the decider in subsequent
12827	// decision tasks.
12828	Control *string `locationName:"control" type:"string"`
12829
12830	// The input data to be provided with the signal. The target workflow execution
12831	// uses the signal name and input data to process the signal.
12832	Input *string `locationName:"input" type:"string"`
12833
12834	// The runId of the workflow execution to be signaled.
12835	RunId *string `locationName:"runId" type:"string"`
12836
12837	// The name of the signal.The target workflow execution uses the signal name
12838	// and input to process the signal.
12839	//
12840	// SignalName is a required field
12841	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
12842
12843	// The workflowId of the workflow execution to be signaled.
12844	//
12845	// WorkflowId is a required field
12846	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
12847}
12848
12849// String returns the string representation
12850func (s SignalExternalWorkflowExecutionDecisionAttributes) String() string {
12851	return awsutil.Prettify(s)
12852}
12853
12854// GoString returns the string representation
12855func (s SignalExternalWorkflowExecutionDecisionAttributes) GoString() string {
12856	return s.String()
12857}
12858
12859// Validate inspects the fields of the type to determine if they are valid.
12860func (s *SignalExternalWorkflowExecutionDecisionAttributes) Validate() error {
12861	invalidParams := request.ErrInvalidParams{Context: "SignalExternalWorkflowExecutionDecisionAttributes"}
12862	if s.SignalName == nil {
12863		invalidParams.Add(request.NewErrParamRequired("SignalName"))
12864	}
12865	if s.SignalName != nil && len(*s.SignalName) < 1 {
12866		invalidParams.Add(request.NewErrParamMinLen("SignalName", 1))
12867	}
12868	if s.WorkflowId == nil {
12869		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
12870	}
12871	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
12872		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
12873	}
12874
12875	if invalidParams.Len() > 0 {
12876		return invalidParams
12877	}
12878	return nil
12879}
12880
12881// SetControl sets the Control field's value.
12882func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetControl(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
12883	s.Control = &v
12884	return s
12885}
12886
12887// SetInput sets the Input field's value.
12888func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetInput(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
12889	s.Input = &v
12890	return s
12891}
12892
12893// SetRunId sets the RunId field's value.
12894func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetRunId(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
12895	s.RunId = &v
12896	return s
12897}
12898
12899// SetSignalName sets the SignalName field's value.
12900func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetSignalName(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
12901	s.SignalName = &v
12902	return s
12903}
12904
12905// SetWorkflowId sets the WorkflowId field's value.
12906func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetWorkflowId(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
12907	s.WorkflowId = &v
12908	return s
12909}
12910
12911// Provides the details of the SignalExternalWorkflowExecutionFailed event.
12912type SignalExternalWorkflowExecutionFailedEventAttributes struct {
12913	_ struct{} `type:"structure"`
12914
12915	// The cause of the failure. This information is generated by the system and
12916	// can be useful for diagnostic purposes.
12917	//
12918	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
12919	// lacked sufficient permissions. For details and example IAM policies, see
12920	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
12921	// in the Amazon SWF Developer Guide.
12922	//
12923	// Cause is a required field
12924	Cause *string `locationName:"cause" type:"string" required:"true" enum:"SignalExternalWorkflowExecutionFailedCause"`
12925
12926	// The data attached to the event that the decider can use in subsequent workflow
12927	// tasks. This data isn't sent to the workflow execution.
12928	Control *string `locationName:"control" type:"string"`
12929
12930	// The ID of the DecisionTaskCompleted event corresponding to the decision task
12931	// that resulted in the SignalExternalWorkflowExecution decision for this signal.
12932	// This information can be useful for diagnosing problems by tracing back the
12933	// chain of events leading up to this event.
12934	//
12935	// DecisionTaskCompletedEventId is a required field
12936	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
12937
12938	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding
12939	// to the SignalExternalWorkflowExecution decision to request this signal. This
12940	// information can be useful for diagnosing problems by tracing back the chain
12941	// of events leading up to this event.
12942	//
12943	// InitiatedEventId is a required field
12944	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
12945
12946	// The runId of the external workflow execution that the signal was being delivered
12947	// to.
12948	RunId *string `locationName:"runId" type:"string"`
12949
12950	// The workflowId of the external workflow execution that the signal was being
12951	// delivered to.
12952	//
12953	// WorkflowId is a required field
12954	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
12955}
12956
12957// String returns the string representation
12958func (s SignalExternalWorkflowExecutionFailedEventAttributes) String() string {
12959	return awsutil.Prettify(s)
12960}
12961
12962// GoString returns the string representation
12963func (s SignalExternalWorkflowExecutionFailedEventAttributes) GoString() string {
12964	return s.String()
12965}
12966
12967// SetCause sets the Cause field's value.
12968func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetCause(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
12969	s.Cause = &v
12970	return s
12971}
12972
12973// SetControl sets the Control field's value.
12974func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetControl(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
12975	s.Control = &v
12976	return s
12977}
12978
12979// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
12980func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *SignalExternalWorkflowExecutionFailedEventAttributes {
12981	s.DecisionTaskCompletedEventId = &v
12982	return s
12983}
12984
12985// SetInitiatedEventId sets the InitiatedEventId field's value.
12986func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *SignalExternalWorkflowExecutionFailedEventAttributes {
12987	s.InitiatedEventId = &v
12988	return s
12989}
12990
12991// SetRunId sets the RunId field's value.
12992func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetRunId(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
12993	s.RunId = &v
12994	return s
12995}
12996
12997// SetWorkflowId sets the WorkflowId field's value.
12998func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetWorkflowId(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
12999	s.WorkflowId = &v
13000	return s
13001}
13002
13003// Provides the details of the SignalExternalWorkflowExecutionInitiated event.
13004type SignalExternalWorkflowExecutionInitiatedEventAttributes struct {
13005	_ struct{} `type:"structure"`
13006
13007	// Data attached to the event that can be used by the decider in subsequent
13008	// decision tasks.
13009	Control *string `locationName:"control" type:"string"`
13010
13011	// The ID of the DecisionTaskCompleted event corresponding to the decision task
13012	// that resulted in the SignalExternalWorkflowExecution decision for this signal.
13013	// This information can be useful for diagnosing problems by tracing back the
13014	// chain of events leading up to this event.
13015	//
13016	// DecisionTaskCompletedEventId is a required field
13017	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
13018
13019	// The input provided to the signal.
13020	Input *string `locationName:"input" type:"string"`
13021
13022	// The runId of the external workflow execution to send the signal to.
13023	RunId *string `locationName:"runId" type:"string"`
13024
13025	// The name of the signal.
13026	//
13027	// SignalName is a required field
13028	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
13029
13030	// The workflowId of the external workflow execution.
13031	//
13032	// WorkflowId is a required field
13033	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
13034}
13035
13036// String returns the string representation
13037func (s SignalExternalWorkflowExecutionInitiatedEventAttributes) String() string {
13038	return awsutil.Prettify(s)
13039}
13040
13041// GoString returns the string representation
13042func (s SignalExternalWorkflowExecutionInitiatedEventAttributes) GoString() string {
13043	return s.String()
13044}
13045
13046// SetControl sets the Control field's value.
13047func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetControl(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
13048	s.Control = &v
13049	return s
13050}
13051
13052// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
13053func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
13054	s.DecisionTaskCompletedEventId = &v
13055	return s
13056}
13057
13058// SetInput sets the Input field's value.
13059func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetInput(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
13060	s.Input = &v
13061	return s
13062}
13063
13064// SetRunId sets the RunId field's value.
13065func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetRunId(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
13066	s.RunId = &v
13067	return s
13068}
13069
13070// SetSignalName sets the SignalName field's value.
13071func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetSignalName(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
13072	s.SignalName = &v
13073	return s
13074}
13075
13076// SetWorkflowId sets the WorkflowId field's value.
13077func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetWorkflowId(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
13078	s.WorkflowId = &v
13079	return s
13080}
13081
13082type SignalWorkflowExecutionInput struct {
13083	_ struct{} `type:"structure"`
13084
13085	// The name of the domain containing the workflow execution to signal.
13086	//
13087	// Domain is a required field
13088	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
13089
13090	// Data to attach to the WorkflowExecutionSignaled event in the target workflow
13091	// execution's history.
13092	Input *string `locationName:"input" type:"string"`
13093
13094	// The runId of the workflow execution to signal.
13095	RunId *string `locationName:"runId" type:"string"`
13096
13097	// The name of the signal. This name must be meaningful to the target workflow.
13098	//
13099	// SignalName is a required field
13100	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
13101
13102	// The workflowId of the workflow execution to signal.
13103	//
13104	// WorkflowId is a required field
13105	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
13106}
13107
13108// String returns the string representation
13109func (s SignalWorkflowExecutionInput) String() string {
13110	return awsutil.Prettify(s)
13111}
13112
13113// GoString returns the string representation
13114func (s SignalWorkflowExecutionInput) GoString() string {
13115	return s.String()
13116}
13117
13118// Validate inspects the fields of the type to determine if they are valid.
13119func (s *SignalWorkflowExecutionInput) Validate() error {
13120	invalidParams := request.ErrInvalidParams{Context: "SignalWorkflowExecutionInput"}
13121	if s.Domain == nil {
13122		invalidParams.Add(request.NewErrParamRequired("Domain"))
13123	}
13124	if s.Domain != nil && len(*s.Domain) < 1 {
13125		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
13126	}
13127	if s.SignalName == nil {
13128		invalidParams.Add(request.NewErrParamRequired("SignalName"))
13129	}
13130	if s.SignalName != nil && len(*s.SignalName) < 1 {
13131		invalidParams.Add(request.NewErrParamMinLen("SignalName", 1))
13132	}
13133	if s.WorkflowId == nil {
13134		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
13135	}
13136	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
13137		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
13138	}
13139
13140	if invalidParams.Len() > 0 {
13141		return invalidParams
13142	}
13143	return nil
13144}
13145
13146// SetDomain sets the Domain field's value.
13147func (s *SignalWorkflowExecutionInput) SetDomain(v string) *SignalWorkflowExecutionInput {
13148	s.Domain = &v
13149	return s
13150}
13151
13152// SetInput sets the Input field's value.
13153func (s *SignalWorkflowExecutionInput) SetInput(v string) *SignalWorkflowExecutionInput {
13154	s.Input = &v
13155	return s
13156}
13157
13158// SetRunId sets the RunId field's value.
13159func (s *SignalWorkflowExecutionInput) SetRunId(v string) *SignalWorkflowExecutionInput {
13160	s.RunId = &v
13161	return s
13162}
13163
13164// SetSignalName sets the SignalName field's value.
13165func (s *SignalWorkflowExecutionInput) SetSignalName(v string) *SignalWorkflowExecutionInput {
13166	s.SignalName = &v
13167	return s
13168}
13169
13170// SetWorkflowId sets the WorkflowId field's value.
13171func (s *SignalWorkflowExecutionInput) SetWorkflowId(v string) *SignalWorkflowExecutionInput {
13172	s.WorkflowId = &v
13173	return s
13174}
13175
13176type SignalWorkflowExecutionOutput struct {
13177	_ struct{} `type:"structure"`
13178}
13179
13180// String returns the string representation
13181func (s SignalWorkflowExecutionOutput) String() string {
13182	return awsutil.Prettify(s)
13183}
13184
13185// GoString returns the string representation
13186func (s SignalWorkflowExecutionOutput) GoString() string {
13187	return s.String()
13188}
13189
13190// Provides the details of the StartChildWorkflowExecution decision.
13191//
13192// Access Control
13193//
13194// You can use IAM policies to control this decision's access to Amazon SWF
13195// resources as follows:
13196//
13197//    * Use a Resource element with the domain name to limit the action to only
13198//    specified domains.
13199//
13200//    * Use an Action element to allow or deny permission to call this action.
13201//
13202//    * Constrain the following parameters by using a Condition element with
13203//    the appropriate keys. tagList.member.N – The key is "swf:tagList.N"
13204//    where N is the tag number from 0 to 4, inclusive. taskList – String
13205//    constraint. The key is swf:taskList.name. workflowType.name – String
13206//    constraint. The key is swf:workflowType.name. workflowType.version –
13207//    String constraint. The key is swf:workflowType.version.
13208//
13209// If the caller doesn't have sufficient permissions to invoke the action, or
13210// the parameter values fall outside the specified constraints, the action fails.
13211// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
13212// For details and example IAM policies, see Using IAM to Manage Access to Amazon
13213// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
13214// in the Amazon SWF Developer Guide.
13215type StartChildWorkflowExecutionDecisionAttributes struct {
13216	_ struct{} `type:"structure"`
13217
13218	// If set, specifies the policy to use for the child workflow executions if
13219	// the workflow execution being started is terminated by calling the TerminateWorkflowExecution
13220	// action explicitly or due to an expired timeout. This policy overrides the
13221	// default child policy specified when registering the workflow type using RegisterWorkflowType.
13222	//
13223	// The supported child policies are:
13224	//
13225	//    * TERMINATE – The child executions are terminated.
13226	//
13227	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
13228	//    by recording a WorkflowExecutionCancelRequested event in its history.
13229	//    It is up to the decider to take appropriate actions when it receives an
13230	//    execution history with this event.
13231	//
13232	//    * ABANDON – No action is taken. The child executions continue to run.
13233	//
13234	// A child policy for this workflow execution must be specified either as a
13235	// default for the workflow type or through this parameter. If neither this
13236	// parameter is set nor a default child policy was specified at registration
13237	// time then a fault is returned.
13238	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
13239
13240	// The data attached to the event that can be used by the decider in subsequent
13241	// workflow tasks. This data isn't sent to the child workflow execution.
13242	Control *string `locationName:"control" type:"string"`
13243
13244	// The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout
13245	// specified when registering the workflow type.
13246	//
13247	// The duration is specified in seconds, an integer greater than or equal to
13248	// 0. You can use NONE to specify unlimited duration.
13249	//
13250	// An execution start-to-close timeout for this workflow execution must be specified
13251	// either as a default for the workflow type or through this parameter. If neither
13252	// this parameter is set nor a default execution start-to-close timeout was
13253	// specified at registration time then a fault is returned.
13254	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
13255
13256	// The input to be provided to the workflow execution.
13257	Input *string `locationName:"input" type:"string"`
13258
13259	// The IAM role attached to the child workflow execution.
13260	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
13261
13262	// The list of tags to associate with the child workflow execution. A maximum
13263	// of 5 tags can be specified. You can list workflow executions with a specific
13264	// tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions
13265	// and specifying a TagFilter.
13266	TagList []*string `locationName:"tagList" type:"list"`
13267
13268	// The name of the task list to be used for decision tasks of the child workflow
13269	// execution.
13270	//
13271	// A task list for this workflow execution must be specified either as a default
13272	// for the workflow type or through this parameter. If neither this parameter
13273	// is set nor a default task list was specified at registration time then a
13274	// fault is returned.
13275	//
13276	// The specified string must not start or end with whitespace. It must not contain
13277	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
13278	// | \u007f-\u009f). Also, it must not contain the literal string arn.
13279	TaskList *TaskList `locationName:"taskList" type:"structure"`
13280
13281	// A task priority that, if set, specifies the priority for a decision task
13282	// of this workflow execution. This overrides the defaultTaskPriority specified
13283	// when registering the workflow type. Valid values are integers that range
13284	// from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
13285	// Higher numbers indicate higher priority.
13286	//
13287	// For more information about setting task priority, see Setting Task Priority
13288	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
13289	// in the Amazon SWF Developer Guide.
13290	TaskPriority *string `locationName:"taskPriority" type:"string"`
13291
13292	// Specifies the maximum duration of decision tasks for this workflow execution.
13293	// This parameter overrides the defaultTaskStartToCloseTimout specified when
13294	// registering the workflow type using RegisterWorkflowType.
13295	//
13296	// The duration is specified in seconds, an integer greater than or equal to
13297	// 0. You can use NONE to specify unlimited duration.
13298	//
13299	// A task start-to-close timeout for this workflow execution must be specified
13300	// either as a default for the workflow type or through this parameter. If neither
13301	// this parameter is set nor a default task start-to-close timeout was specified
13302	// at registration time then a fault is returned.
13303	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
13304
13305	// The workflowId of the workflow execution.
13306	//
13307	// The specified string must not start or end with whitespace. It must not contain
13308	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
13309	// | \u007f-\u009f). Also, it must not contain the literal string arn.
13310	//
13311	// WorkflowId is a required field
13312	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
13313
13314	// The type of the workflow execution to be started.
13315	//
13316	// WorkflowType is a required field
13317	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
13318}
13319
13320// String returns the string representation
13321func (s StartChildWorkflowExecutionDecisionAttributes) String() string {
13322	return awsutil.Prettify(s)
13323}
13324
13325// GoString returns the string representation
13326func (s StartChildWorkflowExecutionDecisionAttributes) GoString() string {
13327	return s.String()
13328}
13329
13330// Validate inspects the fields of the type to determine if they are valid.
13331func (s *StartChildWorkflowExecutionDecisionAttributes) Validate() error {
13332	invalidParams := request.ErrInvalidParams{Context: "StartChildWorkflowExecutionDecisionAttributes"}
13333	if s.LambdaRole != nil && len(*s.LambdaRole) < 1 {
13334		invalidParams.Add(request.NewErrParamMinLen("LambdaRole", 1))
13335	}
13336	if s.WorkflowId == nil {
13337		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
13338	}
13339	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
13340		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
13341	}
13342	if s.WorkflowType == nil {
13343		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
13344	}
13345	if s.TaskList != nil {
13346		if err := s.TaskList.Validate(); err != nil {
13347			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
13348		}
13349	}
13350	if s.WorkflowType != nil {
13351		if err := s.WorkflowType.Validate(); err != nil {
13352			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
13353		}
13354	}
13355
13356	if invalidParams.Len() > 0 {
13357		return invalidParams
13358	}
13359	return nil
13360}
13361
13362// SetChildPolicy sets the ChildPolicy field's value.
13363func (s *StartChildWorkflowExecutionDecisionAttributes) SetChildPolicy(v string) *StartChildWorkflowExecutionDecisionAttributes {
13364	s.ChildPolicy = &v
13365	return s
13366}
13367
13368// SetControl sets the Control field's value.
13369func (s *StartChildWorkflowExecutionDecisionAttributes) SetControl(v string) *StartChildWorkflowExecutionDecisionAttributes {
13370	s.Control = &v
13371	return s
13372}
13373
13374// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
13375func (s *StartChildWorkflowExecutionDecisionAttributes) SetExecutionStartToCloseTimeout(v string) *StartChildWorkflowExecutionDecisionAttributes {
13376	s.ExecutionStartToCloseTimeout = &v
13377	return s
13378}
13379
13380// SetInput sets the Input field's value.
13381func (s *StartChildWorkflowExecutionDecisionAttributes) SetInput(v string) *StartChildWorkflowExecutionDecisionAttributes {
13382	s.Input = &v
13383	return s
13384}
13385
13386// SetLambdaRole sets the LambdaRole field's value.
13387func (s *StartChildWorkflowExecutionDecisionAttributes) SetLambdaRole(v string) *StartChildWorkflowExecutionDecisionAttributes {
13388	s.LambdaRole = &v
13389	return s
13390}
13391
13392// SetTagList sets the TagList field's value.
13393func (s *StartChildWorkflowExecutionDecisionAttributes) SetTagList(v []*string) *StartChildWorkflowExecutionDecisionAttributes {
13394	s.TagList = v
13395	return s
13396}
13397
13398// SetTaskList sets the TaskList field's value.
13399func (s *StartChildWorkflowExecutionDecisionAttributes) SetTaskList(v *TaskList) *StartChildWorkflowExecutionDecisionAttributes {
13400	s.TaskList = v
13401	return s
13402}
13403
13404// SetTaskPriority sets the TaskPriority field's value.
13405func (s *StartChildWorkflowExecutionDecisionAttributes) SetTaskPriority(v string) *StartChildWorkflowExecutionDecisionAttributes {
13406	s.TaskPriority = &v
13407	return s
13408}
13409
13410// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
13411func (s *StartChildWorkflowExecutionDecisionAttributes) SetTaskStartToCloseTimeout(v string) *StartChildWorkflowExecutionDecisionAttributes {
13412	s.TaskStartToCloseTimeout = &v
13413	return s
13414}
13415
13416// SetWorkflowId sets the WorkflowId field's value.
13417func (s *StartChildWorkflowExecutionDecisionAttributes) SetWorkflowId(v string) *StartChildWorkflowExecutionDecisionAttributes {
13418	s.WorkflowId = &v
13419	return s
13420}
13421
13422// SetWorkflowType sets the WorkflowType field's value.
13423func (s *StartChildWorkflowExecutionDecisionAttributes) SetWorkflowType(v *WorkflowType) *StartChildWorkflowExecutionDecisionAttributes {
13424	s.WorkflowType = v
13425	return s
13426}
13427
13428// Provides the details of the StartChildWorkflowExecutionFailed event.
13429type StartChildWorkflowExecutionFailedEventAttributes struct {
13430	_ struct{} `type:"structure"`
13431
13432	// The cause of the failure. This information is generated by the system and
13433	// can be useful for diagnostic purposes.
13434	//
13435	// When cause is set to OPERATION_NOT_PERMITTED, the decision fails because
13436	// it lacks sufficient permissions. For details and example IAM policies, see
13437	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
13438	// in the Amazon SWF Developer Guide.
13439	//
13440	// Cause is a required field
13441	Cause *string `locationName:"cause" type:"string" required:"true" enum:"StartChildWorkflowExecutionFailedCause"`
13442
13443	// The data attached to the event that the decider can use in subsequent workflow
13444	// tasks. This data isn't sent to the child workflow execution.
13445	Control *string `locationName:"control" type:"string"`
13446
13447	// The ID of the DecisionTaskCompleted event corresponding to the decision task
13448	// that resulted in the StartChildWorkflowExecution Decision to request this
13449	// child workflow execution. This information can be useful for diagnosing problems
13450	// by tracing back the chain of events.
13451	//
13452	// DecisionTaskCompletedEventId is a required field
13453	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
13454
13455	// When the cause is WORKFLOW_ALREADY_RUNNING, initiatedEventId is the ID of
13456	// the StartChildWorkflowExecutionInitiated event that corresponds to the StartChildWorkflowExecution
13457	// Decision to start the workflow execution. You can use this information to
13458	// diagnose problems by tracing back the chain of events leading up to this
13459	// event.
13460	//
13461	// When the cause isn't WORKFLOW_ALREADY_RUNNING, initiatedEventId is set to
13462	// 0 because the StartChildWorkflowExecutionInitiated event doesn't exist.
13463	//
13464	// InitiatedEventId is a required field
13465	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
13466
13467	// The workflowId of the child workflow execution.
13468	//
13469	// WorkflowId is a required field
13470	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
13471
13472	// The workflow type provided in the StartChildWorkflowExecution Decision that
13473	// failed.
13474	//
13475	// WorkflowType is a required field
13476	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
13477}
13478
13479// String returns the string representation
13480func (s StartChildWorkflowExecutionFailedEventAttributes) String() string {
13481	return awsutil.Prettify(s)
13482}
13483
13484// GoString returns the string representation
13485func (s StartChildWorkflowExecutionFailedEventAttributes) GoString() string {
13486	return s.String()
13487}
13488
13489// SetCause sets the Cause field's value.
13490func (s *StartChildWorkflowExecutionFailedEventAttributes) SetCause(v string) *StartChildWorkflowExecutionFailedEventAttributes {
13491	s.Cause = &v
13492	return s
13493}
13494
13495// SetControl sets the Control field's value.
13496func (s *StartChildWorkflowExecutionFailedEventAttributes) SetControl(v string) *StartChildWorkflowExecutionFailedEventAttributes {
13497	s.Control = &v
13498	return s
13499}
13500
13501// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
13502func (s *StartChildWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *StartChildWorkflowExecutionFailedEventAttributes {
13503	s.DecisionTaskCompletedEventId = &v
13504	return s
13505}
13506
13507// SetInitiatedEventId sets the InitiatedEventId field's value.
13508func (s *StartChildWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *StartChildWorkflowExecutionFailedEventAttributes {
13509	s.InitiatedEventId = &v
13510	return s
13511}
13512
13513// SetWorkflowId sets the WorkflowId field's value.
13514func (s *StartChildWorkflowExecutionFailedEventAttributes) SetWorkflowId(v string) *StartChildWorkflowExecutionFailedEventAttributes {
13515	s.WorkflowId = &v
13516	return s
13517}
13518
13519// SetWorkflowType sets the WorkflowType field's value.
13520func (s *StartChildWorkflowExecutionFailedEventAttributes) SetWorkflowType(v *WorkflowType) *StartChildWorkflowExecutionFailedEventAttributes {
13521	s.WorkflowType = v
13522	return s
13523}
13524
13525// Provides the details of the StartChildWorkflowExecutionInitiated event.
13526type StartChildWorkflowExecutionInitiatedEventAttributes struct {
13527	_ struct{} `type:"structure"`
13528
13529	// The policy to use for the child workflow executions if this execution gets
13530	// terminated by explicitly calling the TerminateWorkflowExecution action or
13531	// due to an expired timeout.
13532	//
13533	// The supported child policies are:
13534	//
13535	//    * TERMINATE – The child executions are terminated.
13536	//
13537	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
13538	//    by recording a WorkflowExecutionCancelRequested event in its history.
13539	//    It is up to the decider to take appropriate actions when it receives an
13540	//    execution history with this event.
13541	//
13542	//    * ABANDON – No action is taken. The child executions continue to run.
13543	//
13544	// ChildPolicy is a required field
13545	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
13546
13547	// Data attached to the event that can be used by the decider in subsequent
13548	// decision tasks. This data isn't sent to the activity.
13549	Control *string `locationName:"control" type:"string"`
13550
13551	// The ID of the DecisionTaskCompleted event corresponding to the decision task
13552	// that resulted in the StartChildWorkflowExecution Decision to request this
13553	// child workflow execution. This information can be useful for diagnosing problems
13554	// by tracing back the cause of events.
13555	//
13556	// DecisionTaskCompletedEventId is a required field
13557	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
13558
13559	// The maximum duration for the child workflow execution. If the workflow execution
13560	// isn't closed within this duration, it is timed out and force-terminated.
13561	//
13562	// The duration is specified in seconds, an integer greater than or equal to
13563	// 0. You can use NONE to specify unlimited duration.
13564	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
13565
13566	// The inputs provided to the child workflow execution.
13567	Input *string `locationName:"input" type:"string"`
13568
13569	// The IAM role to attach to the child workflow execution.
13570	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
13571
13572	// The list of tags to associated with the child workflow execution.
13573	TagList []*string `locationName:"tagList" type:"list"`
13574
13575	// The name of the task list used for the decision tasks of the child workflow
13576	// execution.
13577	//
13578	// TaskList is a required field
13579	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
13580
13581	// The priority assigned for the decision tasks for this workflow execution.
13582	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
13583	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
13584	//
13585	// For more information about setting task priority, see Setting Task Priority
13586	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
13587	// in the Amazon SWF Developer Guide.
13588	TaskPriority *string `locationName:"taskPriority" type:"string"`
13589
13590	// The maximum duration allowed for the decision tasks for this workflow execution.
13591	//
13592	// The duration is specified in seconds, an integer greater than or equal to
13593	// 0. You can use NONE to specify unlimited duration.
13594	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
13595
13596	// The workflowId of the child workflow execution.
13597	//
13598	// WorkflowId is a required field
13599	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
13600
13601	// The type of the child workflow execution.
13602	//
13603	// WorkflowType is a required field
13604	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
13605}
13606
13607// String returns the string representation
13608func (s StartChildWorkflowExecutionInitiatedEventAttributes) String() string {
13609	return awsutil.Prettify(s)
13610}
13611
13612// GoString returns the string representation
13613func (s StartChildWorkflowExecutionInitiatedEventAttributes) GoString() string {
13614	return s.String()
13615}
13616
13617// SetChildPolicy sets the ChildPolicy field's value.
13618func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetChildPolicy(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13619	s.ChildPolicy = &v
13620	return s
13621}
13622
13623// SetControl sets the Control field's value.
13624func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetControl(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13625	s.Control = &v
13626	return s
13627}
13628
13629// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
13630func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *StartChildWorkflowExecutionInitiatedEventAttributes {
13631	s.DecisionTaskCompletedEventId = &v
13632	return s
13633}
13634
13635// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
13636func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetExecutionStartToCloseTimeout(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13637	s.ExecutionStartToCloseTimeout = &v
13638	return s
13639}
13640
13641// SetInput sets the Input field's value.
13642func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetInput(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13643	s.Input = &v
13644	return s
13645}
13646
13647// SetLambdaRole sets the LambdaRole field's value.
13648func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetLambdaRole(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13649	s.LambdaRole = &v
13650	return s
13651}
13652
13653// SetTagList sets the TagList field's value.
13654func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTagList(v []*string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13655	s.TagList = v
13656	return s
13657}
13658
13659// SetTaskList sets the TaskList field's value.
13660func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTaskList(v *TaskList) *StartChildWorkflowExecutionInitiatedEventAttributes {
13661	s.TaskList = v
13662	return s
13663}
13664
13665// SetTaskPriority sets the TaskPriority field's value.
13666func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTaskPriority(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13667	s.TaskPriority = &v
13668	return s
13669}
13670
13671// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
13672func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTaskStartToCloseTimeout(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13673	s.TaskStartToCloseTimeout = &v
13674	return s
13675}
13676
13677// SetWorkflowId sets the WorkflowId field's value.
13678func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetWorkflowId(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
13679	s.WorkflowId = &v
13680	return s
13681}
13682
13683// SetWorkflowType sets the WorkflowType field's value.
13684func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetWorkflowType(v *WorkflowType) *StartChildWorkflowExecutionInitiatedEventAttributes {
13685	s.WorkflowType = v
13686	return s
13687}
13688
13689// Provides the details of the StartLambdaFunctionFailed event. It isn't set
13690// for other event types.
13691type StartLambdaFunctionFailedEventAttributes struct {
13692	_ struct{} `type:"structure"`
13693
13694	// The cause of the failure. To help diagnose issues, use this information to
13695	// trace back the chain of events leading up to this event.
13696	//
13697	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because the
13698	// IAM role attached to the execution lacked sufficient permissions. For details
13699	// and example IAM policies, see Lambda Tasks (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
13700	// in the Amazon SWF Developer Guide.
13701	Cause *string `locationName:"cause" type:"string" enum:"StartLambdaFunctionFailedCause"`
13702
13703	// A description that can help diagnose the cause of the fault.
13704	Message *string `locationName:"message" type:"string"`
13705
13706	// The ID of the ActivityTaskScheduled event that was recorded when this activity
13707	// task was scheduled. To help diagnose issues, use this information to trace
13708	// back the chain of events leading up to this event.
13709	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long"`
13710}
13711
13712// String returns the string representation
13713func (s StartLambdaFunctionFailedEventAttributes) String() string {
13714	return awsutil.Prettify(s)
13715}
13716
13717// GoString returns the string representation
13718func (s StartLambdaFunctionFailedEventAttributes) GoString() string {
13719	return s.String()
13720}
13721
13722// SetCause sets the Cause field's value.
13723func (s *StartLambdaFunctionFailedEventAttributes) SetCause(v string) *StartLambdaFunctionFailedEventAttributes {
13724	s.Cause = &v
13725	return s
13726}
13727
13728// SetMessage sets the Message field's value.
13729func (s *StartLambdaFunctionFailedEventAttributes) SetMessage(v string) *StartLambdaFunctionFailedEventAttributes {
13730	s.Message = &v
13731	return s
13732}
13733
13734// SetScheduledEventId sets the ScheduledEventId field's value.
13735func (s *StartLambdaFunctionFailedEventAttributes) SetScheduledEventId(v int64) *StartLambdaFunctionFailedEventAttributes {
13736	s.ScheduledEventId = &v
13737	return s
13738}
13739
13740// Provides the details of the StartTimer decision.
13741//
13742// Access Control
13743//
13744// You can use IAM policies to control this decision's access to Amazon SWF
13745// resources as follows:
13746//
13747//    * Use a Resource element with the domain name to limit the action to only
13748//    specified domains.
13749//
13750//    * Use an Action element to allow or deny permission to call this action.
13751//
13752//    * You cannot use an IAM policy to constrain this action's parameters.
13753//
13754// If the caller doesn't have sufficient permissions to invoke the action, or
13755// the parameter values fall outside the specified constraints, the action fails.
13756// The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
13757// For details and example IAM policies, see Using IAM to Manage Access to Amazon
13758// SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
13759// in the Amazon SWF Developer Guide.
13760type StartTimerDecisionAttributes struct {
13761	_ struct{} `type:"structure"`
13762
13763	// The data attached to the event that can be used by the decider in subsequent
13764	// workflow tasks.
13765	Control *string `locationName:"control" type:"string"`
13766
13767	// The duration to wait before firing the timer.
13768	//
13769	// The duration is specified in seconds, an integer greater than or equal to
13770	// 0.
13771	//
13772	// StartToFireTimeout is a required field
13773	StartToFireTimeout *string `locationName:"startToFireTimeout" min:"1" type:"string" required:"true"`
13774
13775	// The unique ID of the timer.
13776	//
13777	// The specified string must not start or end with whitespace. It must not contain
13778	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
13779	// | \u007f-\u009f). Also, it must not contain the literal string arn.
13780	//
13781	// TimerId is a required field
13782	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
13783}
13784
13785// String returns the string representation
13786func (s StartTimerDecisionAttributes) String() string {
13787	return awsutil.Prettify(s)
13788}
13789
13790// GoString returns the string representation
13791func (s StartTimerDecisionAttributes) GoString() string {
13792	return s.String()
13793}
13794
13795// Validate inspects the fields of the type to determine if they are valid.
13796func (s *StartTimerDecisionAttributes) Validate() error {
13797	invalidParams := request.ErrInvalidParams{Context: "StartTimerDecisionAttributes"}
13798	if s.StartToFireTimeout == nil {
13799		invalidParams.Add(request.NewErrParamRequired("StartToFireTimeout"))
13800	}
13801	if s.StartToFireTimeout != nil && len(*s.StartToFireTimeout) < 1 {
13802		invalidParams.Add(request.NewErrParamMinLen("StartToFireTimeout", 1))
13803	}
13804	if s.TimerId == nil {
13805		invalidParams.Add(request.NewErrParamRequired("TimerId"))
13806	}
13807	if s.TimerId != nil && len(*s.TimerId) < 1 {
13808		invalidParams.Add(request.NewErrParamMinLen("TimerId", 1))
13809	}
13810
13811	if invalidParams.Len() > 0 {
13812		return invalidParams
13813	}
13814	return nil
13815}
13816
13817// SetControl sets the Control field's value.
13818func (s *StartTimerDecisionAttributes) SetControl(v string) *StartTimerDecisionAttributes {
13819	s.Control = &v
13820	return s
13821}
13822
13823// SetStartToFireTimeout sets the StartToFireTimeout field's value.
13824func (s *StartTimerDecisionAttributes) SetStartToFireTimeout(v string) *StartTimerDecisionAttributes {
13825	s.StartToFireTimeout = &v
13826	return s
13827}
13828
13829// SetTimerId sets the TimerId field's value.
13830func (s *StartTimerDecisionAttributes) SetTimerId(v string) *StartTimerDecisionAttributes {
13831	s.TimerId = &v
13832	return s
13833}
13834
13835// Provides the details of the StartTimerFailed event.
13836type StartTimerFailedEventAttributes struct {
13837	_ struct{} `type:"structure"`
13838
13839	// The cause of the failure. This information is generated by the system and
13840	// can be useful for diagnostic purposes.
13841	//
13842	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
13843	// lacked sufficient permissions. For details and example IAM policies, see
13844	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
13845	// in the Amazon SWF Developer Guide.
13846	//
13847	// Cause is a required field
13848	Cause *string `locationName:"cause" type:"string" required:"true" enum:"StartTimerFailedCause"`
13849
13850	// The ID of the DecisionTaskCompleted event corresponding to the decision task
13851	// that resulted in the StartTimer decision for this activity task. This information
13852	// can be useful for diagnosing problems by tracing back the chain of events
13853	// leading up to this event.
13854	//
13855	// DecisionTaskCompletedEventId is a required field
13856	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
13857
13858	// The timerId provided in the StartTimer decision that failed.
13859	//
13860	// TimerId is a required field
13861	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
13862}
13863
13864// String returns the string representation
13865func (s StartTimerFailedEventAttributes) String() string {
13866	return awsutil.Prettify(s)
13867}
13868
13869// GoString returns the string representation
13870func (s StartTimerFailedEventAttributes) GoString() string {
13871	return s.String()
13872}
13873
13874// SetCause sets the Cause field's value.
13875func (s *StartTimerFailedEventAttributes) SetCause(v string) *StartTimerFailedEventAttributes {
13876	s.Cause = &v
13877	return s
13878}
13879
13880// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
13881func (s *StartTimerFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *StartTimerFailedEventAttributes {
13882	s.DecisionTaskCompletedEventId = &v
13883	return s
13884}
13885
13886// SetTimerId sets the TimerId field's value.
13887func (s *StartTimerFailedEventAttributes) SetTimerId(v string) *StartTimerFailedEventAttributes {
13888	s.TimerId = &v
13889	return s
13890}
13891
13892type StartWorkflowExecutionInput struct {
13893	_ struct{} `type:"structure"`
13894
13895	// If set, specifies the policy to use for the child workflow executions of
13896	// this workflow execution if it is terminated, by calling the TerminateWorkflowExecution
13897	// action explicitly or due to an expired timeout. This policy overrides the
13898	// default child policy specified when registering the workflow type using RegisterWorkflowType.
13899	//
13900	// The supported child policies are:
13901	//
13902	//    * TERMINATE – The child executions are terminated.
13903	//
13904	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
13905	//    by recording a WorkflowExecutionCancelRequested event in its history.
13906	//    It is up to the decider to take appropriate actions when it receives an
13907	//    execution history with this event.
13908	//
13909	//    * ABANDON – No action is taken. The child executions continue to run.
13910	//
13911	// A child policy for this workflow execution must be specified either as a
13912	// default for the workflow type or through this parameter. If neither this
13913	// parameter is set nor a default child policy was specified at registration
13914	// time then a fault is returned.
13915	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
13916
13917	// The name of the domain in which the workflow execution is created.
13918	//
13919	// Domain is a required field
13920	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
13921
13922	// The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout
13923	// specified when registering the workflow type.
13924	//
13925	// The duration is specified in seconds; an integer greater than or equal to
13926	// 0. Exceeding this limit causes the workflow execution to time out. Unlike
13927	// some of the other timeout parameters in Amazon SWF, you cannot specify a
13928	// value of "NONE" for this timeout; there is a one-year max limit on the time
13929	// that a workflow execution can run.
13930	//
13931	// An execution start-to-close timeout must be specified either through this
13932	// parameter or as a default when the workflow type is registered. If neither
13933	// this parameter nor a default execution start-to-close timeout is specified,
13934	// a fault is returned.
13935	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
13936
13937	// The input for the workflow execution. This is a free form string which should
13938	// be meaningful to the workflow you are starting. This input is made available
13939	// to the new workflow execution in the WorkflowExecutionStarted history event.
13940	Input *string `locationName:"input" type:"string"`
13941
13942	// The IAM role to attach to this workflow execution.
13943	//
13944	// Executions of this workflow type need IAM roles to invoke Lambda functions.
13945	// If you don't attach an IAM role, any attempt to schedule a Lambda task fails.
13946	// This results in a ScheduleLambdaFunctionFailed history event. For more information,
13947	// see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
13948	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
13949	// in the Amazon SWF Developer Guide.
13950	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
13951
13952	// The list of tags to associate with the workflow execution. You can specify
13953	// a maximum of 5 tags. You can list workflow executions with a specific tag
13954	// by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and
13955	// specifying a TagFilter.
13956	TagList []*string `locationName:"tagList" type:"list"`
13957
13958	// The task list to use for the decision tasks generated for this workflow execution.
13959	// This overrides the defaultTaskList specified when registering the workflow
13960	// type.
13961	//
13962	// A task list for this workflow execution must be specified either as a default
13963	// for the workflow type or through this parameter. If neither this parameter
13964	// is set nor a default task list was specified at registration time then a
13965	// fault is returned.
13966	//
13967	// The specified string must not start or end with whitespace. It must not contain
13968	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
13969	// | \u007f-\u009f). Also, it must not be the literal string arn.
13970	TaskList *TaskList `locationName:"taskList" type:"structure"`
13971
13972	// The task priority to use for this workflow execution. This overrides any
13973	// default priority that was assigned when the workflow type was registered.
13974	// If not set, then the default task priority for the workflow type is used.
13975	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
13976	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
13977	//
13978	// For more information about setting task priority, see Setting Task Priority
13979	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
13980	// in the Amazon SWF Developer Guide.
13981	TaskPriority *string `locationName:"taskPriority" type:"string"`
13982
13983	// Specifies the maximum duration of decision tasks for this workflow execution.
13984	// This parameter overrides the defaultTaskStartToCloseTimout specified when
13985	// registering the workflow type using RegisterWorkflowType.
13986	//
13987	// The duration is specified in seconds, an integer greater than or equal to
13988	// 0. You can use NONE to specify unlimited duration.
13989	//
13990	// A task start-to-close timeout for this workflow execution must be specified
13991	// either as a default for the workflow type or through this parameter. If neither
13992	// this parameter is set nor a default task start-to-close timeout was specified
13993	// at registration time then a fault is returned.
13994	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
13995
13996	// The user defined identifier associated with the workflow execution. You can
13997	// use this to associate a custom identifier with the workflow execution. You
13998	// may specify the same identifier if a workflow execution is logically a restart
13999	// of a previous execution. You cannot have two open workflow executions with
14000	// the same workflowId at the same time within the same domain.
14001	//
14002	// The specified string must not start or end with whitespace. It must not contain
14003	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
14004	// | \u007f-\u009f). Also, it must not be the literal string arn.
14005	//
14006	// WorkflowId is a required field
14007	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
14008
14009	// The type of the workflow to start.
14010	//
14011	// WorkflowType is a required field
14012	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
14013}
14014
14015// String returns the string representation
14016func (s StartWorkflowExecutionInput) String() string {
14017	return awsutil.Prettify(s)
14018}
14019
14020// GoString returns the string representation
14021func (s StartWorkflowExecutionInput) GoString() string {
14022	return s.String()
14023}
14024
14025// Validate inspects the fields of the type to determine if they are valid.
14026func (s *StartWorkflowExecutionInput) Validate() error {
14027	invalidParams := request.ErrInvalidParams{Context: "StartWorkflowExecutionInput"}
14028	if s.Domain == nil {
14029		invalidParams.Add(request.NewErrParamRequired("Domain"))
14030	}
14031	if s.Domain != nil && len(*s.Domain) < 1 {
14032		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
14033	}
14034	if s.LambdaRole != nil && len(*s.LambdaRole) < 1 {
14035		invalidParams.Add(request.NewErrParamMinLen("LambdaRole", 1))
14036	}
14037	if s.WorkflowId == nil {
14038		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
14039	}
14040	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
14041		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
14042	}
14043	if s.WorkflowType == nil {
14044		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
14045	}
14046	if s.TaskList != nil {
14047		if err := s.TaskList.Validate(); err != nil {
14048			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
14049		}
14050	}
14051	if s.WorkflowType != nil {
14052		if err := s.WorkflowType.Validate(); err != nil {
14053			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
14054		}
14055	}
14056
14057	if invalidParams.Len() > 0 {
14058		return invalidParams
14059	}
14060	return nil
14061}
14062
14063// SetChildPolicy sets the ChildPolicy field's value.
14064func (s *StartWorkflowExecutionInput) SetChildPolicy(v string) *StartWorkflowExecutionInput {
14065	s.ChildPolicy = &v
14066	return s
14067}
14068
14069// SetDomain sets the Domain field's value.
14070func (s *StartWorkflowExecutionInput) SetDomain(v string) *StartWorkflowExecutionInput {
14071	s.Domain = &v
14072	return s
14073}
14074
14075// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
14076func (s *StartWorkflowExecutionInput) SetExecutionStartToCloseTimeout(v string) *StartWorkflowExecutionInput {
14077	s.ExecutionStartToCloseTimeout = &v
14078	return s
14079}
14080
14081// SetInput sets the Input field's value.
14082func (s *StartWorkflowExecutionInput) SetInput(v string) *StartWorkflowExecutionInput {
14083	s.Input = &v
14084	return s
14085}
14086
14087// SetLambdaRole sets the LambdaRole field's value.
14088func (s *StartWorkflowExecutionInput) SetLambdaRole(v string) *StartWorkflowExecutionInput {
14089	s.LambdaRole = &v
14090	return s
14091}
14092
14093// SetTagList sets the TagList field's value.
14094func (s *StartWorkflowExecutionInput) SetTagList(v []*string) *StartWorkflowExecutionInput {
14095	s.TagList = v
14096	return s
14097}
14098
14099// SetTaskList sets the TaskList field's value.
14100func (s *StartWorkflowExecutionInput) SetTaskList(v *TaskList) *StartWorkflowExecutionInput {
14101	s.TaskList = v
14102	return s
14103}
14104
14105// SetTaskPriority sets the TaskPriority field's value.
14106func (s *StartWorkflowExecutionInput) SetTaskPriority(v string) *StartWorkflowExecutionInput {
14107	s.TaskPriority = &v
14108	return s
14109}
14110
14111// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
14112func (s *StartWorkflowExecutionInput) SetTaskStartToCloseTimeout(v string) *StartWorkflowExecutionInput {
14113	s.TaskStartToCloseTimeout = &v
14114	return s
14115}
14116
14117// SetWorkflowId sets the WorkflowId field's value.
14118func (s *StartWorkflowExecutionInput) SetWorkflowId(v string) *StartWorkflowExecutionInput {
14119	s.WorkflowId = &v
14120	return s
14121}
14122
14123// SetWorkflowType sets the WorkflowType field's value.
14124func (s *StartWorkflowExecutionInput) SetWorkflowType(v *WorkflowType) *StartWorkflowExecutionInput {
14125	s.WorkflowType = v
14126	return s
14127}
14128
14129// Specifies the runId of a workflow execution.
14130type StartWorkflowExecutionOutput struct {
14131	_ struct{} `type:"structure"`
14132
14133	// The runId of a workflow execution. This ID is generated by the service and
14134	// can be used to uniquely identify the workflow execution within a domain.
14135	RunId *string `locationName:"runId" min:"1" type:"string"`
14136}
14137
14138// String returns the string representation
14139func (s StartWorkflowExecutionOutput) String() string {
14140	return awsutil.Prettify(s)
14141}
14142
14143// GoString returns the string representation
14144func (s StartWorkflowExecutionOutput) GoString() string {
14145	return s.String()
14146}
14147
14148// SetRunId sets the RunId field's value.
14149func (s *StartWorkflowExecutionOutput) SetRunId(v string) *StartWorkflowExecutionOutput {
14150	s.RunId = &v
14151	return s
14152}
14153
14154// Used to filter the workflow executions in visibility APIs based on a tag.
14155type TagFilter struct {
14156	_ struct{} `type:"structure"`
14157
14158	// Specifies the tag that must be associated with the execution for it to meet
14159	// the filter criteria.
14160	//
14161	// Tags may only contain unicode letters, digits, whitespace, or these symbols:
14162	// _ . : / = + - @.
14163	//
14164	// Tag is a required field
14165	Tag *string `locationName:"tag" type:"string" required:"true"`
14166}
14167
14168// String returns the string representation
14169func (s TagFilter) String() string {
14170	return awsutil.Prettify(s)
14171}
14172
14173// GoString returns the string representation
14174func (s TagFilter) GoString() string {
14175	return s.String()
14176}
14177
14178// Validate inspects the fields of the type to determine if they are valid.
14179func (s *TagFilter) Validate() error {
14180	invalidParams := request.ErrInvalidParams{Context: "TagFilter"}
14181	if s.Tag == nil {
14182		invalidParams.Add(request.NewErrParamRequired("Tag"))
14183	}
14184
14185	if invalidParams.Len() > 0 {
14186		return invalidParams
14187	}
14188	return nil
14189}
14190
14191// SetTag sets the Tag field's value.
14192func (s *TagFilter) SetTag(v string) *TagFilter {
14193	s.Tag = &v
14194	return s
14195}
14196
14197type TagResourceInput struct {
14198	_ struct{} `type:"structure"`
14199
14200	// The Amazon Resource Name (ARN) for the Amazon SWF domain.
14201	//
14202	// ResourceArn is a required field
14203	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
14204
14205	// The list of tags to add to a domain.
14206	//
14207	// Tags may only contain unicode letters, digits, whitespace, or these symbols:
14208	// _ . : / = + - @.
14209	//
14210	// Tags is a required field
14211	Tags []*ResourceTag `locationName:"tags" type:"list" required:"true"`
14212}
14213
14214// String returns the string representation
14215func (s TagResourceInput) String() string {
14216	return awsutil.Prettify(s)
14217}
14218
14219// GoString returns the string representation
14220func (s TagResourceInput) GoString() string {
14221	return s.String()
14222}
14223
14224// Validate inspects the fields of the type to determine if they are valid.
14225func (s *TagResourceInput) Validate() error {
14226	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
14227	if s.ResourceArn == nil {
14228		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
14229	}
14230	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
14231		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
14232	}
14233	if s.Tags == nil {
14234		invalidParams.Add(request.NewErrParamRequired("Tags"))
14235	}
14236	if s.Tags != nil {
14237		for i, v := range s.Tags {
14238			if v == nil {
14239				continue
14240			}
14241			if err := v.Validate(); err != nil {
14242				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
14243			}
14244		}
14245	}
14246
14247	if invalidParams.Len() > 0 {
14248		return invalidParams
14249	}
14250	return nil
14251}
14252
14253// SetResourceArn sets the ResourceArn field's value.
14254func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
14255	s.ResourceArn = &v
14256	return s
14257}
14258
14259// SetTags sets the Tags field's value.
14260func (s *TagResourceInput) SetTags(v []*ResourceTag) *TagResourceInput {
14261	s.Tags = v
14262	return s
14263}
14264
14265type TagResourceOutput struct {
14266	_ struct{} `type:"structure"`
14267}
14268
14269// String returns the string representation
14270func (s TagResourceOutput) String() string {
14271	return awsutil.Prettify(s)
14272}
14273
14274// GoString returns the string representation
14275func (s TagResourceOutput) GoString() string {
14276	return s.String()
14277}
14278
14279// Represents a task list.
14280type TaskList struct {
14281	_ struct{} `type:"structure"`
14282
14283	// The name of the task list.
14284	//
14285	// Name is a required field
14286	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
14287}
14288
14289// String returns the string representation
14290func (s TaskList) String() string {
14291	return awsutil.Prettify(s)
14292}
14293
14294// GoString returns the string representation
14295func (s TaskList) GoString() string {
14296	return s.String()
14297}
14298
14299// Validate inspects the fields of the type to determine if they are valid.
14300func (s *TaskList) Validate() error {
14301	invalidParams := request.ErrInvalidParams{Context: "TaskList"}
14302	if s.Name == nil {
14303		invalidParams.Add(request.NewErrParamRequired("Name"))
14304	}
14305	if s.Name != nil && len(*s.Name) < 1 {
14306		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14307	}
14308
14309	if invalidParams.Len() > 0 {
14310		return invalidParams
14311	}
14312	return nil
14313}
14314
14315// SetName sets the Name field's value.
14316func (s *TaskList) SetName(v string) *TaskList {
14317	s.Name = &v
14318	return s
14319}
14320
14321type TerminateWorkflowExecutionInput struct {
14322	_ struct{} `type:"structure"`
14323
14324	// If set, specifies the policy to use for the child workflow executions of
14325	// the workflow execution being terminated. This policy overrides the child
14326	// policy specified for the workflow execution at registration time or when
14327	// starting the execution.
14328	//
14329	// The supported child policies are:
14330	//
14331	//    * TERMINATE – The child executions are terminated.
14332	//
14333	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
14334	//    by recording a WorkflowExecutionCancelRequested event in its history.
14335	//    It is up to the decider to take appropriate actions when it receives an
14336	//    execution history with this event.
14337	//
14338	//    * ABANDON – No action is taken. The child executions continue to run.
14339	//
14340	// A child policy for this workflow execution must be specified either as a
14341	// default for the workflow type or through this parameter. If neither this
14342	// parameter is set nor a default child policy was specified at registration
14343	// time then a fault is returned.
14344	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
14345
14346	// Details for terminating the workflow execution.
14347	Details *string `locationName:"details" type:"string"`
14348
14349	// The domain of the workflow execution to terminate.
14350	//
14351	// Domain is a required field
14352	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
14353
14354	// A descriptive reason for terminating the workflow execution.
14355	Reason *string `locationName:"reason" type:"string"`
14356
14357	// The runId of the workflow execution to terminate.
14358	RunId *string `locationName:"runId" type:"string"`
14359
14360	// The workflowId of the workflow execution to terminate.
14361	//
14362	// WorkflowId is a required field
14363	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
14364}
14365
14366// String returns the string representation
14367func (s TerminateWorkflowExecutionInput) String() string {
14368	return awsutil.Prettify(s)
14369}
14370
14371// GoString returns the string representation
14372func (s TerminateWorkflowExecutionInput) GoString() string {
14373	return s.String()
14374}
14375
14376// Validate inspects the fields of the type to determine if they are valid.
14377func (s *TerminateWorkflowExecutionInput) Validate() error {
14378	invalidParams := request.ErrInvalidParams{Context: "TerminateWorkflowExecutionInput"}
14379	if s.Domain == nil {
14380		invalidParams.Add(request.NewErrParamRequired("Domain"))
14381	}
14382	if s.Domain != nil && len(*s.Domain) < 1 {
14383		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
14384	}
14385	if s.WorkflowId == nil {
14386		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
14387	}
14388	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
14389		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
14390	}
14391
14392	if invalidParams.Len() > 0 {
14393		return invalidParams
14394	}
14395	return nil
14396}
14397
14398// SetChildPolicy sets the ChildPolicy field's value.
14399func (s *TerminateWorkflowExecutionInput) SetChildPolicy(v string) *TerminateWorkflowExecutionInput {
14400	s.ChildPolicy = &v
14401	return s
14402}
14403
14404// SetDetails sets the Details field's value.
14405func (s *TerminateWorkflowExecutionInput) SetDetails(v string) *TerminateWorkflowExecutionInput {
14406	s.Details = &v
14407	return s
14408}
14409
14410// SetDomain sets the Domain field's value.
14411func (s *TerminateWorkflowExecutionInput) SetDomain(v string) *TerminateWorkflowExecutionInput {
14412	s.Domain = &v
14413	return s
14414}
14415
14416// SetReason sets the Reason field's value.
14417func (s *TerminateWorkflowExecutionInput) SetReason(v string) *TerminateWorkflowExecutionInput {
14418	s.Reason = &v
14419	return s
14420}
14421
14422// SetRunId sets the RunId field's value.
14423func (s *TerminateWorkflowExecutionInput) SetRunId(v string) *TerminateWorkflowExecutionInput {
14424	s.RunId = &v
14425	return s
14426}
14427
14428// SetWorkflowId sets the WorkflowId field's value.
14429func (s *TerminateWorkflowExecutionInput) SetWorkflowId(v string) *TerminateWorkflowExecutionInput {
14430	s.WorkflowId = &v
14431	return s
14432}
14433
14434type TerminateWorkflowExecutionOutput struct {
14435	_ struct{} `type:"structure"`
14436}
14437
14438// String returns the string representation
14439func (s TerminateWorkflowExecutionOutput) String() string {
14440	return awsutil.Prettify(s)
14441}
14442
14443// GoString returns the string representation
14444func (s TerminateWorkflowExecutionOutput) GoString() string {
14445	return s.String()
14446}
14447
14448// Provides the details of the TimerCanceled event.
14449type TimerCanceledEventAttributes struct {
14450	_ struct{} `type:"structure"`
14451
14452	// The ID of the DecisionTaskCompleted event corresponding to the decision task
14453	// that resulted in the CancelTimer decision to cancel this timer. This information
14454	// can be useful for diagnosing problems by tracing back the chain of events
14455	// leading up to this event.
14456	//
14457	// DecisionTaskCompletedEventId is a required field
14458	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
14459
14460	// The ID of the TimerStarted event that was recorded when this timer was started.
14461	// This information can be useful for diagnosing problems by tracing back the
14462	// chain of events leading up to this event.
14463	//
14464	// StartedEventId is a required field
14465	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
14466
14467	// The unique ID of the timer that was canceled.
14468	//
14469	// TimerId is a required field
14470	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
14471}
14472
14473// String returns the string representation
14474func (s TimerCanceledEventAttributes) String() string {
14475	return awsutil.Prettify(s)
14476}
14477
14478// GoString returns the string representation
14479func (s TimerCanceledEventAttributes) GoString() string {
14480	return s.String()
14481}
14482
14483// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
14484func (s *TimerCanceledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *TimerCanceledEventAttributes {
14485	s.DecisionTaskCompletedEventId = &v
14486	return s
14487}
14488
14489// SetStartedEventId sets the StartedEventId field's value.
14490func (s *TimerCanceledEventAttributes) SetStartedEventId(v int64) *TimerCanceledEventAttributes {
14491	s.StartedEventId = &v
14492	return s
14493}
14494
14495// SetTimerId sets the TimerId field's value.
14496func (s *TimerCanceledEventAttributes) SetTimerId(v string) *TimerCanceledEventAttributes {
14497	s.TimerId = &v
14498	return s
14499}
14500
14501// Provides the details of the TimerFired event.
14502type TimerFiredEventAttributes struct {
14503	_ struct{} `type:"structure"`
14504
14505	// The ID of the TimerStarted event that was recorded when this timer was started.
14506	// This information can be useful for diagnosing problems by tracing back the
14507	// chain of events leading up to this event.
14508	//
14509	// StartedEventId is a required field
14510	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
14511
14512	// The unique ID of the timer that fired.
14513	//
14514	// TimerId is a required field
14515	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
14516}
14517
14518// String returns the string representation
14519func (s TimerFiredEventAttributes) String() string {
14520	return awsutil.Prettify(s)
14521}
14522
14523// GoString returns the string representation
14524func (s TimerFiredEventAttributes) GoString() string {
14525	return s.String()
14526}
14527
14528// SetStartedEventId sets the StartedEventId field's value.
14529func (s *TimerFiredEventAttributes) SetStartedEventId(v int64) *TimerFiredEventAttributes {
14530	s.StartedEventId = &v
14531	return s
14532}
14533
14534// SetTimerId sets the TimerId field's value.
14535func (s *TimerFiredEventAttributes) SetTimerId(v string) *TimerFiredEventAttributes {
14536	s.TimerId = &v
14537	return s
14538}
14539
14540// Provides the details of the TimerStarted event.
14541type TimerStartedEventAttributes struct {
14542	_ struct{} `type:"structure"`
14543
14544	// Data attached to the event that can be used by the decider in subsequent
14545	// workflow tasks.
14546	Control *string `locationName:"control" type:"string"`
14547
14548	// The ID of the DecisionTaskCompleted event corresponding to the decision task
14549	// that resulted in the StartTimer decision for this activity task. This information
14550	// can be useful for diagnosing problems by tracing back the chain of events
14551	// leading up to this event.
14552	//
14553	// DecisionTaskCompletedEventId is a required field
14554	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
14555
14556	// The duration of time after which the timer fires.
14557	//
14558	// The duration is specified in seconds, an integer greater than or equal to
14559	// 0.
14560	//
14561	// StartToFireTimeout is a required field
14562	StartToFireTimeout *string `locationName:"startToFireTimeout" min:"1" type:"string" required:"true"`
14563
14564	// The unique ID of the timer that was started.
14565	//
14566	// TimerId is a required field
14567	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
14568}
14569
14570// String returns the string representation
14571func (s TimerStartedEventAttributes) String() string {
14572	return awsutil.Prettify(s)
14573}
14574
14575// GoString returns the string representation
14576func (s TimerStartedEventAttributes) GoString() string {
14577	return s.String()
14578}
14579
14580// SetControl sets the Control field's value.
14581func (s *TimerStartedEventAttributes) SetControl(v string) *TimerStartedEventAttributes {
14582	s.Control = &v
14583	return s
14584}
14585
14586// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
14587func (s *TimerStartedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *TimerStartedEventAttributes {
14588	s.DecisionTaskCompletedEventId = &v
14589	return s
14590}
14591
14592// SetStartToFireTimeout sets the StartToFireTimeout field's value.
14593func (s *TimerStartedEventAttributes) SetStartToFireTimeout(v string) *TimerStartedEventAttributes {
14594	s.StartToFireTimeout = &v
14595	return s
14596}
14597
14598// SetTimerId sets the TimerId field's value.
14599func (s *TimerStartedEventAttributes) SetTimerId(v string) *TimerStartedEventAttributes {
14600	s.TimerId = &v
14601	return s
14602}
14603
14604// You've exceeded the number of tags allowed for a domain.
14605type TooManyTagsFault struct {
14606	_            struct{}                  `type:"structure"`
14607	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14608
14609	Message_ *string `locationName:"message" type:"string"`
14610}
14611
14612// String returns the string representation
14613func (s TooManyTagsFault) String() string {
14614	return awsutil.Prettify(s)
14615}
14616
14617// GoString returns the string representation
14618func (s TooManyTagsFault) GoString() string {
14619	return s.String()
14620}
14621
14622func newErrorTooManyTagsFault(v protocol.ResponseMetadata) error {
14623	return &TooManyTagsFault{
14624		RespMetadata: v,
14625	}
14626}
14627
14628// Code returns the exception type name.
14629func (s *TooManyTagsFault) Code() string {
14630	return "TooManyTagsFault"
14631}
14632
14633// Message returns the exception's message.
14634func (s *TooManyTagsFault) Message() string {
14635	if s.Message_ != nil {
14636		return *s.Message_
14637	}
14638	return ""
14639}
14640
14641// OrigErr always returns nil, satisfies awserr.Error interface.
14642func (s *TooManyTagsFault) OrigErr() error {
14643	return nil
14644}
14645
14646func (s *TooManyTagsFault) Error() string {
14647	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14648}
14649
14650// Status code returns the HTTP status code for the request's response error.
14651func (s *TooManyTagsFault) StatusCode() int {
14652	return s.RespMetadata.StatusCode
14653}
14654
14655// RequestID returns the service's response RequestID for request.
14656func (s *TooManyTagsFault) RequestID() string {
14657	return s.RespMetadata.RequestID
14658}
14659
14660// Returned if the type already exists in the specified domain. You may get
14661// this fault if you are registering a type that is either already registered
14662// or deprecated, or if you undeprecate a type that is currently registered.
14663type TypeAlreadyExistsFault struct {
14664	_            struct{}                  `type:"structure"`
14665	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14666
14667	// A description that may help with diagnosing the cause of the fault.
14668	Message_ *string `locationName:"message" type:"string"`
14669}
14670
14671// String returns the string representation
14672func (s TypeAlreadyExistsFault) String() string {
14673	return awsutil.Prettify(s)
14674}
14675
14676// GoString returns the string representation
14677func (s TypeAlreadyExistsFault) GoString() string {
14678	return s.String()
14679}
14680
14681func newErrorTypeAlreadyExistsFault(v protocol.ResponseMetadata) error {
14682	return &TypeAlreadyExistsFault{
14683		RespMetadata: v,
14684	}
14685}
14686
14687// Code returns the exception type name.
14688func (s *TypeAlreadyExistsFault) Code() string {
14689	return "TypeAlreadyExistsFault"
14690}
14691
14692// Message returns the exception's message.
14693func (s *TypeAlreadyExistsFault) Message() string {
14694	if s.Message_ != nil {
14695		return *s.Message_
14696	}
14697	return ""
14698}
14699
14700// OrigErr always returns nil, satisfies awserr.Error interface.
14701func (s *TypeAlreadyExistsFault) OrigErr() error {
14702	return nil
14703}
14704
14705func (s *TypeAlreadyExistsFault) Error() string {
14706	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14707}
14708
14709// Status code returns the HTTP status code for the request's response error.
14710func (s *TypeAlreadyExistsFault) StatusCode() int {
14711	return s.RespMetadata.StatusCode
14712}
14713
14714// RequestID returns the service's response RequestID for request.
14715func (s *TypeAlreadyExistsFault) RequestID() string {
14716	return s.RespMetadata.RequestID
14717}
14718
14719// Returned when the specified activity or workflow type was already deprecated.
14720type TypeDeprecatedFault struct {
14721	_            struct{}                  `type:"structure"`
14722	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14723
14724	// A description that may help with diagnosing the cause of the fault.
14725	Message_ *string `locationName:"message" type:"string"`
14726}
14727
14728// String returns the string representation
14729func (s TypeDeprecatedFault) String() string {
14730	return awsutil.Prettify(s)
14731}
14732
14733// GoString returns the string representation
14734func (s TypeDeprecatedFault) GoString() string {
14735	return s.String()
14736}
14737
14738func newErrorTypeDeprecatedFault(v protocol.ResponseMetadata) error {
14739	return &TypeDeprecatedFault{
14740		RespMetadata: v,
14741	}
14742}
14743
14744// Code returns the exception type name.
14745func (s *TypeDeprecatedFault) Code() string {
14746	return "TypeDeprecatedFault"
14747}
14748
14749// Message returns the exception's message.
14750func (s *TypeDeprecatedFault) Message() string {
14751	if s.Message_ != nil {
14752		return *s.Message_
14753	}
14754	return ""
14755}
14756
14757// OrigErr always returns nil, satisfies awserr.Error interface.
14758func (s *TypeDeprecatedFault) OrigErr() error {
14759	return nil
14760}
14761
14762func (s *TypeDeprecatedFault) Error() string {
14763	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14764}
14765
14766// Status code returns the HTTP status code for the request's response error.
14767func (s *TypeDeprecatedFault) StatusCode() int {
14768	return s.RespMetadata.StatusCode
14769}
14770
14771// RequestID returns the service's response RequestID for request.
14772func (s *TypeDeprecatedFault) RequestID() string {
14773	return s.RespMetadata.RequestID
14774}
14775
14776type UndeprecateActivityTypeInput struct {
14777	_ struct{} `type:"structure"`
14778
14779	// The activity type to undeprecate.
14780	//
14781	// ActivityType is a required field
14782	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
14783
14784	// The name of the domain of the deprecated activity type.
14785	//
14786	// Domain is a required field
14787	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
14788}
14789
14790// String returns the string representation
14791func (s UndeprecateActivityTypeInput) String() string {
14792	return awsutil.Prettify(s)
14793}
14794
14795// GoString returns the string representation
14796func (s UndeprecateActivityTypeInput) GoString() string {
14797	return s.String()
14798}
14799
14800// Validate inspects the fields of the type to determine if they are valid.
14801func (s *UndeprecateActivityTypeInput) Validate() error {
14802	invalidParams := request.ErrInvalidParams{Context: "UndeprecateActivityTypeInput"}
14803	if s.ActivityType == nil {
14804		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
14805	}
14806	if s.Domain == nil {
14807		invalidParams.Add(request.NewErrParamRequired("Domain"))
14808	}
14809	if s.Domain != nil && len(*s.Domain) < 1 {
14810		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
14811	}
14812	if s.ActivityType != nil {
14813		if err := s.ActivityType.Validate(); err != nil {
14814			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
14815		}
14816	}
14817
14818	if invalidParams.Len() > 0 {
14819		return invalidParams
14820	}
14821	return nil
14822}
14823
14824// SetActivityType sets the ActivityType field's value.
14825func (s *UndeprecateActivityTypeInput) SetActivityType(v *ActivityType) *UndeprecateActivityTypeInput {
14826	s.ActivityType = v
14827	return s
14828}
14829
14830// SetDomain sets the Domain field's value.
14831func (s *UndeprecateActivityTypeInput) SetDomain(v string) *UndeprecateActivityTypeInput {
14832	s.Domain = &v
14833	return s
14834}
14835
14836type UndeprecateActivityTypeOutput struct {
14837	_ struct{} `type:"structure"`
14838}
14839
14840// String returns the string representation
14841func (s UndeprecateActivityTypeOutput) String() string {
14842	return awsutil.Prettify(s)
14843}
14844
14845// GoString returns the string representation
14846func (s UndeprecateActivityTypeOutput) GoString() string {
14847	return s.String()
14848}
14849
14850type UndeprecateDomainInput struct {
14851	_ struct{} `type:"structure"`
14852
14853	// The name of the domain of the deprecated workflow type.
14854	//
14855	// Name is a required field
14856	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
14857}
14858
14859// String returns the string representation
14860func (s UndeprecateDomainInput) String() string {
14861	return awsutil.Prettify(s)
14862}
14863
14864// GoString returns the string representation
14865func (s UndeprecateDomainInput) GoString() string {
14866	return s.String()
14867}
14868
14869// Validate inspects the fields of the type to determine if they are valid.
14870func (s *UndeprecateDomainInput) Validate() error {
14871	invalidParams := request.ErrInvalidParams{Context: "UndeprecateDomainInput"}
14872	if s.Name == nil {
14873		invalidParams.Add(request.NewErrParamRequired("Name"))
14874	}
14875	if s.Name != nil && len(*s.Name) < 1 {
14876		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14877	}
14878
14879	if invalidParams.Len() > 0 {
14880		return invalidParams
14881	}
14882	return nil
14883}
14884
14885// SetName sets the Name field's value.
14886func (s *UndeprecateDomainInput) SetName(v string) *UndeprecateDomainInput {
14887	s.Name = &v
14888	return s
14889}
14890
14891type UndeprecateDomainOutput struct {
14892	_ struct{} `type:"structure"`
14893}
14894
14895// String returns the string representation
14896func (s UndeprecateDomainOutput) String() string {
14897	return awsutil.Prettify(s)
14898}
14899
14900// GoString returns the string representation
14901func (s UndeprecateDomainOutput) GoString() string {
14902	return s.String()
14903}
14904
14905type UndeprecateWorkflowTypeInput struct {
14906	_ struct{} `type:"structure"`
14907
14908	// The name of the domain of the deprecated workflow type.
14909	//
14910	// Domain is a required field
14911	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
14912
14913	// The name of the domain of the deprecated workflow type.
14914	//
14915	// WorkflowType is a required field
14916	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
14917}
14918
14919// String returns the string representation
14920func (s UndeprecateWorkflowTypeInput) String() string {
14921	return awsutil.Prettify(s)
14922}
14923
14924// GoString returns the string representation
14925func (s UndeprecateWorkflowTypeInput) GoString() string {
14926	return s.String()
14927}
14928
14929// Validate inspects the fields of the type to determine if they are valid.
14930func (s *UndeprecateWorkflowTypeInput) Validate() error {
14931	invalidParams := request.ErrInvalidParams{Context: "UndeprecateWorkflowTypeInput"}
14932	if s.Domain == nil {
14933		invalidParams.Add(request.NewErrParamRequired("Domain"))
14934	}
14935	if s.Domain != nil && len(*s.Domain) < 1 {
14936		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
14937	}
14938	if s.WorkflowType == nil {
14939		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
14940	}
14941	if s.WorkflowType != nil {
14942		if err := s.WorkflowType.Validate(); err != nil {
14943			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
14944		}
14945	}
14946
14947	if invalidParams.Len() > 0 {
14948		return invalidParams
14949	}
14950	return nil
14951}
14952
14953// SetDomain sets the Domain field's value.
14954func (s *UndeprecateWorkflowTypeInput) SetDomain(v string) *UndeprecateWorkflowTypeInput {
14955	s.Domain = &v
14956	return s
14957}
14958
14959// SetWorkflowType sets the WorkflowType field's value.
14960func (s *UndeprecateWorkflowTypeInput) SetWorkflowType(v *WorkflowType) *UndeprecateWorkflowTypeInput {
14961	s.WorkflowType = v
14962	return s
14963}
14964
14965type UndeprecateWorkflowTypeOutput struct {
14966	_ struct{} `type:"structure"`
14967}
14968
14969// String returns the string representation
14970func (s UndeprecateWorkflowTypeOutput) String() string {
14971	return awsutil.Prettify(s)
14972}
14973
14974// GoString returns the string representation
14975func (s UndeprecateWorkflowTypeOutput) GoString() string {
14976	return s.String()
14977}
14978
14979// Returned when the named resource cannot be found with in the scope of this
14980// operation (region or domain). This could happen if the named resource was
14981// never created or is no longer available for this operation.
14982type UnknownResourceFault struct {
14983	_            struct{}                  `type:"structure"`
14984	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14985
14986	// A description that may help with diagnosing the cause of the fault.
14987	Message_ *string `locationName:"message" type:"string"`
14988}
14989
14990// String returns the string representation
14991func (s UnknownResourceFault) String() string {
14992	return awsutil.Prettify(s)
14993}
14994
14995// GoString returns the string representation
14996func (s UnknownResourceFault) GoString() string {
14997	return s.String()
14998}
14999
15000func newErrorUnknownResourceFault(v protocol.ResponseMetadata) error {
15001	return &UnknownResourceFault{
15002		RespMetadata: v,
15003	}
15004}
15005
15006// Code returns the exception type name.
15007func (s *UnknownResourceFault) Code() string {
15008	return "UnknownResourceFault"
15009}
15010
15011// Message returns the exception's message.
15012func (s *UnknownResourceFault) Message() string {
15013	if s.Message_ != nil {
15014		return *s.Message_
15015	}
15016	return ""
15017}
15018
15019// OrigErr always returns nil, satisfies awserr.Error interface.
15020func (s *UnknownResourceFault) OrigErr() error {
15021	return nil
15022}
15023
15024func (s *UnknownResourceFault) Error() string {
15025	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15026}
15027
15028// Status code returns the HTTP status code for the request's response error.
15029func (s *UnknownResourceFault) StatusCode() int {
15030	return s.RespMetadata.StatusCode
15031}
15032
15033// RequestID returns the service's response RequestID for request.
15034func (s *UnknownResourceFault) RequestID() string {
15035	return s.RespMetadata.RequestID
15036}
15037
15038type UntagResourceInput struct {
15039	_ struct{} `type:"structure"`
15040
15041	// The Amazon Resource Name (ARN) for the Amazon SWF domain.
15042	//
15043	// ResourceArn is a required field
15044	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
15045
15046	// The list of tags to remove from the Amazon SWF domain.
15047	//
15048	// TagKeys is a required field
15049	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
15050}
15051
15052// String returns the string representation
15053func (s UntagResourceInput) String() string {
15054	return awsutil.Prettify(s)
15055}
15056
15057// GoString returns the string representation
15058func (s UntagResourceInput) GoString() string {
15059	return s.String()
15060}
15061
15062// Validate inspects the fields of the type to determine if they are valid.
15063func (s *UntagResourceInput) Validate() error {
15064	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
15065	if s.ResourceArn == nil {
15066		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15067	}
15068	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15069		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15070	}
15071	if s.TagKeys == nil {
15072		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15073	}
15074
15075	if invalidParams.Len() > 0 {
15076		return invalidParams
15077	}
15078	return nil
15079}
15080
15081// SetResourceArn sets the ResourceArn field's value.
15082func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
15083	s.ResourceArn = &v
15084	return s
15085}
15086
15087// SetTagKeys sets the TagKeys field's value.
15088func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
15089	s.TagKeys = v
15090	return s
15091}
15092
15093type UntagResourceOutput struct {
15094	_ struct{} `type:"structure"`
15095}
15096
15097// String returns the string representation
15098func (s UntagResourceOutput) String() string {
15099	return awsutil.Prettify(s)
15100}
15101
15102// GoString returns the string representation
15103func (s UntagResourceOutput) GoString() string {
15104	return s.String()
15105}
15106
15107// Represents a workflow execution.
15108type WorkflowExecution struct {
15109	_ struct{} `type:"structure"`
15110
15111	// A system-generated unique identifier for the workflow execution.
15112	//
15113	// RunId is a required field
15114	RunId *string `locationName:"runId" min:"1" type:"string" required:"true"`
15115
15116	// The user defined identifier associated with the workflow execution.
15117	//
15118	// WorkflowId is a required field
15119	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
15120}
15121
15122// String returns the string representation
15123func (s WorkflowExecution) String() string {
15124	return awsutil.Prettify(s)
15125}
15126
15127// GoString returns the string representation
15128func (s WorkflowExecution) GoString() string {
15129	return s.String()
15130}
15131
15132// Validate inspects the fields of the type to determine if they are valid.
15133func (s *WorkflowExecution) Validate() error {
15134	invalidParams := request.ErrInvalidParams{Context: "WorkflowExecution"}
15135	if s.RunId == nil {
15136		invalidParams.Add(request.NewErrParamRequired("RunId"))
15137	}
15138	if s.RunId != nil && len(*s.RunId) < 1 {
15139		invalidParams.Add(request.NewErrParamMinLen("RunId", 1))
15140	}
15141	if s.WorkflowId == nil {
15142		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
15143	}
15144	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
15145		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
15146	}
15147
15148	if invalidParams.Len() > 0 {
15149		return invalidParams
15150	}
15151	return nil
15152}
15153
15154// SetRunId sets the RunId field's value.
15155func (s *WorkflowExecution) SetRunId(v string) *WorkflowExecution {
15156	s.RunId = &v
15157	return s
15158}
15159
15160// SetWorkflowId sets the WorkflowId field's value.
15161func (s *WorkflowExecution) SetWorkflowId(v string) *WorkflowExecution {
15162	s.WorkflowId = &v
15163	return s
15164}
15165
15166// Returned by StartWorkflowExecution when an open execution with the same workflowId
15167// is already running in the specified domain.
15168type WorkflowExecutionAlreadyStartedFault struct {
15169	_            struct{}                  `type:"structure"`
15170	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15171
15172	// A description that may help with diagnosing the cause of the fault.
15173	Message_ *string `locationName:"message" type:"string"`
15174}
15175
15176// String returns the string representation
15177func (s WorkflowExecutionAlreadyStartedFault) String() string {
15178	return awsutil.Prettify(s)
15179}
15180
15181// GoString returns the string representation
15182func (s WorkflowExecutionAlreadyStartedFault) GoString() string {
15183	return s.String()
15184}
15185
15186func newErrorWorkflowExecutionAlreadyStartedFault(v protocol.ResponseMetadata) error {
15187	return &WorkflowExecutionAlreadyStartedFault{
15188		RespMetadata: v,
15189	}
15190}
15191
15192// Code returns the exception type name.
15193func (s *WorkflowExecutionAlreadyStartedFault) Code() string {
15194	return "WorkflowExecutionAlreadyStartedFault"
15195}
15196
15197// Message returns the exception's message.
15198func (s *WorkflowExecutionAlreadyStartedFault) Message() string {
15199	if s.Message_ != nil {
15200		return *s.Message_
15201	}
15202	return ""
15203}
15204
15205// OrigErr always returns nil, satisfies awserr.Error interface.
15206func (s *WorkflowExecutionAlreadyStartedFault) OrigErr() error {
15207	return nil
15208}
15209
15210func (s *WorkflowExecutionAlreadyStartedFault) Error() string {
15211	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15212}
15213
15214// Status code returns the HTTP status code for the request's response error.
15215func (s *WorkflowExecutionAlreadyStartedFault) StatusCode() int {
15216	return s.RespMetadata.StatusCode
15217}
15218
15219// RequestID returns the service's response RequestID for request.
15220func (s *WorkflowExecutionAlreadyStartedFault) RequestID() string {
15221	return s.RespMetadata.RequestID
15222}
15223
15224// Provides the details of the WorkflowExecutionCancelRequested event.
15225type WorkflowExecutionCancelRequestedEventAttributes struct {
15226	_ struct{} `type:"structure"`
15227
15228	// If set, indicates that the request to cancel the workflow execution was automatically
15229	// generated, and specifies the cause. This happens if the parent workflow execution
15230	// times out or is terminated, and the child policy is set to cancel child executions.
15231	Cause *string `locationName:"cause" type:"string" enum:"WorkflowExecutionCancelRequestedCause"`
15232
15233	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding
15234	// to the RequestCancelExternalWorkflowExecution decision to cancel this workflow
15235	// execution.The source event with this ID can be found in the history of the
15236	// source workflow execution. This information can be useful for diagnosing
15237	// problems by tracing back the chain of events leading up to this event.
15238	ExternalInitiatedEventId *int64 `locationName:"externalInitiatedEventId" type:"long"`
15239
15240	// The external workflow execution for which the cancellation was requested.
15241	ExternalWorkflowExecution *WorkflowExecution `locationName:"externalWorkflowExecution" type:"structure"`
15242}
15243
15244// String returns the string representation
15245func (s WorkflowExecutionCancelRequestedEventAttributes) String() string {
15246	return awsutil.Prettify(s)
15247}
15248
15249// GoString returns the string representation
15250func (s WorkflowExecutionCancelRequestedEventAttributes) GoString() string {
15251	return s.String()
15252}
15253
15254// SetCause sets the Cause field's value.
15255func (s *WorkflowExecutionCancelRequestedEventAttributes) SetCause(v string) *WorkflowExecutionCancelRequestedEventAttributes {
15256	s.Cause = &v
15257	return s
15258}
15259
15260// SetExternalInitiatedEventId sets the ExternalInitiatedEventId field's value.
15261func (s *WorkflowExecutionCancelRequestedEventAttributes) SetExternalInitiatedEventId(v int64) *WorkflowExecutionCancelRequestedEventAttributes {
15262	s.ExternalInitiatedEventId = &v
15263	return s
15264}
15265
15266// SetExternalWorkflowExecution sets the ExternalWorkflowExecution field's value.
15267func (s *WorkflowExecutionCancelRequestedEventAttributes) SetExternalWorkflowExecution(v *WorkflowExecution) *WorkflowExecutionCancelRequestedEventAttributes {
15268	s.ExternalWorkflowExecution = v
15269	return s
15270}
15271
15272// Provides the details of the WorkflowExecutionCanceled event.
15273type WorkflowExecutionCanceledEventAttributes struct {
15274	_ struct{} `type:"structure"`
15275
15276	// The ID of the DecisionTaskCompleted event corresponding to the decision task
15277	// that resulted in the CancelWorkflowExecution decision for this cancellation
15278	// request. This information can be useful for diagnosing problems by tracing
15279	// back the chain of events leading up to this event.
15280	//
15281	// DecisionTaskCompletedEventId is a required field
15282	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
15283
15284	// The details of the cancellation.
15285	Details *string `locationName:"details" type:"string"`
15286}
15287
15288// String returns the string representation
15289func (s WorkflowExecutionCanceledEventAttributes) String() string {
15290	return awsutil.Prettify(s)
15291}
15292
15293// GoString returns the string representation
15294func (s WorkflowExecutionCanceledEventAttributes) GoString() string {
15295	return s.String()
15296}
15297
15298// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
15299func (s *WorkflowExecutionCanceledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionCanceledEventAttributes {
15300	s.DecisionTaskCompletedEventId = &v
15301	return s
15302}
15303
15304// SetDetails sets the Details field's value.
15305func (s *WorkflowExecutionCanceledEventAttributes) SetDetails(v string) *WorkflowExecutionCanceledEventAttributes {
15306	s.Details = &v
15307	return s
15308}
15309
15310// Provides the details of the WorkflowExecutionCompleted event.
15311type WorkflowExecutionCompletedEventAttributes struct {
15312	_ struct{} `type:"structure"`
15313
15314	// The ID of the DecisionTaskCompleted event corresponding to the decision task
15315	// that resulted in the CompleteWorkflowExecution decision to complete this
15316	// execution. This information can be useful for diagnosing problems by tracing
15317	// back the chain of events leading up to this event.
15318	//
15319	// DecisionTaskCompletedEventId is a required field
15320	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
15321
15322	// The result produced by the workflow execution upon successful completion.
15323	Result *string `locationName:"result" type:"string"`
15324}
15325
15326// String returns the string representation
15327func (s WorkflowExecutionCompletedEventAttributes) String() string {
15328	return awsutil.Prettify(s)
15329}
15330
15331// GoString returns the string representation
15332func (s WorkflowExecutionCompletedEventAttributes) GoString() string {
15333	return s.String()
15334}
15335
15336// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
15337func (s *WorkflowExecutionCompletedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionCompletedEventAttributes {
15338	s.DecisionTaskCompletedEventId = &v
15339	return s
15340}
15341
15342// SetResult sets the Result field's value.
15343func (s *WorkflowExecutionCompletedEventAttributes) SetResult(v string) *WorkflowExecutionCompletedEventAttributes {
15344	s.Result = &v
15345	return s
15346}
15347
15348// The configuration settings for a workflow execution including timeout values,
15349// tasklist etc. These configuration settings are determined from the defaults
15350// specified when registering the workflow type and those specified when starting
15351// the workflow execution.
15352type WorkflowExecutionConfiguration struct {
15353	_ struct{} `type:"structure"`
15354
15355	// The policy to use for the child workflow executions if this workflow execution
15356	// is terminated, by calling the TerminateWorkflowExecution action explicitly
15357	// or due to an expired timeout.
15358	//
15359	// The supported child policies are:
15360	//
15361	//    * TERMINATE – The child executions are terminated.
15362	//
15363	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
15364	//    by recording a WorkflowExecutionCancelRequested event in its history.
15365	//    It is up to the decider to take appropriate actions when it receives an
15366	//    execution history with this event.
15367	//
15368	//    * ABANDON – No action is taken. The child executions continue to run.
15369	//
15370	// ChildPolicy is a required field
15371	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
15372
15373	// The total duration for this workflow execution.
15374	//
15375	// The duration is specified in seconds, an integer greater than or equal to
15376	// 0. You can use NONE to specify unlimited duration.
15377	//
15378	// ExecutionStartToCloseTimeout is a required field
15379	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" min:"1" type:"string" required:"true"`
15380
15381	// The IAM role attached to the child workflow execution.
15382	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
15383
15384	// The task list used for the decision tasks generated for this workflow execution.
15385	//
15386	// TaskList is a required field
15387	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
15388
15389	// The priority assigned to decision tasks for this workflow execution. Valid
15390	// values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
15391	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
15392	//
15393	// For more information about setting task priority, see Setting Task Priority
15394	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
15395	// in the Amazon SWF Developer Guide.
15396	TaskPriority *string `locationName:"taskPriority" type:"string"`
15397
15398	// The maximum duration allowed for decision tasks for this workflow execution.
15399	//
15400	// The duration is specified in seconds, an integer greater than or equal to
15401	// 0. You can use NONE to specify unlimited duration.
15402	//
15403	// TaskStartToCloseTimeout is a required field
15404	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" min:"1" type:"string" required:"true"`
15405}
15406
15407// String returns the string representation
15408func (s WorkflowExecutionConfiguration) String() string {
15409	return awsutil.Prettify(s)
15410}
15411
15412// GoString returns the string representation
15413func (s WorkflowExecutionConfiguration) GoString() string {
15414	return s.String()
15415}
15416
15417// SetChildPolicy sets the ChildPolicy field's value.
15418func (s *WorkflowExecutionConfiguration) SetChildPolicy(v string) *WorkflowExecutionConfiguration {
15419	s.ChildPolicy = &v
15420	return s
15421}
15422
15423// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
15424func (s *WorkflowExecutionConfiguration) SetExecutionStartToCloseTimeout(v string) *WorkflowExecutionConfiguration {
15425	s.ExecutionStartToCloseTimeout = &v
15426	return s
15427}
15428
15429// SetLambdaRole sets the LambdaRole field's value.
15430func (s *WorkflowExecutionConfiguration) SetLambdaRole(v string) *WorkflowExecutionConfiguration {
15431	s.LambdaRole = &v
15432	return s
15433}
15434
15435// SetTaskList sets the TaskList field's value.
15436func (s *WorkflowExecutionConfiguration) SetTaskList(v *TaskList) *WorkflowExecutionConfiguration {
15437	s.TaskList = v
15438	return s
15439}
15440
15441// SetTaskPriority sets the TaskPriority field's value.
15442func (s *WorkflowExecutionConfiguration) SetTaskPriority(v string) *WorkflowExecutionConfiguration {
15443	s.TaskPriority = &v
15444	return s
15445}
15446
15447// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
15448func (s *WorkflowExecutionConfiguration) SetTaskStartToCloseTimeout(v string) *WorkflowExecutionConfiguration {
15449	s.TaskStartToCloseTimeout = &v
15450	return s
15451}
15452
15453// Provides the details of the WorkflowExecutionContinuedAsNew event.
15454type WorkflowExecutionContinuedAsNewEventAttributes struct {
15455	_ struct{} `type:"structure"`
15456
15457	// The policy to use for the child workflow executions of the new execution
15458	// if it is terminated by calling the TerminateWorkflowExecution action explicitly
15459	// or due to an expired timeout.
15460	//
15461	// The supported child policies are:
15462	//
15463	//    * TERMINATE – The child executions are terminated.
15464	//
15465	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
15466	//    by recording a WorkflowExecutionCancelRequested event in its history.
15467	//    It is up to the decider to take appropriate actions when it receives an
15468	//    execution history with this event.
15469	//
15470	//    * ABANDON – No action is taken. The child executions continue to run.
15471	//
15472	// ChildPolicy is a required field
15473	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
15474
15475	// The ID of the DecisionTaskCompleted event corresponding to the decision task
15476	// that resulted in the ContinueAsNewWorkflowExecution decision that started
15477	// this execution. This information can be useful for diagnosing problems by
15478	// tracing back the chain of events leading up to this event.
15479	//
15480	// DecisionTaskCompletedEventId is a required field
15481	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
15482
15483	// The total duration allowed for the new workflow execution.
15484	//
15485	// The duration is specified in seconds, an integer greater than or equal to
15486	// 0. You can use NONE to specify unlimited duration.
15487	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
15488
15489	// The input provided to the new workflow execution.
15490	Input *string `locationName:"input" type:"string"`
15491
15492	// The IAM role to attach to the new (continued) workflow execution.
15493	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
15494
15495	// The runId of the new workflow execution.
15496	//
15497	// NewExecutionRunId is a required field
15498	NewExecutionRunId *string `locationName:"newExecutionRunId" min:"1" type:"string" required:"true"`
15499
15500	// The list of tags associated with the new workflow execution.
15501	TagList []*string `locationName:"tagList" type:"list"`
15502
15503	// The task list to use for the decisions of the new (continued) workflow execution.
15504	//
15505	// TaskList is a required field
15506	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
15507
15508	// The priority of the task to use for the decisions of the new (continued)
15509	// workflow execution.
15510	TaskPriority *string `locationName:"taskPriority" type:"string"`
15511
15512	// The maximum duration of decision tasks for the new workflow execution.
15513	//
15514	// The duration is specified in seconds, an integer greater than or equal to
15515	// 0. You can use NONE to specify unlimited duration.
15516	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
15517
15518	// The workflow type of this execution.
15519	//
15520	// WorkflowType is a required field
15521	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
15522}
15523
15524// String returns the string representation
15525func (s WorkflowExecutionContinuedAsNewEventAttributes) String() string {
15526	return awsutil.Prettify(s)
15527}
15528
15529// GoString returns the string representation
15530func (s WorkflowExecutionContinuedAsNewEventAttributes) GoString() string {
15531	return s.String()
15532}
15533
15534// SetChildPolicy sets the ChildPolicy field's value.
15535func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetChildPolicy(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15536	s.ChildPolicy = &v
15537	return s
15538}
15539
15540// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
15541func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionContinuedAsNewEventAttributes {
15542	s.DecisionTaskCompletedEventId = &v
15543	return s
15544}
15545
15546// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
15547func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetExecutionStartToCloseTimeout(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15548	s.ExecutionStartToCloseTimeout = &v
15549	return s
15550}
15551
15552// SetInput sets the Input field's value.
15553func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetInput(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15554	s.Input = &v
15555	return s
15556}
15557
15558// SetLambdaRole sets the LambdaRole field's value.
15559func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetLambdaRole(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15560	s.LambdaRole = &v
15561	return s
15562}
15563
15564// SetNewExecutionRunId sets the NewExecutionRunId field's value.
15565func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetNewExecutionRunId(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15566	s.NewExecutionRunId = &v
15567	return s
15568}
15569
15570// SetTagList sets the TagList field's value.
15571func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTagList(v []*string) *WorkflowExecutionContinuedAsNewEventAttributes {
15572	s.TagList = v
15573	return s
15574}
15575
15576// SetTaskList sets the TaskList field's value.
15577func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTaskList(v *TaskList) *WorkflowExecutionContinuedAsNewEventAttributes {
15578	s.TaskList = v
15579	return s
15580}
15581
15582// SetTaskPriority sets the TaskPriority field's value.
15583func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTaskPriority(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15584	s.TaskPriority = &v
15585	return s
15586}
15587
15588// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
15589func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTaskStartToCloseTimeout(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
15590	s.TaskStartToCloseTimeout = &v
15591	return s
15592}
15593
15594// SetWorkflowType sets the WorkflowType field's value.
15595func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetWorkflowType(v *WorkflowType) *WorkflowExecutionContinuedAsNewEventAttributes {
15596	s.WorkflowType = v
15597	return s
15598}
15599
15600// Contains the count of workflow executions returned from CountOpenWorkflowExecutions
15601// or CountClosedWorkflowExecutions
15602type WorkflowExecutionCount struct {
15603	_ struct{} `type:"structure"`
15604
15605	// The number of workflow executions.
15606	//
15607	// Count is a required field
15608	Count *int64 `locationName:"count" type:"integer" required:"true"`
15609
15610	// If set to true, indicates that the actual count was more than the maximum
15611	// supported by this API and the count returned is the truncated value.
15612	Truncated *bool `locationName:"truncated" type:"boolean"`
15613}
15614
15615// String returns the string representation
15616func (s WorkflowExecutionCount) String() string {
15617	return awsutil.Prettify(s)
15618}
15619
15620// GoString returns the string representation
15621func (s WorkflowExecutionCount) GoString() string {
15622	return s.String()
15623}
15624
15625// SetCount sets the Count field's value.
15626func (s *WorkflowExecutionCount) SetCount(v int64) *WorkflowExecutionCount {
15627	s.Count = &v
15628	return s
15629}
15630
15631// SetTruncated sets the Truncated field's value.
15632func (s *WorkflowExecutionCount) SetTruncated(v bool) *WorkflowExecutionCount {
15633	s.Truncated = &v
15634	return s
15635}
15636
15637// Provides the details of the WorkflowExecutionFailed event.
15638type WorkflowExecutionFailedEventAttributes struct {
15639	_ struct{} `type:"structure"`
15640
15641	// The ID of the DecisionTaskCompleted event corresponding to the decision task
15642	// that resulted in the FailWorkflowExecution decision to fail this execution.
15643	// This information can be useful for diagnosing problems by tracing back the
15644	// chain of events leading up to this event.
15645	//
15646	// DecisionTaskCompletedEventId is a required field
15647	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
15648
15649	// The details of the failure.
15650	Details *string `locationName:"details" type:"string"`
15651
15652	// The descriptive reason provided for the failure.
15653	Reason *string `locationName:"reason" type:"string"`
15654}
15655
15656// String returns the string representation
15657func (s WorkflowExecutionFailedEventAttributes) String() string {
15658	return awsutil.Prettify(s)
15659}
15660
15661// GoString returns the string representation
15662func (s WorkflowExecutionFailedEventAttributes) GoString() string {
15663	return s.String()
15664}
15665
15666// SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
15667func (s *WorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionFailedEventAttributes {
15668	s.DecisionTaskCompletedEventId = &v
15669	return s
15670}
15671
15672// SetDetails sets the Details field's value.
15673func (s *WorkflowExecutionFailedEventAttributes) SetDetails(v string) *WorkflowExecutionFailedEventAttributes {
15674	s.Details = &v
15675	return s
15676}
15677
15678// SetReason sets the Reason field's value.
15679func (s *WorkflowExecutionFailedEventAttributes) SetReason(v string) *WorkflowExecutionFailedEventAttributes {
15680	s.Reason = &v
15681	return s
15682}
15683
15684// Used to filter the workflow executions in visibility APIs by their workflowId.
15685type WorkflowExecutionFilter struct {
15686	_ struct{} `type:"structure"`
15687
15688	// The workflowId to pass of match the criteria of this filter.
15689	//
15690	// WorkflowId is a required field
15691	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
15692}
15693
15694// String returns the string representation
15695func (s WorkflowExecutionFilter) String() string {
15696	return awsutil.Prettify(s)
15697}
15698
15699// GoString returns the string representation
15700func (s WorkflowExecutionFilter) GoString() string {
15701	return s.String()
15702}
15703
15704// Validate inspects the fields of the type to determine if they are valid.
15705func (s *WorkflowExecutionFilter) Validate() error {
15706	invalidParams := request.ErrInvalidParams{Context: "WorkflowExecutionFilter"}
15707	if s.WorkflowId == nil {
15708		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
15709	}
15710	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
15711		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
15712	}
15713
15714	if invalidParams.Len() > 0 {
15715		return invalidParams
15716	}
15717	return nil
15718}
15719
15720// SetWorkflowId sets the WorkflowId field's value.
15721func (s *WorkflowExecutionFilter) SetWorkflowId(v string) *WorkflowExecutionFilter {
15722	s.WorkflowId = &v
15723	return s
15724}
15725
15726// Contains information about a workflow execution.
15727type WorkflowExecutionInfo struct {
15728	_ struct{} `type:"structure"`
15729
15730	// Set to true if a cancellation is requested for this workflow execution.
15731	CancelRequested *bool `locationName:"cancelRequested" type:"boolean"`
15732
15733	// If the execution status is closed then this specifies how the execution was
15734	// closed:
15735	//
15736	//    * COMPLETED – the execution was successfully completed.
15737	//
15738	//    * CANCELED – the execution was canceled.Cancellation allows the implementation
15739	//    to gracefully clean up before the execution is closed.
15740	//
15741	//    * TERMINATED – the execution was force terminated.
15742	//
15743	//    * FAILED – the execution failed to complete.
15744	//
15745	//    * TIMED_OUT – the execution did not complete in the alloted time and
15746	//    was automatically timed out.
15747	//
15748	//    * CONTINUED_AS_NEW – the execution is logically continued. This means
15749	//    the current execution was completed and a new execution was started to
15750	//    carry on the workflow.
15751	CloseStatus *string `locationName:"closeStatus" type:"string" enum:"CloseStatus"`
15752
15753	// The time when the workflow execution was closed. Set only if the execution
15754	// status is CLOSED.
15755	CloseTimestamp *time.Time `locationName:"closeTimestamp" type:"timestamp"`
15756
15757	// The workflow execution this information is about.
15758	//
15759	// Execution is a required field
15760	Execution *WorkflowExecution `locationName:"execution" type:"structure" required:"true"`
15761
15762	// The current status of the execution.
15763	//
15764	// ExecutionStatus is a required field
15765	ExecutionStatus *string `locationName:"executionStatus" type:"string" required:"true" enum:"ExecutionStatus"`
15766
15767	// If this workflow execution is a child of another execution then contains
15768	// the workflow execution that started this execution.
15769	Parent *WorkflowExecution `locationName:"parent" type:"structure"`
15770
15771	// The time when the execution was started.
15772	//
15773	// StartTimestamp is a required field
15774	StartTimestamp *time.Time `locationName:"startTimestamp" type:"timestamp" required:"true"`
15775
15776	// The list of tags associated with the workflow execution. Tags can be used
15777	// to identify and list workflow executions of interest through the visibility
15778	// APIs. A workflow execution can have a maximum of 5 tags.
15779	TagList []*string `locationName:"tagList" type:"list"`
15780
15781	// The type of the workflow execution.
15782	//
15783	// WorkflowType is a required field
15784	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
15785}
15786
15787// String returns the string representation
15788func (s WorkflowExecutionInfo) String() string {
15789	return awsutil.Prettify(s)
15790}
15791
15792// GoString returns the string representation
15793func (s WorkflowExecutionInfo) GoString() string {
15794	return s.String()
15795}
15796
15797// SetCancelRequested sets the CancelRequested field's value.
15798func (s *WorkflowExecutionInfo) SetCancelRequested(v bool) *WorkflowExecutionInfo {
15799	s.CancelRequested = &v
15800	return s
15801}
15802
15803// SetCloseStatus sets the CloseStatus field's value.
15804func (s *WorkflowExecutionInfo) SetCloseStatus(v string) *WorkflowExecutionInfo {
15805	s.CloseStatus = &v
15806	return s
15807}
15808
15809// SetCloseTimestamp sets the CloseTimestamp field's value.
15810func (s *WorkflowExecutionInfo) SetCloseTimestamp(v time.Time) *WorkflowExecutionInfo {
15811	s.CloseTimestamp = &v
15812	return s
15813}
15814
15815// SetExecution sets the Execution field's value.
15816func (s *WorkflowExecutionInfo) SetExecution(v *WorkflowExecution) *WorkflowExecutionInfo {
15817	s.Execution = v
15818	return s
15819}
15820
15821// SetExecutionStatus sets the ExecutionStatus field's value.
15822func (s *WorkflowExecutionInfo) SetExecutionStatus(v string) *WorkflowExecutionInfo {
15823	s.ExecutionStatus = &v
15824	return s
15825}
15826
15827// SetParent sets the Parent field's value.
15828func (s *WorkflowExecutionInfo) SetParent(v *WorkflowExecution) *WorkflowExecutionInfo {
15829	s.Parent = v
15830	return s
15831}
15832
15833// SetStartTimestamp sets the StartTimestamp field's value.
15834func (s *WorkflowExecutionInfo) SetStartTimestamp(v time.Time) *WorkflowExecutionInfo {
15835	s.StartTimestamp = &v
15836	return s
15837}
15838
15839// SetTagList sets the TagList field's value.
15840func (s *WorkflowExecutionInfo) SetTagList(v []*string) *WorkflowExecutionInfo {
15841	s.TagList = v
15842	return s
15843}
15844
15845// SetWorkflowType sets the WorkflowType field's value.
15846func (s *WorkflowExecutionInfo) SetWorkflowType(v *WorkflowType) *WorkflowExecutionInfo {
15847	s.WorkflowType = v
15848	return s
15849}
15850
15851// Contains a paginated list of information about workflow executions.
15852type WorkflowExecutionInfos struct {
15853	_ struct{} `type:"structure"`
15854
15855	// The list of workflow information structures.
15856	//
15857	// ExecutionInfos is a required field
15858	ExecutionInfos []*WorkflowExecutionInfo `locationName:"executionInfos" type:"list" required:"true"`
15859
15860	// If a NextPageToken was returned by a previous call, there are more results
15861	// available. To retrieve the next page of results, make the call again using
15862	// the returned token in nextPageToken. Keep all other arguments unchanged.
15863	//
15864	// The configured maximumPageSize determines how many results can be returned
15865	// in a single call.
15866	NextPageToken *string `locationName:"nextPageToken" type:"string"`
15867}
15868
15869// String returns the string representation
15870func (s WorkflowExecutionInfos) String() string {
15871	return awsutil.Prettify(s)
15872}
15873
15874// GoString returns the string representation
15875func (s WorkflowExecutionInfos) GoString() string {
15876	return s.String()
15877}
15878
15879// SetExecutionInfos sets the ExecutionInfos field's value.
15880func (s *WorkflowExecutionInfos) SetExecutionInfos(v []*WorkflowExecutionInfo) *WorkflowExecutionInfos {
15881	s.ExecutionInfos = v
15882	return s
15883}
15884
15885// SetNextPageToken sets the NextPageToken field's value.
15886func (s *WorkflowExecutionInfos) SetNextPageToken(v string) *WorkflowExecutionInfos {
15887	s.NextPageToken = &v
15888	return s
15889}
15890
15891// Contains the counts of open tasks, child workflow executions and timers for
15892// a workflow execution.
15893type WorkflowExecutionOpenCounts struct {
15894	_ struct{} `type:"structure"`
15895
15896	// The count of activity tasks whose status is OPEN.
15897	//
15898	// OpenActivityTasks is a required field
15899	OpenActivityTasks *int64 `locationName:"openActivityTasks" type:"integer" required:"true"`
15900
15901	// The count of child workflow executions whose status is OPEN.
15902	//
15903	// OpenChildWorkflowExecutions is a required field
15904	OpenChildWorkflowExecutions *int64 `locationName:"openChildWorkflowExecutions" type:"integer" required:"true"`
15905
15906	// The count of decision tasks whose status is OPEN. A workflow execution can
15907	// have at most one open decision task.
15908	//
15909	// OpenDecisionTasks is a required field
15910	OpenDecisionTasks *int64 `locationName:"openDecisionTasks" type:"integer" required:"true"`
15911
15912	// The count of Lambda tasks whose status is OPEN.
15913	OpenLambdaFunctions *int64 `locationName:"openLambdaFunctions" type:"integer"`
15914
15915	// The count of timers started by this workflow execution that have not fired
15916	// yet.
15917	//
15918	// OpenTimers is a required field
15919	OpenTimers *int64 `locationName:"openTimers" type:"integer" required:"true"`
15920}
15921
15922// String returns the string representation
15923func (s WorkflowExecutionOpenCounts) String() string {
15924	return awsutil.Prettify(s)
15925}
15926
15927// GoString returns the string representation
15928func (s WorkflowExecutionOpenCounts) GoString() string {
15929	return s.String()
15930}
15931
15932// SetOpenActivityTasks sets the OpenActivityTasks field's value.
15933func (s *WorkflowExecutionOpenCounts) SetOpenActivityTasks(v int64) *WorkflowExecutionOpenCounts {
15934	s.OpenActivityTasks = &v
15935	return s
15936}
15937
15938// SetOpenChildWorkflowExecutions sets the OpenChildWorkflowExecutions field's value.
15939func (s *WorkflowExecutionOpenCounts) SetOpenChildWorkflowExecutions(v int64) *WorkflowExecutionOpenCounts {
15940	s.OpenChildWorkflowExecutions = &v
15941	return s
15942}
15943
15944// SetOpenDecisionTasks sets the OpenDecisionTasks field's value.
15945func (s *WorkflowExecutionOpenCounts) SetOpenDecisionTasks(v int64) *WorkflowExecutionOpenCounts {
15946	s.OpenDecisionTasks = &v
15947	return s
15948}
15949
15950// SetOpenLambdaFunctions sets the OpenLambdaFunctions field's value.
15951func (s *WorkflowExecutionOpenCounts) SetOpenLambdaFunctions(v int64) *WorkflowExecutionOpenCounts {
15952	s.OpenLambdaFunctions = &v
15953	return s
15954}
15955
15956// SetOpenTimers sets the OpenTimers field's value.
15957func (s *WorkflowExecutionOpenCounts) SetOpenTimers(v int64) *WorkflowExecutionOpenCounts {
15958	s.OpenTimers = &v
15959	return s
15960}
15961
15962// Provides the details of the WorkflowExecutionSignaled event.
15963type WorkflowExecutionSignaledEventAttributes struct {
15964	_ struct{} `type:"structure"`
15965
15966	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding
15967	// to the SignalExternalWorkflow decision to signal this workflow execution.The
15968	// source event with this ID can be found in the history of the source workflow
15969	// execution. This information can be useful for diagnosing problems by tracing
15970	// back the chain of events leading up to this event. This field is set only
15971	// if the signal was initiated by another workflow execution.
15972	ExternalInitiatedEventId *int64 `locationName:"externalInitiatedEventId" type:"long"`
15973
15974	// The workflow execution that sent the signal. This is set only of the signal
15975	// was sent by another workflow execution.
15976	ExternalWorkflowExecution *WorkflowExecution `locationName:"externalWorkflowExecution" type:"structure"`
15977
15978	// The inputs provided with the signal. The decider can use the signal name
15979	// and inputs to determine how to process the signal.
15980	Input *string `locationName:"input" type:"string"`
15981
15982	// The name of the signal received. The decider can use the signal name and
15983	// inputs to determine how to the process the signal.
15984	//
15985	// SignalName is a required field
15986	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
15987}
15988
15989// String returns the string representation
15990func (s WorkflowExecutionSignaledEventAttributes) String() string {
15991	return awsutil.Prettify(s)
15992}
15993
15994// GoString returns the string representation
15995func (s WorkflowExecutionSignaledEventAttributes) GoString() string {
15996	return s.String()
15997}
15998
15999// SetExternalInitiatedEventId sets the ExternalInitiatedEventId field's value.
16000func (s *WorkflowExecutionSignaledEventAttributes) SetExternalInitiatedEventId(v int64) *WorkflowExecutionSignaledEventAttributes {
16001	s.ExternalInitiatedEventId = &v
16002	return s
16003}
16004
16005// SetExternalWorkflowExecution sets the ExternalWorkflowExecution field's value.
16006func (s *WorkflowExecutionSignaledEventAttributes) SetExternalWorkflowExecution(v *WorkflowExecution) *WorkflowExecutionSignaledEventAttributes {
16007	s.ExternalWorkflowExecution = v
16008	return s
16009}
16010
16011// SetInput sets the Input field's value.
16012func (s *WorkflowExecutionSignaledEventAttributes) SetInput(v string) *WorkflowExecutionSignaledEventAttributes {
16013	s.Input = &v
16014	return s
16015}
16016
16017// SetSignalName sets the SignalName field's value.
16018func (s *WorkflowExecutionSignaledEventAttributes) SetSignalName(v string) *WorkflowExecutionSignaledEventAttributes {
16019	s.SignalName = &v
16020	return s
16021}
16022
16023// Provides details of WorkflowExecutionStarted event.
16024type WorkflowExecutionStartedEventAttributes struct {
16025	_ struct{} `type:"structure"`
16026
16027	// The policy to use for the child workflow executions if this workflow execution
16028	// is terminated, by calling the TerminateWorkflowExecution action explicitly
16029	// or due to an expired timeout.
16030	//
16031	// The supported child policies are:
16032	//
16033	//    * TERMINATE – The child executions are terminated.
16034	//
16035	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
16036	//    by recording a WorkflowExecutionCancelRequested event in its history.
16037	//    It is up to the decider to take appropriate actions when it receives an
16038	//    execution history with this event.
16039	//
16040	//    * ABANDON – No action is taken. The child executions continue to run.
16041	//
16042	// ChildPolicy is a required field
16043	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
16044
16045	// If this workflow execution was started due to a ContinueAsNewWorkflowExecution
16046	// decision, then it contains the runId of the previous workflow execution that
16047	// was closed and continued as this execution.
16048	ContinuedExecutionRunId *string `locationName:"continuedExecutionRunId" type:"string"`
16049
16050	// The maximum duration for this workflow execution.
16051	//
16052	// The duration is specified in seconds, an integer greater than or equal to
16053	// 0. You can use NONE to specify unlimited duration.
16054	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
16055
16056	// The input provided to the workflow execution.
16057	Input *string `locationName:"input" type:"string"`
16058
16059	// The IAM role attached to the workflow execution.
16060	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
16061
16062	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
16063	// the StartChildWorkflowExecution Decision to start this workflow execution.
16064	// The source event with this ID can be found in the history of the source workflow
16065	// execution. This information can be useful for diagnosing problems by tracing
16066	// back the chain of events leading up to this event.
16067	ParentInitiatedEventId *int64 `locationName:"parentInitiatedEventId" type:"long"`
16068
16069	// The source workflow execution that started this workflow execution. The member
16070	// isn't set if the workflow execution was not started by a workflow.
16071	ParentWorkflowExecution *WorkflowExecution `locationName:"parentWorkflowExecution" type:"structure"`
16072
16073	// The list of tags associated with this workflow execution. An execution can
16074	// have up to 5 tags.
16075	TagList []*string `locationName:"tagList" type:"list"`
16076
16077	// The name of the task list for scheduling the decision tasks for this workflow
16078	// execution.
16079	//
16080	// TaskList is a required field
16081	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
16082
16083	// The priority of the decision tasks in the workflow execution.
16084	TaskPriority *string `locationName:"taskPriority" type:"string"`
16085
16086	// The maximum duration of decision tasks for this workflow type.
16087	//
16088	// The duration is specified in seconds, an integer greater than or equal to
16089	// 0. You can use NONE to specify unlimited duration.
16090	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
16091
16092	// The workflow type of this execution.
16093	//
16094	// WorkflowType is a required field
16095	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
16096}
16097
16098// String returns the string representation
16099func (s WorkflowExecutionStartedEventAttributes) String() string {
16100	return awsutil.Prettify(s)
16101}
16102
16103// GoString returns the string representation
16104func (s WorkflowExecutionStartedEventAttributes) GoString() string {
16105	return s.String()
16106}
16107
16108// SetChildPolicy sets the ChildPolicy field's value.
16109func (s *WorkflowExecutionStartedEventAttributes) SetChildPolicy(v string) *WorkflowExecutionStartedEventAttributes {
16110	s.ChildPolicy = &v
16111	return s
16112}
16113
16114// SetContinuedExecutionRunId sets the ContinuedExecutionRunId field's value.
16115func (s *WorkflowExecutionStartedEventAttributes) SetContinuedExecutionRunId(v string) *WorkflowExecutionStartedEventAttributes {
16116	s.ContinuedExecutionRunId = &v
16117	return s
16118}
16119
16120// SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
16121func (s *WorkflowExecutionStartedEventAttributes) SetExecutionStartToCloseTimeout(v string) *WorkflowExecutionStartedEventAttributes {
16122	s.ExecutionStartToCloseTimeout = &v
16123	return s
16124}
16125
16126// SetInput sets the Input field's value.
16127func (s *WorkflowExecutionStartedEventAttributes) SetInput(v string) *WorkflowExecutionStartedEventAttributes {
16128	s.Input = &v
16129	return s
16130}
16131
16132// SetLambdaRole sets the LambdaRole field's value.
16133func (s *WorkflowExecutionStartedEventAttributes) SetLambdaRole(v string) *WorkflowExecutionStartedEventAttributes {
16134	s.LambdaRole = &v
16135	return s
16136}
16137
16138// SetParentInitiatedEventId sets the ParentInitiatedEventId field's value.
16139func (s *WorkflowExecutionStartedEventAttributes) SetParentInitiatedEventId(v int64) *WorkflowExecutionStartedEventAttributes {
16140	s.ParentInitiatedEventId = &v
16141	return s
16142}
16143
16144// SetParentWorkflowExecution sets the ParentWorkflowExecution field's value.
16145func (s *WorkflowExecutionStartedEventAttributes) SetParentWorkflowExecution(v *WorkflowExecution) *WorkflowExecutionStartedEventAttributes {
16146	s.ParentWorkflowExecution = v
16147	return s
16148}
16149
16150// SetTagList sets the TagList field's value.
16151func (s *WorkflowExecutionStartedEventAttributes) SetTagList(v []*string) *WorkflowExecutionStartedEventAttributes {
16152	s.TagList = v
16153	return s
16154}
16155
16156// SetTaskList sets the TaskList field's value.
16157func (s *WorkflowExecutionStartedEventAttributes) SetTaskList(v *TaskList) *WorkflowExecutionStartedEventAttributes {
16158	s.TaskList = v
16159	return s
16160}
16161
16162// SetTaskPriority sets the TaskPriority field's value.
16163func (s *WorkflowExecutionStartedEventAttributes) SetTaskPriority(v string) *WorkflowExecutionStartedEventAttributes {
16164	s.TaskPriority = &v
16165	return s
16166}
16167
16168// SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
16169func (s *WorkflowExecutionStartedEventAttributes) SetTaskStartToCloseTimeout(v string) *WorkflowExecutionStartedEventAttributes {
16170	s.TaskStartToCloseTimeout = &v
16171	return s
16172}
16173
16174// SetWorkflowType sets the WorkflowType field's value.
16175func (s *WorkflowExecutionStartedEventAttributes) SetWorkflowType(v *WorkflowType) *WorkflowExecutionStartedEventAttributes {
16176	s.WorkflowType = v
16177	return s
16178}
16179
16180// Provides the details of the WorkflowExecutionTerminated event.
16181type WorkflowExecutionTerminatedEventAttributes struct {
16182	_ struct{} `type:"structure"`
16183
16184	// If set, indicates that the workflow execution was automatically terminated,
16185	// and specifies the cause. This happens if the parent workflow execution times
16186	// out or is terminated and the child policy is set to terminate child executions.
16187	Cause *string `locationName:"cause" type:"string" enum:"WorkflowExecutionTerminatedCause"`
16188
16189	// The policy used for the child workflow executions of this workflow execution.
16190	//
16191	// The supported child policies are:
16192	//
16193	//    * TERMINATE – The child executions are terminated.
16194	//
16195	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
16196	//    by recording a WorkflowExecutionCancelRequested event in its history.
16197	//    It is up to the decider to take appropriate actions when it receives an
16198	//    execution history with this event.
16199	//
16200	//    * ABANDON – No action is taken. The child executions continue to run.
16201	//
16202	// ChildPolicy is a required field
16203	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
16204
16205	// The details provided for the termination.
16206	Details *string `locationName:"details" type:"string"`
16207
16208	// The reason provided for the termination.
16209	Reason *string `locationName:"reason" type:"string"`
16210}
16211
16212// String returns the string representation
16213func (s WorkflowExecutionTerminatedEventAttributes) String() string {
16214	return awsutil.Prettify(s)
16215}
16216
16217// GoString returns the string representation
16218func (s WorkflowExecutionTerminatedEventAttributes) GoString() string {
16219	return s.String()
16220}
16221
16222// SetCause sets the Cause field's value.
16223func (s *WorkflowExecutionTerminatedEventAttributes) SetCause(v string) *WorkflowExecutionTerminatedEventAttributes {
16224	s.Cause = &v
16225	return s
16226}
16227
16228// SetChildPolicy sets the ChildPolicy field's value.
16229func (s *WorkflowExecutionTerminatedEventAttributes) SetChildPolicy(v string) *WorkflowExecutionTerminatedEventAttributes {
16230	s.ChildPolicy = &v
16231	return s
16232}
16233
16234// SetDetails sets the Details field's value.
16235func (s *WorkflowExecutionTerminatedEventAttributes) SetDetails(v string) *WorkflowExecutionTerminatedEventAttributes {
16236	s.Details = &v
16237	return s
16238}
16239
16240// SetReason sets the Reason field's value.
16241func (s *WorkflowExecutionTerminatedEventAttributes) SetReason(v string) *WorkflowExecutionTerminatedEventAttributes {
16242	s.Reason = &v
16243	return s
16244}
16245
16246// Provides the details of the WorkflowExecutionTimedOut event.
16247type WorkflowExecutionTimedOutEventAttributes struct {
16248	_ struct{} `type:"structure"`
16249
16250	// The policy used for the child workflow executions of this workflow execution.
16251	//
16252	// The supported child policies are:
16253	//
16254	//    * TERMINATE – The child executions are terminated.
16255	//
16256	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
16257	//    by recording a WorkflowExecutionCancelRequested event in its history.
16258	//    It is up to the decider to take appropriate actions when it receives an
16259	//    execution history with this event.
16260	//
16261	//    * ABANDON – No action is taken. The child executions continue to run.
16262	//
16263	// ChildPolicy is a required field
16264	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
16265
16266	// The type of timeout that caused this event.
16267	//
16268	// TimeoutType is a required field
16269	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"WorkflowExecutionTimeoutType"`
16270}
16271
16272// String returns the string representation
16273func (s WorkflowExecutionTimedOutEventAttributes) String() string {
16274	return awsutil.Prettify(s)
16275}
16276
16277// GoString returns the string representation
16278func (s WorkflowExecutionTimedOutEventAttributes) GoString() string {
16279	return s.String()
16280}
16281
16282// SetChildPolicy sets the ChildPolicy field's value.
16283func (s *WorkflowExecutionTimedOutEventAttributes) SetChildPolicy(v string) *WorkflowExecutionTimedOutEventAttributes {
16284	s.ChildPolicy = &v
16285	return s
16286}
16287
16288// SetTimeoutType sets the TimeoutType field's value.
16289func (s *WorkflowExecutionTimedOutEventAttributes) SetTimeoutType(v string) *WorkflowExecutionTimedOutEventAttributes {
16290	s.TimeoutType = &v
16291	return s
16292}
16293
16294// Represents a workflow type.
16295type WorkflowType struct {
16296	_ struct{} `type:"structure"`
16297
16298	// The name of the workflow type.
16299	//
16300	// The combination of workflow type name and version must be unique with in
16301	// a domain.
16302	//
16303	// Name is a required field
16304	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
16305
16306	// The version of the workflow type.
16307	//
16308	// The combination of workflow type name and version must be unique with in
16309	// a domain.
16310	//
16311	// Version is a required field
16312	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
16313}
16314
16315// String returns the string representation
16316func (s WorkflowType) String() string {
16317	return awsutil.Prettify(s)
16318}
16319
16320// GoString returns the string representation
16321func (s WorkflowType) GoString() string {
16322	return s.String()
16323}
16324
16325// Validate inspects the fields of the type to determine if they are valid.
16326func (s *WorkflowType) Validate() error {
16327	invalidParams := request.ErrInvalidParams{Context: "WorkflowType"}
16328	if s.Name == nil {
16329		invalidParams.Add(request.NewErrParamRequired("Name"))
16330	}
16331	if s.Name != nil && len(*s.Name) < 1 {
16332		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16333	}
16334	if s.Version == nil {
16335		invalidParams.Add(request.NewErrParamRequired("Version"))
16336	}
16337	if s.Version != nil && len(*s.Version) < 1 {
16338		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
16339	}
16340
16341	if invalidParams.Len() > 0 {
16342		return invalidParams
16343	}
16344	return nil
16345}
16346
16347// SetName sets the Name field's value.
16348func (s *WorkflowType) SetName(v string) *WorkflowType {
16349	s.Name = &v
16350	return s
16351}
16352
16353// SetVersion sets the Version field's value.
16354func (s *WorkflowType) SetVersion(v string) *WorkflowType {
16355	s.Version = &v
16356	return s
16357}
16358
16359// The configuration settings of a workflow type.
16360type WorkflowTypeConfiguration struct {
16361	_ struct{} `type:"structure"`
16362
16363	// The default policy to use for the child workflow executions when a workflow
16364	// execution of this type is terminated, by calling the TerminateWorkflowExecution
16365	// action explicitly or due to an expired timeout. This default can be overridden
16366	// when starting a workflow execution using the StartWorkflowExecution action
16367	// or the StartChildWorkflowExecution Decision.
16368	//
16369	// The supported child policies are:
16370	//
16371	//    * TERMINATE – The child executions are terminated.
16372	//
16373	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
16374	//    by recording a WorkflowExecutionCancelRequested event in its history.
16375	//    It is up to the decider to take appropriate actions when it receives an
16376	//    execution history with this event.
16377	//
16378	//    * ABANDON – No action is taken. The child executions continue to run.
16379	DefaultChildPolicy *string `locationName:"defaultChildPolicy" type:"string" enum:"ChildPolicy"`
16380
16381	// The default maximum duration, specified when registering the workflow type,
16382	// for executions of this workflow type. This default can be overridden when
16383	// starting a workflow execution using the StartWorkflowExecution action or
16384	// the StartChildWorkflowExecution Decision.
16385	//
16386	// The duration is specified in seconds, an integer greater than or equal to
16387	// 0. You can use NONE to specify unlimited duration.
16388	DefaultExecutionStartToCloseTimeout *string `locationName:"defaultExecutionStartToCloseTimeout" type:"string"`
16389
16390	// The default IAM role attached to this workflow type.
16391	//
16392	// Executions of this workflow type need IAM roles to invoke Lambda functions.
16393	// If you don't specify an IAM role when starting this workflow type, the default
16394	// Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
16395	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
16396	// in the Amazon SWF Developer Guide.
16397	DefaultLambdaRole *string `locationName:"defaultLambdaRole" min:"1" type:"string"`
16398
16399	// The default task list, specified when registering the workflow type, for
16400	// decisions tasks scheduled for workflow executions of this type. This default
16401	// can be overridden when starting a workflow execution using the StartWorkflowExecution
16402	// action or the StartChildWorkflowExecution Decision.
16403	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
16404
16405	// The default task priority, specified when registering the workflow type,
16406	// for all decision tasks of this workflow type. This default can be overridden
16407	// when starting a workflow execution using the StartWorkflowExecution action
16408	// or the StartChildWorkflowExecution decision.
16409	//
16410	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
16411	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
16412	//
16413	// For more information about setting task priority, see Setting Task Priority
16414	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
16415	// in the Amazon SWF Developer Guide.
16416	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
16417
16418	// The default maximum duration, specified when registering the workflow type,
16419	// that a decision task for executions of this workflow type might take before
16420	// returning completion or failure. If the task doesn'tdo close in the specified
16421	// time then the task is automatically timed out and rescheduled. If the decider
16422	// eventually reports a completion or failure, it is ignored. This default can
16423	// be overridden when starting a workflow execution using the StartWorkflowExecution
16424	// action or the StartChildWorkflowExecution Decision.
16425	//
16426	// The duration is specified in seconds, an integer greater than or equal to
16427	// 0. You can use NONE to specify unlimited duration.
16428	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
16429}
16430
16431// String returns the string representation
16432func (s WorkflowTypeConfiguration) String() string {
16433	return awsutil.Prettify(s)
16434}
16435
16436// GoString returns the string representation
16437func (s WorkflowTypeConfiguration) GoString() string {
16438	return s.String()
16439}
16440
16441// SetDefaultChildPolicy sets the DefaultChildPolicy field's value.
16442func (s *WorkflowTypeConfiguration) SetDefaultChildPolicy(v string) *WorkflowTypeConfiguration {
16443	s.DefaultChildPolicy = &v
16444	return s
16445}
16446
16447// SetDefaultExecutionStartToCloseTimeout sets the DefaultExecutionStartToCloseTimeout field's value.
16448func (s *WorkflowTypeConfiguration) SetDefaultExecutionStartToCloseTimeout(v string) *WorkflowTypeConfiguration {
16449	s.DefaultExecutionStartToCloseTimeout = &v
16450	return s
16451}
16452
16453// SetDefaultLambdaRole sets the DefaultLambdaRole field's value.
16454func (s *WorkflowTypeConfiguration) SetDefaultLambdaRole(v string) *WorkflowTypeConfiguration {
16455	s.DefaultLambdaRole = &v
16456	return s
16457}
16458
16459// SetDefaultTaskList sets the DefaultTaskList field's value.
16460func (s *WorkflowTypeConfiguration) SetDefaultTaskList(v *TaskList) *WorkflowTypeConfiguration {
16461	s.DefaultTaskList = v
16462	return s
16463}
16464
16465// SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
16466func (s *WorkflowTypeConfiguration) SetDefaultTaskPriority(v string) *WorkflowTypeConfiguration {
16467	s.DefaultTaskPriority = &v
16468	return s
16469}
16470
16471// SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
16472func (s *WorkflowTypeConfiguration) SetDefaultTaskStartToCloseTimeout(v string) *WorkflowTypeConfiguration {
16473	s.DefaultTaskStartToCloseTimeout = &v
16474	return s
16475}
16476
16477// Used to filter workflow execution query results by type. Each parameter,
16478// if specified, defines a rule that must be satisfied by each returned result.
16479type WorkflowTypeFilter struct {
16480	_ struct{} `type:"structure"`
16481
16482	// Name of the workflow type.
16483	//
16484	// Name is a required field
16485	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
16486
16487	// Version of the workflow type.
16488	Version *string `locationName:"version" type:"string"`
16489}
16490
16491// String returns the string representation
16492func (s WorkflowTypeFilter) String() string {
16493	return awsutil.Prettify(s)
16494}
16495
16496// GoString returns the string representation
16497func (s WorkflowTypeFilter) GoString() string {
16498	return s.String()
16499}
16500
16501// Validate inspects the fields of the type to determine if they are valid.
16502func (s *WorkflowTypeFilter) Validate() error {
16503	invalidParams := request.ErrInvalidParams{Context: "WorkflowTypeFilter"}
16504	if s.Name == nil {
16505		invalidParams.Add(request.NewErrParamRequired("Name"))
16506	}
16507	if s.Name != nil && len(*s.Name) < 1 {
16508		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16509	}
16510
16511	if invalidParams.Len() > 0 {
16512		return invalidParams
16513	}
16514	return nil
16515}
16516
16517// SetName sets the Name field's value.
16518func (s *WorkflowTypeFilter) SetName(v string) *WorkflowTypeFilter {
16519	s.Name = &v
16520	return s
16521}
16522
16523// SetVersion sets the Version field's value.
16524func (s *WorkflowTypeFilter) SetVersion(v string) *WorkflowTypeFilter {
16525	s.Version = &v
16526	return s
16527}
16528
16529// Contains information about a workflow type.
16530type WorkflowTypeInfo struct {
16531	_ struct{} `type:"structure"`
16532
16533	// The date when this type was registered.
16534	//
16535	// CreationDate is a required field
16536	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
16537
16538	// If the type is in deprecated state, then it is set to the date when the type
16539	// was deprecated.
16540	DeprecationDate *time.Time `locationName:"deprecationDate" type:"timestamp"`
16541
16542	// The description of the type registered through RegisterWorkflowType.
16543	Description *string `locationName:"description" type:"string"`
16544
16545	// The current status of the workflow type.
16546	//
16547	// Status is a required field
16548	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistrationStatus"`
16549
16550	// The workflow type this information is about.
16551	//
16552	// WorkflowType is a required field
16553	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
16554}
16555
16556// String returns the string representation
16557func (s WorkflowTypeInfo) String() string {
16558	return awsutil.Prettify(s)
16559}
16560
16561// GoString returns the string representation
16562func (s WorkflowTypeInfo) GoString() string {
16563	return s.String()
16564}
16565
16566// SetCreationDate sets the CreationDate field's value.
16567func (s *WorkflowTypeInfo) SetCreationDate(v time.Time) *WorkflowTypeInfo {
16568	s.CreationDate = &v
16569	return s
16570}
16571
16572// SetDeprecationDate sets the DeprecationDate field's value.
16573func (s *WorkflowTypeInfo) SetDeprecationDate(v time.Time) *WorkflowTypeInfo {
16574	s.DeprecationDate = &v
16575	return s
16576}
16577
16578// SetDescription sets the Description field's value.
16579func (s *WorkflowTypeInfo) SetDescription(v string) *WorkflowTypeInfo {
16580	s.Description = &v
16581	return s
16582}
16583
16584// SetStatus sets the Status field's value.
16585func (s *WorkflowTypeInfo) SetStatus(v string) *WorkflowTypeInfo {
16586	s.Status = &v
16587	return s
16588}
16589
16590// SetWorkflowType sets the WorkflowType field's value.
16591func (s *WorkflowTypeInfo) SetWorkflowType(v *WorkflowType) *WorkflowTypeInfo {
16592	s.WorkflowType = v
16593	return s
16594}
16595
16596const (
16597	// ActivityTaskTimeoutTypeStartToClose is a ActivityTaskTimeoutType enum value
16598	ActivityTaskTimeoutTypeStartToClose = "START_TO_CLOSE"
16599
16600	// ActivityTaskTimeoutTypeScheduleToStart is a ActivityTaskTimeoutType enum value
16601	ActivityTaskTimeoutTypeScheduleToStart = "SCHEDULE_TO_START"
16602
16603	// ActivityTaskTimeoutTypeScheduleToClose is a ActivityTaskTimeoutType enum value
16604	ActivityTaskTimeoutTypeScheduleToClose = "SCHEDULE_TO_CLOSE"
16605
16606	// ActivityTaskTimeoutTypeHeartbeat is a ActivityTaskTimeoutType enum value
16607	ActivityTaskTimeoutTypeHeartbeat = "HEARTBEAT"
16608)
16609
16610const (
16611	// CancelTimerFailedCauseTimerIdUnknown is a CancelTimerFailedCause enum value
16612	CancelTimerFailedCauseTimerIdUnknown = "TIMER_ID_UNKNOWN"
16613
16614	// CancelTimerFailedCauseOperationNotPermitted is a CancelTimerFailedCause enum value
16615	CancelTimerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16616)
16617
16618const (
16619	// CancelWorkflowExecutionFailedCauseUnhandledDecision is a CancelWorkflowExecutionFailedCause enum value
16620	CancelWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16621
16622	// CancelWorkflowExecutionFailedCauseOperationNotPermitted is a CancelWorkflowExecutionFailedCause enum value
16623	CancelWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16624)
16625
16626const (
16627	// ChildPolicyTerminate is a ChildPolicy enum value
16628	ChildPolicyTerminate = "TERMINATE"
16629
16630	// ChildPolicyRequestCancel is a ChildPolicy enum value
16631	ChildPolicyRequestCancel = "REQUEST_CANCEL"
16632
16633	// ChildPolicyAbandon is a ChildPolicy enum value
16634	ChildPolicyAbandon = "ABANDON"
16635)
16636
16637const (
16638	// CloseStatusCompleted is a CloseStatus enum value
16639	CloseStatusCompleted = "COMPLETED"
16640
16641	// CloseStatusFailed is a CloseStatus enum value
16642	CloseStatusFailed = "FAILED"
16643
16644	// CloseStatusCanceled is a CloseStatus enum value
16645	CloseStatusCanceled = "CANCELED"
16646
16647	// CloseStatusTerminated is a CloseStatus enum value
16648	CloseStatusTerminated = "TERMINATED"
16649
16650	// CloseStatusContinuedAsNew is a CloseStatus enum value
16651	CloseStatusContinuedAsNew = "CONTINUED_AS_NEW"
16652
16653	// CloseStatusTimedOut is a CloseStatus enum value
16654	CloseStatusTimedOut = "TIMED_OUT"
16655)
16656
16657const (
16658	// CompleteWorkflowExecutionFailedCauseUnhandledDecision is a CompleteWorkflowExecutionFailedCause enum value
16659	CompleteWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16660
16661	// CompleteWorkflowExecutionFailedCauseOperationNotPermitted is a CompleteWorkflowExecutionFailedCause enum value
16662	CompleteWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16663)
16664
16665const (
16666	// ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision is a ContinueAsNewWorkflowExecutionFailedCause enum value
16667	ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16668
16669	// ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated is a ContinueAsNewWorkflowExecutionFailedCause enum value
16670	ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated = "WORKFLOW_TYPE_DEPRECATED"
16671
16672	// ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist is a ContinueAsNewWorkflowExecutionFailedCause enum value
16673	ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist = "WORKFLOW_TYPE_DOES_NOT_EXIST"
16674
16675	// ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16676	ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined = "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED"
16677
16678	// ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16679	ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined = "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED"
16680
16681	// ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16682	ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
16683
16684	// ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16685	ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined = "DEFAULT_CHILD_POLICY_UNDEFINED"
16686
16687	// ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded is a ContinueAsNewWorkflowExecutionFailedCause enum value
16688	ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded = "CONTINUE_AS_NEW_WORKFLOW_EXECUTION_RATE_EXCEEDED"
16689
16690	// ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted is a ContinueAsNewWorkflowExecutionFailedCause enum value
16691	ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16692)
16693
16694const (
16695	// DecisionTaskTimeoutTypeStartToClose is a DecisionTaskTimeoutType enum value
16696	DecisionTaskTimeoutTypeStartToClose = "START_TO_CLOSE"
16697)
16698
16699const (
16700	// DecisionTypeScheduleActivityTask is a DecisionType enum value
16701	DecisionTypeScheduleActivityTask = "ScheduleActivityTask"
16702
16703	// DecisionTypeRequestCancelActivityTask is a DecisionType enum value
16704	DecisionTypeRequestCancelActivityTask = "RequestCancelActivityTask"
16705
16706	// DecisionTypeCompleteWorkflowExecution is a DecisionType enum value
16707	DecisionTypeCompleteWorkflowExecution = "CompleteWorkflowExecution"
16708
16709	// DecisionTypeFailWorkflowExecution is a DecisionType enum value
16710	DecisionTypeFailWorkflowExecution = "FailWorkflowExecution"
16711
16712	// DecisionTypeCancelWorkflowExecution is a DecisionType enum value
16713	DecisionTypeCancelWorkflowExecution = "CancelWorkflowExecution"
16714
16715	// DecisionTypeContinueAsNewWorkflowExecution is a DecisionType enum value
16716	DecisionTypeContinueAsNewWorkflowExecution = "ContinueAsNewWorkflowExecution"
16717
16718	// DecisionTypeRecordMarker is a DecisionType enum value
16719	DecisionTypeRecordMarker = "RecordMarker"
16720
16721	// DecisionTypeStartTimer is a DecisionType enum value
16722	DecisionTypeStartTimer = "StartTimer"
16723
16724	// DecisionTypeCancelTimer is a DecisionType enum value
16725	DecisionTypeCancelTimer = "CancelTimer"
16726
16727	// DecisionTypeSignalExternalWorkflowExecution is a DecisionType enum value
16728	DecisionTypeSignalExternalWorkflowExecution = "SignalExternalWorkflowExecution"
16729
16730	// DecisionTypeRequestCancelExternalWorkflowExecution is a DecisionType enum value
16731	DecisionTypeRequestCancelExternalWorkflowExecution = "RequestCancelExternalWorkflowExecution"
16732
16733	// DecisionTypeStartChildWorkflowExecution is a DecisionType enum value
16734	DecisionTypeStartChildWorkflowExecution = "StartChildWorkflowExecution"
16735
16736	// DecisionTypeScheduleLambdaFunction is a DecisionType enum value
16737	DecisionTypeScheduleLambdaFunction = "ScheduleLambdaFunction"
16738)
16739
16740const (
16741	// EventTypeWorkflowExecutionStarted is a EventType enum value
16742	EventTypeWorkflowExecutionStarted = "WorkflowExecutionStarted"
16743
16744	// EventTypeWorkflowExecutionCancelRequested is a EventType enum value
16745	EventTypeWorkflowExecutionCancelRequested = "WorkflowExecutionCancelRequested"
16746
16747	// EventTypeWorkflowExecutionCompleted is a EventType enum value
16748	EventTypeWorkflowExecutionCompleted = "WorkflowExecutionCompleted"
16749
16750	// EventTypeCompleteWorkflowExecutionFailed is a EventType enum value
16751	EventTypeCompleteWorkflowExecutionFailed = "CompleteWorkflowExecutionFailed"
16752
16753	// EventTypeWorkflowExecutionFailed is a EventType enum value
16754	EventTypeWorkflowExecutionFailed = "WorkflowExecutionFailed"
16755
16756	// EventTypeFailWorkflowExecutionFailed is a EventType enum value
16757	EventTypeFailWorkflowExecutionFailed = "FailWorkflowExecutionFailed"
16758
16759	// EventTypeWorkflowExecutionTimedOut is a EventType enum value
16760	EventTypeWorkflowExecutionTimedOut = "WorkflowExecutionTimedOut"
16761
16762	// EventTypeWorkflowExecutionCanceled is a EventType enum value
16763	EventTypeWorkflowExecutionCanceled = "WorkflowExecutionCanceled"
16764
16765	// EventTypeCancelWorkflowExecutionFailed is a EventType enum value
16766	EventTypeCancelWorkflowExecutionFailed = "CancelWorkflowExecutionFailed"
16767
16768	// EventTypeWorkflowExecutionContinuedAsNew is a EventType enum value
16769	EventTypeWorkflowExecutionContinuedAsNew = "WorkflowExecutionContinuedAsNew"
16770
16771	// EventTypeContinueAsNewWorkflowExecutionFailed is a EventType enum value
16772	EventTypeContinueAsNewWorkflowExecutionFailed = "ContinueAsNewWorkflowExecutionFailed"
16773
16774	// EventTypeWorkflowExecutionTerminated is a EventType enum value
16775	EventTypeWorkflowExecutionTerminated = "WorkflowExecutionTerminated"
16776
16777	// EventTypeDecisionTaskScheduled is a EventType enum value
16778	EventTypeDecisionTaskScheduled = "DecisionTaskScheduled"
16779
16780	// EventTypeDecisionTaskStarted is a EventType enum value
16781	EventTypeDecisionTaskStarted = "DecisionTaskStarted"
16782
16783	// EventTypeDecisionTaskCompleted is a EventType enum value
16784	EventTypeDecisionTaskCompleted = "DecisionTaskCompleted"
16785
16786	// EventTypeDecisionTaskTimedOut is a EventType enum value
16787	EventTypeDecisionTaskTimedOut = "DecisionTaskTimedOut"
16788
16789	// EventTypeActivityTaskScheduled is a EventType enum value
16790	EventTypeActivityTaskScheduled = "ActivityTaskScheduled"
16791
16792	// EventTypeScheduleActivityTaskFailed is a EventType enum value
16793	EventTypeScheduleActivityTaskFailed = "ScheduleActivityTaskFailed"
16794
16795	// EventTypeActivityTaskStarted is a EventType enum value
16796	EventTypeActivityTaskStarted = "ActivityTaskStarted"
16797
16798	// EventTypeActivityTaskCompleted is a EventType enum value
16799	EventTypeActivityTaskCompleted = "ActivityTaskCompleted"
16800
16801	// EventTypeActivityTaskFailed is a EventType enum value
16802	EventTypeActivityTaskFailed = "ActivityTaskFailed"
16803
16804	// EventTypeActivityTaskTimedOut is a EventType enum value
16805	EventTypeActivityTaskTimedOut = "ActivityTaskTimedOut"
16806
16807	// EventTypeActivityTaskCanceled is a EventType enum value
16808	EventTypeActivityTaskCanceled = "ActivityTaskCanceled"
16809
16810	// EventTypeActivityTaskCancelRequested is a EventType enum value
16811	EventTypeActivityTaskCancelRequested = "ActivityTaskCancelRequested"
16812
16813	// EventTypeRequestCancelActivityTaskFailed is a EventType enum value
16814	EventTypeRequestCancelActivityTaskFailed = "RequestCancelActivityTaskFailed"
16815
16816	// EventTypeWorkflowExecutionSignaled is a EventType enum value
16817	EventTypeWorkflowExecutionSignaled = "WorkflowExecutionSignaled"
16818
16819	// EventTypeMarkerRecorded is a EventType enum value
16820	EventTypeMarkerRecorded = "MarkerRecorded"
16821
16822	// EventTypeRecordMarkerFailed is a EventType enum value
16823	EventTypeRecordMarkerFailed = "RecordMarkerFailed"
16824
16825	// EventTypeTimerStarted is a EventType enum value
16826	EventTypeTimerStarted = "TimerStarted"
16827
16828	// EventTypeStartTimerFailed is a EventType enum value
16829	EventTypeStartTimerFailed = "StartTimerFailed"
16830
16831	// EventTypeTimerFired is a EventType enum value
16832	EventTypeTimerFired = "TimerFired"
16833
16834	// EventTypeTimerCanceled is a EventType enum value
16835	EventTypeTimerCanceled = "TimerCanceled"
16836
16837	// EventTypeCancelTimerFailed is a EventType enum value
16838	EventTypeCancelTimerFailed = "CancelTimerFailed"
16839
16840	// EventTypeStartChildWorkflowExecutionInitiated is a EventType enum value
16841	EventTypeStartChildWorkflowExecutionInitiated = "StartChildWorkflowExecutionInitiated"
16842
16843	// EventTypeStartChildWorkflowExecutionFailed is a EventType enum value
16844	EventTypeStartChildWorkflowExecutionFailed = "StartChildWorkflowExecutionFailed"
16845
16846	// EventTypeChildWorkflowExecutionStarted is a EventType enum value
16847	EventTypeChildWorkflowExecutionStarted = "ChildWorkflowExecutionStarted"
16848
16849	// EventTypeChildWorkflowExecutionCompleted is a EventType enum value
16850	EventTypeChildWorkflowExecutionCompleted = "ChildWorkflowExecutionCompleted"
16851
16852	// EventTypeChildWorkflowExecutionFailed is a EventType enum value
16853	EventTypeChildWorkflowExecutionFailed = "ChildWorkflowExecutionFailed"
16854
16855	// EventTypeChildWorkflowExecutionTimedOut is a EventType enum value
16856	EventTypeChildWorkflowExecutionTimedOut = "ChildWorkflowExecutionTimedOut"
16857
16858	// EventTypeChildWorkflowExecutionCanceled is a EventType enum value
16859	EventTypeChildWorkflowExecutionCanceled = "ChildWorkflowExecutionCanceled"
16860
16861	// EventTypeChildWorkflowExecutionTerminated is a EventType enum value
16862	EventTypeChildWorkflowExecutionTerminated = "ChildWorkflowExecutionTerminated"
16863
16864	// EventTypeSignalExternalWorkflowExecutionInitiated is a EventType enum value
16865	EventTypeSignalExternalWorkflowExecutionInitiated = "SignalExternalWorkflowExecutionInitiated"
16866
16867	// EventTypeSignalExternalWorkflowExecutionFailed is a EventType enum value
16868	EventTypeSignalExternalWorkflowExecutionFailed = "SignalExternalWorkflowExecutionFailed"
16869
16870	// EventTypeExternalWorkflowExecutionSignaled is a EventType enum value
16871	EventTypeExternalWorkflowExecutionSignaled = "ExternalWorkflowExecutionSignaled"
16872
16873	// EventTypeRequestCancelExternalWorkflowExecutionInitiated is a EventType enum value
16874	EventTypeRequestCancelExternalWorkflowExecutionInitiated = "RequestCancelExternalWorkflowExecutionInitiated"
16875
16876	// EventTypeRequestCancelExternalWorkflowExecutionFailed is a EventType enum value
16877	EventTypeRequestCancelExternalWorkflowExecutionFailed = "RequestCancelExternalWorkflowExecutionFailed"
16878
16879	// EventTypeExternalWorkflowExecutionCancelRequested is a EventType enum value
16880	EventTypeExternalWorkflowExecutionCancelRequested = "ExternalWorkflowExecutionCancelRequested"
16881
16882	// EventTypeLambdaFunctionScheduled is a EventType enum value
16883	EventTypeLambdaFunctionScheduled = "LambdaFunctionScheduled"
16884
16885	// EventTypeLambdaFunctionStarted is a EventType enum value
16886	EventTypeLambdaFunctionStarted = "LambdaFunctionStarted"
16887
16888	// EventTypeLambdaFunctionCompleted is a EventType enum value
16889	EventTypeLambdaFunctionCompleted = "LambdaFunctionCompleted"
16890
16891	// EventTypeLambdaFunctionFailed is a EventType enum value
16892	EventTypeLambdaFunctionFailed = "LambdaFunctionFailed"
16893
16894	// EventTypeLambdaFunctionTimedOut is a EventType enum value
16895	EventTypeLambdaFunctionTimedOut = "LambdaFunctionTimedOut"
16896
16897	// EventTypeScheduleLambdaFunctionFailed is a EventType enum value
16898	EventTypeScheduleLambdaFunctionFailed = "ScheduleLambdaFunctionFailed"
16899
16900	// EventTypeStartLambdaFunctionFailed is a EventType enum value
16901	EventTypeStartLambdaFunctionFailed = "StartLambdaFunctionFailed"
16902)
16903
16904const (
16905	// ExecutionStatusOpen is a ExecutionStatus enum value
16906	ExecutionStatusOpen = "OPEN"
16907
16908	// ExecutionStatusClosed is a ExecutionStatus enum value
16909	ExecutionStatusClosed = "CLOSED"
16910)
16911
16912const (
16913	// FailWorkflowExecutionFailedCauseUnhandledDecision is a FailWorkflowExecutionFailedCause enum value
16914	FailWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16915
16916	// FailWorkflowExecutionFailedCauseOperationNotPermitted is a FailWorkflowExecutionFailedCause enum value
16917	FailWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16918)
16919
16920const (
16921	// LambdaFunctionTimeoutTypeStartToClose is a LambdaFunctionTimeoutType enum value
16922	LambdaFunctionTimeoutTypeStartToClose = "START_TO_CLOSE"
16923)
16924
16925const (
16926	// RecordMarkerFailedCauseOperationNotPermitted is a RecordMarkerFailedCause enum value
16927	RecordMarkerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16928)
16929
16930const (
16931	// RegistrationStatusRegistered is a RegistrationStatus enum value
16932	RegistrationStatusRegistered = "REGISTERED"
16933
16934	// RegistrationStatusDeprecated is a RegistrationStatus enum value
16935	RegistrationStatusDeprecated = "DEPRECATED"
16936)
16937
16938const (
16939	// RequestCancelActivityTaskFailedCauseActivityIdUnknown is a RequestCancelActivityTaskFailedCause enum value
16940	RequestCancelActivityTaskFailedCauseActivityIdUnknown = "ACTIVITY_ID_UNKNOWN"
16941
16942	// RequestCancelActivityTaskFailedCauseOperationNotPermitted is a RequestCancelActivityTaskFailedCause enum value
16943	RequestCancelActivityTaskFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16944)
16945
16946const (
16947	// RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution is a RequestCancelExternalWorkflowExecutionFailedCause enum value
16948	RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution = "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
16949
16950	// RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded is a RequestCancelExternalWorkflowExecutionFailedCause enum value
16951	RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded = "REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"
16952
16953	// RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted is a RequestCancelExternalWorkflowExecutionFailedCause enum value
16954	RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16955)
16956
16957const (
16958	// ScheduleActivityTaskFailedCauseActivityTypeDeprecated is a ScheduleActivityTaskFailedCause enum value
16959	ScheduleActivityTaskFailedCauseActivityTypeDeprecated = "ACTIVITY_TYPE_DEPRECATED"
16960
16961	// ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist is a ScheduleActivityTaskFailedCause enum value
16962	ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist = "ACTIVITY_TYPE_DOES_NOT_EXIST"
16963
16964	// ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse is a ScheduleActivityTaskFailedCause enum value
16965	ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse = "ACTIVITY_ID_ALREADY_IN_USE"
16966
16967	// ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded is a ScheduleActivityTaskFailedCause enum value
16968	ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded = "OPEN_ACTIVITIES_LIMIT_EXCEEDED"
16969
16970	// ScheduleActivityTaskFailedCauseActivityCreationRateExceeded is a ScheduleActivityTaskFailedCause enum value
16971	ScheduleActivityTaskFailedCauseActivityCreationRateExceeded = "ACTIVITY_CREATION_RATE_EXCEEDED"
16972
16973	// ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
16974	ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined = "DEFAULT_SCHEDULE_TO_CLOSE_TIMEOUT_UNDEFINED"
16975
16976	// ScheduleActivityTaskFailedCauseDefaultTaskListUndefined is a ScheduleActivityTaskFailedCause enum value
16977	ScheduleActivityTaskFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
16978
16979	// ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
16980	ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined = "DEFAULT_SCHEDULE_TO_START_TIMEOUT_UNDEFINED"
16981
16982	// ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
16983	ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined = "DEFAULT_START_TO_CLOSE_TIMEOUT_UNDEFINED"
16984
16985	// ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
16986	ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined = "DEFAULT_HEARTBEAT_TIMEOUT_UNDEFINED"
16987
16988	// ScheduleActivityTaskFailedCauseOperationNotPermitted is a ScheduleActivityTaskFailedCause enum value
16989	ScheduleActivityTaskFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16990)
16991
16992const (
16993	// ScheduleLambdaFunctionFailedCauseIdAlreadyInUse is a ScheduleLambdaFunctionFailedCause enum value
16994	ScheduleLambdaFunctionFailedCauseIdAlreadyInUse = "ID_ALREADY_IN_USE"
16995
16996	// ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded is a ScheduleLambdaFunctionFailedCause enum value
16997	ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded = "OPEN_LAMBDA_FUNCTIONS_LIMIT_EXCEEDED"
16998
16999	// ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded is a ScheduleLambdaFunctionFailedCause enum value
17000	ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded = "LAMBDA_FUNCTION_CREATION_RATE_EXCEEDED"
17001
17002	// ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion is a ScheduleLambdaFunctionFailedCause enum value
17003	ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion = "LAMBDA_SERVICE_NOT_AVAILABLE_IN_REGION"
17004)
17005
17006const (
17007	// SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution is a SignalExternalWorkflowExecutionFailedCause enum value
17008	SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution = "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
17009
17010	// SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded is a SignalExternalWorkflowExecutionFailedCause enum value
17011	SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded = "SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"
17012
17013	// SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted is a SignalExternalWorkflowExecutionFailedCause enum value
17014	SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17015)
17016
17017const (
17018	// StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist is a StartChildWorkflowExecutionFailedCause enum value
17019	StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist = "WORKFLOW_TYPE_DOES_NOT_EXIST"
17020
17021	// StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated is a StartChildWorkflowExecutionFailedCause enum value
17022	StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated = "WORKFLOW_TYPE_DEPRECATED"
17023
17024	// StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded is a StartChildWorkflowExecutionFailedCause enum value
17025	StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded = "OPEN_CHILDREN_LIMIT_EXCEEDED"
17026
17027	// StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded is a StartChildWorkflowExecutionFailedCause enum value
17028	StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded = "OPEN_WORKFLOWS_LIMIT_EXCEEDED"
17029
17030	// StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded is a StartChildWorkflowExecutionFailedCause enum value
17031	StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded = "CHILD_CREATION_RATE_EXCEEDED"
17032
17033	// StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning is a StartChildWorkflowExecutionFailedCause enum value
17034	StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning = "WORKFLOW_ALREADY_RUNNING"
17035
17036	// StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined is a StartChildWorkflowExecutionFailedCause enum value
17037	StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined = "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED"
17038
17039	// StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined is a StartChildWorkflowExecutionFailedCause enum value
17040	StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
17041
17042	// StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined is a StartChildWorkflowExecutionFailedCause enum value
17043	StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined = "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED"
17044
17045	// StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined is a StartChildWorkflowExecutionFailedCause enum value
17046	StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined = "DEFAULT_CHILD_POLICY_UNDEFINED"
17047
17048	// StartChildWorkflowExecutionFailedCauseOperationNotPermitted is a StartChildWorkflowExecutionFailedCause enum value
17049	StartChildWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17050)
17051
17052const (
17053	// StartLambdaFunctionFailedCauseAssumeRoleFailed is a StartLambdaFunctionFailedCause enum value
17054	StartLambdaFunctionFailedCauseAssumeRoleFailed = "ASSUME_ROLE_FAILED"
17055)
17056
17057const (
17058	// StartTimerFailedCauseTimerIdAlreadyInUse is a StartTimerFailedCause enum value
17059	StartTimerFailedCauseTimerIdAlreadyInUse = "TIMER_ID_ALREADY_IN_USE"
17060
17061	// StartTimerFailedCauseOpenTimersLimitExceeded is a StartTimerFailedCause enum value
17062	StartTimerFailedCauseOpenTimersLimitExceeded = "OPEN_TIMERS_LIMIT_EXCEEDED"
17063
17064	// StartTimerFailedCauseTimerCreationRateExceeded is a StartTimerFailedCause enum value
17065	StartTimerFailedCauseTimerCreationRateExceeded = "TIMER_CREATION_RATE_EXCEEDED"
17066
17067	// StartTimerFailedCauseOperationNotPermitted is a StartTimerFailedCause enum value
17068	StartTimerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17069)
17070
17071const (
17072	// WorkflowExecutionCancelRequestedCauseChildPolicyApplied is a WorkflowExecutionCancelRequestedCause enum value
17073	WorkflowExecutionCancelRequestedCauseChildPolicyApplied = "CHILD_POLICY_APPLIED"
17074)
17075
17076const (
17077	// WorkflowExecutionTerminatedCauseChildPolicyApplied is a WorkflowExecutionTerminatedCause enum value
17078	WorkflowExecutionTerminatedCauseChildPolicyApplied = "CHILD_POLICY_APPLIED"
17079
17080	// WorkflowExecutionTerminatedCauseEventLimitExceeded is a WorkflowExecutionTerminatedCause enum value
17081	WorkflowExecutionTerminatedCauseEventLimitExceeded = "EVENT_LIMIT_EXCEEDED"
17082
17083	// WorkflowExecutionTerminatedCauseOperatorInitiated is a WorkflowExecutionTerminatedCause enum value
17084	WorkflowExecutionTerminatedCauseOperatorInitiated = "OPERATOR_INITIATED"
17085)
17086
17087const (
17088	// WorkflowExecutionTimeoutTypeStartToClose is a WorkflowExecutionTimeoutType enum value
17089	WorkflowExecutionTimeoutTypeStartToClose = "START_TO_CLOSE"
17090)
17091