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
16610// ActivityTaskTimeoutType_Values returns all elements of the ActivityTaskTimeoutType enum
16611func ActivityTaskTimeoutType_Values() []string {
16612	return []string{
16613		ActivityTaskTimeoutTypeStartToClose,
16614		ActivityTaskTimeoutTypeScheduleToStart,
16615		ActivityTaskTimeoutTypeScheduleToClose,
16616		ActivityTaskTimeoutTypeHeartbeat,
16617	}
16618}
16619
16620const (
16621	// CancelTimerFailedCauseTimerIdUnknown is a CancelTimerFailedCause enum value
16622	CancelTimerFailedCauseTimerIdUnknown = "TIMER_ID_UNKNOWN"
16623
16624	// CancelTimerFailedCauseOperationNotPermitted is a CancelTimerFailedCause enum value
16625	CancelTimerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16626)
16627
16628// CancelTimerFailedCause_Values returns all elements of the CancelTimerFailedCause enum
16629func CancelTimerFailedCause_Values() []string {
16630	return []string{
16631		CancelTimerFailedCauseTimerIdUnknown,
16632		CancelTimerFailedCauseOperationNotPermitted,
16633	}
16634}
16635
16636const (
16637	// CancelWorkflowExecutionFailedCauseUnhandledDecision is a CancelWorkflowExecutionFailedCause enum value
16638	CancelWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16639
16640	// CancelWorkflowExecutionFailedCauseOperationNotPermitted is a CancelWorkflowExecutionFailedCause enum value
16641	CancelWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16642)
16643
16644// CancelWorkflowExecutionFailedCause_Values returns all elements of the CancelWorkflowExecutionFailedCause enum
16645func CancelWorkflowExecutionFailedCause_Values() []string {
16646	return []string{
16647		CancelWorkflowExecutionFailedCauseUnhandledDecision,
16648		CancelWorkflowExecutionFailedCauseOperationNotPermitted,
16649	}
16650}
16651
16652const (
16653	// ChildPolicyTerminate is a ChildPolicy enum value
16654	ChildPolicyTerminate = "TERMINATE"
16655
16656	// ChildPolicyRequestCancel is a ChildPolicy enum value
16657	ChildPolicyRequestCancel = "REQUEST_CANCEL"
16658
16659	// ChildPolicyAbandon is a ChildPolicy enum value
16660	ChildPolicyAbandon = "ABANDON"
16661)
16662
16663// ChildPolicy_Values returns all elements of the ChildPolicy enum
16664func ChildPolicy_Values() []string {
16665	return []string{
16666		ChildPolicyTerminate,
16667		ChildPolicyRequestCancel,
16668		ChildPolicyAbandon,
16669	}
16670}
16671
16672const (
16673	// CloseStatusCompleted is a CloseStatus enum value
16674	CloseStatusCompleted = "COMPLETED"
16675
16676	// CloseStatusFailed is a CloseStatus enum value
16677	CloseStatusFailed = "FAILED"
16678
16679	// CloseStatusCanceled is a CloseStatus enum value
16680	CloseStatusCanceled = "CANCELED"
16681
16682	// CloseStatusTerminated is a CloseStatus enum value
16683	CloseStatusTerminated = "TERMINATED"
16684
16685	// CloseStatusContinuedAsNew is a CloseStatus enum value
16686	CloseStatusContinuedAsNew = "CONTINUED_AS_NEW"
16687
16688	// CloseStatusTimedOut is a CloseStatus enum value
16689	CloseStatusTimedOut = "TIMED_OUT"
16690)
16691
16692// CloseStatus_Values returns all elements of the CloseStatus enum
16693func CloseStatus_Values() []string {
16694	return []string{
16695		CloseStatusCompleted,
16696		CloseStatusFailed,
16697		CloseStatusCanceled,
16698		CloseStatusTerminated,
16699		CloseStatusContinuedAsNew,
16700		CloseStatusTimedOut,
16701	}
16702}
16703
16704const (
16705	// CompleteWorkflowExecutionFailedCauseUnhandledDecision is a CompleteWorkflowExecutionFailedCause enum value
16706	CompleteWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16707
16708	// CompleteWorkflowExecutionFailedCauseOperationNotPermitted is a CompleteWorkflowExecutionFailedCause enum value
16709	CompleteWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16710)
16711
16712// CompleteWorkflowExecutionFailedCause_Values returns all elements of the CompleteWorkflowExecutionFailedCause enum
16713func CompleteWorkflowExecutionFailedCause_Values() []string {
16714	return []string{
16715		CompleteWorkflowExecutionFailedCauseUnhandledDecision,
16716		CompleteWorkflowExecutionFailedCauseOperationNotPermitted,
16717	}
16718}
16719
16720const (
16721	// ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision is a ContinueAsNewWorkflowExecutionFailedCause enum value
16722	ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
16723
16724	// ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated is a ContinueAsNewWorkflowExecutionFailedCause enum value
16725	ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated = "WORKFLOW_TYPE_DEPRECATED"
16726
16727	// ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist is a ContinueAsNewWorkflowExecutionFailedCause enum value
16728	ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist = "WORKFLOW_TYPE_DOES_NOT_EXIST"
16729
16730	// ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16731	ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined = "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED"
16732
16733	// ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16734	ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined = "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED"
16735
16736	// ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16737	ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
16738
16739	// ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
16740	ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined = "DEFAULT_CHILD_POLICY_UNDEFINED"
16741
16742	// ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded is a ContinueAsNewWorkflowExecutionFailedCause enum value
16743	ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded = "CONTINUE_AS_NEW_WORKFLOW_EXECUTION_RATE_EXCEEDED"
16744
16745	// ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted is a ContinueAsNewWorkflowExecutionFailedCause enum value
16746	ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
16747)
16748
16749// ContinueAsNewWorkflowExecutionFailedCause_Values returns all elements of the ContinueAsNewWorkflowExecutionFailedCause enum
16750func ContinueAsNewWorkflowExecutionFailedCause_Values() []string {
16751	return []string{
16752		ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision,
16753		ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated,
16754		ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist,
16755		ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined,
16756		ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined,
16757		ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined,
16758		ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined,
16759		ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded,
16760		ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted,
16761	}
16762}
16763
16764const (
16765	// DecisionTaskTimeoutTypeStartToClose is a DecisionTaskTimeoutType enum value
16766	DecisionTaskTimeoutTypeStartToClose = "START_TO_CLOSE"
16767)
16768
16769// DecisionTaskTimeoutType_Values returns all elements of the DecisionTaskTimeoutType enum
16770func DecisionTaskTimeoutType_Values() []string {
16771	return []string{
16772		DecisionTaskTimeoutTypeStartToClose,
16773	}
16774}
16775
16776const (
16777	// DecisionTypeScheduleActivityTask is a DecisionType enum value
16778	DecisionTypeScheduleActivityTask = "ScheduleActivityTask"
16779
16780	// DecisionTypeRequestCancelActivityTask is a DecisionType enum value
16781	DecisionTypeRequestCancelActivityTask = "RequestCancelActivityTask"
16782
16783	// DecisionTypeCompleteWorkflowExecution is a DecisionType enum value
16784	DecisionTypeCompleteWorkflowExecution = "CompleteWorkflowExecution"
16785
16786	// DecisionTypeFailWorkflowExecution is a DecisionType enum value
16787	DecisionTypeFailWorkflowExecution = "FailWorkflowExecution"
16788
16789	// DecisionTypeCancelWorkflowExecution is a DecisionType enum value
16790	DecisionTypeCancelWorkflowExecution = "CancelWorkflowExecution"
16791
16792	// DecisionTypeContinueAsNewWorkflowExecution is a DecisionType enum value
16793	DecisionTypeContinueAsNewWorkflowExecution = "ContinueAsNewWorkflowExecution"
16794
16795	// DecisionTypeRecordMarker is a DecisionType enum value
16796	DecisionTypeRecordMarker = "RecordMarker"
16797
16798	// DecisionTypeStartTimer is a DecisionType enum value
16799	DecisionTypeStartTimer = "StartTimer"
16800
16801	// DecisionTypeCancelTimer is a DecisionType enum value
16802	DecisionTypeCancelTimer = "CancelTimer"
16803
16804	// DecisionTypeSignalExternalWorkflowExecution is a DecisionType enum value
16805	DecisionTypeSignalExternalWorkflowExecution = "SignalExternalWorkflowExecution"
16806
16807	// DecisionTypeRequestCancelExternalWorkflowExecution is a DecisionType enum value
16808	DecisionTypeRequestCancelExternalWorkflowExecution = "RequestCancelExternalWorkflowExecution"
16809
16810	// DecisionTypeStartChildWorkflowExecution is a DecisionType enum value
16811	DecisionTypeStartChildWorkflowExecution = "StartChildWorkflowExecution"
16812
16813	// DecisionTypeScheduleLambdaFunction is a DecisionType enum value
16814	DecisionTypeScheduleLambdaFunction = "ScheduleLambdaFunction"
16815)
16816
16817// DecisionType_Values returns all elements of the DecisionType enum
16818func DecisionType_Values() []string {
16819	return []string{
16820		DecisionTypeScheduleActivityTask,
16821		DecisionTypeRequestCancelActivityTask,
16822		DecisionTypeCompleteWorkflowExecution,
16823		DecisionTypeFailWorkflowExecution,
16824		DecisionTypeCancelWorkflowExecution,
16825		DecisionTypeContinueAsNewWorkflowExecution,
16826		DecisionTypeRecordMarker,
16827		DecisionTypeStartTimer,
16828		DecisionTypeCancelTimer,
16829		DecisionTypeSignalExternalWorkflowExecution,
16830		DecisionTypeRequestCancelExternalWorkflowExecution,
16831		DecisionTypeStartChildWorkflowExecution,
16832		DecisionTypeScheduleLambdaFunction,
16833	}
16834}
16835
16836const (
16837	// EventTypeWorkflowExecutionStarted is a EventType enum value
16838	EventTypeWorkflowExecutionStarted = "WorkflowExecutionStarted"
16839
16840	// EventTypeWorkflowExecutionCancelRequested is a EventType enum value
16841	EventTypeWorkflowExecutionCancelRequested = "WorkflowExecutionCancelRequested"
16842
16843	// EventTypeWorkflowExecutionCompleted is a EventType enum value
16844	EventTypeWorkflowExecutionCompleted = "WorkflowExecutionCompleted"
16845
16846	// EventTypeCompleteWorkflowExecutionFailed is a EventType enum value
16847	EventTypeCompleteWorkflowExecutionFailed = "CompleteWorkflowExecutionFailed"
16848
16849	// EventTypeWorkflowExecutionFailed is a EventType enum value
16850	EventTypeWorkflowExecutionFailed = "WorkflowExecutionFailed"
16851
16852	// EventTypeFailWorkflowExecutionFailed is a EventType enum value
16853	EventTypeFailWorkflowExecutionFailed = "FailWorkflowExecutionFailed"
16854
16855	// EventTypeWorkflowExecutionTimedOut is a EventType enum value
16856	EventTypeWorkflowExecutionTimedOut = "WorkflowExecutionTimedOut"
16857
16858	// EventTypeWorkflowExecutionCanceled is a EventType enum value
16859	EventTypeWorkflowExecutionCanceled = "WorkflowExecutionCanceled"
16860
16861	// EventTypeCancelWorkflowExecutionFailed is a EventType enum value
16862	EventTypeCancelWorkflowExecutionFailed = "CancelWorkflowExecutionFailed"
16863
16864	// EventTypeWorkflowExecutionContinuedAsNew is a EventType enum value
16865	EventTypeWorkflowExecutionContinuedAsNew = "WorkflowExecutionContinuedAsNew"
16866
16867	// EventTypeContinueAsNewWorkflowExecutionFailed is a EventType enum value
16868	EventTypeContinueAsNewWorkflowExecutionFailed = "ContinueAsNewWorkflowExecutionFailed"
16869
16870	// EventTypeWorkflowExecutionTerminated is a EventType enum value
16871	EventTypeWorkflowExecutionTerminated = "WorkflowExecutionTerminated"
16872
16873	// EventTypeDecisionTaskScheduled is a EventType enum value
16874	EventTypeDecisionTaskScheduled = "DecisionTaskScheduled"
16875
16876	// EventTypeDecisionTaskStarted is a EventType enum value
16877	EventTypeDecisionTaskStarted = "DecisionTaskStarted"
16878
16879	// EventTypeDecisionTaskCompleted is a EventType enum value
16880	EventTypeDecisionTaskCompleted = "DecisionTaskCompleted"
16881
16882	// EventTypeDecisionTaskTimedOut is a EventType enum value
16883	EventTypeDecisionTaskTimedOut = "DecisionTaskTimedOut"
16884
16885	// EventTypeActivityTaskScheduled is a EventType enum value
16886	EventTypeActivityTaskScheduled = "ActivityTaskScheduled"
16887
16888	// EventTypeScheduleActivityTaskFailed is a EventType enum value
16889	EventTypeScheduleActivityTaskFailed = "ScheduleActivityTaskFailed"
16890
16891	// EventTypeActivityTaskStarted is a EventType enum value
16892	EventTypeActivityTaskStarted = "ActivityTaskStarted"
16893
16894	// EventTypeActivityTaskCompleted is a EventType enum value
16895	EventTypeActivityTaskCompleted = "ActivityTaskCompleted"
16896
16897	// EventTypeActivityTaskFailed is a EventType enum value
16898	EventTypeActivityTaskFailed = "ActivityTaskFailed"
16899
16900	// EventTypeActivityTaskTimedOut is a EventType enum value
16901	EventTypeActivityTaskTimedOut = "ActivityTaskTimedOut"
16902
16903	// EventTypeActivityTaskCanceled is a EventType enum value
16904	EventTypeActivityTaskCanceled = "ActivityTaskCanceled"
16905
16906	// EventTypeActivityTaskCancelRequested is a EventType enum value
16907	EventTypeActivityTaskCancelRequested = "ActivityTaskCancelRequested"
16908
16909	// EventTypeRequestCancelActivityTaskFailed is a EventType enum value
16910	EventTypeRequestCancelActivityTaskFailed = "RequestCancelActivityTaskFailed"
16911
16912	// EventTypeWorkflowExecutionSignaled is a EventType enum value
16913	EventTypeWorkflowExecutionSignaled = "WorkflowExecutionSignaled"
16914
16915	// EventTypeMarkerRecorded is a EventType enum value
16916	EventTypeMarkerRecorded = "MarkerRecorded"
16917
16918	// EventTypeRecordMarkerFailed is a EventType enum value
16919	EventTypeRecordMarkerFailed = "RecordMarkerFailed"
16920
16921	// EventTypeTimerStarted is a EventType enum value
16922	EventTypeTimerStarted = "TimerStarted"
16923
16924	// EventTypeStartTimerFailed is a EventType enum value
16925	EventTypeStartTimerFailed = "StartTimerFailed"
16926
16927	// EventTypeTimerFired is a EventType enum value
16928	EventTypeTimerFired = "TimerFired"
16929
16930	// EventTypeTimerCanceled is a EventType enum value
16931	EventTypeTimerCanceled = "TimerCanceled"
16932
16933	// EventTypeCancelTimerFailed is a EventType enum value
16934	EventTypeCancelTimerFailed = "CancelTimerFailed"
16935
16936	// EventTypeStartChildWorkflowExecutionInitiated is a EventType enum value
16937	EventTypeStartChildWorkflowExecutionInitiated = "StartChildWorkflowExecutionInitiated"
16938
16939	// EventTypeStartChildWorkflowExecutionFailed is a EventType enum value
16940	EventTypeStartChildWorkflowExecutionFailed = "StartChildWorkflowExecutionFailed"
16941
16942	// EventTypeChildWorkflowExecutionStarted is a EventType enum value
16943	EventTypeChildWorkflowExecutionStarted = "ChildWorkflowExecutionStarted"
16944
16945	// EventTypeChildWorkflowExecutionCompleted is a EventType enum value
16946	EventTypeChildWorkflowExecutionCompleted = "ChildWorkflowExecutionCompleted"
16947
16948	// EventTypeChildWorkflowExecutionFailed is a EventType enum value
16949	EventTypeChildWorkflowExecutionFailed = "ChildWorkflowExecutionFailed"
16950
16951	// EventTypeChildWorkflowExecutionTimedOut is a EventType enum value
16952	EventTypeChildWorkflowExecutionTimedOut = "ChildWorkflowExecutionTimedOut"
16953
16954	// EventTypeChildWorkflowExecutionCanceled is a EventType enum value
16955	EventTypeChildWorkflowExecutionCanceled = "ChildWorkflowExecutionCanceled"
16956
16957	// EventTypeChildWorkflowExecutionTerminated is a EventType enum value
16958	EventTypeChildWorkflowExecutionTerminated = "ChildWorkflowExecutionTerminated"
16959
16960	// EventTypeSignalExternalWorkflowExecutionInitiated is a EventType enum value
16961	EventTypeSignalExternalWorkflowExecutionInitiated = "SignalExternalWorkflowExecutionInitiated"
16962
16963	// EventTypeSignalExternalWorkflowExecutionFailed is a EventType enum value
16964	EventTypeSignalExternalWorkflowExecutionFailed = "SignalExternalWorkflowExecutionFailed"
16965
16966	// EventTypeExternalWorkflowExecutionSignaled is a EventType enum value
16967	EventTypeExternalWorkflowExecutionSignaled = "ExternalWorkflowExecutionSignaled"
16968
16969	// EventTypeRequestCancelExternalWorkflowExecutionInitiated is a EventType enum value
16970	EventTypeRequestCancelExternalWorkflowExecutionInitiated = "RequestCancelExternalWorkflowExecutionInitiated"
16971
16972	// EventTypeRequestCancelExternalWorkflowExecutionFailed is a EventType enum value
16973	EventTypeRequestCancelExternalWorkflowExecutionFailed = "RequestCancelExternalWorkflowExecutionFailed"
16974
16975	// EventTypeExternalWorkflowExecutionCancelRequested is a EventType enum value
16976	EventTypeExternalWorkflowExecutionCancelRequested = "ExternalWorkflowExecutionCancelRequested"
16977
16978	// EventTypeLambdaFunctionScheduled is a EventType enum value
16979	EventTypeLambdaFunctionScheduled = "LambdaFunctionScheduled"
16980
16981	// EventTypeLambdaFunctionStarted is a EventType enum value
16982	EventTypeLambdaFunctionStarted = "LambdaFunctionStarted"
16983
16984	// EventTypeLambdaFunctionCompleted is a EventType enum value
16985	EventTypeLambdaFunctionCompleted = "LambdaFunctionCompleted"
16986
16987	// EventTypeLambdaFunctionFailed is a EventType enum value
16988	EventTypeLambdaFunctionFailed = "LambdaFunctionFailed"
16989
16990	// EventTypeLambdaFunctionTimedOut is a EventType enum value
16991	EventTypeLambdaFunctionTimedOut = "LambdaFunctionTimedOut"
16992
16993	// EventTypeScheduleLambdaFunctionFailed is a EventType enum value
16994	EventTypeScheduleLambdaFunctionFailed = "ScheduleLambdaFunctionFailed"
16995
16996	// EventTypeStartLambdaFunctionFailed is a EventType enum value
16997	EventTypeStartLambdaFunctionFailed = "StartLambdaFunctionFailed"
16998)
16999
17000// EventType_Values returns all elements of the EventType enum
17001func EventType_Values() []string {
17002	return []string{
17003		EventTypeWorkflowExecutionStarted,
17004		EventTypeWorkflowExecutionCancelRequested,
17005		EventTypeWorkflowExecutionCompleted,
17006		EventTypeCompleteWorkflowExecutionFailed,
17007		EventTypeWorkflowExecutionFailed,
17008		EventTypeFailWorkflowExecutionFailed,
17009		EventTypeWorkflowExecutionTimedOut,
17010		EventTypeWorkflowExecutionCanceled,
17011		EventTypeCancelWorkflowExecutionFailed,
17012		EventTypeWorkflowExecutionContinuedAsNew,
17013		EventTypeContinueAsNewWorkflowExecutionFailed,
17014		EventTypeWorkflowExecutionTerminated,
17015		EventTypeDecisionTaskScheduled,
17016		EventTypeDecisionTaskStarted,
17017		EventTypeDecisionTaskCompleted,
17018		EventTypeDecisionTaskTimedOut,
17019		EventTypeActivityTaskScheduled,
17020		EventTypeScheduleActivityTaskFailed,
17021		EventTypeActivityTaskStarted,
17022		EventTypeActivityTaskCompleted,
17023		EventTypeActivityTaskFailed,
17024		EventTypeActivityTaskTimedOut,
17025		EventTypeActivityTaskCanceled,
17026		EventTypeActivityTaskCancelRequested,
17027		EventTypeRequestCancelActivityTaskFailed,
17028		EventTypeWorkflowExecutionSignaled,
17029		EventTypeMarkerRecorded,
17030		EventTypeRecordMarkerFailed,
17031		EventTypeTimerStarted,
17032		EventTypeStartTimerFailed,
17033		EventTypeTimerFired,
17034		EventTypeTimerCanceled,
17035		EventTypeCancelTimerFailed,
17036		EventTypeStartChildWorkflowExecutionInitiated,
17037		EventTypeStartChildWorkflowExecutionFailed,
17038		EventTypeChildWorkflowExecutionStarted,
17039		EventTypeChildWorkflowExecutionCompleted,
17040		EventTypeChildWorkflowExecutionFailed,
17041		EventTypeChildWorkflowExecutionTimedOut,
17042		EventTypeChildWorkflowExecutionCanceled,
17043		EventTypeChildWorkflowExecutionTerminated,
17044		EventTypeSignalExternalWorkflowExecutionInitiated,
17045		EventTypeSignalExternalWorkflowExecutionFailed,
17046		EventTypeExternalWorkflowExecutionSignaled,
17047		EventTypeRequestCancelExternalWorkflowExecutionInitiated,
17048		EventTypeRequestCancelExternalWorkflowExecutionFailed,
17049		EventTypeExternalWorkflowExecutionCancelRequested,
17050		EventTypeLambdaFunctionScheduled,
17051		EventTypeLambdaFunctionStarted,
17052		EventTypeLambdaFunctionCompleted,
17053		EventTypeLambdaFunctionFailed,
17054		EventTypeLambdaFunctionTimedOut,
17055		EventTypeScheduleLambdaFunctionFailed,
17056		EventTypeStartLambdaFunctionFailed,
17057	}
17058}
17059
17060const (
17061	// ExecutionStatusOpen is a ExecutionStatus enum value
17062	ExecutionStatusOpen = "OPEN"
17063
17064	// ExecutionStatusClosed is a ExecutionStatus enum value
17065	ExecutionStatusClosed = "CLOSED"
17066)
17067
17068// ExecutionStatus_Values returns all elements of the ExecutionStatus enum
17069func ExecutionStatus_Values() []string {
17070	return []string{
17071		ExecutionStatusOpen,
17072		ExecutionStatusClosed,
17073	}
17074}
17075
17076const (
17077	// FailWorkflowExecutionFailedCauseUnhandledDecision is a FailWorkflowExecutionFailedCause enum value
17078	FailWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
17079
17080	// FailWorkflowExecutionFailedCauseOperationNotPermitted is a FailWorkflowExecutionFailedCause enum value
17081	FailWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17082)
17083
17084// FailWorkflowExecutionFailedCause_Values returns all elements of the FailWorkflowExecutionFailedCause enum
17085func FailWorkflowExecutionFailedCause_Values() []string {
17086	return []string{
17087		FailWorkflowExecutionFailedCauseUnhandledDecision,
17088		FailWorkflowExecutionFailedCauseOperationNotPermitted,
17089	}
17090}
17091
17092const (
17093	// LambdaFunctionTimeoutTypeStartToClose is a LambdaFunctionTimeoutType enum value
17094	LambdaFunctionTimeoutTypeStartToClose = "START_TO_CLOSE"
17095)
17096
17097// LambdaFunctionTimeoutType_Values returns all elements of the LambdaFunctionTimeoutType enum
17098func LambdaFunctionTimeoutType_Values() []string {
17099	return []string{
17100		LambdaFunctionTimeoutTypeStartToClose,
17101	}
17102}
17103
17104const (
17105	// RecordMarkerFailedCauseOperationNotPermitted is a RecordMarkerFailedCause enum value
17106	RecordMarkerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17107)
17108
17109// RecordMarkerFailedCause_Values returns all elements of the RecordMarkerFailedCause enum
17110func RecordMarkerFailedCause_Values() []string {
17111	return []string{
17112		RecordMarkerFailedCauseOperationNotPermitted,
17113	}
17114}
17115
17116const (
17117	// RegistrationStatusRegistered is a RegistrationStatus enum value
17118	RegistrationStatusRegistered = "REGISTERED"
17119
17120	// RegistrationStatusDeprecated is a RegistrationStatus enum value
17121	RegistrationStatusDeprecated = "DEPRECATED"
17122)
17123
17124// RegistrationStatus_Values returns all elements of the RegistrationStatus enum
17125func RegistrationStatus_Values() []string {
17126	return []string{
17127		RegistrationStatusRegistered,
17128		RegistrationStatusDeprecated,
17129	}
17130}
17131
17132const (
17133	// RequestCancelActivityTaskFailedCauseActivityIdUnknown is a RequestCancelActivityTaskFailedCause enum value
17134	RequestCancelActivityTaskFailedCauseActivityIdUnknown = "ACTIVITY_ID_UNKNOWN"
17135
17136	// RequestCancelActivityTaskFailedCauseOperationNotPermitted is a RequestCancelActivityTaskFailedCause enum value
17137	RequestCancelActivityTaskFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17138)
17139
17140// RequestCancelActivityTaskFailedCause_Values returns all elements of the RequestCancelActivityTaskFailedCause enum
17141func RequestCancelActivityTaskFailedCause_Values() []string {
17142	return []string{
17143		RequestCancelActivityTaskFailedCauseActivityIdUnknown,
17144		RequestCancelActivityTaskFailedCauseOperationNotPermitted,
17145	}
17146}
17147
17148const (
17149	// RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution is a RequestCancelExternalWorkflowExecutionFailedCause enum value
17150	RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution = "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
17151
17152	// RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded is a RequestCancelExternalWorkflowExecutionFailedCause enum value
17153	RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded = "REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"
17154
17155	// RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted is a RequestCancelExternalWorkflowExecutionFailedCause enum value
17156	RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17157)
17158
17159// RequestCancelExternalWorkflowExecutionFailedCause_Values returns all elements of the RequestCancelExternalWorkflowExecutionFailedCause enum
17160func RequestCancelExternalWorkflowExecutionFailedCause_Values() []string {
17161	return []string{
17162		RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution,
17163		RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded,
17164		RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted,
17165	}
17166}
17167
17168const (
17169	// ScheduleActivityTaskFailedCauseActivityTypeDeprecated is a ScheduleActivityTaskFailedCause enum value
17170	ScheduleActivityTaskFailedCauseActivityTypeDeprecated = "ACTIVITY_TYPE_DEPRECATED"
17171
17172	// ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist is a ScheduleActivityTaskFailedCause enum value
17173	ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist = "ACTIVITY_TYPE_DOES_NOT_EXIST"
17174
17175	// ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse is a ScheduleActivityTaskFailedCause enum value
17176	ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse = "ACTIVITY_ID_ALREADY_IN_USE"
17177
17178	// ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded is a ScheduleActivityTaskFailedCause enum value
17179	ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded = "OPEN_ACTIVITIES_LIMIT_EXCEEDED"
17180
17181	// ScheduleActivityTaskFailedCauseActivityCreationRateExceeded is a ScheduleActivityTaskFailedCause enum value
17182	ScheduleActivityTaskFailedCauseActivityCreationRateExceeded = "ACTIVITY_CREATION_RATE_EXCEEDED"
17183
17184	// ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
17185	ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined = "DEFAULT_SCHEDULE_TO_CLOSE_TIMEOUT_UNDEFINED"
17186
17187	// ScheduleActivityTaskFailedCauseDefaultTaskListUndefined is a ScheduleActivityTaskFailedCause enum value
17188	ScheduleActivityTaskFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
17189
17190	// ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
17191	ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined = "DEFAULT_SCHEDULE_TO_START_TIMEOUT_UNDEFINED"
17192
17193	// ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
17194	ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined = "DEFAULT_START_TO_CLOSE_TIMEOUT_UNDEFINED"
17195
17196	// ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
17197	ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined = "DEFAULT_HEARTBEAT_TIMEOUT_UNDEFINED"
17198
17199	// ScheduleActivityTaskFailedCauseOperationNotPermitted is a ScheduleActivityTaskFailedCause enum value
17200	ScheduleActivityTaskFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17201)
17202
17203// ScheduleActivityTaskFailedCause_Values returns all elements of the ScheduleActivityTaskFailedCause enum
17204func ScheduleActivityTaskFailedCause_Values() []string {
17205	return []string{
17206		ScheduleActivityTaskFailedCauseActivityTypeDeprecated,
17207		ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist,
17208		ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse,
17209		ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded,
17210		ScheduleActivityTaskFailedCauseActivityCreationRateExceeded,
17211		ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined,
17212		ScheduleActivityTaskFailedCauseDefaultTaskListUndefined,
17213		ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined,
17214		ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined,
17215		ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined,
17216		ScheduleActivityTaskFailedCauseOperationNotPermitted,
17217	}
17218}
17219
17220const (
17221	// ScheduleLambdaFunctionFailedCauseIdAlreadyInUse is a ScheduleLambdaFunctionFailedCause enum value
17222	ScheduleLambdaFunctionFailedCauseIdAlreadyInUse = "ID_ALREADY_IN_USE"
17223
17224	// ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded is a ScheduleLambdaFunctionFailedCause enum value
17225	ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded = "OPEN_LAMBDA_FUNCTIONS_LIMIT_EXCEEDED"
17226
17227	// ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded is a ScheduleLambdaFunctionFailedCause enum value
17228	ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded = "LAMBDA_FUNCTION_CREATION_RATE_EXCEEDED"
17229
17230	// ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion is a ScheduleLambdaFunctionFailedCause enum value
17231	ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion = "LAMBDA_SERVICE_NOT_AVAILABLE_IN_REGION"
17232)
17233
17234// ScheduleLambdaFunctionFailedCause_Values returns all elements of the ScheduleLambdaFunctionFailedCause enum
17235func ScheduleLambdaFunctionFailedCause_Values() []string {
17236	return []string{
17237		ScheduleLambdaFunctionFailedCauseIdAlreadyInUse,
17238		ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded,
17239		ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded,
17240		ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion,
17241	}
17242}
17243
17244const (
17245	// SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution is a SignalExternalWorkflowExecutionFailedCause enum value
17246	SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution = "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
17247
17248	// SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded is a SignalExternalWorkflowExecutionFailedCause enum value
17249	SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded = "SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"
17250
17251	// SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted is a SignalExternalWorkflowExecutionFailedCause enum value
17252	SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17253)
17254
17255// SignalExternalWorkflowExecutionFailedCause_Values returns all elements of the SignalExternalWorkflowExecutionFailedCause enum
17256func SignalExternalWorkflowExecutionFailedCause_Values() []string {
17257	return []string{
17258		SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution,
17259		SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded,
17260		SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted,
17261	}
17262}
17263
17264const (
17265	// StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist is a StartChildWorkflowExecutionFailedCause enum value
17266	StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist = "WORKFLOW_TYPE_DOES_NOT_EXIST"
17267
17268	// StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated is a StartChildWorkflowExecutionFailedCause enum value
17269	StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated = "WORKFLOW_TYPE_DEPRECATED"
17270
17271	// StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded is a StartChildWorkflowExecutionFailedCause enum value
17272	StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded = "OPEN_CHILDREN_LIMIT_EXCEEDED"
17273
17274	// StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded is a StartChildWorkflowExecutionFailedCause enum value
17275	StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded = "OPEN_WORKFLOWS_LIMIT_EXCEEDED"
17276
17277	// StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded is a StartChildWorkflowExecutionFailedCause enum value
17278	StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded = "CHILD_CREATION_RATE_EXCEEDED"
17279
17280	// StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning is a StartChildWorkflowExecutionFailedCause enum value
17281	StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning = "WORKFLOW_ALREADY_RUNNING"
17282
17283	// StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined is a StartChildWorkflowExecutionFailedCause enum value
17284	StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined = "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED"
17285
17286	// StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined is a StartChildWorkflowExecutionFailedCause enum value
17287	StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
17288
17289	// StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined is a StartChildWorkflowExecutionFailedCause enum value
17290	StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined = "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED"
17291
17292	// StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined is a StartChildWorkflowExecutionFailedCause enum value
17293	StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined = "DEFAULT_CHILD_POLICY_UNDEFINED"
17294
17295	// StartChildWorkflowExecutionFailedCauseOperationNotPermitted is a StartChildWorkflowExecutionFailedCause enum value
17296	StartChildWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17297)
17298
17299// StartChildWorkflowExecutionFailedCause_Values returns all elements of the StartChildWorkflowExecutionFailedCause enum
17300func StartChildWorkflowExecutionFailedCause_Values() []string {
17301	return []string{
17302		StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist,
17303		StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated,
17304		StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded,
17305		StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded,
17306		StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded,
17307		StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning,
17308		StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined,
17309		StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined,
17310		StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined,
17311		StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined,
17312		StartChildWorkflowExecutionFailedCauseOperationNotPermitted,
17313	}
17314}
17315
17316const (
17317	// StartLambdaFunctionFailedCauseAssumeRoleFailed is a StartLambdaFunctionFailedCause enum value
17318	StartLambdaFunctionFailedCauseAssumeRoleFailed = "ASSUME_ROLE_FAILED"
17319)
17320
17321// StartLambdaFunctionFailedCause_Values returns all elements of the StartLambdaFunctionFailedCause enum
17322func StartLambdaFunctionFailedCause_Values() []string {
17323	return []string{
17324		StartLambdaFunctionFailedCauseAssumeRoleFailed,
17325	}
17326}
17327
17328const (
17329	// StartTimerFailedCauseTimerIdAlreadyInUse is a StartTimerFailedCause enum value
17330	StartTimerFailedCauseTimerIdAlreadyInUse = "TIMER_ID_ALREADY_IN_USE"
17331
17332	// StartTimerFailedCauseOpenTimersLimitExceeded is a StartTimerFailedCause enum value
17333	StartTimerFailedCauseOpenTimersLimitExceeded = "OPEN_TIMERS_LIMIT_EXCEEDED"
17334
17335	// StartTimerFailedCauseTimerCreationRateExceeded is a StartTimerFailedCause enum value
17336	StartTimerFailedCauseTimerCreationRateExceeded = "TIMER_CREATION_RATE_EXCEEDED"
17337
17338	// StartTimerFailedCauseOperationNotPermitted is a StartTimerFailedCause enum value
17339	StartTimerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
17340)
17341
17342// StartTimerFailedCause_Values returns all elements of the StartTimerFailedCause enum
17343func StartTimerFailedCause_Values() []string {
17344	return []string{
17345		StartTimerFailedCauseTimerIdAlreadyInUse,
17346		StartTimerFailedCauseOpenTimersLimitExceeded,
17347		StartTimerFailedCauseTimerCreationRateExceeded,
17348		StartTimerFailedCauseOperationNotPermitted,
17349	}
17350}
17351
17352const (
17353	// WorkflowExecutionCancelRequestedCauseChildPolicyApplied is a WorkflowExecutionCancelRequestedCause enum value
17354	WorkflowExecutionCancelRequestedCauseChildPolicyApplied = "CHILD_POLICY_APPLIED"
17355)
17356
17357// WorkflowExecutionCancelRequestedCause_Values returns all elements of the WorkflowExecutionCancelRequestedCause enum
17358func WorkflowExecutionCancelRequestedCause_Values() []string {
17359	return []string{
17360		WorkflowExecutionCancelRequestedCauseChildPolicyApplied,
17361	}
17362}
17363
17364const (
17365	// WorkflowExecutionTerminatedCauseChildPolicyApplied is a WorkflowExecutionTerminatedCause enum value
17366	WorkflowExecutionTerminatedCauseChildPolicyApplied = "CHILD_POLICY_APPLIED"
17367
17368	// WorkflowExecutionTerminatedCauseEventLimitExceeded is a WorkflowExecutionTerminatedCause enum value
17369	WorkflowExecutionTerminatedCauseEventLimitExceeded = "EVENT_LIMIT_EXCEEDED"
17370
17371	// WorkflowExecutionTerminatedCauseOperatorInitiated is a WorkflowExecutionTerminatedCause enum value
17372	WorkflowExecutionTerminatedCauseOperatorInitiated = "OPERATOR_INITIATED"
17373)
17374
17375// WorkflowExecutionTerminatedCause_Values returns all elements of the WorkflowExecutionTerminatedCause enum
17376func WorkflowExecutionTerminatedCause_Values() []string {
17377	return []string{
17378		WorkflowExecutionTerminatedCauseChildPolicyApplied,
17379		WorkflowExecutionTerminatedCauseEventLimitExceeded,
17380		WorkflowExecutionTerminatedCauseOperatorInitiated,
17381	}
17382}
17383
17384const (
17385	// WorkflowExecutionTimeoutTypeStartToClose is a WorkflowExecutionTimeoutType enum value
17386	WorkflowExecutionTimeoutTypeStartToClose = "START_TO_CLOSE"
17387)
17388
17389// WorkflowExecutionTimeoutType_Values returns all elements of the WorkflowExecutionTimeoutType enum
17390func WorkflowExecutionTimeoutType_Values() []string {
17391	return []string{
17392		WorkflowExecutionTimeoutTypeStartToClose,
17393	}
17394}
17395