github.com/aavshr/aws-sdk-go@v1.41.3/service/swf/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package swf
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const 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  //    }
    40  func (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  //
   103  func (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.
   117  func (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  
   124  const 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  //    }
   148  func (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  //
   211  func (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.
   225  func (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  
   232  const 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  //    }
   256  func (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  //
   317  func (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.
   331  func (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  
   338  const 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  //    }
   362  func (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  //
   423  func (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.
   437  func (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  
   444  const 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  //    }
   468  func (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  //
   536  func (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.
   550  func (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  
   557  const 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  //    }
   581  func (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  //
   649  func (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.
   663  func (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  
   670  const 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  //    }
   694  func (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  //
   763  func (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.
   777  func (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  
   784  const 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  //    }
   808  func (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  //
   869  func (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.
   883  func (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  
   890  const 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  //    }
   914  func (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  //
   971  func (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.
   985  func (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  
   992  const 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  //    }
  1016  func (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  //
  1076  func (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.
  1090  func (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  
  1097  const 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  //    }
  1121  func (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  //
  1182  func (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.
  1196  func (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  
  1203  const 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  //    }
  1227  func (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  //
  1294  func (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.
  1308  func (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  //
  1332  func (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.
  1343  func (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  
  1367  const 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  //    }
  1391  func (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  //
  1457  func (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.
  1471  func (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  //
  1495  func (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.
  1506  func (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  
  1530  const 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  //    }
  1554  func (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  //
  1625  func (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.
  1639  func (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  //
  1663  func (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.
  1674  func (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  
  1698  const 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  //    }
  1722  func (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  //
  1785  func (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.
  1799  func (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  //
  1823  func (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.
  1834  func (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  
  1858  const 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  //    }
  1882  func (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  //
  1953  func (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.
  1967  func (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  //
  1991  func (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.
  2002  func (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  
  2026  const 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  //    }
  2050  func (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  //
  2092  func (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.
  2106  func (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  
  2113  const 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  //    }
  2137  func (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  //
  2201  func (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.
  2215  func (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  //
  2239  func (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.
  2250  func (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  
  2274  const 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  //    }
  2298  func (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  //
  2371  func (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.
  2385  func (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  
  2392  const 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  //    }
  2416  func (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  //
  2505  func (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.
  2519  func (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  //
  2543  func (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.
  2554  func (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  
  2578  const 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  //    }
  2602  func (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  //
  2683  func (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.
  2697  func (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  
  2704  const 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  //    }
  2728  func (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  //
  2803  func (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.
  2817  func (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  
  2824  const 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  //    }
  2848  func (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  //
  2914  func (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.
  2928  func (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  
  2935  const 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  //    }
  2959  func (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  //
  3037  func (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.
  3051  func (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  
  3058  const 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  //    }
  3082  func (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  //
  3150  func (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.
  3164  func (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  
  3171  const 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  //    }
  3195  func (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  //
  3266  func (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.
  3280  func (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  
  3287  const 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  //    }
  3311  func (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  //
  3381  func (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.
  3395  func (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  
  3402  const 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  //    }
  3426  func (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  //
  3491  func (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.
  3505  func (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  
  3512  const 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  //    }
  3536  func (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  //
  3590  func (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.
  3604  func (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  
  3611  const 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  //    }
  3635  func (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  //
  3701  func (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.
  3715  func (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  
  3722  const 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  //    }
  3746  func (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  //
  3837  func (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.
  3851  func (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  
  3858  const 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  //    }
  3882  func (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  //
  3930  func (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.
  3944  func (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  
  3951  const 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  //    }
  3975  func (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  //
  4046  func (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.
  4060  func (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  
  4067  const 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  //    }
  4091  func (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  //
  4160  func (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.
  4174  func (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  
  4181  const 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  //    }
  4205  func (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  //
  4271  func (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.
  4285  func (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  
  4292  const 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  //    }
  4316  func (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  //
  4385  func (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.
  4399  func (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  
  4406  const 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  //    }
  4430  func (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  //
  4473  func (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.
  4487  func (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.
  4495  type 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.
  4513  //
  4514  // API parameter values that are decorated as "sensitive" in the API will not
  4515  // be included in the string output. The member name will be present, but the
  4516  // value will be replaced with "sensitive".
  4517  func (s ActivityTaskCancelRequestedEventAttributes) String() string {
  4518  	return awsutil.Prettify(s)
  4519  }
  4520  
  4521  // GoString returns the string representation.
  4522  //
  4523  // API parameter values that are decorated as "sensitive" in the API will not
  4524  // be included in the string output. The member name will be present, but the
  4525  // value will be replaced with "sensitive".
  4526  func (s ActivityTaskCancelRequestedEventAttributes) GoString() string {
  4527  	return s.String()
  4528  }
  4529  
  4530  // SetActivityId sets the ActivityId field's value.
  4531  func (s *ActivityTaskCancelRequestedEventAttributes) SetActivityId(v string) *ActivityTaskCancelRequestedEventAttributes {
  4532  	s.ActivityId = &v
  4533  	return s
  4534  }
  4535  
  4536  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  4537  func (s *ActivityTaskCancelRequestedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ActivityTaskCancelRequestedEventAttributes {
  4538  	s.DecisionTaskCompletedEventId = &v
  4539  	return s
  4540  }
  4541  
  4542  // Provides the details of the ActivityTaskCanceled event.
  4543  type ActivityTaskCanceledEventAttributes struct {
  4544  	_ struct{} `type:"structure"`
  4545  
  4546  	// Details of the cancellation.
  4547  	Details *string `locationName:"details" type:"string"`
  4548  
  4549  	// If set, contains the ID of the last ActivityTaskCancelRequested event recorded
  4550  	// for this activity task. This information can be useful for diagnosing problems
  4551  	// by tracing back the chain of events leading up to this event.
  4552  	LatestCancelRequestedEventId *int64 `locationName:"latestCancelRequestedEventId" type:"long"`
  4553  
  4554  	// The ID of the ActivityTaskScheduled event that was recorded when this activity
  4555  	// task was scheduled. This information can be useful for diagnosing problems
  4556  	// by tracing back the chain of events leading up to this event.
  4557  	//
  4558  	// ScheduledEventId is a required field
  4559  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  4560  
  4561  	// The ID of the ActivityTaskStarted event recorded when this activity task
  4562  	// was started. This information can be useful for diagnosing problems by tracing
  4563  	// back the chain of events leading up to this event.
  4564  	//
  4565  	// StartedEventId is a required field
  4566  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  4567  }
  4568  
  4569  // String returns the string representation.
  4570  //
  4571  // API parameter values that are decorated as "sensitive" in the API will not
  4572  // be included in the string output. The member name will be present, but the
  4573  // value will be replaced with "sensitive".
  4574  func (s ActivityTaskCanceledEventAttributes) String() string {
  4575  	return awsutil.Prettify(s)
  4576  }
  4577  
  4578  // GoString returns the string representation.
  4579  //
  4580  // API parameter values that are decorated as "sensitive" in the API will not
  4581  // be included in the string output. The member name will be present, but the
  4582  // value will be replaced with "sensitive".
  4583  func (s ActivityTaskCanceledEventAttributes) GoString() string {
  4584  	return s.String()
  4585  }
  4586  
  4587  // SetDetails sets the Details field's value.
  4588  func (s *ActivityTaskCanceledEventAttributes) SetDetails(v string) *ActivityTaskCanceledEventAttributes {
  4589  	s.Details = &v
  4590  	return s
  4591  }
  4592  
  4593  // SetLatestCancelRequestedEventId sets the LatestCancelRequestedEventId field's value.
  4594  func (s *ActivityTaskCanceledEventAttributes) SetLatestCancelRequestedEventId(v int64) *ActivityTaskCanceledEventAttributes {
  4595  	s.LatestCancelRequestedEventId = &v
  4596  	return s
  4597  }
  4598  
  4599  // SetScheduledEventId sets the ScheduledEventId field's value.
  4600  func (s *ActivityTaskCanceledEventAttributes) SetScheduledEventId(v int64) *ActivityTaskCanceledEventAttributes {
  4601  	s.ScheduledEventId = &v
  4602  	return s
  4603  }
  4604  
  4605  // SetStartedEventId sets the StartedEventId field's value.
  4606  func (s *ActivityTaskCanceledEventAttributes) SetStartedEventId(v int64) *ActivityTaskCanceledEventAttributes {
  4607  	s.StartedEventId = &v
  4608  	return s
  4609  }
  4610  
  4611  // Provides the details of the ActivityTaskCompleted event.
  4612  type ActivityTaskCompletedEventAttributes struct {
  4613  	_ struct{} `type:"structure"`
  4614  
  4615  	// The results of the activity task.
  4616  	Result *string `locationName:"result" type:"string"`
  4617  
  4618  	// The ID of the ActivityTaskScheduled event that was recorded when this activity
  4619  	// task was scheduled. This information can be useful for diagnosing problems
  4620  	// by tracing back the chain of events leading up to this event.
  4621  	//
  4622  	// ScheduledEventId is a required field
  4623  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  4624  
  4625  	// The ID of the ActivityTaskStarted event recorded when this activity task
  4626  	// was started. This information can be useful for diagnosing problems by tracing
  4627  	// back the chain of events leading up to this event.
  4628  	//
  4629  	// StartedEventId is a required field
  4630  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  4631  }
  4632  
  4633  // String returns the string representation.
  4634  //
  4635  // API parameter values that are decorated as "sensitive" in the API will not
  4636  // be included in the string output. The member name will be present, but the
  4637  // value will be replaced with "sensitive".
  4638  func (s ActivityTaskCompletedEventAttributes) String() string {
  4639  	return awsutil.Prettify(s)
  4640  }
  4641  
  4642  // GoString returns the string representation.
  4643  //
  4644  // API parameter values that are decorated as "sensitive" in the API will not
  4645  // be included in the string output. The member name will be present, but the
  4646  // value will be replaced with "sensitive".
  4647  func (s ActivityTaskCompletedEventAttributes) GoString() string {
  4648  	return s.String()
  4649  }
  4650  
  4651  // SetResult sets the Result field's value.
  4652  func (s *ActivityTaskCompletedEventAttributes) SetResult(v string) *ActivityTaskCompletedEventAttributes {
  4653  	s.Result = &v
  4654  	return s
  4655  }
  4656  
  4657  // SetScheduledEventId sets the ScheduledEventId field's value.
  4658  func (s *ActivityTaskCompletedEventAttributes) SetScheduledEventId(v int64) *ActivityTaskCompletedEventAttributes {
  4659  	s.ScheduledEventId = &v
  4660  	return s
  4661  }
  4662  
  4663  // SetStartedEventId sets the StartedEventId field's value.
  4664  func (s *ActivityTaskCompletedEventAttributes) SetStartedEventId(v int64) *ActivityTaskCompletedEventAttributes {
  4665  	s.StartedEventId = &v
  4666  	return s
  4667  }
  4668  
  4669  // Provides the details of the ActivityTaskFailed event.
  4670  type ActivityTaskFailedEventAttributes struct {
  4671  	_ struct{} `type:"structure"`
  4672  
  4673  	// The details of the failure.
  4674  	Details *string `locationName:"details" type:"string"`
  4675  
  4676  	// The reason provided for the failure.
  4677  	Reason *string `locationName:"reason" type:"string"`
  4678  
  4679  	// The ID of the ActivityTaskScheduled event that was recorded when this activity
  4680  	// task was scheduled. This information can be useful for diagnosing problems
  4681  	// by tracing back the chain of events leading up to this event.
  4682  	//
  4683  	// ScheduledEventId is a required field
  4684  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  4685  
  4686  	// The ID of the ActivityTaskStarted event recorded when this activity task
  4687  	// was started. This information can be useful for diagnosing problems by tracing
  4688  	// back the chain of events leading up to this event.
  4689  	//
  4690  	// StartedEventId is a required field
  4691  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  4692  }
  4693  
  4694  // String returns the string representation.
  4695  //
  4696  // API parameter values that are decorated as "sensitive" in the API will not
  4697  // be included in the string output. The member name will be present, but the
  4698  // value will be replaced with "sensitive".
  4699  func (s ActivityTaskFailedEventAttributes) String() string {
  4700  	return awsutil.Prettify(s)
  4701  }
  4702  
  4703  // GoString returns the string representation.
  4704  //
  4705  // API parameter values that are decorated as "sensitive" in the API will not
  4706  // be included in the string output. The member name will be present, but the
  4707  // value will be replaced with "sensitive".
  4708  func (s ActivityTaskFailedEventAttributes) GoString() string {
  4709  	return s.String()
  4710  }
  4711  
  4712  // SetDetails sets the Details field's value.
  4713  func (s *ActivityTaskFailedEventAttributes) SetDetails(v string) *ActivityTaskFailedEventAttributes {
  4714  	s.Details = &v
  4715  	return s
  4716  }
  4717  
  4718  // SetReason sets the Reason field's value.
  4719  func (s *ActivityTaskFailedEventAttributes) SetReason(v string) *ActivityTaskFailedEventAttributes {
  4720  	s.Reason = &v
  4721  	return s
  4722  }
  4723  
  4724  // SetScheduledEventId sets the ScheduledEventId field's value.
  4725  func (s *ActivityTaskFailedEventAttributes) SetScheduledEventId(v int64) *ActivityTaskFailedEventAttributes {
  4726  	s.ScheduledEventId = &v
  4727  	return s
  4728  }
  4729  
  4730  // SetStartedEventId sets the StartedEventId field's value.
  4731  func (s *ActivityTaskFailedEventAttributes) SetStartedEventId(v int64) *ActivityTaskFailedEventAttributes {
  4732  	s.StartedEventId = &v
  4733  	return s
  4734  }
  4735  
  4736  // Provides the details of the ActivityTaskScheduled event.
  4737  type ActivityTaskScheduledEventAttributes struct {
  4738  	_ struct{} `type:"structure"`
  4739  
  4740  	// The unique ID of the activity task.
  4741  	//
  4742  	// ActivityId is a required field
  4743  	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
  4744  
  4745  	// The type of the activity task.
  4746  	//
  4747  	// ActivityType is a required field
  4748  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
  4749  
  4750  	// Data attached to the event that can be used by the decider in subsequent
  4751  	// workflow tasks. This data isn't sent to the activity.
  4752  	Control *string `locationName:"control" type:"string"`
  4753  
  4754  	// The ID of the DecisionTaskCompleted event corresponding to the decision that
  4755  	// resulted in the scheduling of this activity task. This information can be
  4756  	// useful for diagnosing problems by tracing back the chain of events leading
  4757  	// up to this event.
  4758  	//
  4759  	// DecisionTaskCompletedEventId is a required field
  4760  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  4761  
  4762  	// The maximum time before which the worker processing this task must report
  4763  	// progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded,
  4764  	// the activity task is automatically timed out. If the worker subsequently
  4765  	// attempts to record a heartbeat or return a result, it is ignored.
  4766  	HeartbeatTimeout *string `locationName:"heartbeatTimeout" type:"string"`
  4767  
  4768  	// The input provided to the activity task.
  4769  	Input *string `locationName:"input" type:"string"`
  4770  
  4771  	// The maximum amount of time for this activity task.
  4772  	ScheduleToCloseTimeout *string `locationName:"scheduleToCloseTimeout" type:"string"`
  4773  
  4774  	// The maximum amount of time the activity task can wait to be assigned to a
  4775  	// worker.
  4776  	ScheduleToStartTimeout *string `locationName:"scheduleToStartTimeout" type:"string"`
  4777  
  4778  	// The maximum amount of time a worker may take to process the activity task.
  4779  	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
  4780  
  4781  	// The task list in which the activity task has been scheduled.
  4782  	//
  4783  	// TaskList is a required field
  4784  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
  4785  
  4786  	// The priority to assign to the scheduled activity task. If set, this overrides
  4787  	// any default priority value that was assigned when the activity type was registered.
  4788  	//
  4789  	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
  4790  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
  4791  	//
  4792  	// For more information about setting task priority, see Setting Task Priority
  4793  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
  4794  	// in the Amazon SWF Developer Guide.
  4795  	TaskPriority *string `locationName:"taskPriority" type:"string"`
  4796  }
  4797  
  4798  // String returns the string representation.
  4799  //
  4800  // API parameter values that are decorated as "sensitive" in the API will not
  4801  // be included in the string output. The member name will be present, but the
  4802  // value will be replaced with "sensitive".
  4803  func (s ActivityTaskScheduledEventAttributes) String() string {
  4804  	return awsutil.Prettify(s)
  4805  }
  4806  
  4807  // GoString returns the string representation.
  4808  //
  4809  // API parameter values that are decorated as "sensitive" in the API will not
  4810  // be included in the string output. The member name will be present, but the
  4811  // value will be replaced with "sensitive".
  4812  func (s ActivityTaskScheduledEventAttributes) GoString() string {
  4813  	return s.String()
  4814  }
  4815  
  4816  // SetActivityId sets the ActivityId field's value.
  4817  func (s *ActivityTaskScheduledEventAttributes) SetActivityId(v string) *ActivityTaskScheduledEventAttributes {
  4818  	s.ActivityId = &v
  4819  	return s
  4820  }
  4821  
  4822  // SetActivityType sets the ActivityType field's value.
  4823  func (s *ActivityTaskScheduledEventAttributes) SetActivityType(v *ActivityType) *ActivityTaskScheduledEventAttributes {
  4824  	s.ActivityType = v
  4825  	return s
  4826  }
  4827  
  4828  // SetControl sets the Control field's value.
  4829  func (s *ActivityTaskScheduledEventAttributes) SetControl(v string) *ActivityTaskScheduledEventAttributes {
  4830  	s.Control = &v
  4831  	return s
  4832  }
  4833  
  4834  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  4835  func (s *ActivityTaskScheduledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ActivityTaskScheduledEventAttributes {
  4836  	s.DecisionTaskCompletedEventId = &v
  4837  	return s
  4838  }
  4839  
  4840  // SetHeartbeatTimeout sets the HeartbeatTimeout field's value.
  4841  func (s *ActivityTaskScheduledEventAttributes) SetHeartbeatTimeout(v string) *ActivityTaskScheduledEventAttributes {
  4842  	s.HeartbeatTimeout = &v
  4843  	return s
  4844  }
  4845  
  4846  // SetInput sets the Input field's value.
  4847  func (s *ActivityTaskScheduledEventAttributes) SetInput(v string) *ActivityTaskScheduledEventAttributes {
  4848  	s.Input = &v
  4849  	return s
  4850  }
  4851  
  4852  // SetScheduleToCloseTimeout sets the ScheduleToCloseTimeout field's value.
  4853  func (s *ActivityTaskScheduledEventAttributes) SetScheduleToCloseTimeout(v string) *ActivityTaskScheduledEventAttributes {
  4854  	s.ScheduleToCloseTimeout = &v
  4855  	return s
  4856  }
  4857  
  4858  // SetScheduleToStartTimeout sets the ScheduleToStartTimeout field's value.
  4859  func (s *ActivityTaskScheduledEventAttributes) SetScheduleToStartTimeout(v string) *ActivityTaskScheduledEventAttributes {
  4860  	s.ScheduleToStartTimeout = &v
  4861  	return s
  4862  }
  4863  
  4864  // SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
  4865  func (s *ActivityTaskScheduledEventAttributes) SetStartToCloseTimeout(v string) *ActivityTaskScheduledEventAttributes {
  4866  	s.StartToCloseTimeout = &v
  4867  	return s
  4868  }
  4869  
  4870  // SetTaskList sets the TaskList field's value.
  4871  func (s *ActivityTaskScheduledEventAttributes) SetTaskList(v *TaskList) *ActivityTaskScheduledEventAttributes {
  4872  	s.TaskList = v
  4873  	return s
  4874  }
  4875  
  4876  // SetTaskPriority sets the TaskPriority field's value.
  4877  func (s *ActivityTaskScheduledEventAttributes) SetTaskPriority(v string) *ActivityTaskScheduledEventAttributes {
  4878  	s.TaskPriority = &v
  4879  	return s
  4880  }
  4881  
  4882  // Provides the details of the ActivityTaskStarted event.
  4883  type ActivityTaskStartedEventAttributes struct {
  4884  	_ struct{} `type:"structure"`
  4885  
  4886  	// Identity of the worker that was assigned this task. This aids diagnostics
  4887  	// when problems arise. The form of this identity is user defined.
  4888  	Identity *string `locationName:"identity" type:"string"`
  4889  
  4890  	// The ID of the ActivityTaskScheduled event that was recorded when this activity
  4891  	// task was scheduled. This information can be useful for diagnosing problems
  4892  	// by tracing back the chain of events leading up to this event.
  4893  	//
  4894  	// ScheduledEventId is a required field
  4895  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  4896  }
  4897  
  4898  // String returns the string representation.
  4899  //
  4900  // API parameter values that are decorated as "sensitive" in the API will not
  4901  // be included in the string output. The member name will be present, but the
  4902  // value will be replaced with "sensitive".
  4903  func (s ActivityTaskStartedEventAttributes) String() string {
  4904  	return awsutil.Prettify(s)
  4905  }
  4906  
  4907  // GoString returns the string representation.
  4908  //
  4909  // API parameter values that are decorated as "sensitive" in the API will not
  4910  // be included in the string output. The member name will be present, but the
  4911  // value will be replaced with "sensitive".
  4912  func (s ActivityTaskStartedEventAttributes) GoString() string {
  4913  	return s.String()
  4914  }
  4915  
  4916  // SetIdentity sets the Identity field's value.
  4917  func (s *ActivityTaskStartedEventAttributes) SetIdentity(v string) *ActivityTaskStartedEventAttributes {
  4918  	s.Identity = &v
  4919  	return s
  4920  }
  4921  
  4922  // SetScheduledEventId sets the ScheduledEventId field's value.
  4923  func (s *ActivityTaskStartedEventAttributes) SetScheduledEventId(v int64) *ActivityTaskStartedEventAttributes {
  4924  	s.ScheduledEventId = &v
  4925  	return s
  4926  }
  4927  
  4928  // Provides the details of the ActivityTaskTimedOut event.
  4929  type ActivityTaskTimedOutEventAttributes struct {
  4930  	_ struct{} `type:"structure"`
  4931  
  4932  	// Contains the content of the details parameter for the last call made by the
  4933  	// activity to RecordActivityTaskHeartbeat.
  4934  	Details *string `locationName:"details" type:"string"`
  4935  
  4936  	// The ID of the ActivityTaskScheduled event that was recorded when this activity
  4937  	// task was scheduled. This information can be useful for diagnosing problems
  4938  	// by tracing back the chain of events leading up to this event.
  4939  	//
  4940  	// ScheduledEventId is a required field
  4941  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  4942  
  4943  	// The ID of the ActivityTaskStarted event recorded when this activity task
  4944  	// was started. This information can be useful for diagnosing problems by tracing
  4945  	// back the chain of events leading up to this event.
  4946  	//
  4947  	// StartedEventId is a required field
  4948  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  4949  
  4950  	// The type of the timeout that caused this event.
  4951  	//
  4952  	// TimeoutType is a required field
  4953  	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"ActivityTaskTimeoutType"`
  4954  }
  4955  
  4956  // String returns the string representation.
  4957  //
  4958  // API parameter values that are decorated as "sensitive" in the API will not
  4959  // be included in the string output. The member name will be present, but the
  4960  // value will be replaced with "sensitive".
  4961  func (s ActivityTaskTimedOutEventAttributes) String() string {
  4962  	return awsutil.Prettify(s)
  4963  }
  4964  
  4965  // GoString returns the string representation.
  4966  //
  4967  // API parameter values that are decorated as "sensitive" in the API will not
  4968  // be included in the string output. The member name will be present, but the
  4969  // value will be replaced with "sensitive".
  4970  func (s ActivityTaskTimedOutEventAttributes) GoString() string {
  4971  	return s.String()
  4972  }
  4973  
  4974  // SetDetails sets the Details field's value.
  4975  func (s *ActivityTaskTimedOutEventAttributes) SetDetails(v string) *ActivityTaskTimedOutEventAttributes {
  4976  	s.Details = &v
  4977  	return s
  4978  }
  4979  
  4980  // SetScheduledEventId sets the ScheduledEventId field's value.
  4981  func (s *ActivityTaskTimedOutEventAttributes) SetScheduledEventId(v int64) *ActivityTaskTimedOutEventAttributes {
  4982  	s.ScheduledEventId = &v
  4983  	return s
  4984  }
  4985  
  4986  // SetStartedEventId sets the StartedEventId field's value.
  4987  func (s *ActivityTaskTimedOutEventAttributes) SetStartedEventId(v int64) *ActivityTaskTimedOutEventAttributes {
  4988  	s.StartedEventId = &v
  4989  	return s
  4990  }
  4991  
  4992  // SetTimeoutType sets the TimeoutType field's value.
  4993  func (s *ActivityTaskTimedOutEventAttributes) SetTimeoutType(v string) *ActivityTaskTimedOutEventAttributes {
  4994  	s.TimeoutType = &v
  4995  	return s
  4996  }
  4997  
  4998  // Represents an activity type.
  4999  type ActivityType struct {
  5000  	_ struct{} `type:"structure"`
  5001  
  5002  	// The name of this activity.
  5003  	//
  5004  	// The combination of activity type name and version must be unique within a
  5005  	// domain.
  5006  	//
  5007  	// Name is a required field
  5008  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  5009  
  5010  	// The version of this activity.
  5011  	//
  5012  	// The combination of activity type name and version must be unique with in
  5013  	// a domain.
  5014  	//
  5015  	// Version is a required field
  5016  	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
  5017  }
  5018  
  5019  // String returns the string representation.
  5020  //
  5021  // API parameter values that are decorated as "sensitive" in the API will not
  5022  // be included in the string output. The member name will be present, but the
  5023  // value will be replaced with "sensitive".
  5024  func (s ActivityType) String() string {
  5025  	return awsutil.Prettify(s)
  5026  }
  5027  
  5028  // GoString returns the string representation.
  5029  //
  5030  // API parameter values that are decorated as "sensitive" in the API will not
  5031  // be included in the string output. The member name will be present, but the
  5032  // value will be replaced with "sensitive".
  5033  func (s ActivityType) GoString() string {
  5034  	return s.String()
  5035  }
  5036  
  5037  // Validate inspects the fields of the type to determine if they are valid.
  5038  func (s *ActivityType) Validate() error {
  5039  	invalidParams := request.ErrInvalidParams{Context: "ActivityType"}
  5040  	if s.Name == nil {
  5041  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5042  	}
  5043  	if s.Name != nil && len(*s.Name) < 1 {
  5044  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  5045  	}
  5046  	if s.Version == nil {
  5047  		invalidParams.Add(request.NewErrParamRequired("Version"))
  5048  	}
  5049  	if s.Version != nil && len(*s.Version) < 1 {
  5050  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
  5051  	}
  5052  
  5053  	if invalidParams.Len() > 0 {
  5054  		return invalidParams
  5055  	}
  5056  	return nil
  5057  }
  5058  
  5059  // SetName sets the Name field's value.
  5060  func (s *ActivityType) SetName(v string) *ActivityType {
  5061  	s.Name = &v
  5062  	return s
  5063  }
  5064  
  5065  // SetVersion sets the Version field's value.
  5066  func (s *ActivityType) SetVersion(v string) *ActivityType {
  5067  	s.Version = &v
  5068  	return s
  5069  }
  5070  
  5071  // Configuration settings registered with the activity type.
  5072  type ActivityTypeConfiguration struct {
  5073  	_ struct{} `type:"structure"`
  5074  
  5075  	// The default maximum time, in seconds, before which a worker processing a
  5076  	// task must report progress by calling RecordActivityTaskHeartbeat.
  5077  	//
  5078  	// You can specify this value only when registering an activity type. The registered
  5079  	// default value can be overridden when you schedule a task through the ScheduleActivityTask
  5080  	// Decision. If the activity worker subsequently attempts to record a heartbeat
  5081  	// or returns a result, the activity worker receives an UnknownResource fault.
  5082  	// In this case, Amazon SWF no longer considers the activity task to be valid;
  5083  	// the activity worker should clean up the activity task.
  5084  	//
  5085  	// The duration is specified in seconds, an integer greater than or equal to
  5086  	// 0. You can use NONE to specify unlimited duration.
  5087  	DefaultTaskHeartbeatTimeout *string `locationName:"defaultTaskHeartbeatTimeout" type:"string"`
  5088  
  5089  	// The default task list specified for this activity type at registration. This
  5090  	// default is used if a task list isn't provided when a task is scheduled through
  5091  	// the ScheduleActivityTask Decision. You can override the default registered
  5092  	// task list when scheduling a task through the ScheduleActivityTask Decision.
  5093  	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
  5094  
  5095  	// The default task priority for tasks of this activity type, specified at registration.
  5096  	// If not set, then 0 is used as the default priority. This default can be overridden
  5097  	// when scheduling an activity task.
  5098  	//
  5099  	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
  5100  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
  5101  	//
  5102  	// For more information about setting task priority, see Setting Task Priority
  5103  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
  5104  	// in the Amazon SWF Developer Guide.
  5105  	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
  5106  
  5107  	// The default maximum duration, specified when registering the activity type,
  5108  	// for tasks of this activity type. You can override this default when scheduling
  5109  	// a task through the ScheduleActivityTask Decision.
  5110  	//
  5111  	// The duration is specified in seconds, an integer greater than or equal to
  5112  	// 0. You can use NONE to specify unlimited duration.
  5113  	DefaultTaskScheduleToCloseTimeout *string `locationName:"defaultTaskScheduleToCloseTimeout" type:"string"`
  5114  
  5115  	// The default maximum duration, specified when registering the activity type,
  5116  	// that a task of an activity type can wait before being assigned to a worker.
  5117  	// You can override this default when scheduling a task through the ScheduleActivityTask
  5118  	// Decision.
  5119  	//
  5120  	// The duration is specified in seconds, an integer greater than or equal to
  5121  	// 0. You can use NONE to specify unlimited duration.
  5122  	DefaultTaskScheduleToStartTimeout *string `locationName:"defaultTaskScheduleToStartTimeout" type:"string"`
  5123  
  5124  	// The default maximum duration for tasks of an activity type specified when
  5125  	// registering the activity type. You can override this default when scheduling
  5126  	// a task through the ScheduleActivityTask Decision.
  5127  	//
  5128  	// The duration is specified in seconds, an integer greater than or equal to
  5129  	// 0. You can use NONE to specify unlimited duration.
  5130  	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
  5131  }
  5132  
  5133  // String returns the string representation.
  5134  //
  5135  // API parameter values that are decorated as "sensitive" in the API will not
  5136  // be included in the string output. The member name will be present, but the
  5137  // value will be replaced with "sensitive".
  5138  func (s ActivityTypeConfiguration) String() string {
  5139  	return awsutil.Prettify(s)
  5140  }
  5141  
  5142  // GoString returns the string representation.
  5143  //
  5144  // API parameter values that are decorated as "sensitive" in the API will not
  5145  // be included in the string output. The member name will be present, but the
  5146  // value will be replaced with "sensitive".
  5147  func (s ActivityTypeConfiguration) GoString() string {
  5148  	return s.String()
  5149  }
  5150  
  5151  // SetDefaultTaskHeartbeatTimeout sets the DefaultTaskHeartbeatTimeout field's value.
  5152  func (s *ActivityTypeConfiguration) SetDefaultTaskHeartbeatTimeout(v string) *ActivityTypeConfiguration {
  5153  	s.DefaultTaskHeartbeatTimeout = &v
  5154  	return s
  5155  }
  5156  
  5157  // SetDefaultTaskList sets the DefaultTaskList field's value.
  5158  func (s *ActivityTypeConfiguration) SetDefaultTaskList(v *TaskList) *ActivityTypeConfiguration {
  5159  	s.DefaultTaskList = v
  5160  	return s
  5161  }
  5162  
  5163  // SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
  5164  func (s *ActivityTypeConfiguration) SetDefaultTaskPriority(v string) *ActivityTypeConfiguration {
  5165  	s.DefaultTaskPriority = &v
  5166  	return s
  5167  }
  5168  
  5169  // SetDefaultTaskScheduleToCloseTimeout sets the DefaultTaskScheduleToCloseTimeout field's value.
  5170  func (s *ActivityTypeConfiguration) SetDefaultTaskScheduleToCloseTimeout(v string) *ActivityTypeConfiguration {
  5171  	s.DefaultTaskScheduleToCloseTimeout = &v
  5172  	return s
  5173  }
  5174  
  5175  // SetDefaultTaskScheduleToStartTimeout sets the DefaultTaskScheduleToStartTimeout field's value.
  5176  func (s *ActivityTypeConfiguration) SetDefaultTaskScheduleToStartTimeout(v string) *ActivityTypeConfiguration {
  5177  	s.DefaultTaskScheduleToStartTimeout = &v
  5178  	return s
  5179  }
  5180  
  5181  // SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
  5182  func (s *ActivityTypeConfiguration) SetDefaultTaskStartToCloseTimeout(v string) *ActivityTypeConfiguration {
  5183  	s.DefaultTaskStartToCloseTimeout = &v
  5184  	return s
  5185  }
  5186  
  5187  // Detailed information about an activity type.
  5188  type ActivityTypeInfo struct {
  5189  	_ struct{} `type:"structure"`
  5190  
  5191  	// The ActivityType type structure representing the activity type.
  5192  	//
  5193  	// ActivityType is a required field
  5194  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
  5195  
  5196  	// The date and time this activity type was created through RegisterActivityType.
  5197  	//
  5198  	// CreationDate is a required field
  5199  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
  5200  
  5201  	// If DEPRECATED, the date and time DeprecateActivityType was called.
  5202  	DeprecationDate *time.Time `locationName:"deprecationDate" type:"timestamp"`
  5203  
  5204  	// The description of the activity type provided in RegisterActivityType.
  5205  	Description *string `locationName:"description" type:"string"`
  5206  
  5207  	// The current status of the activity type.
  5208  	//
  5209  	// Status is a required field
  5210  	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistrationStatus"`
  5211  }
  5212  
  5213  // String returns the string representation.
  5214  //
  5215  // API parameter values that are decorated as "sensitive" in the API will not
  5216  // be included in the string output. The member name will be present, but the
  5217  // value will be replaced with "sensitive".
  5218  func (s ActivityTypeInfo) String() string {
  5219  	return awsutil.Prettify(s)
  5220  }
  5221  
  5222  // GoString returns the string representation.
  5223  //
  5224  // API parameter values that are decorated as "sensitive" in the API will not
  5225  // be included in the string output. The member name will be present, but the
  5226  // value will be replaced with "sensitive".
  5227  func (s ActivityTypeInfo) GoString() string {
  5228  	return s.String()
  5229  }
  5230  
  5231  // SetActivityType sets the ActivityType field's value.
  5232  func (s *ActivityTypeInfo) SetActivityType(v *ActivityType) *ActivityTypeInfo {
  5233  	s.ActivityType = v
  5234  	return s
  5235  }
  5236  
  5237  // SetCreationDate sets the CreationDate field's value.
  5238  func (s *ActivityTypeInfo) SetCreationDate(v time.Time) *ActivityTypeInfo {
  5239  	s.CreationDate = &v
  5240  	return s
  5241  }
  5242  
  5243  // SetDeprecationDate sets the DeprecationDate field's value.
  5244  func (s *ActivityTypeInfo) SetDeprecationDate(v time.Time) *ActivityTypeInfo {
  5245  	s.DeprecationDate = &v
  5246  	return s
  5247  }
  5248  
  5249  // SetDescription sets the Description field's value.
  5250  func (s *ActivityTypeInfo) SetDescription(v string) *ActivityTypeInfo {
  5251  	s.Description = &v
  5252  	return s
  5253  }
  5254  
  5255  // SetStatus sets the Status field's value.
  5256  func (s *ActivityTypeInfo) SetStatus(v string) *ActivityTypeInfo {
  5257  	s.Status = &v
  5258  	return s
  5259  }
  5260  
  5261  // Provides the details of the CancelTimer decision.
  5262  //
  5263  // Access Control
  5264  //
  5265  // You can use IAM policies to control this decision's access to Amazon SWF
  5266  // resources as follows:
  5267  //
  5268  //    * Use a Resource element with the domain name to limit the action to only
  5269  //    specified domains.
  5270  //
  5271  //    * Use an Action element to allow or deny permission to call this action.
  5272  //
  5273  //    * You cannot use an IAM policy to constrain this action's parameters.
  5274  //
  5275  // If the caller doesn't have sufficient permissions to invoke the action, or
  5276  // the parameter values fall outside the specified constraints, the action fails.
  5277  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
  5278  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
  5279  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  5280  // in the Amazon SWF Developer Guide.
  5281  type CancelTimerDecisionAttributes struct {
  5282  	_ struct{} `type:"structure"`
  5283  
  5284  	// The unique ID of the timer to cancel.
  5285  	//
  5286  	// TimerId is a required field
  5287  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
  5288  }
  5289  
  5290  // String returns the string representation.
  5291  //
  5292  // API parameter values that are decorated as "sensitive" in the API will not
  5293  // be included in the string output. The member name will be present, but the
  5294  // value will be replaced with "sensitive".
  5295  func (s CancelTimerDecisionAttributes) String() string {
  5296  	return awsutil.Prettify(s)
  5297  }
  5298  
  5299  // GoString returns the string representation.
  5300  //
  5301  // API parameter values that are decorated as "sensitive" in the API will not
  5302  // be included in the string output. The member name will be present, but the
  5303  // value will be replaced with "sensitive".
  5304  func (s CancelTimerDecisionAttributes) GoString() string {
  5305  	return s.String()
  5306  }
  5307  
  5308  // Validate inspects the fields of the type to determine if they are valid.
  5309  func (s *CancelTimerDecisionAttributes) Validate() error {
  5310  	invalidParams := request.ErrInvalidParams{Context: "CancelTimerDecisionAttributes"}
  5311  	if s.TimerId == nil {
  5312  		invalidParams.Add(request.NewErrParamRequired("TimerId"))
  5313  	}
  5314  	if s.TimerId != nil && len(*s.TimerId) < 1 {
  5315  		invalidParams.Add(request.NewErrParamMinLen("TimerId", 1))
  5316  	}
  5317  
  5318  	if invalidParams.Len() > 0 {
  5319  		return invalidParams
  5320  	}
  5321  	return nil
  5322  }
  5323  
  5324  // SetTimerId sets the TimerId field's value.
  5325  func (s *CancelTimerDecisionAttributes) SetTimerId(v string) *CancelTimerDecisionAttributes {
  5326  	s.TimerId = &v
  5327  	return s
  5328  }
  5329  
  5330  // Provides the details of the CancelTimerFailed event.
  5331  type CancelTimerFailedEventAttributes struct {
  5332  	_ struct{} `type:"structure"`
  5333  
  5334  	// The cause of the failure. This information is generated by the system and
  5335  	// can be useful for diagnostic purposes.
  5336  	//
  5337  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
  5338  	// lacked sufficient permissions. For details and example IAM policies, see
  5339  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  5340  	// in the Amazon SWF Developer Guide.
  5341  	//
  5342  	// Cause is a required field
  5343  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"CancelTimerFailedCause"`
  5344  
  5345  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
  5346  	// that resulted in the CancelTimer decision to cancel this timer. This information
  5347  	// can be useful for diagnosing problems by tracing back the chain of events
  5348  	// leading up to this event.
  5349  	//
  5350  	// DecisionTaskCompletedEventId is a required field
  5351  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  5352  
  5353  	// The timerId provided in the CancelTimer decision that failed.
  5354  	//
  5355  	// TimerId is a required field
  5356  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
  5357  }
  5358  
  5359  // String returns the string representation.
  5360  //
  5361  // API parameter values that are decorated as "sensitive" in the API will not
  5362  // be included in the string output. The member name will be present, but the
  5363  // value will be replaced with "sensitive".
  5364  func (s CancelTimerFailedEventAttributes) String() string {
  5365  	return awsutil.Prettify(s)
  5366  }
  5367  
  5368  // GoString returns the string representation.
  5369  //
  5370  // API parameter values that are decorated as "sensitive" in the API will not
  5371  // be included in the string output. The member name will be present, but the
  5372  // value will be replaced with "sensitive".
  5373  func (s CancelTimerFailedEventAttributes) GoString() string {
  5374  	return s.String()
  5375  }
  5376  
  5377  // SetCause sets the Cause field's value.
  5378  func (s *CancelTimerFailedEventAttributes) SetCause(v string) *CancelTimerFailedEventAttributes {
  5379  	s.Cause = &v
  5380  	return s
  5381  }
  5382  
  5383  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  5384  func (s *CancelTimerFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *CancelTimerFailedEventAttributes {
  5385  	s.DecisionTaskCompletedEventId = &v
  5386  	return s
  5387  }
  5388  
  5389  // SetTimerId sets the TimerId field's value.
  5390  func (s *CancelTimerFailedEventAttributes) SetTimerId(v string) *CancelTimerFailedEventAttributes {
  5391  	s.TimerId = &v
  5392  	return s
  5393  }
  5394  
  5395  // Provides the details of the CancelWorkflowExecution decision.
  5396  //
  5397  // Access Control
  5398  //
  5399  // You can use IAM policies to control this decision's access to Amazon SWF
  5400  // resources as follows:
  5401  //
  5402  //    * Use a Resource element with the domain name to limit the action to only
  5403  //    specified domains.
  5404  //
  5405  //    * Use an Action element to allow or deny permission to call this action.
  5406  //
  5407  //    * You cannot use an IAM policy to constrain this action's parameters.
  5408  //
  5409  // If the caller doesn't have sufficient permissions to invoke the action, or
  5410  // the parameter values fall outside the specified constraints, the action fails.
  5411  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
  5412  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
  5413  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  5414  // in the Amazon SWF Developer Guide.
  5415  type CancelWorkflowExecutionDecisionAttributes struct {
  5416  	_ struct{} `type:"structure"`
  5417  
  5418  	// Details of the cancellation.
  5419  	Details *string `locationName:"details" type:"string"`
  5420  }
  5421  
  5422  // String returns the string representation.
  5423  //
  5424  // API parameter values that are decorated as "sensitive" in the API will not
  5425  // be included in the string output. The member name will be present, but the
  5426  // value will be replaced with "sensitive".
  5427  func (s CancelWorkflowExecutionDecisionAttributes) String() string {
  5428  	return awsutil.Prettify(s)
  5429  }
  5430  
  5431  // GoString returns the string representation.
  5432  //
  5433  // API parameter values that are decorated as "sensitive" in the API will not
  5434  // be included in the string output. The member name will be present, but the
  5435  // value will be replaced with "sensitive".
  5436  func (s CancelWorkflowExecutionDecisionAttributes) GoString() string {
  5437  	return s.String()
  5438  }
  5439  
  5440  // SetDetails sets the Details field's value.
  5441  func (s *CancelWorkflowExecutionDecisionAttributes) SetDetails(v string) *CancelWorkflowExecutionDecisionAttributes {
  5442  	s.Details = &v
  5443  	return s
  5444  }
  5445  
  5446  // Provides the details of the CancelWorkflowExecutionFailed event.
  5447  type CancelWorkflowExecutionFailedEventAttributes struct {
  5448  	_ struct{} `type:"structure"`
  5449  
  5450  	// The cause of the failure. This information is generated by the system and
  5451  	// can be useful for diagnostic purposes.
  5452  	//
  5453  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
  5454  	// lacked sufficient permissions. For details and example IAM policies, see
  5455  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  5456  	// in the Amazon SWF Developer Guide.
  5457  	//
  5458  	// Cause is a required field
  5459  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"CancelWorkflowExecutionFailedCause"`
  5460  
  5461  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
  5462  	// that resulted in the CancelWorkflowExecution decision for this cancellation
  5463  	// request. This information can be useful for diagnosing problems by tracing
  5464  	// back the chain of events leading up to this event.
  5465  	//
  5466  	// DecisionTaskCompletedEventId is a required field
  5467  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  5468  }
  5469  
  5470  // String returns the string representation.
  5471  //
  5472  // API parameter values that are decorated as "sensitive" in the API will not
  5473  // be included in the string output. The member name will be present, but the
  5474  // value will be replaced with "sensitive".
  5475  func (s CancelWorkflowExecutionFailedEventAttributes) String() string {
  5476  	return awsutil.Prettify(s)
  5477  }
  5478  
  5479  // GoString returns the string representation.
  5480  //
  5481  // API parameter values that are decorated as "sensitive" in the API will not
  5482  // be included in the string output. The member name will be present, but the
  5483  // value will be replaced with "sensitive".
  5484  func (s CancelWorkflowExecutionFailedEventAttributes) GoString() string {
  5485  	return s.String()
  5486  }
  5487  
  5488  // SetCause sets the Cause field's value.
  5489  func (s *CancelWorkflowExecutionFailedEventAttributes) SetCause(v string) *CancelWorkflowExecutionFailedEventAttributes {
  5490  	s.Cause = &v
  5491  	return s
  5492  }
  5493  
  5494  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  5495  func (s *CancelWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *CancelWorkflowExecutionFailedEventAttributes {
  5496  	s.DecisionTaskCompletedEventId = &v
  5497  	return s
  5498  }
  5499  
  5500  // Provide details of the ChildWorkflowExecutionCanceled event.
  5501  type ChildWorkflowExecutionCanceledEventAttributes struct {
  5502  	_ struct{} `type:"structure"`
  5503  
  5504  	// Details of the cancellation (if provided).
  5505  	Details *string `locationName:"details" type:"string"`
  5506  
  5507  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
  5508  	// the StartChildWorkflowExecution Decision to start this child workflow execution.
  5509  	// This information can be useful for diagnosing problems by tracing back the
  5510  	// chain of events leading up to this event.
  5511  	//
  5512  	// InitiatedEventId is a required field
  5513  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  5514  
  5515  	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
  5516  	// workflow execution was started. This information can be useful for diagnosing
  5517  	// problems by tracing back the chain of events leading up to this event.
  5518  	//
  5519  	// StartedEventId is a required field
  5520  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  5521  
  5522  	// The child workflow execution that was canceled.
  5523  	//
  5524  	// WorkflowExecution is a required field
  5525  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  5526  
  5527  	// The type of the child workflow execution.
  5528  	//
  5529  	// WorkflowType is a required field
  5530  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  5531  }
  5532  
  5533  // String returns the string representation.
  5534  //
  5535  // API parameter values that are decorated as "sensitive" in the API will not
  5536  // be included in the string output. The member name will be present, but the
  5537  // value will be replaced with "sensitive".
  5538  func (s ChildWorkflowExecutionCanceledEventAttributes) String() string {
  5539  	return awsutil.Prettify(s)
  5540  }
  5541  
  5542  // GoString returns the string representation.
  5543  //
  5544  // API parameter values that are decorated as "sensitive" in the API will not
  5545  // be included in the string output. The member name will be present, but the
  5546  // value will be replaced with "sensitive".
  5547  func (s ChildWorkflowExecutionCanceledEventAttributes) GoString() string {
  5548  	return s.String()
  5549  }
  5550  
  5551  // SetDetails sets the Details field's value.
  5552  func (s *ChildWorkflowExecutionCanceledEventAttributes) SetDetails(v string) *ChildWorkflowExecutionCanceledEventAttributes {
  5553  	s.Details = &v
  5554  	return s
  5555  }
  5556  
  5557  // SetInitiatedEventId sets the InitiatedEventId field's value.
  5558  func (s *ChildWorkflowExecutionCanceledEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionCanceledEventAttributes {
  5559  	s.InitiatedEventId = &v
  5560  	return s
  5561  }
  5562  
  5563  // SetStartedEventId sets the StartedEventId field's value.
  5564  func (s *ChildWorkflowExecutionCanceledEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionCanceledEventAttributes {
  5565  	s.StartedEventId = &v
  5566  	return s
  5567  }
  5568  
  5569  // SetWorkflowExecution sets the WorkflowExecution field's value.
  5570  func (s *ChildWorkflowExecutionCanceledEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionCanceledEventAttributes {
  5571  	s.WorkflowExecution = v
  5572  	return s
  5573  }
  5574  
  5575  // SetWorkflowType sets the WorkflowType field's value.
  5576  func (s *ChildWorkflowExecutionCanceledEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionCanceledEventAttributes {
  5577  	s.WorkflowType = v
  5578  	return s
  5579  }
  5580  
  5581  // Provides the details of the ChildWorkflowExecutionCompleted event.
  5582  type ChildWorkflowExecutionCompletedEventAttributes struct {
  5583  	_ struct{} `type:"structure"`
  5584  
  5585  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
  5586  	// the StartChildWorkflowExecution Decision to start this child workflow execution.
  5587  	// This information can be useful for diagnosing problems by tracing back the
  5588  	// chain of events leading up to this event.
  5589  	//
  5590  	// InitiatedEventId is a required field
  5591  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  5592  
  5593  	// The result of the child workflow execution.
  5594  	Result *string `locationName:"result" type:"string"`
  5595  
  5596  	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
  5597  	// workflow execution was started. This information can be useful for diagnosing
  5598  	// problems by tracing back the chain of events leading up to this event.
  5599  	//
  5600  	// StartedEventId is a required field
  5601  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  5602  
  5603  	// The child workflow execution that was completed.
  5604  	//
  5605  	// WorkflowExecution is a required field
  5606  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  5607  
  5608  	// The type of the child workflow execution.
  5609  	//
  5610  	// WorkflowType is a required field
  5611  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  5612  }
  5613  
  5614  // String returns the string representation.
  5615  //
  5616  // API parameter values that are decorated as "sensitive" in the API will not
  5617  // be included in the string output. The member name will be present, but the
  5618  // value will be replaced with "sensitive".
  5619  func (s ChildWorkflowExecutionCompletedEventAttributes) String() string {
  5620  	return awsutil.Prettify(s)
  5621  }
  5622  
  5623  // GoString returns the string representation.
  5624  //
  5625  // API parameter values that are decorated as "sensitive" in the API will not
  5626  // be included in the string output. The member name will be present, but the
  5627  // value will be replaced with "sensitive".
  5628  func (s ChildWorkflowExecutionCompletedEventAttributes) GoString() string {
  5629  	return s.String()
  5630  }
  5631  
  5632  // SetInitiatedEventId sets the InitiatedEventId field's value.
  5633  func (s *ChildWorkflowExecutionCompletedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionCompletedEventAttributes {
  5634  	s.InitiatedEventId = &v
  5635  	return s
  5636  }
  5637  
  5638  // SetResult sets the Result field's value.
  5639  func (s *ChildWorkflowExecutionCompletedEventAttributes) SetResult(v string) *ChildWorkflowExecutionCompletedEventAttributes {
  5640  	s.Result = &v
  5641  	return s
  5642  }
  5643  
  5644  // SetStartedEventId sets the StartedEventId field's value.
  5645  func (s *ChildWorkflowExecutionCompletedEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionCompletedEventAttributes {
  5646  	s.StartedEventId = &v
  5647  	return s
  5648  }
  5649  
  5650  // SetWorkflowExecution sets the WorkflowExecution field's value.
  5651  func (s *ChildWorkflowExecutionCompletedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionCompletedEventAttributes {
  5652  	s.WorkflowExecution = v
  5653  	return s
  5654  }
  5655  
  5656  // SetWorkflowType sets the WorkflowType field's value.
  5657  func (s *ChildWorkflowExecutionCompletedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionCompletedEventAttributes {
  5658  	s.WorkflowType = v
  5659  	return s
  5660  }
  5661  
  5662  // Provides the details of the ChildWorkflowExecutionFailed event.
  5663  type ChildWorkflowExecutionFailedEventAttributes struct {
  5664  	_ struct{} `type:"structure"`
  5665  
  5666  	// The details of the failure (if provided).
  5667  	Details *string `locationName:"details" type:"string"`
  5668  
  5669  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
  5670  	// the StartChildWorkflowExecution Decision to start this child workflow execution.
  5671  	// This information can be useful for diagnosing problems by tracing back the
  5672  	// chain of events leading up to this event.
  5673  	//
  5674  	// InitiatedEventId is a required field
  5675  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  5676  
  5677  	// The reason for the failure (if provided).
  5678  	Reason *string `locationName:"reason" type:"string"`
  5679  
  5680  	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
  5681  	// workflow execution was started. This information can be useful for diagnosing
  5682  	// problems by tracing back the chain of events leading up to this event.
  5683  	//
  5684  	// StartedEventId is a required field
  5685  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  5686  
  5687  	// The child workflow execution that failed.
  5688  	//
  5689  	// WorkflowExecution is a required field
  5690  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  5691  
  5692  	// The type of the child workflow execution.
  5693  	//
  5694  	// WorkflowType is a required field
  5695  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  5696  }
  5697  
  5698  // String returns the string representation.
  5699  //
  5700  // API parameter values that are decorated as "sensitive" in the API will not
  5701  // be included in the string output. The member name will be present, but the
  5702  // value will be replaced with "sensitive".
  5703  func (s ChildWorkflowExecutionFailedEventAttributes) String() string {
  5704  	return awsutil.Prettify(s)
  5705  }
  5706  
  5707  // GoString returns the string representation.
  5708  //
  5709  // API parameter values that are decorated as "sensitive" in the API will not
  5710  // be included in the string output. The member name will be present, but the
  5711  // value will be replaced with "sensitive".
  5712  func (s ChildWorkflowExecutionFailedEventAttributes) GoString() string {
  5713  	return s.String()
  5714  }
  5715  
  5716  // SetDetails sets the Details field's value.
  5717  func (s *ChildWorkflowExecutionFailedEventAttributes) SetDetails(v string) *ChildWorkflowExecutionFailedEventAttributes {
  5718  	s.Details = &v
  5719  	return s
  5720  }
  5721  
  5722  // SetInitiatedEventId sets the InitiatedEventId field's value.
  5723  func (s *ChildWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionFailedEventAttributes {
  5724  	s.InitiatedEventId = &v
  5725  	return s
  5726  }
  5727  
  5728  // SetReason sets the Reason field's value.
  5729  func (s *ChildWorkflowExecutionFailedEventAttributes) SetReason(v string) *ChildWorkflowExecutionFailedEventAttributes {
  5730  	s.Reason = &v
  5731  	return s
  5732  }
  5733  
  5734  // SetStartedEventId sets the StartedEventId field's value.
  5735  func (s *ChildWorkflowExecutionFailedEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionFailedEventAttributes {
  5736  	s.StartedEventId = &v
  5737  	return s
  5738  }
  5739  
  5740  // SetWorkflowExecution sets the WorkflowExecution field's value.
  5741  func (s *ChildWorkflowExecutionFailedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionFailedEventAttributes {
  5742  	s.WorkflowExecution = v
  5743  	return s
  5744  }
  5745  
  5746  // SetWorkflowType sets the WorkflowType field's value.
  5747  func (s *ChildWorkflowExecutionFailedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionFailedEventAttributes {
  5748  	s.WorkflowType = v
  5749  	return s
  5750  }
  5751  
  5752  // Provides the details of the ChildWorkflowExecutionStarted event.
  5753  type ChildWorkflowExecutionStartedEventAttributes struct {
  5754  	_ struct{} `type:"structure"`
  5755  
  5756  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
  5757  	// the StartChildWorkflowExecution Decision to start this child workflow execution.
  5758  	// This information can be useful for diagnosing problems by tracing back the
  5759  	// chain of events leading up to this event.
  5760  	//
  5761  	// InitiatedEventId is a required field
  5762  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  5763  
  5764  	// The child workflow execution that was started.
  5765  	//
  5766  	// WorkflowExecution is a required field
  5767  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  5768  
  5769  	// The type of the child workflow execution.
  5770  	//
  5771  	// WorkflowType is a required field
  5772  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  5773  }
  5774  
  5775  // String returns the string representation.
  5776  //
  5777  // API parameter values that are decorated as "sensitive" in the API will not
  5778  // be included in the string output. The member name will be present, but the
  5779  // value will be replaced with "sensitive".
  5780  func (s ChildWorkflowExecutionStartedEventAttributes) String() string {
  5781  	return awsutil.Prettify(s)
  5782  }
  5783  
  5784  // GoString returns the string representation.
  5785  //
  5786  // API parameter values that are decorated as "sensitive" in the API will not
  5787  // be included in the string output. The member name will be present, but the
  5788  // value will be replaced with "sensitive".
  5789  func (s ChildWorkflowExecutionStartedEventAttributes) GoString() string {
  5790  	return s.String()
  5791  }
  5792  
  5793  // SetInitiatedEventId sets the InitiatedEventId field's value.
  5794  func (s *ChildWorkflowExecutionStartedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionStartedEventAttributes {
  5795  	s.InitiatedEventId = &v
  5796  	return s
  5797  }
  5798  
  5799  // SetWorkflowExecution sets the WorkflowExecution field's value.
  5800  func (s *ChildWorkflowExecutionStartedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionStartedEventAttributes {
  5801  	s.WorkflowExecution = v
  5802  	return s
  5803  }
  5804  
  5805  // SetWorkflowType sets the WorkflowType field's value.
  5806  func (s *ChildWorkflowExecutionStartedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionStartedEventAttributes {
  5807  	s.WorkflowType = v
  5808  	return s
  5809  }
  5810  
  5811  // Provides the details of the ChildWorkflowExecutionTerminated event.
  5812  type ChildWorkflowExecutionTerminatedEventAttributes struct {
  5813  	_ struct{} `type:"structure"`
  5814  
  5815  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
  5816  	// the StartChildWorkflowExecution Decision to start this child workflow execution.
  5817  	// This information can be useful for diagnosing problems by tracing back the
  5818  	// chain of events leading up to this event.
  5819  	//
  5820  	// InitiatedEventId is a required field
  5821  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  5822  
  5823  	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
  5824  	// workflow execution was started. This information can be useful for diagnosing
  5825  	// problems by tracing back the chain of events leading up to this event.
  5826  	//
  5827  	// StartedEventId is a required field
  5828  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  5829  
  5830  	// The child workflow execution that was terminated.
  5831  	//
  5832  	// WorkflowExecution is a required field
  5833  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  5834  
  5835  	// The type of the child workflow execution.
  5836  	//
  5837  	// WorkflowType is a required field
  5838  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  5839  }
  5840  
  5841  // String returns the string representation.
  5842  //
  5843  // API parameter values that are decorated as "sensitive" in the API will not
  5844  // be included in the string output. The member name will be present, but the
  5845  // value will be replaced with "sensitive".
  5846  func (s ChildWorkflowExecutionTerminatedEventAttributes) String() string {
  5847  	return awsutil.Prettify(s)
  5848  }
  5849  
  5850  // GoString returns the string representation.
  5851  //
  5852  // API parameter values that are decorated as "sensitive" in the API will not
  5853  // be included in the string output. The member name will be present, but the
  5854  // value will be replaced with "sensitive".
  5855  func (s ChildWorkflowExecutionTerminatedEventAttributes) GoString() string {
  5856  	return s.String()
  5857  }
  5858  
  5859  // SetInitiatedEventId sets the InitiatedEventId field's value.
  5860  func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionTerminatedEventAttributes {
  5861  	s.InitiatedEventId = &v
  5862  	return s
  5863  }
  5864  
  5865  // SetStartedEventId sets the StartedEventId field's value.
  5866  func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionTerminatedEventAttributes {
  5867  	s.StartedEventId = &v
  5868  	return s
  5869  }
  5870  
  5871  // SetWorkflowExecution sets the WorkflowExecution field's value.
  5872  func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionTerminatedEventAttributes {
  5873  	s.WorkflowExecution = v
  5874  	return s
  5875  }
  5876  
  5877  // SetWorkflowType sets the WorkflowType field's value.
  5878  func (s *ChildWorkflowExecutionTerminatedEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionTerminatedEventAttributes {
  5879  	s.WorkflowType = v
  5880  	return s
  5881  }
  5882  
  5883  // Provides the details of the ChildWorkflowExecutionTimedOut event.
  5884  type ChildWorkflowExecutionTimedOutEventAttributes struct {
  5885  	_ struct{} `type:"structure"`
  5886  
  5887  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
  5888  	// the StartChildWorkflowExecution Decision to start this child workflow execution.
  5889  	// This information can be useful for diagnosing problems by tracing back the
  5890  	// chain of events leading up to this event.
  5891  	//
  5892  	// InitiatedEventId is a required field
  5893  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  5894  
  5895  	// The ID of the ChildWorkflowExecutionStarted event recorded when this child
  5896  	// workflow execution was started. This information can be useful for diagnosing
  5897  	// problems by tracing back the chain of events leading up to this event.
  5898  	//
  5899  	// StartedEventId is a required field
  5900  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  5901  
  5902  	// The type of the timeout that caused the child workflow execution to time
  5903  	// out.
  5904  	//
  5905  	// TimeoutType is a required field
  5906  	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"WorkflowExecutionTimeoutType"`
  5907  
  5908  	// The child workflow execution that timed out.
  5909  	//
  5910  	// WorkflowExecution is a required field
  5911  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  5912  
  5913  	// The type of the child workflow execution.
  5914  	//
  5915  	// WorkflowType is a required field
  5916  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  5917  }
  5918  
  5919  // String returns the string representation.
  5920  //
  5921  // API parameter values that are decorated as "sensitive" in the API will not
  5922  // be included in the string output. The member name will be present, but the
  5923  // value will be replaced with "sensitive".
  5924  func (s ChildWorkflowExecutionTimedOutEventAttributes) String() string {
  5925  	return awsutil.Prettify(s)
  5926  }
  5927  
  5928  // GoString returns the string representation.
  5929  //
  5930  // API parameter values that are decorated as "sensitive" in the API will not
  5931  // be included in the string output. The member name will be present, but the
  5932  // value will be replaced with "sensitive".
  5933  func (s ChildWorkflowExecutionTimedOutEventAttributes) GoString() string {
  5934  	return s.String()
  5935  }
  5936  
  5937  // SetInitiatedEventId sets the InitiatedEventId field's value.
  5938  func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetInitiatedEventId(v int64) *ChildWorkflowExecutionTimedOutEventAttributes {
  5939  	s.InitiatedEventId = &v
  5940  	return s
  5941  }
  5942  
  5943  // SetStartedEventId sets the StartedEventId field's value.
  5944  func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetStartedEventId(v int64) *ChildWorkflowExecutionTimedOutEventAttributes {
  5945  	s.StartedEventId = &v
  5946  	return s
  5947  }
  5948  
  5949  // SetTimeoutType sets the TimeoutType field's value.
  5950  func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetTimeoutType(v string) *ChildWorkflowExecutionTimedOutEventAttributes {
  5951  	s.TimeoutType = &v
  5952  	return s
  5953  }
  5954  
  5955  // SetWorkflowExecution sets the WorkflowExecution field's value.
  5956  func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ChildWorkflowExecutionTimedOutEventAttributes {
  5957  	s.WorkflowExecution = v
  5958  	return s
  5959  }
  5960  
  5961  // SetWorkflowType sets the WorkflowType field's value.
  5962  func (s *ChildWorkflowExecutionTimedOutEventAttributes) SetWorkflowType(v *WorkflowType) *ChildWorkflowExecutionTimedOutEventAttributes {
  5963  	s.WorkflowType = v
  5964  	return s
  5965  }
  5966  
  5967  // Used to filter the closed workflow executions in visibility APIs by their
  5968  // close status.
  5969  type CloseStatusFilter struct {
  5970  	_ struct{} `type:"structure"`
  5971  
  5972  	// The close status that must match the close status of an execution for it
  5973  	// to meet the criteria of this filter.
  5974  	//
  5975  	// Status is a required field
  5976  	Status *string `locationName:"status" type:"string" required:"true" enum:"CloseStatus"`
  5977  }
  5978  
  5979  // String returns the string representation.
  5980  //
  5981  // API parameter values that are decorated as "sensitive" in the API will not
  5982  // be included in the string output. The member name will be present, but the
  5983  // value will be replaced with "sensitive".
  5984  func (s CloseStatusFilter) String() string {
  5985  	return awsutil.Prettify(s)
  5986  }
  5987  
  5988  // GoString returns the string representation.
  5989  //
  5990  // API parameter values that are decorated as "sensitive" in the API will not
  5991  // be included in the string output. The member name will be present, but the
  5992  // value will be replaced with "sensitive".
  5993  func (s CloseStatusFilter) GoString() string {
  5994  	return s.String()
  5995  }
  5996  
  5997  // Validate inspects the fields of the type to determine if they are valid.
  5998  func (s *CloseStatusFilter) Validate() error {
  5999  	invalidParams := request.ErrInvalidParams{Context: "CloseStatusFilter"}
  6000  	if s.Status == nil {
  6001  		invalidParams.Add(request.NewErrParamRequired("Status"))
  6002  	}
  6003  
  6004  	if invalidParams.Len() > 0 {
  6005  		return invalidParams
  6006  	}
  6007  	return nil
  6008  }
  6009  
  6010  // SetStatus sets the Status field's value.
  6011  func (s *CloseStatusFilter) SetStatus(v string) *CloseStatusFilter {
  6012  	s.Status = &v
  6013  	return s
  6014  }
  6015  
  6016  // Provides the details of the CompleteWorkflowExecution decision.
  6017  //
  6018  // Access Control
  6019  //
  6020  // You can use IAM policies to control this decision's access to Amazon SWF
  6021  // resources as follows:
  6022  //
  6023  //    * Use a Resource element with the domain name to limit the action to only
  6024  //    specified domains.
  6025  //
  6026  //    * Use an Action element to allow or deny permission to call this action.
  6027  //
  6028  //    * You cannot use an IAM policy to constrain this action's parameters.
  6029  //
  6030  // If the caller doesn't have sufficient permissions to invoke the action, or
  6031  // the parameter values fall outside the specified constraints, the action fails.
  6032  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
  6033  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
  6034  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  6035  // in the Amazon SWF Developer Guide.
  6036  type CompleteWorkflowExecutionDecisionAttributes struct {
  6037  	_ struct{} `type:"structure"`
  6038  
  6039  	// The result of the workflow execution. The form of the result is implementation
  6040  	// defined.
  6041  	Result *string `locationName:"result" type:"string"`
  6042  }
  6043  
  6044  // String returns the string representation.
  6045  //
  6046  // API parameter values that are decorated as "sensitive" in the API will not
  6047  // be included in the string output. The member name will be present, but the
  6048  // value will be replaced with "sensitive".
  6049  func (s CompleteWorkflowExecutionDecisionAttributes) String() string {
  6050  	return awsutil.Prettify(s)
  6051  }
  6052  
  6053  // GoString returns the string representation.
  6054  //
  6055  // API parameter values that are decorated as "sensitive" in the API will not
  6056  // be included in the string output. The member name will be present, but the
  6057  // value will be replaced with "sensitive".
  6058  func (s CompleteWorkflowExecutionDecisionAttributes) GoString() string {
  6059  	return s.String()
  6060  }
  6061  
  6062  // SetResult sets the Result field's value.
  6063  func (s *CompleteWorkflowExecutionDecisionAttributes) SetResult(v string) *CompleteWorkflowExecutionDecisionAttributes {
  6064  	s.Result = &v
  6065  	return s
  6066  }
  6067  
  6068  // Provides the details of the CompleteWorkflowExecutionFailed event.
  6069  type CompleteWorkflowExecutionFailedEventAttributes struct {
  6070  	_ struct{} `type:"structure"`
  6071  
  6072  	// The cause of the failure. This information is generated by the system and
  6073  	// can be useful for diagnostic purposes.
  6074  	//
  6075  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
  6076  	// lacked sufficient permissions. For details and example IAM policies, see
  6077  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  6078  	// in the Amazon SWF Developer Guide.
  6079  	//
  6080  	// Cause is a required field
  6081  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"CompleteWorkflowExecutionFailedCause"`
  6082  
  6083  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
  6084  	// that resulted in the CompleteWorkflowExecution decision to complete this
  6085  	// execution. This information can be useful for diagnosing problems by tracing
  6086  	// back the chain of events leading up to this event.
  6087  	//
  6088  	// DecisionTaskCompletedEventId is a required field
  6089  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  6090  }
  6091  
  6092  // String returns the string representation.
  6093  //
  6094  // API parameter values that are decorated as "sensitive" in the API will not
  6095  // be included in the string output. The member name will be present, but the
  6096  // value will be replaced with "sensitive".
  6097  func (s CompleteWorkflowExecutionFailedEventAttributes) String() string {
  6098  	return awsutil.Prettify(s)
  6099  }
  6100  
  6101  // GoString returns the string representation.
  6102  //
  6103  // API parameter values that are decorated as "sensitive" in the API will not
  6104  // be included in the string output. The member name will be present, but the
  6105  // value will be replaced with "sensitive".
  6106  func (s CompleteWorkflowExecutionFailedEventAttributes) GoString() string {
  6107  	return s.String()
  6108  }
  6109  
  6110  // SetCause sets the Cause field's value.
  6111  func (s *CompleteWorkflowExecutionFailedEventAttributes) SetCause(v string) *CompleteWorkflowExecutionFailedEventAttributes {
  6112  	s.Cause = &v
  6113  	return s
  6114  }
  6115  
  6116  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  6117  func (s *CompleteWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *CompleteWorkflowExecutionFailedEventAttributes {
  6118  	s.DecisionTaskCompletedEventId = &v
  6119  	return s
  6120  }
  6121  
  6122  // Provides the details of the ContinueAsNewWorkflowExecution decision.
  6123  //
  6124  // Access Control
  6125  //
  6126  // You can use IAM policies to control this decision's access to Amazon SWF
  6127  // resources as follows:
  6128  //
  6129  //    * Use a Resource element with the domain name to limit the action to only
  6130  //    specified domains.
  6131  //
  6132  //    * Use an Action element to allow or deny permission to call this action.
  6133  //
  6134  //    * Constrain the following parameters by using a Condition element with
  6135  //    the appropriate keys. tag – A tag used to identify the workflow execution
  6136  //    taskList – String constraint. The key is swf:taskList.name. workflowType.version
  6137  //    – String constraint. The key is swf:workflowType.version.
  6138  //
  6139  // If the caller doesn't have sufficient permissions to invoke the action, or
  6140  // the parameter values fall outside the specified constraints, the action fails.
  6141  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
  6142  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
  6143  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  6144  // in the Amazon SWF Developer Guide.
  6145  type ContinueAsNewWorkflowExecutionDecisionAttributes struct {
  6146  	_ struct{} `type:"structure"`
  6147  
  6148  	// If set, specifies the policy to use for the child workflow executions of
  6149  	// the new execution if it is terminated by calling the TerminateWorkflowExecution
  6150  	// action explicitly or due to an expired timeout. This policy overrides the
  6151  	// default child policy specified when registering the workflow type using RegisterWorkflowType.
  6152  	//
  6153  	// The supported child policies are:
  6154  	//
  6155  	//    * TERMINATE – The child executions are terminated.
  6156  	//
  6157  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
  6158  	//    by recording a WorkflowExecutionCancelRequested event in its history.
  6159  	//    It is up to the decider to take appropriate actions when it receives an
  6160  	//    execution history with this event.
  6161  	//
  6162  	//    * ABANDON – No action is taken. The child executions continue to run.
  6163  	//
  6164  	// A child policy for this workflow execution must be specified either as a
  6165  	// default for the workflow type or through this parameter. If neither this
  6166  	// parameter is set nor a default child policy was specified at registration
  6167  	// time then a fault is returned.
  6168  	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
  6169  
  6170  	// If set, specifies the total duration for this workflow execution. This overrides
  6171  	// the defaultExecutionStartToCloseTimeout specified when registering the workflow
  6172  	// type.
  6173  	//
  6174  	// The duration is specified in seconds, an integer greater than or equal to
  6175  	// 0. You can use NONE to specify unlimited duration.
  6176  	//
  6177  	// An execution start-to-close timeout for this workflow execution must be specified
  6178  	// either as a default for the workflow type or through this field. If neither
  6179  	// this field is set nor a default execution start-to-close timeout was specified
  6180  	// at registration time then a fault is returned.
  6181  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
  6182  
  6183  	// The input provided to the new workflow execution.
  6184  	Input *string `locationName:"input" type:"string"`
  6185  
  6186  	// The IAM role to attach to the new (continued) execution.
  6187  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
  6188  
  6189  	// The list of tags to associate with the new workflow execution. A maximum
  6190  	// of 5 tags can be specified. You can list workflow executions with a specific
  6191  	// tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions
  6192  	// and specifying a TagFilter.
  6193  	TagList []*string `locationName:"tagList" type:"list"`
  6194  
  6195  	// The task list to use for the decisions of the new (continued) workflow execution.
  6196  	TaskList *TaskList `locationName:"taskList" type:"structure"`
  6197  
  6198  	// The task priority that, if set, specifies the priority for the decision tasks
  6199  	// for this workflow execution. This overrides the defaultTaskPriority specified
  6200  	// when registering the workflow type. Valid values are integers that range
  6201  	// from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
  6202  	// Higher numbers indicate higher priority.
  6203  	//
  6204  	// For more information about setting task priority, see Setting Task Priority
  6205  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
  6206  	// in the Amazon SWF Developer Guide.
  6207  	TaskPriority *string `locationName:"taskPriority" type:"string"`
  6208  
  6209  	// Specifies the maximum duration of decision tasks for the new workflow execution.
  6210  	// This parameter overrides the defaultTaskStartToCloseTimout specified when
  6211  	// registering the workflow type using RegisterWorkflowType.
  6212  	//
  6213  	// The duration is specified in seconds, an integer greater than or equal to
  6214  	// 0. You can use NONE to specify unlimited duration.
  6215  	//
  6216  	// A task start-to-close timeout for the new workflow execution must be specified
  6217  	// either as a default for the workflow type or through this parameter. If neither
  6218  	// this parameter is set nor a default task start-to-close timeout was specified
  6219  	// at registration time then a fault is returned.
  6220  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
  6221  
  6222  	// The version of the workflow to start.
  6223  	WorkflowTypeVersion *string `locationName:"workflowTypeVersion" min:"1" type:"string"`
  6224  }
  6225  
  6226  // String returns the string representation.
  6227  //
  6228  // API parameter values that are decorated as "sensitive" in the API will not
  6229  // be included in the string output. The member name will be present, but the
  6230  // value will be replaced with "sensitive".
  6231  func (s ContinueAsNewWorkflowExecutionDecisionAttributes) String() string {
  6232  	return awsutil.Prettify(s)
  6233  }
  6234  
  6235  // GoString returns the string representation.
  6236  //
  6237  // API parameter values that are decorated as "sensitive" in the API will not
  6238  // be included in the string output. The member name will be present, but the
  6239  // value will be replaced with "sensitive".
  6240  func (s ContinueAsNewWorkflowExecutionDecisionAttributes) GoString() string {
  6241  	return s.String()
  6242  }
  6243  
  6244  // Validate inspects the fields of the type to determine if they are valid.
  6245  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) Validate() error {
  6246  	invalidParams := request.ErrInvalidParams{Context: "ContinueAsNewWorkflowExecutionDecisionAttributes"}
  6247  	if s.LambdaRole != nil && len(*s.LambdaRole) < 1 {
  6248  		invalidParams.Add(request.NewErrParamMinLen("LambdaRole", 1))
  6249  	}
  6250  	if s.WorkflowTypeVersion != nil && len(*s.WorkflowTypeVersion) < 1 {
  6251  		invalidParams.Add(request.NewErrParamMinLen("WorkflowTypeVersion", 1))
  6252  	}
  6253  	if s.TaskList != nil {
  6254  		if err := s.TaskList.Validate(); err != nil {
  6255  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
  6256  		}
  6257  	}
  6258  
  6259  	if invalidParams.Len() > 0 {
  6260  		return invalidParams
  6261  	}
  6262  	return nil
  6263  }
  6264  
  6265  // SetChildPolicy sets the ChildPolicy field's value.
  6266  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetChildPolicy(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6267  	s.ChildPolicy = &v
  6268  	return s
  6269  }
  6270  
  6271  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
  6272  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetExecutionStartToCloseTimeout(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6273  	s.ExecutionStartToCloseTimeout = &v
  6274  	return s
  6275  }
  6276  
  6277  // SetInput sets the Input field's value.
  6278  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetInput(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6279  	s.Input = &v
  6280  	return s
  6281  }
  6282  
  6283  // SetLambdaRole sets the LambdaRole field's value.
  6284  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetLambdaRole(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6285  	s.LambdaRole = &v
  6286  	return s
  6287  }
  6288  
  6289  // SetTagList sets the TagList field's value.
  6290  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTagList(v []*string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6291  	s.TagList = v
  6292  	return s
  6293  }
  6294  
  6295  // SetTaskList sets the TaskList field's value.
  6296  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTaskList(v *TaskList) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6297  	s.TaskList = v
  6298  	return s
  6299  }
  6300  
  6301  // SetTaskPriority sets the TaskPriority field's value.
  6302  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTaskPriority(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6303  	s.TaskPriority = &v
  6304  	return s
  6305  }
  6306  
  6307  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
  6308  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetTaskStartToCloseTimeout(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6309  	s.TaskStartToCloseTimeout = &v
  6310  	return s
  6311  }
  6312  
  6313  // SetWorkflowTypeVersion sets the WorkflowTypeVersion field's value.
  6314  func (s *ContinueAsNewWorkflowExecutionDecisionAttributes) SetWorkflowTypeVersion(v string) *ContinueAsNewWorkflowExecutionDecisionAttributes {
  6315  	s.WorkflowTypeVersion = &v
  6316  	return s
  6317  }
  6318  
  6319  // Provides the details of the ContinueAsNewWorkflowExecutionFailed event.
  6320  type ContinueAsNewWorkflowExecutionFailedEventAttributes struct {
  6321  	_ struct{} `type:"structure"`
  6322  
  6323  	// The cause of the failure. This information is generated by the system and
  6324  	// can be useful for diagnostic purposes.
  6325  	//
  6326  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
  6327  	// lacked sufficient permissions. For details and example IAM policies, see
  6328  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  6329  	// in the Amazon SWF Developer Guide.
  6330  	//
  6331  	// Cause is a required field
  6332  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"ContinueAsNewWorkflowExecutionFailedCause"`
  6333  
  6334  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
  6335  	// that resulted in the ContinueAsNewWorkflowExecution decision that started
  6336  	// this execution. This information can be useful for diagnosing problems by
  6337  	// tracing back the chain of events leading up to this event.
  6338  	//
  6339  	// DecisionTaskCompletedEventId is a required field
  6340  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  6341  }
  6342  
  6343  // String returns the string representation.
  6344  //
  6345  // API parameter values that are decorated as "sensitive" in the API will not
  6346  // be included in the string output. The member name will be present, but the
  6347  // value will be replaced with "sensitive".
  6348  func (s ContinueAsNewWorkflowExecutionFailedEventAttributes) String() string {
  6349  	return awsutil.Prettify(s)
  6350  }
  6351  
  6352  // GoString returns the string representation.
  6353  //
  6354  // API parameter values that are decorated as "sensitive" in the API will not
  6355  // be included in the string output. The member name will be present, but the
  6356  // value will be replaced with "sensitive".
  6357  func (s ContinueAsNewWorkflowExecutionFailedEventAttributes) GoString() string {
  6358  	return s.String()
  6359  }
  6360  
  6361  // SetCause sets the Cause field's value.
  6362  func (s *ContinueAsNewWorkflowExecutionFailedEventAttributes) SetCause(v string) *ContinueAsNewWorkflowExecutionFailedEventAttributes {
  6363  	s.Cause = &v
  6364  	return s
  6365  }
  6366  
  6367  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  6368  func (s *ContinueAsNewWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ContinueAsNewWorkflowExecutionFailedEventAttributes {
  6369  	s.DecisionTaskCompletedEventId = &v
  6370  	return s
  6371  }
  6372  
  6373  type CountClosedWorkflowExecutionsInput struct {
  6374  	_ struct{} `type:"structure"`
  6375  
  6376  	// If specified, only workflow executions that match this close status are counted.
  6377  	// This filter has an affect only if executionStatus is specified as CLOSED.
  6378  	//
  6379  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
  6380  	// exclusive. You can specify at most one of these in a request.
  6381  	CloseStatusFilter *CloseStatusFilter `locationName:"closeStatusFilter" type:"structure"`
  6382  
  6383  	// If specified, only workflow executions that meet the close time criteria
  6384  	// of the filter are counted.
  6385  	//
  6386  	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
  6387  	// one of these in a request but not both.
  6388  	CloseTimeFilter *ExecutionTimeFilter `locationName:"closeTimeFilter" type:"structure"`
  6389  
  6390  	// The name of the domain containing the workflow executions to count.
  6391  	//
  6392  	// Domain is a required field
  6393  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  6394  
  6395  	// If specified, only workflow executions matching the WorkflowId in the filter
  6396  	// are counted.
  6397  	//
  6398  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
  6399  	// exclusive. You can specify at most one of these in a request.
  6400  	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
  6401  
  6402  	// If specified, only workflow executions that meet the start time criteria
  6403  	// of the filter are counted.
  6404  	//
  6405  	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
  6406  	// one of these in a request but not both.
  6407  	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure"`
  6408  
  6409  	// If specified, only executions that have a tag that matches the filter are
  6410  	// counted.
  6411  	//
  6412  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
  6413  	// exclusive. You can specify at most one of these in a request.
  6414  	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
  6415  
  6416  	// If specified, indicates the type of the workflow executions to be counted.
  6417  	//
  6418  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
  6419  	// exclusive. You can specify at most one of these in a request.
  6420  	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
  6421  }
  6422  
  6423  // String returns the string representation.
  6424  //
  6425  // API parameter values that are decorated as "sensitive" in the API will not
  6426  // be included in the string output. The member name will be present, but the
  6427  // value will be replaced with "sensitive".
  6428  func (s CountClosedWorkflowExecutionsInput) String() string {
  6429  	return awsutil.Prettify(s)
  6430  }
  6431  
  6432  // GoString returns the string representation.
  6433  //
  6434  // API parameter values that are decorated as "sensitive" in the API will not
  6435  // be included in the string output. The member name will be present, but the
  6436  // value will be replaced with "sensitive".
  6437  func (s CountClosedWorkflowExecutionsInput) GoString() string {
  6438  	return s.String()
  6439  }
  6440  
  6441  // Validate inspects the fields of the type to determine if they are valid.
  6442  func (s *CountClosedWorkflowExecutionsInput) Validate() error {
  6443  	invalidParams := request.ErrInvalidParams{Context: "CountClosedWorkflowExecutionsInput"}
  6444  	if s.Domain == nil {
  6445  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6446  	}
  6447  	if s.Domain != nil && len(*s.Domain) < 1 {
  6448  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  6449  	}
  6450  	if s.CloseStatusFilter != nil {
  6451  		if err := s.CloseStatusFilter.Validate(); err != nil {
  6452  			invalidParams.AddNested("CloseStatusFilter", err.(request.ErrInvalidParams))
  6453  		}
  6454  	}
  6455  	if s.CloseTimeFilter != nil {
  6456  		if err := s.CloseTimeFilter.Validate(); err != nil {
  6457  			invalidParams.AddNested("CloseTimeFilter", err.(request.ErrInvalidParams))
  6458  		}
  6459  	}
  6460  	if s.ExecutionFilter != nil {
  6461  		if err := s.ExecutionFilter.Validate(); err != nil {
  6462  			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
  6463  		}
  6464  	}
  6465  	if s.StartTimeFilter != nil {
  6466  		if err := s.StartTimeFilter.Validate(); err != nil {
  6467  			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
  6468  		}
  6469  	}
  6470  	if s.TagFilter != nil {
  6471  		if err := s.TagFilter.Validate(); err != nil {
  6472  			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
  6473  		}
  6474  	}
  6475  	if s.TypeFilter != nil {
  6476  		if err := s.TypeFilter.Validate(); err != nil {
  6477  			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
  6478  		}
  6479  	}
  6480  
  6481  	if invalidParams.Len() > 0 {
  6482  		return invalidParams
  6483  	}
  6484  	return nil
  6485  }
  6486  
  6487  // SetCloseStatusFilter sets the CloseStatusFilter field's value.
  6488  func (s *CountClosedWorkflowExecutionsInput) SetCloseStatusFilter(v *CloseStatusFilter) *CountClosedWorkflowExecutionsInput {
  6489  	s.CloseStatusFilter = v
  6490  	return s
  6491  }
  6492  
  6493  // SetCloseTimeFilter sets the CloseTimeFilter field's value.
  6494  func (s *CountClosedWorkflowExecutionsInput) SetCloseTimeFilter(v *ExecutionTimeFilter) *CountClosedWorkflowExecutionsInput {
  6495  	s.CloseTimeFilter = v
  6496  	return s
  6497  }
  6498  
  6499  // SetDomain sets the Domain field's value.
  6500  func (s *CountClosedWorkflowExecutionsInput) SetDomain(v string) *CountClosedWorkflowExecutionsInput {
  6501  	s.Domain = &v
  6502  	return s
  6503  }
  6504  
  6505  // SetExecutionFilter sets the ExecutionFilter field's value.
  6506  func (s *CountClosedWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *CountClosedWorkflowExecutionsInput {
  6507  	s.ExecutionFilter = v
  6508  	return s
  6509  }
  6510  
  6511  // SetStartTimeFilter sets the StartTimeFilter field's value.
  6512  func (s *CountClosedWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *CountClosedWorkflowExecutionsInput {
  6513  	s.StartTimeFilter = v
  6514  	return s
  6515  }
  6516  
  6517  // SetTagFilter sets the TagFilter field's value.
  6518  func (s *CountClosedWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *CountClosedWorkflowExecutionsInput {
  6519  	s.TagFilter = v
  6520  	return s
  6521  }
  6522  
  6523  // SetTypeFilter sets the TypeFilter field's value.
  6524  func (s *CountClosedWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *CountClosedWorkflowExecutionsInput {
  6525  	s.TypeFilter = v
  6526  	return s
  6527  }
  6528  
  6529  type CountOpenWorkflowExecutionsInput struct {
  6530  	_ struct{} `type:"structure"`
  6531  
  6532  	// The name of the domain containing the workflow executions to count.
  6533  	//
  6534  	// Domain is a required field
  6535  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  6536  
  6537  	// If specified, only workflow executions matching the WorkflowId in the filter
  6538  	// are counted.
  6539  	//
  6540  	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
  6541  	// specify at most one of these in a request.
  6542  	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
  6543  
  6544  	// Specifies the start time criteria that workflow executions must meet in order
  6545  	// to be counted.
  6546  	//
  6547  	// StartTimeFilter is a required field
  6548  	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure" required:"true"`
  6549  
  6550  	// If specified, only executions that have a tag that matches the filter are
  6551  	// counted.
  6552  	//
  6553  	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
  6554  	// specify at most one of these in a request.
  6555  	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
  6556  
  6557  	// Specifies the type of the workflow executions to be counted.
  6558  	//
  6559  	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
  6560  	// specify at most one of these in a request.
  6561  	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
  6562  }
  6563  
  6564  // String returns the string representation.
  6565  //
  6566  // API parameter values that are decorated as "sensitive" in the API will not
  6567  // be included in the string output. The member name will be present, but the
  6568  // value will be replaced with "sensitive".
  6569  func (s CountOpenWorkflowExecutionsInput) String() string {
  6570  	return awsutil.Prettify(s)
  6571  }
  6572  
  6573  // GoString returns the string representation.
  6574  //
  6575  // API parameter values that are decorated as "sensitive" in the API will not
  6576  // be included in the string output. The member name will be present, but the
  6577  // value will be replaced with "sensitive".
  6578  func (s CountOpenWorkflowExecutionsInput) GoString() string {
  6579  	return s.String()
  6580  }
  6581  
  6582  // Validate inspects the fields of the type to determine if they are valid.
  6583  func (s *CountOpenWorkflowExecutionsInput) Validate() error {
  6584  	invalidParams := request.ErrInvalidParams{Context: "CountOpenWorkflowExecutionsInput"}
  6585  	if s.Domain == nil {
  6586  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6587  	}
  6588  	if s.Domain != nil && len(*s.Domain) < 1 {
  6589  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  6590  	}
  6591  	if s.StartTimeFilter == nil {
  6592  		invalidParams.Add(request.NewErrParamRequired("StartTimeFilter"))
  6593  	}
  6594  	if s.ExecutionFilter != nil {
  6595  		if err := s.ExecutionFilter.Validate(); err != nil {
  6596  			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
  6597  		}
  6598  	}
  6599  	if s.StartTimeFilter != nil {
  6600  		if err := s.StartTimeFilter.Validate(); err != nil {
  6601  			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
  6602  		}
  6603  	}
  6604  	if s.TagFilter != nil {
  6605  		if err := s.TagFilter.Validate(); err != nil {
  6606  			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
  6607  		}
  6608  	}
  6609  	if s.TypeFilter != nil {
  6610  		if err := s.TypeFilter.Validate(); err != nil {
  6611  			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
  6612  		}
  6613  	}
  6614  
  6615  	if invalidParams.Len() > 0 {
  6616  		return invalidParams
  6617  	}
  6618  	return nil
  6619  }
  6620  
  6621  // SetDomain sets the Domain field's value.
  6622  func (s *CountOpenWorkflowExecutionsInput) SetDomain(v string) *CountOpenWorkflowExecutionsInput {
  6623  	s.Domain = &v
  6624  	return s
  6625  }
  6626  
  6627  // SetExecutionFilter sets the ExecutionFilter field's value.
  6628  func (s *CountOpenWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *CountOpenWorkflowExecutionsInput {
  6629  	s.ExecutionFilter = v
  6630  	return s
  6631  }
  6632  
  6633  // SetStartTimeFilter sets the StartTimeFilter field's value.
  6634  func (s *CountOpenWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *CountOpenWorkflowExecutionsInput {
  6635  	s.StartTimeFilter = v
  6636  	return s
  6637  }
  6638  
  6639  // SetTagFilter sets the TagFilter field's value.
  6640  func (s *CountOpenWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *CountOpenWorkflowExecutionsInput {
  6641  	s.TagFilter = v
  6642  	return s
  6643  }
  6644  
  6645  // SetTypeFilter sets the TypeFilter field's value.
  6646  func (s *CountOpenWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *CountOpenWorkflowExecutionsInput {
  6647  	s.TypeFilter = v
  6648  	return s
  6649  }
  6650  
  6651  type CountPendingActivityTasksInput struct {
  6652  	_ struct{} `type:"structure"`
  6653  
  6654  	// The name of the domain that contains the task list.
  6655  	//
  6656  	// Domain is a required field
  6657  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  6658  
  6659  	// The name of the task list.
  6660  	//
  6661  	// TaskList is a required field
  6662  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
  6663  }
  6664  
  6665  // String returns the string representation.
  6666  //
  6667  // API parameter values that are decorated as "sensitive" in the API will not
  6668  // be included in the string output. The member name will be present, but the
  6669  // value will be replaced with "sensitive".
  6670  func (s CountPendingActivityTasksInput) String() string {
  6671  	return awsutil.Prettify(s)
  6672  }
  6673  
  6674  // GoString returns the string representation.
  6675  //
  6676  // API parameter values that are decorated as "sensitive" in the API will not
  6677  // be included in the string output. The member name will be present, but the
  6678  // value will be replaced with "sensitive".
  6679  func (s CountPendingActivityTasksInput) GoString() string {
  6680  	return s.String()
  6681  }
  6682  
  6683  // Validate inspects the fields of the type to determine if they are valid.
  6684  func (s *CountPendingActivityTasksInput) Validate() error {
  6685  	invalidParams := request.ErrInvalidParams{Context: "CountPendingActivityTasksInput"}
  6686  	if s.Domain == nil {
  6687  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6688  	}
  6689  	if s.Domain != nil && len(*s.Domain) < 1 {
  6690  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  6691  	}
  6692  	if s.TaskList == nil {
  6693  		invalidParams.Add(request.NewErrParamRequired("TaskList"))
  6694  	}
  6695  	if s.TaskList != nil {
  6696  		if err := s.TaskList.Validate(); err != nil {
  6697  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
  6698  		}
  6699  	}
  6700  
  6701  	if invalidParams.Len() > 0 {
  6702  		return invalidParams
  6703  	}
  6704  	return nil
  6705  }
  6706  
  6707  // SetDomain sets the Domain field's value.
  6708  func (s *CountPendingActivityTasksInput) SetDomain(v string) *CountPendingActivityTasksInput {
  6709  	s.Domain = &v
  6710  	return s
  6711  }
  6712  
  6713  // SetTaskList sets the TaskList field's value.
  6714  func (s *CountPendingActivityTasksInput) SetTaskList(v *TaskList) *CountPendingActivityTasksInput {
  6715  	s.TaskList = v
  6716  	return s
  6717  }
  6718  
  6719  type CountPendingDecisionTasksInput struct {
  6720  	_ struct{} `type:"structure"`
  6721  
  6722  	// The name of the domain that contains the task list.
  6723  	//
  6724  	// Domain is a required field
  6725  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  6726  
  6727  	// The name of the task list.
  6728  	//
  6729  	// TaskList is a required field
  6730  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
  6731  }
  6732  
  6733  // String returns the string representation.
  6734  //
  6735  // API parameter values that are decorated as "sensitive" in the API will not
  6736  // be included in the string output. The member name will be present, but the
  6737  // value will be replaced with "sensitive".
  6738  func (s CountPendingDecisionTasksInput) String() string {
  6739  	return awsutil.Prettify(s)
  6740  }
  6741  
  6742  // GoString returns the string representation.
  6743  //
  6744  // API parameter values that are decorated as "sensitive" in the API will not
  6745  // be included in the string output. The member name will be present, but the
  6746  // value will be replaced with "sensitive".
  6747  func (s CountPendingDecisionTasksInput) GoString() string {
  6748  	return s.String()
  6749  }
  6750  
  6751  // Validate inspects the fields of the type to determine if they are valid.
  6752  func (s *CountPendingDecisionTasksInput) Validate() error {
  6753  	invalidParams := request.ErrInvalidParams{Context: "CountPendingDecisionTasksInput"}
  6754  	if s.Domain == nil {
  6755  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  6756  	}
  6757  	if s.Domain != nil && len(*s.Domain) < 1 {
  6758  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  6759  	}
  6760  	if s.TaskList == nil {
  6761  		invalidParams.Add(request.NewErrParamRequired("TaskList"))
  6762  	}
  6763  	if s.TaskList != nil {
  6764  		if err := s.TaskList.Validate(); err != nil {
  6765  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
  6766  		}
  6767  	}
  6768  
  6769  	if invalidParams.Len() > 0 {
  6770  		return invalidParams
  6771  	}
  6772  	return nil
  6773  }
  6774  
  6775  // SetDomain sets the Domain field's value.
  6776  func (s *CountPendingDecisionTasksInput) SetDomain(v string) *CountPendingDecisionTasksInput {
  6777  	s.Domain = &v
  6778  	return s
  6779  }
  6780  
  6781  // SetTaskList sets the TaskList field's value.
  6782  func (s *CountPendingDecisionTasksInput) SetTaskList(v *TaskList) *CountPendingDecisionTasksInput {
  6783  	s.TaskList = v
  6784  	return s
  6785  }
  6786  
  6787  // Specifies a decision made by the decider. A decision can be one of these
  6788  // types:
  6789  //
  6790  //    * CancelTimer – Cancels a previously started timer and records a TimerCanceled
  6791  //    event in the history.
  6792  //
  6793  //    * CancelWorkflowExecution – Closes the workflow execution and records
  6794  //    a WorkflowExecutionCanceled event in the history.
  6795  //
  6796  //    * CompleteWorkflowExecution – Closes the workflow execution and records
  6797  //    a WorkflowExecutionCompleted event in the history .
  6798  //
  6799  //    * ContinueAsNewWorkflowExecution – Closes the workflow execution and
  6800  //    starts a new workflow execution of the same type using the same workflow
  6801  //    ID and a unique run Id. A WorkflowExecutionContinuedAsNew event is recorded
  6802  //    in the history.
  6803  //
  6804  //    * FailWorkflowExecution – Closes the workflow execution and records
  6805  //    a WorkflowExecutionFailed event in the history.
  6806  //
  6807  //    * RecordMarker – Records a MarkerRecorded event in the history. Markers
  6808  //    can be used for adding custom information in the history for instance
  6809  //    to let deciders know that they don't need to look at the history beyond
  6810  //    the marker event.
  6811  //
  6812  //    * RequestCancelActivityTask – Attempts to cancel a previously scheduled
  6813  //    activity task. If the activity task was scheduled but has not been assigned
  6814  //    to a worker, then it is canceled. If the activity task was already assigned
  6815  //    to a worker, then the worker is informed that cancellation has been requested
  6816  //    in the response to RecordActivityTaskHeartbeat.
  6817  //
  6818  //    * RequestCancelExternalWorkflowExecution – Requests that a request be
  6819  //    made to cancel the specified external workflow execution and records a
  6820  //    RequestCancelExternalWorkflowExecutionInitiated event in the history.
  6821  //
  6822  //    * ScheduleActivityTask – Schedules an activity task.
  6823  //
  6824  //    * SignalExternalWorkflowExecution – Requests a signal to be delivered
  6825  //    to the specified external workflow execution and records a SignalExternalWorkflowExecutionInitiated
  6826  //    event in the history.
  6827  //
  6828  //    * StartChildWorkflowExecution – Requests that a child workflow execution
  6829  //    be started and records a StartChildWorkflowExecutionInitiated event in
  6830  //    the history. The child workflow execution is a separate workflow execution
  6831  //    with its own history.
  6832  //
  6833  //    * StartTimer – Starts a timer for this workflow execution and records
  6834  //    a TimerStarted event in the history. This timer fires after the specified
  6835  //    delay and record a TimerFired event.
  6836  //
  6837  // Access Control
  6838  //
  6839  // If you grant permission to use RespondDecisionTaskCompleted, you can use
  6840  // IAM policies to express permissions for the list of decisions returned by
  6841  // this action as if they were members of the API. Treating decisions as a pseudo
  6842  // API maintains a uniform conceptual model and helps keep policies readable.
  6843  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
  6844  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  6845  // in the Amazon SWF Developer Guide.
  6846  //
  6847  // Decision Failure
  6848  //
  6849  // Decisions can fail for several reasons
  6850  //
  6851  //    * The ordering of decisions should follow a logical flow. Some decisions
  6852  //    might not make sense in the current context of the workflow execution
  6853  //    and therefore fails.
  6854  //
  6855  //    * A limit on your account was reached.
  6856  //
  6857  //    * The decision lacks sufficient permissions.
  6858  //
  6859  // One of the following events might be added to the history to indicate an
  6860  // error. The event attribute's cause parameter indicates the cause. If cause
  6861  // is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked
  6862  // sufficient permissions. For details and example IAM policies, see Using IAM
  6863  // to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  6864  // in the Amazon SWF Developer Guide.
  6865  //
  6866  //    * ScheduleActivityTaskFailed – A ScheduleActivityTask decision failed.
  6867  //    This could happen if the activity type specified in the decision isn't
  6868  //    registered, is in a deprecated state, or the decision isn't properly configured.
  6869  //
  6870  //    * RequestCancelActivityTaskFailed – A RequestCancelActivityTask decision
  6871  //    failed. This could happen if there is no open activity task with the specified
  6872  //    activityId.
  6873  //
  6874  //    * StartTimerFailed – A StartTimer decision failed. This could happen
  6875  //    if there is another open timer with the same timerId.
  6876  //
  6877  //    * CancelTimerFailed – A CancelTimer decision failed. This could happen
  6878  //    if there is no open timer with the specified timerId.
  6879  //
  6880  //    * StartChildWorkflowExecutionFailed – A StartChildWorkflowExecution
  6881  //    decision failed. This could happen if the workflow type specified isn't
  6882  //    registered, is deprecated, or the decision isn't properly configured.
  6883  //
  6884  //    * SignalExternalWorkflowExecutionFailed – A SignalExternalWorkflowExecution
  6885  //    decision failed. This could happen if the workflowID specified in the
  6886  //    decision was incorrect.
  6887  //
  6888  //    * RequestCancelExternalWorkflowExecutionFailed – A RequestCancelExternalWorkflowExecution
  6889  //    decision failed. This could happen if the workflowID specified in the
  6890  //    decision was incorrect.
  6891  //
  6892  //    * CancelWorkflowExecutionFailed – A CancelWorkflowExecution decision
  6893  //    failed. This could happen if there is an unhandled decision task pending
  6894  //    in the workflow execution.
  6895  //
  6896  //    * CompleteWorkflowExecutionFailed – A CompleteWorkflowExecution decision
  6897  //    failed. This could happen if there is an unhandled decision task pending
  6898  //    in the workflow execution.
  6899  //
  6900  //    * ContinueAsNewWorkflowExecutionFailed – A ContinueAsNewWorkflowExecution
  6901  //    decision failed. This could happen if there is an unhandled decision task
  6902  //    pending in the workflow execution or the ContinueAsNewWorkflowExecution
  6903  //    decision was not configured correctly.
  6904  //
  6905  //    * FailWorkflowExecutionFailed – A FailWorkflowExecution decision failed.
  6906  //    This could happen if there is an unhandled decision task pending in the
  6907  //    workflow execution.
  6908  //
  6909  // The preceding error events might occur due to an error in the decider logic,
  6910  // which might put the workflow execution in an unstable state The cause field
  6911  // in the event structure for the error event indicates the cause of the error.
  6912  //
  6913  // A workflow execution may be closed by the decider by returning one of the
  6914  // following decisions when completing a decision task: CompleteWorkflowExecution,
  6915  // FailWorkflowExecution, CancelWorkflowExecution and ContinueAsNewWorkflowExecution.
  6916  // An UnhandledDecision fault is returned if a workflow closing decision is
  6917  // specified and a signal or activity event had been added to the history while
  6918  // the decision task was being performed by the decider. Unlike the above situations
  6919  // which are logic issues, this fault is always possible because of race conditions
  6920  // in a distributed system. The right action here is to call RespondDecisionTaskCompleted
  6921  // without any decisions. This would result in another decision task with these
  6922  // new events included in the history. The decider should handle the new events
  6923  // and may decide to close the workflow execution.
  6924  //
  6925  // How to Code a Decision
  6926  //
  6927  // You code a decision by first setting the decision type field to one of the
  6928  // above decision values, and then set the corresponding attributes field shown
  6929  // below:
  6930  //
  6931  //    * ScheduleActivityTaskDecisionAttributes
  6932  //
  6933  //    * RequestCancelActivityTaskDecisionAttributes
  6934  //
  6935  //    * CompleteWorkflowExecutionDecisionAttributes
  6936  //
  6937  //    * FailWorkflowExecutionDecisionAttributes
  6938  //
  6939  //    * CancelWorkflowExecutionDecisionAttributes
  6940  //
  6941  //    * ContinueAsNewWorkflowExecutionDecisionAttributes
  6942  //
  6943  //    * RecordMarkerDecisionAttributes
  6944  //
  6945  //    * StartTimerDecisionAttributes
  6946  //
  6947  //    * CancelTimerDecisionAttributes
  6948  //
  6949  //    * SignalExternalWorkflowExecutionDecisionAttributes
  6950  //
  6951  //    * RequestCancelExternalWorkflowExecutionDecisionAttributes
  6952  //
  6953  //    * StartChildWorkflowExecutionDecisionAttributes
  6954  type Decision struct {
  6955  	_ struct{} `type:"structure"`
  6956  
  6957  	// Provides the details of the CancelTimer decision. It isn't set for other
  6958  	// decision types.
  6959  	CancelTimerDecisionAttributes *CancelTimerDecisionAttributes `locationName:"cancelTimerDecisionAttributes" type:"structure"`
  6960  
  6961  	// Provides the details of the CancelWorkflowExecution decision. It isn't set
  6962  	// for other decision types.
  6963  	CancelWorkflowExecutionDecisionAttributes *CancelWorkflowExecutionDecisionAttributes `locationName:"cancelWorkflowExecutionDecisionAttributes" type:"structure"`
  6964  
  6965  	// Provides the details of the CompleteWorkflowExecution decision. It isn't
  6966  	// set for other decision types.
  6967  	CompleteWorkflowExecutionDecisionAttributes *CompleteWorkflowExecutionDecisionAttributes `locationName:"completeWorkflowExecutionDecisionAttributes" type:"structure"`
  6968  
  6969  	// Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't
  6970  	// set for other decision types.
  6971  	ContinueAsNewWorkflowExecutionDecisionAttributes *ContinueAsNewWorkflowExecutionDecisionAttributes `locationName:"continueAsNewWorkflowExecutionDecisionAttributes" type:"structure"`
  6972  
  6973  	// Specifies the type of the decision.
  6974  	//
  6975  	// DecisionType is a required field
  6976  	DecisionType *string `locationName:"decisionType" type:"string" required:"true" enum:"DecisionType"`
  6977  
  6978  	// Provides the details of the FailWorkflowExecution decision. It isn't set
  6979  	// for other decision types.
  6980  	FailWorkflowExecutionDecisionAttributes *FailWorkflowExecutionDecisionAttributes `locationName:"failWorkflowExecutionDecisionAttributes" type:"structure"`
  6981  
  6982  	// Provides the details of the RecordMarker decision. It isn't set for other
  6983  	// decision types.
  6984  	RecordMarkerDecisionAttributes *RecordMarkerDecisionAttributes `locationName:"recordMarkerDecisionAttributes" type:"structure"`
  6985  
  6986  	// Provides the details of the RequestCancelActivityTask decision. It isn't
  6987  	// set for other decision types.
  6988  	RequestCancelActivityTaskDecisionAttributes *RequestCancelActivityTaskDecisionAttributes `locationName:"requestCancelActivityTaskDecisionAttributes" type:"structure"`
  6989  
  6990  	// Provides the details of the RequestCancelExternalWorkflowExecution decision.
  6991  	// It isn't set for other decision types.
  6992  	RequestCancelExternalWorkflowExecutionDecisionAttributes *RequestCancelExternalWorkflowExecutionDecisionAttributes `locationName:"requestCancelExternalWorkflowExecutionDecisionAttributes" type:"structure"`
  6993  
  6994  	// Provides the details of the ScheduleActivityTask decision. It isn't set for
  6995  	// other decision types.
  6996  	ScheduleActivityTaskDecisionAttributes *ScheduleActivityTaskDecisionAttributes `locationName:"scheduleActivityTaskDecisionAttributes" type:"structure"`
  6997  
  6998  	// Provides the details of the ScheduleLambdaFunction decision. It isn't set
  6999  	// for other decision types.
  7000  	ScheduleLambdaFunctionDecisionAttributes *ScheduleLambdaFunctionDecisionAttributes `locationName:"scheduleLambdaFunctionDecisionAttributes" type:"structure"`
  7001  
  7002  	// Provides the details of the SignalExternalWorkflowExecution decision. It
  7003  	// isn't set for other decision types.
  7004  	SignalExternalWorkflowExecutionDecisionAttributes *SignalExternalWorkflowExecutionDecisionAttributes `locationName:"signalExternalWorkflowExecutionDecisionAttributes" type:"structure"`
  7005  
  7006  	// Provides the details of the StartChildWorkflowExecution decision. It isn't
  7007  	// set for other decision types.
  7008  	StartChildWorkflowExecutionDecisionAttributes *StartChildWorkflowExecutionDecisionAttributes `locationName:"startChildWorkflowExecutionDecisionAttributes" type:"structure"`
  7009  
  7010  	// Provides the details of the StartTimer decision. It isn't set for other decision
  7011  	// types.
  7012  	StartTimerDecisionAttributes *StartTimerDecisionAttributes `locationName:"startTimerDecisionAttributes" type:"structure"`
  7013  }
  7014  
  7015  // String returns the string representation.
  7016  //
  7017  // API parameter values that are decorated as "sensitive" in the API will not
  7018  // be included in the string output. The member name will be present, but the
  7019  // value will be replaced with "sensitive".
  7020  func (s Decision) String() string {
  7021  	return awsutil.Prettify(s)
  7022  }
  7023  
  7024  // GoString returns the string representation.
  7025  //
  7026  // API parameter values that are decorated as "sensitive" in the API will not
  7027  // be included in the string output. The member name will be present, but the
  7028  // value will be replaced with "sensitive".
  7029  func (s Decision) GoString() string {
  7030  	return s.String()
  7031  }
  7032  
  7033  // Validate inspects the fields of the type to determine if they are valid.
  7034  func (s *Decision) Validate() error {
  7035  	invalidParams := request.ErrInvalidParams{Context: "Decision"}
  7036  	if s.DecisionType == nil {
  7037  		invalidParams.Add(request.NewErrParamRequired("DecisionType"))
  7038  	}
  7039  	if s.CancelTimerDecisionAttributes != nil {
  7040  		if err := s.CancelTimerDecisionAttributes.Validate(); err != nil {
  7041  			invalidParams.AddNested("CancelTimerDecisionAttributes", err.(request.ErrInvalidParams))
  7042  		}
  7043  	}
  7044  	if s.ContinueAsNewWorkflowExecutionDecisionAttributes != nil {
  7045  		if err := s.ContinueAsNewWorkflowExecutionDecisionAttributes.Validate(); err != nil {
  7046  			invalidParams.AddNested("ContinueAsNewWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
  7047  		}
  7048  	}
  7049  	if s.RecordMarkerDecisionAttributes != nil {
  7050  		if err := s.RecordMarkerDecisionAttributes.Validate(); err != nil {
  7051  			invalidParams.AddNested("RecordMarkerDecisionAttributes", err.(request.ErrInvalidParams))
  7052  		}
  7053  	}
  7054  	if s.RequestCancelActivityTaskDecisionAttributes != nil {
  7055  		if err := s.RequestCancelActivityTaskDecisionAttributes.Validate(); err != nil {
  7056  			invalidParams.AddNested("RequestCancelActivityTaskDecisionAttributes", err.(request.ErrInvalidParams))
  7057  		}
  7058  	}
  7059  	if s.RequestCancelExternalWorkflowExecutionDecisionAttributes != nil {
  7060  		if err := s.RequestCancelExternalWorkflowExecutionDecisionAttributes.Validate(); err != nil {
  7061  			invalidParams.AddNested("RequestCancelExternalWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
  7062  		}
  7063  	}
  7064  	if s.ScheduleActivityTaskDecisionAttributes != nil {
  7065  		if err := s.ScheduleActivityTaskDecisionAttributes.Validate(); err != nil {
  7066  			invalidParams.AddNested("ScheduleActivityTaskDecisionAttributes", err.(request.ErrInvalidParams))
  7067  		}
  7068  	}
  7069  	if s.ScheduleLambdaFunctionDecisionAttributes != nil {
  7070  		if err := s.ScheduleLambdaFunctionDecisionAttributes.Validate(); err != nil {
  7071  			invalidParams.AddNested("ScheduleLambdaFunctionDecisionAttributes", err.(request.ErrInvalidParams))
  7072  		}
  7073  	}
  7074  	if s.SignalExternalWorkflowExecutionDecisionAttributes != nil {
  7075  		if err := s.SignalExternalWorkflowExecutionDecisionAttributes.Validate(); err != nil {
  7076  			invalidParams.AddNested("SignalExternalWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
  7077  		}
  7078  	}
  7079  	if s.StartChildWorkflowExecutionDecisionAttributes != nil {
  7080  		if err := s.StartChildWorkflowExecutionDecisionAttributes.Validate(); err != nil {
  7081  			invalidParams.AddNested("StartChildWorkflowExecutionDecisionAttributes", err.(request.ErrInvalidParams))
  7082  		}
  7083  	}
  7084  	if s.StartTimerDecisionAttributes != nil {
  7085  		if err := s.StartTimerDecisionAttributes.Validate(); err != nil {
  7086  			invalidParams.AddNested("StartTimerDecisionAttributes", err.(request.ErrInvalidParams))
  7087  		}
  7088  	}
  7089  
  7090  	if invalidParams.Len() > 0 {
  7091  		return invalidParams
  7092  	}
  7093  	return nil
  7094  }
  7095  
  7096  // SetCancelTimerDecisionAttributes sets the CancelTimerDecisionAttributes field's value.
  7097  func (s *Decision) SetCancelTimerDecisionAttributes(v *CancelTimerDecisionAttributes) *Decision {
  7098  	s.CancelTimerDecisionAttributes = v
  7099  	return s
  7100  }
  7101  
  7102  // SetCancelWorkflowExecutionDecisionAttributes sets the CancelWorkflowExecutionDecisionAttributes field's value.
  7103  func (s *Decision) SetCancelWorkflowExecutionDecisionAttributes(v *CancelWorkflowExecutionDecisionAttributes) *Decision {
  7104  	s.CancelWorkflowExecutionDecisionAttributes = v
  7105  	return s
  7106  }
  7107  
  7108  // SetCompleteWorkflowExecutionDecisionAttributes sets the CompleteWorkflowExecutionDecisionAttributes field's value.
  7109  func (s *Decision) SetCompleteWorkflowExecutionDecisionAttributes(v *CompleteWorkflowExecutionDecisionAttributes) *Decision {
  7110  	s.CompleteWorkflowExecutionDecisionAttributes = v
  7111  	return s
  7112  }
  7113  
  7114  // SetContinueAsNewWorkflowExecutionDecisionAttributes sets the ContinueAsNewWorkflowExecutionDecisionAttributes field's value.
  7115  func (s *Decision) SetContinueAsNewWorkflowExecutionDecisionAttributes(v *ContinueAsNewWorkflowExecutionDecisionAttributes) *Decision {
  7116  	s.ContinueAsNewWorkflowExecutionDecisionAttributes = v
  7117  	return s
  7118  }
  7119  
  7120  // SetDecisionType sets the DecisionType field's value.
  7121  func (s *Decision) SetDecisionType(v string) *Decision {
  7122  	s.DecisionType = &v
  7123  	return s
  7124  }
  7125  
  7126  // SetFailWorkflowExecutionDecisionAttributes sets the FailWorkflowExecutionDecisionAttributes field's value.
  7127  func (s *Decision) SetFailWorkflowExecutionDecisionAttributes(v *FailWorkflowExecutionDecisionAttributes) *Decision {
  7128  	s.FailWorkflowExecutionDecisionAttributes = v
  7129  	return s
  7130  }
  7131  
  7132  // SetRecordMarkerDecisionAttributes sets the RecordMarkerDecisionAttributes field's value.
  7133  func (s *Decision) SetRecordMarkerDecisionAttributes(v *RecordMarkerDecisionAttributes) *Decision {
  7134  	s.RecordMarkerDecisionAttributes = v
  7135  	return s
  7136  }
  7137  
  7138  // SetRequestCancelActivityTaskDecisionAttributes sets the RequestCancelActivityTaskDecisionAttributes field's value.
  7139  func (s *Decision) SetRequestCancelActivityTaskDecisionAttributes(v *RequestCancelActivityTaskDecisionAttributes) *Decision {
  7140  	s.RequestCancelActivityTaskDecisionAttributes = v
  7141  	return s
  7142  }
  7143  
  7144  // SetRequestCancelExternalWorkflowExecutionDecisionAttributes sets the RequestCancelExternalWorkflowExecutionDecisionAttributes field's value.
  7145  func (s *Decision) SetRequestCancelExternalWorkflowExecutionDecisionAttributes(v *RequestCancelExternalWorkflowExecutionDecisionAttributes) *Decision {
  7146  	s.RequestCancelExternalWorkflowExecutionDecisionAttributes = v
  7147  	return s
  7148  }
  7149  
  7150  // SetScheduleActivityTaskDecisionAttributes sets the ScheduleActivityTaskDecisionAttributes field's value.
  7151  func (s *Decision) SetScheduleActivityTaskDecisionAttributes(v *ScheduleActivityTaskDecisionAttributes) *Decision {
  7152  	s.ScheduleActivityTaskDecisionAttributes = v
  7153  	return s
  7154  }
  7155  
  7156  // SetScheduleLambdaFunctionDecisionAttributes sets the ScheduleLambdaFunctionDecisionAttributes field's value.
  7157  func (s *Decision) SetScheduleLambdaFunctionDecisionAttributes(v *ScheduleLambdaFunctionDecisionAttributes) *Decision {
  7158  	s.ScheduleLambdaFunctionDecisionAttributes = v
  7159  	return s
  7160  }
  7161  
  7162  // SetSignalExternalWorkflowExecutionDecisionAttributes sets the SignalExternalWorkflowExecutionDecisionAttributes field's value.
  7163  func (s *Decision) SetSignalExternalWorkflowExecutionDecisionAttributes(v *SignalExternalWorkflowExecutionDecisionAttributes) *Decision {
  7164  	s.SignalExternalWorkflowExecutionDecisionAttributes = v
  7165  	return s
  7166  }
  7167  
  7168  // SetStartChildWorkflowExecutionDecisionAttributes sets the StartChildWorkflowExecutionDecisionAttributes field's value.
  7169  func (s *Decision) SetStartChildWorkflowExecutionDecisionAttributes(v *StartChildWorkflowExecutionDecisionAttributes) *Decision {
  7170  	s.StartChildWorkflowExecutionDecisionAttributes = v
  7171  	return s
  7172  }
  7173  
  7174  // SetStartTimerDecisionAttributes sets the StartTimerDecisionAttributes field's value.
  7175  func (s *Decision) SetStartTimerDecisionAttributes(v *StartTimerDecisionAttributes) *Decision {
  7176  	s.StartTimerDecisionAttributes = v
  7177  	return s
  7178  }
  7179  
  7180  // Provides the details of the DecisionTaskCompleted event.
  7181  type DecisionTaskCompletedEventAttributes struct {
  7182  	_ struct{} `type:"structure"`
  7183  
  7184  	// User defined context for the workflow execution.
  7185  	ExecutionContext *string `locationName:"executionContext" type:"string"`
  7186  
  7187  	// The ID of the DecisionTaskScheduled event that was recorded when this decision
  7188  	// task was scheduled. This information can be useful for diagnosing problems
  7189  	// by tracing back the chain of events leading up to this event.
  7190  	//
  7191  	// ScheduledEventId is a required field
  7192  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  7193  
  7194  	// The ID of the DecisionTaskStarted event recorded when this decision task
  7195  	// was started. This information can be useful for diagnosing problems by tracing
  7196  	// back the chain of events leading up to this event.
  7197  	//
  7198  	// StartedEventId is a required field
  7199  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  7200  }
  7201  
  7202  // String returns the string representation.
  7203  //
  7204  // API parameter values that are decorated as "sensitive" in the API will not
  7205  // be included in the string output. The member name will be present, but the
  7206  // value will be replaced with "sensitive".
  7207  func (s DecisionTaskCompletedEventAttributes) String() string {
  7208  	return awsutil.Prettify(s)
  7209  }
  7210  
  7211  // GoString returns the string representation.
  7212  //
  7213  // API parameter values that are decorated as "sensitive" in the API will not
  7214  // be included in the string output. The member name will be present, but the
  7215  // value will be replaced with "sensitive".
  7216  func (s DecisionTaskCompletedEventAttributes) GoString() string {
  7217  	return s.String()
  7218  }
  7219  
  7220  // SetExecutionContext sets the ExecutionContext field's value.
  7221  func (s *DecisionTaskCompletedEventAttributes) SetExecutionContext(v string) *DecisionTaskCompletedEventAttributes {
  7222  	s.ExecutionContext = &v
  7223  	return s
  7224  }
  7225  
  7226  // SetScheduledEventId sets the ScheduledEventId field's value.
  7227  func (s *DecisionTaskCompletedEventAttributes) SetScheduledEventId(v int64) *DecisionTaskCompletedEventAttributes {
  7228  	s.ScheduledEventId = &v
  7229  	return s
  7230  }
  7231  
  7232  // SetStartedEventId sets the StartedEventId field's value.
  7233  func (s *DecisionTaskCompletedEventAttributes) SetStartedEventId(v int64) *DecisionTaskCompletedEventAttributes {
  7234  	s.StartedEventId = &v
  7235  	return s
  7236  }
  7237  
  7238  // Provides details about the DecisionTaskScheduled event.
  7239  type DecisionTaskScheduledEventAttributes struct {
  7240  	_ struct{} `type:"structure"`
  7241  
  7242  	// The maximum duration for this decision task. The task is considered timed
  7243  	// out if it doesn't completed within this duration.
  7244  	//
  7245  	// The duration is specified in seconds, an integer greater than or equal to
  7246  	// 0. You can use NONE to specify unlimited duration.
  7247  	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
  7248  
  7249  	// The name of the task list in which the decision task was scheduled.
  7250  	//
  7251  	// TaskList is a required field
  7252  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
  7253  
  7254  	// A task priority that, if set, specifies the priority for this decision task.
  7255  	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
  7256  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
  7257  	//
  7258  	// For more information about setting task priority, see Setting Task Priority
  7259  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
  7260  	// in the Amazon SWF Developer Guide.
  7261  	TaskPriority *string `locationName:"taskPriority" type:"string"`
  7262  }
  7263  
  7264  // String returns the string representation.
  7265  //
  7266  // API parameter values that are decorated as "sensitive" in the API will not
  7267  // be included in the string output. The member name will be present, but the
  7268  // value will be replaced with "sensitive".
  7269  func (s DecisionTaskScheduledEventAttributes) String() string {
  7270  	return awsutil.Prettify(s)
  7271  }
  7272  
  7273  // GoString returns the string representation.
  7274  //
  7275  // API parameter values that are decorated as "sensitive" in the API will not
  7276  // be included in the string output. The member name will be present, but the
  7277  // value will be replaced with "sensitive".
  7278  func (s DecisionTaskScheduledEventAttributes) GoString() string {
  7279  	return s.String()
  7280  }
  7281  
  7282  // SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
  7283  func (s *DecisionTaskScheduledEventAttributes) SetStartToCloseTimeout(v string) *DecisionTaskScheduledEventAttributes {
  7284  	s.StartToCloseTimeout = &v
  7285  	return s
  7286  }
  7287  
  7288  // SetTaskList sets the TaskList field's value.
  7289  func (s *DecisionTaskScheduledEventAttributes) SetTaskList(v *TaskList) *DecisionTaskScheduledEventAttributes {
  7290  	s.TaskList = v
  7291  	return s
  7292  }
  7293  
  7294  // SetTaskPriority sets the TaskPriority field's value.
  7295  func (s *DecisionTaskScheduledEventAttributes) SetTaskPriority(v string) *DecisionTaskScheduledEventAttributes {
  7296  	s.TaskPriority = &v
  7297  	return s
  7298  }
  7299  
  7300  // Provides the details of the DecisionTaskStarted event.
  7301  type DecisionTaskStartedEventAttributes struct {
  7302  	_ struct{} `type:"structure"`
  7303  
  7304  	// Identity of the decider making the request. This enables diagnostic tracing
  7305  	// when problems arise. The form of this identity is user defined.
  7306  	Identity *string `locationName:"identity" type:"string"`
  7307  
  7308  	// The ID of the DecisionTaskScheduled event that was recorded when this decision
  7309  	// task was scheduled. This information can be useful for diagnosing problems
  7310  	// by tracing back the chain of events leading up to this event.
  7311  	//
  7312  	// ScheduledEventId is a required field
  7313  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  7314  }
  7315  
  7316  // String returns the string representation.
  7317  //
  7318  // API parameter values that are decorated as "sensitive" in the API will not
  7319  // be included in the string output. The member name will be present, but the
  7320  // value will be replaced with "sensitive".
  7321  func (s DecisionTaskStartedEventAttributes) String() string {
  7322  	return awsutil.Prettify(s)
  7323  }
  7324  
  7325  // GoString returns the string representation.
  7326  //
  7327  // API parameter values that are decorated as "sensitive" in the API will not
  7328  // be included in the string output. The member name will be present, but the
  7329  // value will be replaced with "sensitive".
  7330  func (s DecisionTaskStartedEventAttributes) GoString() string {
  7331  	return s.String()
  7332  }
  7333  
  7334  // SetIdentity sets the Identity field's value.
  7335  func (s *DecisionTaskStartedEventAttributes) SetIdentity(v string) *DecisionTaskStartedEventAttributes {
  7336  	s.Identity = &v
  7337  	return s
  7338  }
  7339  
  7340  // SetScheduledEventId sets the ScheduledEventId field's value.
  7341  func (s *DecisionTaskStartedEventAttributes) SetScheduledEventId(v int64) *DecisionTaskStartedEventAttributes {
  7342  	s.ScheduledEventId = &v
  7343  	return s
  7344  }
  7345  
  7346  // Provides the details of the DecisionTaskTimedOut event.
  7347  type DecisionTaskTimedOutEventAttributes struct {
  7348  	_ struct{} `type:"structure"`
  7349  
  7350  	// The ID of the DecisionTaskScheduled event that was recorded when this decision
  7351  	// task was scheduled. This information can be useful for diagnosing problems
  7352  	// by tracing back the chain of events leading up to this event.
  7353  	//
  7354  	// ScheduledEventId is a required field
  7355  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  7356  
  7357  	// The ID of the DecisionTaskStarted event recorded when this decision task
  7358  	// was started. This information can be useful for diagnosing problems by tracing
  7359  	// back the chain of events leading up to this event.
  7360  	//
  7361  	// StartedEventId is a required field
  7362  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  7363  
  7364  	// The type of timeout that expired before the decision task could be completed.
  7365  	//
  7366  	// TimeoutType is a required field
  7367  	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"DecisionTaskTimeoutType"`
  7368  }
  7369  
  7370  // String returns the string representation.
  7371  //
  7372  // API parameter values that are decorated as "sensitive" in the API will not
  7373  // be included in the string output. The member name will be present, but the
  7374  // value will be replaced with "sensitive".
  7375  func (s DecisionTaskTimedOutEventAttributes) String() string {
  7376  	return awsutil.Prettify(s)
  7377  }
  7378  
  7379  // GoString returns the string representation.
  7380  //
  7381  // API parameter values that are decorated as "sensitive" in the API will not
  7382  // be included in the string output. The member name will be present, but the
  7383  // value will be replaced with "sensitive".
  7384  func (s DecisionTaskTimedOutEventAttributes) GoString() string {
  7385  	return s.String()
  7386  }
  7387  
  7388  // SetScheduledEventId sets the ScheduledEventId field's value.
  7389  func (s *DecisionTaskTimedOutEventAttributes) SetScheduledEventId(v int64) *DecisionTaskTimedOutEventAttributes {
  7390  	s.ScheduledEventId = &v
  7391  	return s
  7392  }
  7393  
  7394  // SetStartedEventId sets the StartedEventId field's value.
  7395  func (s *DecisionTaskTimedOutEventAttributes) SetStartedEventId(v int64) *DecisionTaskTimedOutEventAttributes {
  7396  	s.StartedEventId = &v
  7397  	return s
  7398  }
  7399  
  7400  // SetTimeoutType sets the TimeoutType field's value.
  7401  func (s *DecisionTaskTimedOutEventAttributes) SetTimeoutType(v string) *DecisionTaskTimedOutEventAttributes {
  7402  	s.TimeoutType = &v
  7403  	return s
  7404  }
  7405  
  7406  // The StartWorkflowExecution API action was called without the required parameters
  7407  // set.
  7408  //
  7409  // Some workflow execution parameters, such as the decision taskList, must be
  7410  // set to start the execution. However, these parameters might have been set
  7411  // as defaults when the workflow type was registered. In this case, you can
  7412  // omit these parameters from the StartWorkflowExecution call and Amazon SWF
  7413  // uses the values defined in the workflow type.
  7414  //
  7415  // If these parameters aren't set and no default parameters were defined in
  7416  // the workflow type, this error is displayed.
  7417  type DefaultUndefinedFault struct {
  7418  	_            struct{}                  `type:"structure"`
  7419  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7420  
  7421  	Message_ *string `locationName:"message" type:"string"`
  7422  }
  7423  
  7424  // String returns the string representation.
  7425  //
  7426  // API parameter values that are decorated as "sensitive" in the API will not
  7427  // be included in the string output. The member name will be present, but the
  7428  // value will be replaced with "sensitive".
  7429  func (s DefaultUndefinedFault) String() string {
  7430  	return awsutil.Prettify(s)
  7431  }
  7432  
  7433  // GoString returns the string representation.
  7434  //
  7435  // API parameter values that are decorated as "sensitive" in the API will not
  7436  // be included in the string output. The member name will be present, but the
  7437  // value will be replaced with "sensitive".
  7438  func (s DefaultUndefinedFault) GoString() string {
  7439  	return s.String()
  7440  }
  7441  
  7442  func newErrorDefaultUndefinedFault(v protocol.ResponseMetadata) error {
  7443  	return &DefaultUndefinedFault{
  7444  		RespMetadata: v,
  7445  	}
  7446  }
  7447  
  7448  // Code returns the exception type name.
  7449  func (s *DefaultUndefinedFault) Code() string {
  7450  	return "DefaultUndefinedFault"
  7451  }
  7452  
  7453  // Message returns the exception's message.
  7454  func (s *DefaultUndefinedFault) Message() string {
  7455  	if s.Message_ != nil {
  7456  		return *s.Message_
  7457  	}
  7458  	return ""
  7459  }
  7460  
  7461  // OrigErr always returns nil, satisfies awserr.Error interface.
  7462  func (s *DefaultUndefinedFault) OrigErr() error {
  7463  	return nil
  7464  }
  7465  
  7466  func (s *DefaultUndefinedFault) Error() string {
  7467  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7468  }
  7469  
  7470  // Status code returns the HTTP status code for the request's response error.
  7471  func (s *DefaultUndefinedFault) StatusCode() int {
  7472  	return s.RespMetadata.StatusCode
  7473  }
  7474  
  7475  // RequestID returns the service's response RequestID for request.
  7476  func (s *DefaultUndefinedFault) RequestID() string {
  7477  	return s.RespMetadata.RequestID
  7478  }
  7479  
  7480  type DeprecateActivityTypeInput struct {
  7481  	_ struct{} `type:"structure"`
  7482  
  7483  	// The activity type to deprecate.
  7484  	//
  7485  	// ActivityType is a required field
  7486  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
  7487  
  7488  	// The name of the domain in which the activity type is registered.
  7489  	//
  7490  	// Domain is a required field
  7491  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  7492  }
  7493  
  7494  // String returns the string representation.
  7495  //
  7496  // API parameter values that are decorated as "sensitive" in the API will not
  7497  // be included in the string output. The member name will be present, but the
  7498  // value will be replaced with "sensitive".
  7499  func (s DeprecateActivityTypeInput) String() string {
  7500  	return awsutil.Prettify(s)
  7501  }
  7502  
  7503  // GoString returns the string representation.
  7504  //
  7505  // API parameter values that are decorated as "sensitive" in the API will not
  7506  // be included in the string output. The member name will be present, but the
  7507  // value will be replaced with "sensitive".
  7508  func (s DeprecateActivityTypeInput) GoString() string {
  7509  	return s.String()
  7510  }
  7511  
  7512  // Validate inspects the fields of the type to determine if they are valid.
  7513  func (s *DeprecateActivityTypeInput) Validate() error {
  7514  	invalidParams := request.ErrInvalidParams{Context: "DeprecateActivityTypeInput"}
  7515  	if s.ActivityType == nil {
  7516  		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
  7517  	}
  7518  	if s.Domain == nil {
  7519  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7520  	}
  7521  	if s.Domain != nil && len(*s.Domain) < 1 {
  7522  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  7523  	}
  7524  	if s.ActivityType != nil {
  7525  		if err := s.ActivityType.Validate(); err != nil {
  7526  			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
  7527  		}
  7528  	}
  7529  
  7530  	if invalidParams.Len() > 0 {
  7531  		return invalidParams
  7532  	}
  7533  	return nil
  7534  }
  7535  
  7536  // SetActivityType sets the ActivityType field's value.
  7537  func (s *DeprecateActivityTypeInput) SetActivityType(v *ActivityType) *DeprecateActivityTypeInput {
  7538  	s.ActivityType = v
  7539  	return s
  7540  }
  7541  
  7542  // SetDomain sets the Domain field's value.
  7543  func (s *DeprecateActivityTypeInput) SetDomain(v string) *DeprecateActivityTypeInput {
  7544  	s.Domain = &v
  7545  	return s
  7546  }
  7547  
  7548  type DeprecateActivityTypeOutput struct {
  7549  	_ struct{} `type:"structure"`
  7550  }
  7551  
  7552  // String returns the string representation.
  7553  //
  7554  // API parameter values that are decorated as "sensitive" in the API will not
  7555  // be included in the string output. The member name will be present, but the
  7556  // value will be replaced with "sensitive".
  7557  func (s DeprecateActivityTypeOutput) String() string {
  7558  	return awsutil.Prettify(s)
  7559  }
  7560  
  7561  // GoString returns the string representation.
  7562  //
  7563  // API parameter values that are decorated as "sensitive" in the API will not
  7564  // be included in the string output. The member name will be present, but the
  7565  // value will be replaced with "sensitive".
  7566  func (s DeprecateActivityTypeOutput) GoString() string {
  7567  	return s.String()
  7568  }
  7569  
  7570  type DeprecateDomainInput struct {
  7571  	_ struct{} `type:"structure"`
  7572  
  7573  	// The name of the domain to deprecate.
  7574  	//
  7575  	// Name is a required field
  7576  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7577  }
  7578  
  7579  // String returns the string representation.
  7580  //
  7581  // API parameter values that are decorated as "sensitive" in the API will not
  7582  // be included in the string output. The member name will be present, but the
  7583  // value will be replaced with "sensitive".
  7584  func (s DeprecateDomainInput) String() string {
  7585  	return awsutil.Prettify(s)
  7586  }
  7587  
  7588  // GoString returns the string representation.
  7589  //
  7590  // API parameter values that are decorated as "sensitive" in the API will not
  7591  // be included in the string output. The member name will be present, but the
  7592  // value will be replaced with "sensitive".
  7593  func (s DeprecateDomainInput) GoString() string {
  7594  	return s.String()
  7595  }
  7596  
  7597  // Validate inspects the fields of the type to determine if they are valid.
  7598  func (s *DeprecateDomainInput) Validate() error {
  7599  	invalidParams := request.ErrInvalidParams{Context: "DeprecateDomainInput"}
  7600  	if s.Name == nil {
  7601  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7602  	}
  7603  	if s.Name != nil && len(*s.Name) < 1 {
  7604  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7605  	}
  7606  
  7607  	if invalidParams.Len() > 0 {
  7608  		return invalidParams
  7609  	}
  7610  	return nil
  7611  }
  7612  
  7613  // SetName sets the Name field's value.
  7614  func (s *DeprecateDomainInput) SetName(v string) *DeprecateDomainInput {
  7615  	s.Name = &v
  7616  	return s
  7617  }
  7618  
  7619  type DeprecateDomainOutput struct {
  7620  	_ struct{} `type:"structure"`
  7621  }
  7622  
  7623  // String returns the string representation.
  7624  //
  7625  // API parameter values that are decorated as "sensitive" in the API will not
  7626  // be included in the string output. The member name will be present, but the
  7627  // value will be replaced with "sensitive".
  7628  func (s DeprecateDomainOutput) String() string {
  7629  	return awsutil.Prettify(s)
  7630  }
  7631  
  7632  // GoString returns the string representation.
  7633  //
  7634  // API parameter values that are decorated as "sensitive" in the API will not
  7635  // be included in the string output. The member name will be present, but the
  7636  // value will be replaced with "sensitive".
  7637  func (s DeprecateDomainOutput) GoString() string {
  7638  	return s.String()
  7639  }
  7640  
  7641  type DeprecateWorkflowTypeInput struct {
  7642  	_ struct{} `type:"structure"`
  7643  
  7644  	// The name of the domain in which the workflow type is registered.
  7645  	//
  7646  	// Domain is a required field
  7647  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  7648  
  7649  	// The workflow type to deprecate.
  7650  	//
  7651  	// WorkflowType is a required field
  7652  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  7653  }
  7654  
  7655  // String returns the string representation.
  7656  //
  7657  // API parameter values that are decorated as "sensitive" in the API will not
  7658  // be included in the string output. The member name will be present, but the
  7659  // value will be replaced with "sensitive".
  7660  func (s DeprecateWorkflowTypeInput) String() string {
  7661  	return awsutil.Prettify(s)
  7662  }
  7663  
  7664  // GoString returns the string representation.
  7665  //
  7666  // API parameter values that are decorated as "sensitive" in the API will not
  7667  // be included in the string output. The member name will be present, but the
  7668  // value will be replaced with "sensitive".
  7669  func (s DeprecateWorkflowTypeInput) GoString() string {
  7670  	return s.String()
  7671  }
  7672  
  7673  // Validate inspects the fields of the type to determine if they are valid.
  7674  func (s *DeprecateWorkflowTypeInput) Validate() error {
  7675  	invalidParams := request.ErrInvalidParams{Context: "DeprecateWorkflowTypeInput"}
  7676  	if s.Domain == nil {
  7677  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7678  	}
  7679  	if s.Domain != nil && len(*s.Domain) < 1 {
  7680  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  7681  	}
  7682  	if s.WorkflowType == nil {
  7683  		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
  7684  	}
  7685  	if s.WorkflowType != nil {
  7686  		if err := s.WorkflowType.Validate(); err != nil {
  7687  			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
  7688  		}
  7689  	}
  7690  
  7691  	if invalidParams.Len() > 0 {
  7692  		return invalidParams
  7693  	}
  7694  	return nil
  7695  }
  7696  
  7697  // SetDomain sets the Domain field's value.
  7698  func (s *DeprecateWorkflowTypeInput) SetDomain(v string) *DeprecateWorkflowTypeInput {
  7699  	s.Domain = &v
  7700  	return s
  7701  }
  7702  
  7703  // SetWorkflowType sets the WorkflowType field's value.
  7704  func (s *DeprecateWorkflowTypeInput) SetWorkflowType(v *WorkflowType) *DeprecateWorkflowTypeInput {
  7705  	s.WorkflowType = v
  7706  	return s
  7707  }
  7708  
  7709  type DeprecateWorkflowTypeOutput struct {
  7710  	_ struct{} `type:"structure"`
  7711  }
  7712  
  7713  // String returns the string representation.
  7714  //
  7715  // API parameter values that are decorated as "sensitive" in the API will not
  7716  // be included in the string output. The member name will be present, but the
  7717  // value will be replaced with "sensitive".
  7718  func (s DeprecateWorkflowTypeOutput) String() string {
  7719  	return awsutil.Prettify(s)
  7720  }
  7721  
  7722  // GoString returns the string representation.
  7723  //
  7724  // API parameter values that are decorated as "sensitive" in the API will not
  7725  // be included in the string output. The member name will be present, but the
  7726  // value will be replaced with "sensitive".
  7727  func (s DeprecateWorkflowTypeOutput) GoString() string {
  7728  	return s.String()
  7729  }
  7730  
  7731  type DescribeActivityTypeInput struct {
  7732  	_ struct{} `type:"structure"`
  7733  
  7734  	// The activity type to get information about. Activity types are identified
  7735  	// by the name and version that were supplied when the activity was registered.
  7736  	//
  7737  	// ActivityType is a required field
  7738  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
  7739  
  7740  	// The name of the domain in which the activity type is registered.
  7741  	//
  7742  	// Domain is a required field
  7743  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  7744  }
  7745  
  7746  // String returns the string representation.
  7747  //
  7748  // API parameter values that are decorated as "sensitive" in the API will not
  7749  // be included in the string output. The member name will be present, but the
  7750  // value will be replaced with "sensitive".
  7751  func (s DescribeActivityTypeInput) String() string {
  7752  	return awsutil.Prettify(s)
  7753  }
  7754  
  7755  // GoString returns the string representation.
  7756  //
  7757  // API parameter values that are decorated as "sensitive" in the API will not
  7758  // be included in the string output. The member name will be present, but the
  7759  // value will be replaced with "sensitive".
  7760  func (s DescribeActivityTypeInput) GoString() string {
  7761  	return s.String()
  7762  }
  7763  
  7764  // Validate inspects the fields of the type to determine if they are valid.
  7765  func (s *DescribeActivityTypeInput) Validate() error {
  7766  	invalidParams := request.ErrInvalidParams{Context: "DescribeActivityTypeInput"}
  7767  	if s.ActivityType == nil {
  7768  		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
  7769  	}
  7770  	if s.Domain == nil {
  7771  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7772  	}
  7773  	if s.Domain != nil && len(*s.Domain) < 1 {
  7774  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  7775  	}
  7776  	if s.ActivityType != nil {
  7777  		if err := s.ActivityType.Validate(); err != nil {
  7778  			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
  7779  		}
  7780  	}
  7781  
  7782  	if invalidParams.Len() > 0 {
  7783  		return invalidParams
  7784  	}
  7785  	return nil
  7786  }
  7787  
  7788  // SetActivityType sets the ActivityType field's value.
  7789  func (s *DescribeActivityTypeInput) SetActivityType(v *ActivityType) *DescribeActivityTypeInput {
  7790  	s.ActivityType = v
  7791  	return s
  7792  }
  7793  
  7794  // SetDomain sets the Domain field's value.
  7795  func (s *DescribeActivityTypeInput) SetDomain(v string) *DescribeActivityTypeInput {
  7796  	s.Domain = &v
  7797  	return s
  7798  }
  7799  
  7800  // Detailed information about an activity type.
  7801  type DescribeActivityTypeOutput struct {
  7802  	_ struct{} `type:"structure"`
  7803  
  7804  	// The configuration settings registered with the activity type.
  7805  	//
  7806  	// Configuration is a required field
  7807  	Configuration *ActivityTypeConfiguration `locationName:"configuration" type:"structure" required:"true"`
  7808  
  7809  	// General information about the activity type.
  7810  	//
  7811  	// The status of activity type (returned in the ActivityTypeInfo structure)
  7812  	// can be one of the following.
  7813  	//
  7814  	//    * REGISTERED – The type is registered and available. Workers supporting
  7815  	//    this type should be running.
  7816  	//
  7817  	//    * DEPRECATED – The type was deprecated using DeprecateActivityType,
  7818  	//    but is still in use. You should keep workers supporting this type running.
  7819  	//    You cannot create new tasks of this type.
  7820  	//
  7821  	// TypeInfo is a required field
  7822  	TypeInfo *ActivityTypeInfo `locationName:"typeInfo" type:"structure" required:"true"`
  7823  }
  7824  
  7825  // String returns the string representation.
  7826  //
  7827  // API parameter values that are decorated as "sensitive" in the API will not
  7828  // be included in the string output. The member name will be present, but the
  7829  // value will be replaced with "sensitive".
  7830  func (s DescribeActivityTypeOutput) String() string {
  7831  	return awsutil.Prettify(s)
  7832  }
  7833  
  7834  // GoString returns the string representation.
  7835  //
  7836  // API parameter values that are decorated as "sensitive" in the API will not
  7837  // be included in the string output. The member name will be present, but the
  7838  // value will be replaced with "sensitive".
  7839  func (s DescribeActivityTypeOutput) GoString() string {
  7840  	return s.String()
  7841  }
  7842  
  7843  // SetConfiguration sets the Configuration field's value.
  7844  func (s *DescribeActivityTypeOutput) SetConfiguration(v *ActivityTypeConfiguration) *DescribeActivityTypeOutput {
  7845  	s.Configuration = v
  7846  	return s
  7847  }
  7848  
  7849  // SetTypeInfo sets the TypeInfo field's value.
  7850  func (s *DescribeActivityTypeOutput) SetTypeInfo(v *ActivityTypeInfo) *DescribeActivityTypeOutput {
  7851  	s.TypeInfo = v
  7852  	return s
  7853  }
  7854  
  7855  type DescribeDomainInput struct {
  7856  	_ struct{} `type:"structure"`
  7857  
  7858  	// The name of the domain to describe.
  7859  	//
  7860  	// Name is a required field
  7861  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7862  }
  7863  
  7864  // String returns the string representation.
  7865  //
  7866  // API parameter values that are decorated as "sensitive" in the API will not
  7867  // be included in the string output. The member name will be present, but the
  7868  // value will be replaced with "sensitive".
  7869  func (s DescribeDomainInput) String() string {
  7870  	return awsutil.Prettify(s)
  7871  }
  7872  
  7873  // GoString returns the string representation.
  7874  //
  7875  // API parameter values that are decorated as "sensitive" in the API will not
  7876  // be included in the string output. The member name will be present, but the
  7877  // value will be replaced with "sensitive".
  7878  func (s DescribeDomainInput) GoString() string {
  7879  	return s.String()
  7880  }
  7881  
  7882  // Validate inspects the fields of the type to determine if they are valid.
  7883  func (s *DescribeDomainInput) Validate() error {
  7884  	invalidParams := request.ErrInvalidParams{Context: "DescribeDomainInput"}
  7885  	if s.Name == nil {
  7886  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7887  	}
  7888  	if s.Name != nil && len(*s.Name) < 1 {
  7889  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7890  	}
  7891  
  7892  	if invalidParams.Len() > 0 {
  7893  		return invalidParams
  7894  	}
  7895  	return nil
  7896  }
  7897  
  7898  // SetName sets the Name field's value.
  7899  func (s *DescribeDomainInput) SetName(v string) *DescribeDomainInput {
  7900  	s.Name = &v
  7901  	return s
  7902  }
  7903  
  7904  // Contains details of a domain.
  7905  type DescribeDomainOutput struct {
  7906  	_ struct{} `type:"structure"`
  7907  
  7908  	// The domain configuration. Currently, this includes only the domain's retention
  7909  	// period.
  7910  	//
  7911  	// Configuration is a required field
  7912  	Configuration *DomainConfiguration `locationName:"configuration" type:"structure" required:"true"`
  7913  
  7914  	// The basic information about a domain, such as its name, status, and description.
  7915  	//
  7916  	// DomainInfo is a required field
  7917  	DomainInfo *DomainInfo `locationName:"domainInfo" type:"structure" required:"true"`
  7918  }
  7919  
  7920  // String returns the string representation.
  7921  //
  7922  // API parameter values that are decorated as "sensitive" in the API will not
  7923  // be included in the string output. The member name will be present, but the
  7924  // value will be replaced with "sensitive".
  7925  func (s DescribeDomainOutput) String() string {
  7926  	return awsutil.Prettify(s)
  7927  }
  7928  
  7929  // GoString returns the string representation.
  7930  //
  7931  // API parameter values that are decorated as "sensitive" in the API will not
  7932  // be included in the string output. The member name will be present, but the
  7933  // value will be replaced with "sensitive".
  7934  func (s DescribeDomainOutput) GoString() string {
  7935  	return s.String()
  7936  }
  7937  
  7938  // SetConfiguration sets the Configuration field's value.
  7939  func (s *DescribeDomainOutput) SetConfiguration(v *DomainConfiguration) *DescribeDomainOutput {
  7940  	s.Configuration = v
  7941  	return s
  7942  }
  7943  
  7944  // SetDomainInfo sets the DomainInfo field's value.
  7945  func (s *DescribeDomainOutput) SetDomainInfo(v *DomainInfo) *DescribeDomainOutput {
  7946  	s.DomainInfo = v
  7947  	return s
  7948  }
  7949  
  7950  type DescribeWorkflowExecutionInput struct {
  7951  	_ struct{} `type:"structure"`
  7952  
  7953  	// The name of the domain containing the workflow execution.
  7954  	//
  7955  	// Domain is a required field
  7956  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  7957  
  7958  	// The workflow execution to describe.
  7959  	//
  7960  	// Execution is a required field
  7961  	Execution *WorkflowExecution `locationName:"execution" type:"structure" required:"true"`
  7962  }
  7963  
  7964  // String returns the string representation.
  7965  //
  7966  // API parameter values that are decorated as "sensitive" in the API will not
  7967  // be included in the string output. The member name will be present, but the
  7968  // value will be replaced with "sensitive".
  7969  func (s DescribeWorkflowExecutionInput) String() string {
  7970  	return awsutil.Prettify(s)
  7971  }
  7972  
  7973  // GoString returns the string representation.
  7974  //
  7975  // API parameter values that are decorated as "sensitive" in the API will not
  7976  // be included in the string output. The member name will be present, but the
  7977  // value will be replaced with "sensitive".
  7978  func (s DescribeWorkflowExecutionInput) GoString() string {
  7979  	return s.String()
  7980  }
  7981  
  7982  // Validate inspects the fields of the type to determine if they are valid.
  7983  func (s *DescribeWorkflowExecutionInput) Validate() error {
  7984  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowExecutionInput"}
  7985  	if s.Domain == nil {
  7986  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  7987  	}
  7988  	if s.Domain != nil && len(*s.Domain) < 1 {
  7989  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  7990  	}
  7991  	if s.Execution == nil {
  7992  		invalidParams.Add(request.NewErrParamRequired("Execution"))
  7993  	}
  7994  	if s.Execution != nil {
  7995  		if err := s.Execution.Validate(); err != nil {
  7996  			invalidParams.AddNested("Execution", err.(request.ErrInvalidParams))
  7997  		}
  7998  	}
  7999  
  8000  	if invalidParams.Len() > 0 {
  8001  		return invalidParams
  8002  	}
  8003  	return nil
  8004  }
  8005  
  8006  // SetDomain sets the Domain field's value.
  8007  func (s *DescribeWorkflowExecutionInput) SetDomain(v string) *DescribeWorkflowExecutionInput {
  8008  	s.Domain = &v
  8009  	return s
  8010  }
  8011  
  8012  // SetExecution sets the Execution field's value.
  8013  func (s *DescribeWorkflowExecutionInput) SetExecution(v *WorkflowExecution) *DescribeWorkflowExecutionInput {
  8014  	s.Execution = v
  8015  	return s
  8016  }
  8017  
  8018  // Contains details about a workflow execution.
  8019  type DescribeWorkflowExecutionOutput struct {
  8020  	_ struct{} `type:"structure"`
  8021  
  8022  	// The configuration settings for this workflow execution including timeout
  8023  	// values, tasklist etc.
  8024  	//
  8025  	// ExecutionConfiguration is a required field
  8026  	ExecutionConfiguration *WorkflowExecutionConfiguration `locationName:"executionConfiguration" type:"structure" required:"true"`
  8027  
  8028  	// Information about the workflow execution.
  8029  	//
  8030  	// ExecutionInfo is a required field
  8031  	ExecutionInfo *WorkflowExecutionInfo `locationName:"executionInfo" type:"structure" required:"true"`
  8032  
  8033  	// The time when the last activity task was scheduled for this workflow execution.
  8034  	// You can use this information to determine if the workflow has not made progress
  8035  	// for an unusually long period of time and might require a corrective action.
  8036  	LatestActivityTaskTimestamp *time.Time `locationName:"latestActivityTaskTimestamp" type:"timestamp"`
  8037  
  8038  	// The latest executionContext provided by the decider for this workflow execution.
  8039  	// A decider can provide an executionContext (a free-form string) when closing
  8040  	// a decision task using RespondDecisionTaskCompleted.
  8041  	LatestExecutionContext *string `locationName:"latestExecutionContext" type:"string"`
  8042  
  8043  	// The number of tasks for this workflow execution. This includes open and closed
  8044  	// tasks of all types.
  8045  	//
  8046  	// OpenCounts is a required field
  8047  	OpenCounts *WorkflowExecutionOpenCounts `locationName:"openCounts" type:"structure" required:"true"`
  8048  }
  8049  
  8050  // String returns the string representation.
  8051  //
  8052  // API parameter values that are decorated as "sensitive" in the API will not
  8053  // be included in the string output. The member name will be present, but the
  8054  // value will be replaced with "sensitive".
  8055  func (s DescribeWorkflowExecutionOutput) String() string {
  8056  	return awsutil.Prettify(s)
  8057  }
  8058  
  8059  // GoString returns the string representation.
  8060  //
  8061  // API parameter values that are decorated as "sensitive" in the API will not
  8062  // be included in the string output. The member name will be present, but the
  8063  // value will be replaced with "sensitive".
  8064  func (s DescribeWorkflowExecutionOutput) GoString() string {
  8065  	return s.String()
  8066  }
  8067  
  8068  // SetExecutionConfiguration sets the ExecutionConfiguration field's value.
  8069  func (s *DescribeWorkflowExecutionOutput) SetExecutionConfiguration(v *WorkflowExecutionConfiguration) *DescribeWorkflowExecutionOutput {
  8070  	s.ExecutionConfiguration = v
  8071  	return s
  8072  }
  8073  
  8074  // SetExecutionInfo sets the ExecutionInfo field's value.
  8075  func (s *DescribeWorkflowExecutionOutput) SetExecutionInfo(v *WorkflowExecutionInfo) *DescribeWorkflowExecutionOutput {
  8076  	s.ExecutionInfo = v
  8077  	return s
  8078  }
  8079  
  8080  // SetLatestActivityTaskTimestamp sets the LatestActivityTaskTimestamp field's value.
  8081  func (s *DescribeWorkflowExecutionOutput) SetLatestActivityTaskTimestamp(v time.Time) *DescribeWorkflowExecutionOutput {
  8082  	s.LatestActivityTaskTimestamp = &v
  8083  	return s
  8084  }
  8085  
  8086  // SetLatestExecutionContext sets the LatestExecutionContext field's value.
  8087  func (s *DescribeWorkflowExecutionOutput) SetLatestExecutionContext(v string) *DescribeWorkflowExecutionOutput {
  8088  	s.LatestExecutionContext = &v
  8089  	return s
  8090  }
  8091  
  8092  // SetOpenCounts sets the OpenCounts field's value.
  8093  func (s *DescribeWorkflowExecutionOutput) SetOpenCounts(v *WorkflowExecutionOpenCounts) *DescribeWorkflowExecutionOutput {
  8094  	s.OpenCounts = v
  8095  	return s
  8096  }
  8097  
  8098  type DescribeWorkflowTypeInput struct {
  8099  	_ struct{} `type:"structure"`
  8100  
  8101  	// The name of the domain in which this workflow type is registered.
  8102  	//
  8103  	// Domain is a required field
  8104  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  8105  
  8106  	// The workflow type to describe.
  8107  	//
  8108  	// WorkflowType is a required field
  8109  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
  8110  }
  8111  
  8112  // String returns the string representation.
  8113  //
  8114  // API parameter values that are decorated as "sensitive" in the API will not
  8115  // be included in the string output. The member name will be present, but the
  8116  // value will be replaced with "sensitive".
  8117  func (s DescribeWorkflowTypeInput) String() string {
  8118  	return awsutil.Prettify(s)
  8119  }
  8120  
  8121  // GoString returns the string representation.
  8122  //
  8123  // API parameter values that are decorated as "sensitive" in the API will not
  8124  // be included in the string output. The member name will be present, but the
  8125  // value will be replaced with "sensitive".
  8126  func (s DescribeWorkflowTypeInput) GoString() string {
  8127  	return s.String()
  8128  }
  8129  
  8130  // Validate inspects the fields of the type to determine if they are valid.
  8131  func (s *DescribeWorkflowTypeInput) Validate() error {
  8132  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkflowTypeInput"}
  8133  	if s.Domain == nil {
  8134  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  8135  	}
  8136  	if s.Domain != nil && len(*s.Domain) < 1 {
  8137  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  8138  	}
  8139  	if s.WorkflowType == nil {
  8140  		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
  8141  	}
  8142  	if s.WorkflowType != nil {
  8143  		if err := s.WorkflowType.Validate(); err != nil {
  8144  			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
  8145  		}
  8146  	}
  8147  
  8148  	if invalidParams.Len() > 0 {
  8149  		return invalidParams
  8150  	}
  8151  	return nil
  8152  }
  8153  
  8154  // SetDomain sets the Domain field's value.
  8155  func (s *DescribeWorkflowTypeInput) SetDomain(v string) *DescribeWorkflowTypeInput {
  8156  	s.Domain = &v
  8157  	return s
  8158  }
  8159  
  8160  // SetWorkflowType sets the WorkflowType field's value.
  8161  func (s *DescribeWorkflowTypeInput) SetWorkflowType(v *WorkflowType) *DescribeWorkflowTypeInput {
  8162  	s.WorkflowType = v
  8163  	return s
  8164  }
  8165  
  8166  // Contains details about a workflow type.
  8167  type DescribeWorkflowTypeOutput struct {
  8168  	_ struct{} `type:"structure"`
  8169  
  8170  	// Configuration settings of the workflow type registered through RegisterWorkflowType
  8171  	//
  8172  	// Configuration is a required field
  8173  	Configuration *WorkflowTypeConfiguration `locationName:"configuration" type:"structure" required:"true"`
  8174  
  8175  	// General information about the workflow type.
  8176  	//
  8177  	// The status of the workflow type (returned in the WorkflowTypeInfo structure)
  8178  	// can be one of the following.
  8179  	//
  8180  	//    * REGISTERED – The type is registered and available. Workers supporting
  8181  	//    this type should be running.
  8182  	//
  8183  	//    * DEPRECATED – The type was deprecated using DeprecateWorkflowType,
  8184  	//    but is still in use. You should keep workers supporting this type running.
  8185  	//    You cannot create new workflow executions of this type.
  8186  	//
  8187  	// TypeInfo is a required field
  8188  	TypeInfo *WorkflowTypeInfo `locationName:"typeInfo" type:"structure" required:"true"`
  8189  }
  8190  
  8191  // String returns the string representation.
  8192  //
  8193  // API parameter values that are decorated as "sensitive" in the API will not
  8194  // be included in the string output. The member name will be present, but the
  8195  // value will be replaced with "sensitive".
  8196  func (s DescribeWorkflowTypeOutput) String() string {
  8197  	return awsutil.Prettify(s)
  8198  }
  8199  
  8200  // GoString returns the string representation.
  8201  //
  8202  // API parameter values that are decorated as "sensitive" in the API will not
  8203  // be included in the string output. The member name will be present, but the
  8204  // value will be replaced with "sensitive".
  8205  func (s DescribeWorkflowTypeOutput) GoString() string {
  8206  	return s.String()
  8207  }
  8208  
  8209  // SetConfiguration sets the Configuration field's value.
  8210  func (s *DescribeWorkflowTypeOutput) SetConfiguration(v *WorkflowTypeConfiguration) *DescribeWorkflowTypeOutput {
  8211  	s.Configuration = v
  8212  	return s
  8213  }
  8214  
  8215  // SetTypeInfo sets the TypeInfo field's value.
  8216  func (s *DescribeWorkflowTypeOutput) SetTypeInfo(v *WorkflowTypeInfo) *DescribeWorkflowTypeOutput {
  8217  	s.TypeInfo = v
  8218  	return s
  8219  }
  8220  
  8221  // Returned if the domain already exists. You may get this fault if you are
  8222  // registering a domain that is either already registered or deprecated, or
  8223  // if you undeprecate a domain that is currently registered.
  8224  type DomainAlreadyExistsFault struct {
  8225  	_            struct{}                  `type:"structure"`
  8226  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8227  
  8228  	// A description that may help with diagnosing the cause of the fault.
  8229  	Message_ *string `locationName:"message" type:"string"`
  8230  }
  8231  
  8232  // String returns the string representation.
  8233  //
  8234  // API parameter values that are decorated as "sensitive" in the API will not
  8235  // be included in the string output. The member name will be present, but the
  8236  // value will be replaced with "sensitive".
  8237  func (s DomainAlreadyExistsFault) String() string {
  8238  	return awsutil.Prettify(s)
  8239  }
  8240  
  8241  // GoString returns the string representation.
  8242  //
  8243  // API parameter values that are decorated as "sensitive" in the API will not
  8244  // be included in the string output. The member name will be present, but the
  8245  // value will be replaced with "sensitive".
  8246  func (s DomainAlreadyExistsFault) GoString() string {
  8247  	return s.String()
  8248  }
  8249  
  8250  func newErrorDomainAlreadyExistsFault(v protocol.ResponseMetadata) error {
  8251  	return &DomainAlreadyExistsFault{
  8252  		RespMetadata: v,
  8253  	}
  8254  }
  8255  
  8256  // Code returns the exception type name.
  8257  func (s *DomainAlreadyExistsFault) Code() string {
  8258  	return "DomainAlreadyExistsFault"
  8259  }
  8260  
  8261  // Message returns the exception's message.
  8262  func (s *DomainAlreadyExistsFault) Message() string {
  8263  	if s.Message_ != nil {
  8264  		return *s.Message_
  8265  	}
  8266  	return ""
  8267  }
  8268  
  8269  // OrigErr always returns nil, satisfies awserr.Error interface.
  8270  func (s *DomainAlreadyExistsFault) OrigErr() error {
  8271  	return nil
  8272  }
  8273  
  8274  func (s *DomainAlreadyExistsFault) Error() string {
  8275  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8276  }
  8277  
  8278  // Status code returns the HTTP status code for the request's response error.
  8279  func (s *DomainAlreadyExistsFault) StatusCode() int {
  8280  	return s.RespMetadata.StatusCode
  8281  }
  8282  
  8283  // RequestID returns the service's response RequestID for request.
  8284  func (s *DomainAlreadyExistsFault) RequestID() string {
  8285  	return s.RespMetadata.RequestID
  8286  }
  8287  
  8288  // Contains the configuration settings of a domain.
  8289  type DomainConfiguration struct {
  8290  	_ struct{} `type:"structure"`
  8291  
  8292  	// The retention period for workflow executions in this domain.
  8293  	//
  8294  	// WorkflowExecutionRetentionPeriodInDays is a required field
  8295  	WorkflowExecutionRetentionPeriodInDays *string `locationName:"workflowExecutionRetentionPeriodInDays" min:"1" type:"string" required:"true"`
  8296  }
  8297  
  8298  // String returns the string representation.
  8299  //
  8300  // API parameter values that are decorated as "sensitive" in the API will not
  8301  // be included in the string output. The member name will be present, but the
  8302  // value will be replaced with "sensitive".
  8303  func (s DomainConfiguration) String() string {
  8304  	return awsutil.Prettify(s)
  8305  }
  8306  
  8307  // GoString returns the string representation.
  8308  //
  8309  // API parameter values that are decorated as "sensitive" in the API will not
  8310  // be included in the string output. The member name will be present, but the
  8311  // value will be replaced with "sensitive".
  8312  func (s DomainConfiguration) GoString() string {
  8313  	return s.String()
  8314  }
  8315  
  8316  // SetWorkflowExecutionRetentionPeriodInDays sets the WorkflowExecutionRetentionPeriodInDays field's value.
  8317  func (s *DomainConfiguration) SetWorkflowExecutionRetentionPeriodInDays(v string) *DomainConfiguration {
  8318  	s.WorkflowExecutionRetentionPeriodInDays = &v
  8319  	return s
  8320  }
  8321  
  8322  // Returned when the specified domain has been deprecated.
  8323  type DomainDeprecatedFault struct {
  8324  	_            struct{}                  `type:"structure"`
  8325  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8326  
  8327  	// A description that may help with diagnosing the cause of the fault.
  8328  	Message_ *string `locationName:"message" type:"string"`
  8329  }
  8330  
  8331  // String returns the string representation.
  8332  //
  8333  // API parameter values that are decorated as "sensitive" in the API will not
  8334  // be included in the string output. The member name will be present, but the
  8335  // value will be replaced with "sensitive".
  8336  func (s DomainDeprecatedFault) String() string {
  8337  	return awsutil.Prettify(s)
  8338  }
  8339  
  8340  // GoString returns the string representation.
  8341  //
  8342  // API parameter values that are decorated as "sensitive" in the API will not
  8343  // be included in the string output. The member name will be present, but the
  8344  // value will be replaced with "sensitive".
  8345  func (s DomainDeprecatedFault) GoString() string {
  8346  	return s.String()
  8347  }
  8348  
  8349  func newErrorDomainDeprecatedFault(v protocol.ResponseMetadata) error {
  8350  	return &DomainDeprecatedFault{
  8351  		RespMetadata: v,
  8352  	}
  8353  }
  8354  
  8355  // Code returns the exception type name.
  8356  func (s *DomainDeprecatedFault) Code() string {
  8357  	return "DomainDeprecatedFault"
  8358  }
  8359  
  8360  // Message returns the exception's message.
  8361  func (s *DomainDeprecatedFault) Message() string {
  8362  	if s.Message_ != nil {
  8363  		return *s.Message_
  8364  	}
  8365  	return ""
  8366  }
  8367  
  8368  // OrigErr always returns nil, satisfies awserr.Error interface.
  8369  func (s *DomainDeprecatedFault) OrigErr() error {
  8370  	return nil
  8371  }
  8372  
  8373  func (s *DomainDeprecatedFault) Error() string {
  8374  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8375  }
  8376  
  8377  // Status code returns the HTTP status code for the request's response error.
  8378  func (s *DomainDeprecatedFault) StatusCode() int {
  8379  	return s.RespMetadata.StatusCode
  8380  }
  8381  
  8382  // RequestID returns the service's response RequestID for request.
  8383  func (s *DomainDeprecatedFault) RequestID() string {
  8384  	return s.RespMetadata.RequestID
  8385  }
  8386  
  8387  // Contains general information about a domain.
  8388  type DomainInfo struct {
  8389  	_ struct{} `type:"structure"`
  8390  
  8391  	// The ARN of the domain.
  8392  	Arn *string `locationName:"arn" min:"1" type:"string"`
  8393  
  8394  	// The description of the domain provided through RegisterDomain.
  8395  	Description *string `locationName:"description" type:"string"`
  8396  
  8397  	// The name of the domain. This name is unique within the account.
  8398  	//
  8399  	// Name is a required field
  8400  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8401  
  8402  	// The status of the domain:
  8403  	//
  8404  	//    * REGISTERED – The domain is properly registered and available. You
  8405  	//    can use this domain for registering types and creating new workflow executions.
  8406  	//
  8407  	//    * DEPRECATED – The domain was deprecated using DeprecateDomain, but
  8408  	//    is still in use. You should not create new workflow executions in this
  8409  	//    domain.
  8410  	//
  8411  	// Status is a required field
  8412  	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistrationStatus"`
  8413  }
  8414  
  8415  // String returns the string representation.
  8416  //
  8417  // API parameter values that are decorated as "sensitive" in the API will not
  8418  // be included in the string output. The member name will be present, but the
  8419  // value will be replaced with "sensitive".
  8420  func (s DomainInfo) String() string {
  8421  	return awsutil.Prettify(s)
  8422  }
  8423  
  8424  // GoString returns the string representation.
  8425  //
  8426  // API parameter values that are decorated as "sensitive" in the API will not
  8427  // be included in the string output. The member name will be present, but the
  8428  // value will be replaced with "sensitive".
  8429  func (s DomainInfo) GoString() string {
  8430  	return s.String()
  8431  }
  8432  
  8433  // SetArn sets the Arn field's value.
  8434  func (s *DomainInfo) SetArn(v string) *DomainInfo {
  8435  	s.Arn = &v
  8436  	return s
  8437  }
  8438  
  8439  // SetDescription sets the Description field's value.
  8440  func (s *DomainInfo) SetDescription(v string) *DomainInfo {
  8441  	s.Description = &v
  8442  	return s
  8443  }
  8444  
  8445  // SetName sets the Name field's value.
  8446  func (s *DomainInfo) SetName(v string) *DomainInfo {
  8447  	s.Name = &v
  8448  	return s
  8449  }
  8450  
  8451  // SetStatus sets the Status field's value.
  8452  func (s *DomainInfo) SetStatus(v string) *DomainInfo {
  8453  	s.Status = &v
  8454  	return s
  8455  }
  8456  
  8457  // Used to filter the workflow executions in visibility APIs by various time-based
  8458  // rules. Each parameter, if specified, defines a rule that must be satisfied
  8459  // by each returned query result. The parameter values are in the Unix Time
  8460  // format (https://en.wikipedia.org/wiki/Unix_time). For example: "oldestDate":
  8461  // 1325376070.
  8462  type ExecutionTimeFilter struct {
  8463  	_ struct{} `type:"structure"`
  8464  
  8465  	// Specifies the latest start or close date and time to return.
  8466  	LatestDate *time.Time `locationName:"latestDate" type:"timestamp"`
  8467  
  8468  	// Specifies the oldest start or close date and time to return.
  8469  	//
  8470  	// OldestDate is a required field
  8471  	OldestDate *time.Time `locationName:"oldestDate" type:"timestamp" required:"true"`
  8472  }
  8473  
  8474  // String returns the string representation.
  8475  //
  8476  // API parameter values that are decorated as "sensitive" in the API will not
  8477  // be included in the string output. The member name will be present, but the
  8478  // value will be replaced with "sensitive".
  8479  func (s ExecutionTimeFilter) String() string {
  8480  	return awsutil.Prettify(s)
  8481  }
  8482  
  8483  // GoString returns the string representation.
  8484  //
  8485  // API parameter values that are decorated as "sensitive" in the API will not
  8486  // be included in the string output. The member name will be present, but the
  8487  // value will be replaced with "sensitive".
  8488  func (s ExecutionTimeFilter) GoString() string {
  8489  	return s.String()
  8490  }
  8491  
  8492  // Validate inspects the fields of the type to determine if they are valid.
  8493  func (s *ExecutionTimeFilter) Validate() error {
  8494  	invalidParams := request.ErrInvalidParams{Context: "ExecutionTimeFilter"}
  8495  	if s.OldestDate == nil {
  8496  		invalidParams.Add(request.NewErrParamRequired("OldestDate"))
  8497  	}
  8498  
  8499  	if invalidParams.Len() > 0 {
  8500  		return invalidParams
  8501  	}
  8502  	return nil
  8503  }
  8504  
  8505  // SetLatestDate sets the LatestDate field's value.
  8506  func (s *ExecutionTimeFilter) SetLatestDate(v time.Time) *ExecutionTimeFilter {
  8507  	s.LatestDate = &v
  8508  	return s
  8509  }
  8510  
  8511  // SetOldestDate sets the OldestDate field's value.
  8512  func (s *ExecutionTimeFilter) SetOldestDate(v time.Time) *ExecutionTimeFilter {
  8513  	s.OldestDate = &v
  8514  	return s
  8515  }
  8516  
  8517  // Provides the details of the ExternalWorkflowExecutionCancelRequested event.
  8518  type ExternalWorkflowExecutionCancelRequestedEventAttributes struct {
  8519  	_ struct{} `type:"structure"`
  8520  
  8521  	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding
  8522  	// to the RequestCancelExternalWorkflowExecution decision to cancel this external
  8523  	// workflow execution. This information can be useful for diagnosing problems
  8524  	// by tracing back the chain of events leading up to this event.
  8525  	//
  8526  	// InitiatedEventId is a required field
  8527  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  8528  
  8529  	// The external workflow execution to which the cancellation request was delivered.
  8530  	//
  8531  	// WorkflowExecution is a required field
  8532  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  8533  }
  8534  
  8535  // String returns the string representation.
  8536  //
  8537  // API parameter values that are decorated as "sensitive" in the API will not
  8538  // be included in the string output. The member name will be present, but the
  8539  // value will be replaced with "sensitive".
  8540  func (s ExternalWorkflowExecutionCancelRequestedEventAttributes) String() string {
  8541  	return awsutil.Prettify(s)
  8542  }
  8543  
  8544  // GoString returns the string representation.
  8545  //
  8546  // API parameter values that are decorated as "sensitive" in the API will not
  8547  // be included in the string output. The member name will be present, but the
  8548  // value will be replaced with "sensitive".
  8549  func (s ExternalWorkflowExecutionCancelRequestedEventAttributes) GoString() string {
  8550  	return s.String()
  8551  }
  8552  
  8553  // SetInitiatedEventId sets the InitiatedEventId field's value.
  8554  func (s *ExternalWorkflowExecutionCancelRequestedEventAttributes) SetInitiatedEventId(v int64) *ExternalWorkflowExecutionCancelRequestedEventAttributes {
  8555  	s.InitiatedEventId = &v
  8556  	return s
  8557  }
  8558  
  8559  // SetWorkflowExecution sets the WorkflowExecution field's value.
  8560  func (s *ExternalWorkflowExecutionCancelRequestedEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ExternalWorkflowExecutionCancelRequestedEventAttributes {
  8561  	s.WorkflowExecution = v
  8562  	return s
  8563  }
  8564  
  8565  // Provides the details of the ExternalWorkflowExecutionSignaled event.
  8566  type ExternalWorkflowExecutionSignaledEventAttributes struct {
  8567  	_ struct{} `type:"structure"`
  8568  
  8569  	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding
  8570  	// to the SignalExternalWorkflowExecution decision to request this signal. This
  8571  	// information can be useful for diagnosing problems by tracing back the chain
  8572  	// of events leading up to this event.
  8573  	//
  8574  	// InitiatedEventId is a required field
  8575  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
  8576  
  8577  	// The external workflow execution that the signal was delivered to.
  8578  	//
  8579  	// WorkflowExecution is a required field
  8580  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
  8581  }
  8582  
  8583  // String returns the string representation.
  8584  //
  8585  // API parameter values that are decorated as "sensitive" in the API will not
  8586  // be included in the string output. The member name will be present, but the
  8587  // value will be replaced with "sensitive".
  8588  func (s ExternalWorkflowExecutionSignaledEventAttributes) String() string {
  8589  	return awsutil.Prettify(s)
  8590  }
  8591  
  8592  // GoString returns the string representation.
  8593  //
  8594  // API parameter values that are decorated as "sensitive" in the API will not
  8595  // be included in the string output. The member name will be present, but the
  8596  // value will be replaced with "sensitive".
  8597  func (s ExternalWorkflowExecutionSignaledEventAttributes) GoString() string {
  8598  	return s.String()
  8599  }
  8600  
  8601  // SetInitiatedEventId sets the InitiatedEventId field's value.
  8602  func (s *ExternalWorkflowExecutionSignaledEventAttributes) SetInitiatedEventId(v int64) *ExternalWorkflowExecutionSignaledEventAttributes {
  8603  	s.InitiatedEventId = &v
  8604  	return s
  8605  }
  8606  
  8607  // SetWorkflowExecution sets the WorkflowExecution field's value.
  8608  func (s *ExternalWorkflowExecutionSignaledEventAttributes) SetWorkflowExecution(v *WorkflowExecution) *ExternalWorkflowExecutionSignaledEventAttributes {
  8609  	s.WorkflowExecution = v
  8610  	return s
  8611  }
  8612  
  8613  // Provides the details of the FailWorkflowExecution decision.
  8614  //
  8615  // Access Control
  8616  //
  8617  // You can use IAM policies to control this decision's access to Amazon SWF
  8618  // resources as follows:
  8619  //
  8620  //    * Use a Resource element with the domain name to limit the action to only
  8621  //    specified domains.
  8622  //
  8623  //    * Use an Action element to allow or deny permission to call this action.
  8624  //
  8625  //    * You cannot use an IAM policy to constrain this action's parameters.
  8626  //
  8627  // If the caller doesn't have sufficient permissions to invoke the action, or
  8628  // the parameter values fall outside the specified constraints, the action fails.
  8629  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
  8630  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
  8631  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  8632  // in the Amazon SWF Developer Guide.
  8633  type FailWorkflowExecutionDecisionAttributes struct {
  8634  	_ struct{} `type:"structure"`
  8635  
  8636  	// Details of the failure.
  8637  	Details *string `locationName:"details" type:"string"`
  8638  
  8639  	// A descriptive reason for the failure that may help in diagnostics.
  8640  	Reason *string `locationName:"reason" type:"string"`
  8641  }
  8642  
  8643  // String returns the string representation.
  8644  //
  8645  // API parameter values that are decorated as "sensitive" in the API will not
  8646  // be included in the string output. The member name will be present, but the
  8647  // value will be replaced with "sensitive".
  8648  func (s FailWorkflowExecutionDecisionAttributes) String() string {
  8649  	return awsutil.Prettify(s)
  8650  }
  8651  
  8652  // GoString returns the string representation.
  8653  //
  8654  // API parameter values that are decorated as "sensitive" in the API will not
  8655  // be included in the string output. The member name will be present, but the
  8656  // value will be replaced with "sensitive".
  8657  func (s FailWorkflowExecutionDecisionAttributes) GoString() string {
  8658  	return s.String()
  8659  }
  8660  
  8661  // SetDetails sets the Details field's value.
  8662  func (s *FailWorkflowExecutionDecisionAttributes) SetDetails(v string) *FailWorkflowExecutionDecisionAttributes {
  8663  	s.Details = &v
  8664  	return s
  8665  }
  8666  
  8667  // SetReason sets the Reason field's value.
  8668  func (s *FailWorkflowExecutionDecisionAttributes) SetReason(v string) *FailWorkflowExecutionDecisionAttributes {
  8669  	s.Reason = &v
  8670  	return s
  8671  }
  8672  
  8673  // Provides the details of the FailWorkflowExecutionFailed event.
  8674  type FailWorkflowExecutionFailedEventAttributes struct {
  8675  	_ struct{} `type:"structure"`
  8676  
  8677  	// The cause of the failure. This information is generated by the system and
  8678  	// can be useful for diagnostic purposes.
  8679  	//
  8680  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
  8681  	// lacked sufficient permissions. For details and example IAM policies, see
  8682  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
  8683  	// in the Amazon SWF Developer Guide.
  8684  	//
  8685  	// Cause is a required field
  8686  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"FailWorkflowExecutionFailedCause"`
  8687  
  8688  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
  8689  	// that resulted in the FailWorkflowExecution decision to fail this execution.
  8690  	// This information can be useful for diagnosing problems by tracing back the
  8691  	// chain of events leading up to this event.
  8692  	//
  8693  	// DecisionTaskCompletedEventId is a required field
  8694  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  8695  }
  8696  
  8697  // String returns the string representation.
  8698  //
  8699  // API parameter values that are decorated as "sensitive" in the API will not
  8700  // be included in the string output. The member name will be present, but the
  8701  // value will be replaced with "sensitive".
  8702  func (s FailWorkflowExecutionFailedEventAttributes) String() string {
  8703  	return awsutil.Prettify(s)
  8704  }
  8705  
  8706  // GoString returns the string representation.
  8707  //
  8708  // API parameter values that are decorated as "sensitive" in the API will not
  8709  // be included in the string output. The member name will be present, but the
  8710  // value will be replaced with "sensitive".
  8711  func (s FailWorkflowExecutionFailedEventAttributes) GoString() string {
  8712  	return s.String()
  8713  }
  8714  
  8715  // SetCause sets the Cause field's value.
  8716  func (s *FailWorkflowExecutionFailedEventAttributes) SetCause(v string) *FailWorkflowExecutionFailedEventAttributes {
  8717  	s.Cause = &v
  8718  	return s
  8719  }
  8720  
  8721  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  8722  func (s *FailWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *FailWorkflowExecutionFailedEventAttributes {
  8723  	s.DecisionTaskCompletedEventId = &v
  8724  	return s
  8725  }
  8726  
  8727  type GetWorkflowExecutionHistoryInput struct {
  8728  	_ struct{} `type:"structure"`
  8729  
  8730  	// The name of the domain containing the workflow execution.
  8731  	//
  8732  	// Domain is a required field
  8733  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
  8734  
  8735  	// Specifies the workflow execution for which to return the history.
  8736  	//
  8737  	// Execution is a required field
  8738  	Execution *WorkflowExecution `locationName:"execution" type:"structure" required:"true"`
  8739  
  8740  	// The maximum number of results that are returned per call. Use nextPageToken
  8741  	// to obtain further pages of results.
  8742  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
  8743  
  8744  	// If NextPageToken is returned there are more results available. The value
  8745  	// of NextPageToken is a unique pagination token for each page. Make the call
  8746  	// again using the returned token to retrieve the next page. Keep all other
  8747  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
  8748  	// an expired pagination token will return a 400 error: "Specified token has
  8749  	// exceeded its maximum lifetime".
  8750  	//
  8751  	// The configured maximumPageSize determines how many results can be returned
  8752  	// in a single call.
  8753  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
  8754  
  8755  	// When set to true, returns the events in reverse order. By default the results
  8756  	// are returned in ascending order of the eventTimeStamp of the events.
  8757  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
  8758  }
  8759  
  8760  // String returns the string representation.
  8761  //
  8762  // API parameter values that are decorated as "sensitive" in the API will not
  8763  // be included in the string output. The member name will be present, but the
  8764  // value will be replaced with "sensitive".
  8765  func (s GetWorkflowExecutionHistoryInput) String() string {
  8766  	return awsutil.Prettify(s)
  8767  }
  8768  
  8769  // GoString returns the string representation.
  8770  //
  8771  // API parameter values that are decorated as "sensitive" in the API will not
  8772  // be included in the string output. The member name will be present, but the
  8773  // value will be replaced with "sensitive".
  8774  func (s GetWorkflowExecutionHistoryInput) GoString() string {
  8775  	return s.String()
  8776  }
  8777  
  8778  // Validate inspects the fields of the type to determine if they are valid.
  8779  func (s *GetWorkflowExecutionHistoryInput) Validate() error {
  8780  	invalidParams := request.ErrInvalidParams{Context: "GetWorkflowExecutionHistoryInput"}
  8781  	if s.Domain == nil {
  8782  		invalidParams.Add(request.NewErrParamRequired("Domain"))
  8783  	}
  8784  	if s.Domain != nil && len(*s.Domain) < 1 {
  8785  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
  8786  	}
  8787  	if s.Execution == nil {
  8788  		invalidParams.Add(request.NewErrParamRequired("Execution"))
  8789  	}
  8790  	if s.Execution != nil {
  8791  		if err := s.Execution.Validate(); err != nil {
  8792  			invalidParams.AddNested("Execution", err.(request.ErrInvalidParams))
  8793  		}
  8794  	}
  8795  
  8796  	if invalidParams.Len() > 0 {
  8797  		return invalidParams
  8798  	}
  8799  	return nil
  8800  }
  8801  
  8802  // SetDomain sets the Domain field's value.
  8803  func (s *GetWorkflowExecutionHistoryInput) SetDomain(v string) *GetWorkflowExecutionHistoryInput {
  8804  	s.Domain = &v
  8805  	return s
  8806  }
  8807  
  8808  // SetExecution sets the Execution field's value.
  8809  func (s *GetWorkflowExecutionHistoryInput) SetExecution(v *WorkflowExecution) *GetWorkflowExecutionHistoryInput {
  8810  	s.Execution = v
  8811  	return s
  8812  }
  8813  
  8814  // SetMaximumPageSize sets the MaximumPageSize field's value.
  8815  func (s *GetWorkflowExecutionHistoryInput) SetMaximumPageSize(v int64) *GetWorkflowExecutionHistoryInput {
  8816  	s.MaximumPageSize = &v
  8817  	return s
  8818  }
  8819  
  8820  // SetNextPageToken sets the NextPageToken field's value.
  8821  func (s *GetWorkflowExecutionHistoryInput) SetNextPageToken(v string) *GetWorkflowExecutionHistoryInput {
  8822  	s.NextPageToken = &v
  8823  	return s
  8824  }
  8825  
  8826  // SetReverseOrder sets the ReverseOrder field's value.
  8827  func (s *GetWorkflowExecutionHistoryInput) SetReverseOrder(v bool) *GetWorkflowExecutionHistoryInput {
  8828  	s.ReverseOrder = &v
  8829  	return s
  8830  }
  8831  
  8832  // Paginated representation of a workflow history for a workflow execution.
  8833  // This is the up to date, complete and authoritative record of the events related
  8834  // to all tasks and events in the life of the workflow execution.
  8835  type GetWorkflowExecutionHistoryOutput struct {
  8836  	_ struct{} `type:"structure"`
  8837  
  8838  	// The list of history events.
  8839  	//
  8840  	// Events is a required field
  8841  	Events []*HistoryEvent `locationName:"events" type:"list" required:"true"`
  8842  
  8843  	// If a NextPageToken was returned by a previous call, there are more results
  8844  	// available. To retrieve the next page of results, make the call again using
  8845  	// the returned token in nextPageToken. Keep all other arguments unchanged.
  8846  	//
  8847  	// The configured maximumPageSize determines how many results can be returned
  8848  	// in a single call.
  8849  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
  8850  }
  8851  
  8852  // String returns the string representation.
  8853  //
  8854  // API parameter values that are decorated as "sensitive" in the API will not
  8855  // be included in the string output. The member name will be present, but the
  8856  // value will be replaced with "sensitive".
  8857  func (s GetWorkflowExecutionHistoryOutput) String() string {
  8858  	return awsutil.Prettify(s)
  8859  }
  8860  
  8861  // GoString returns the string representation.
  8862  //
  8863  // API parameter values that are decorated as "sensitive" in the API will not
  8864  // be included in the string output. The member name will be present, but the
  8865  // value will be replaced with "sensitive".
  8866  func (s GetWorkflowExecutionHistoryOutput) GoString() string {
  8867  	return s.String()
  8868  }
  8869  
  8870  // SetEvents sets the Events field's value.
  8871  func (s *GetWorkflowExecutionHistoryOutput) SetEvents(v []*HistoryEvent) *GetWorkflowExecutionHistoryOutput {
  8872  	s.Events = v
  8873  	return s
  8874  }
  8875  
  8876  // SetNextPageToken sets the NextPageToken field's value.
  8877  func (s *GetWorkflowExecutionHistoryOutput) SetNextPageToken(v string) *GetWorkflowExecutionHistoryOutput {
  8878  	s.NextPageToken = &v
  8879  	return s
  8880  }
  8881  
  8882  // Event within a workflow execution. A history event can be one of these types:
  8883  //
  8884  //    * ActivityTaskCancelRequested – A RequestCancelActivityTask decision
  8885  //    was received by the system.
  8886  //
  8887  //    * ActivityTaskCanceled – The activity task was successfully canceled.
  8888  //
  8889  //    * ActivityTaskCompleted – An activity worker successfully completed
  8890  //    an activity task by calling RespondActivityTaskCompleted.
  8891  //
  8892  //    * ActivityTaskFailed – An activity worker failed an activity task by
  8893  //    calling RespondActivityTaskFailed.
  8894  //
  8895  //    * ActivityTaskScheduled – An activity task was scheduled for execution.
  8896  //
  8897  //    * ActivityTaskStarted – The scheduled activity task was dispatched to
  8898  //    a worker.
  8899  //
  8900  //    * ActivityTaskTimedOut – The activity task timed out.
  8901  //
  8902  //    * CancelTimerFailed – Failed to process CancelTimer decision. This happens
  8903  //    when the decision isn't configured properly, for example no timer exists
  8904  //    with the specified timer Id.
  8905  //
  8906  //    * CancelWorkflowExecutionFailed – A request to cancel a workflow execution
  8907  //    failed.
  8908  //
  8909  //    * ChildWorkflowExecutionCanceled – A child workflow execution, started
  8910  //    by this workflow execution, was canceled and closed.
  8911  //
  8912  //    * ChildWorkflowExecutionCompleted – A child workflow execution, started
  8913  //    by this workflow execution, completed successfully and was closed.
  8914  //
  8915  //    * ChildWorkflowExecutionFailed – A child workflow execution, started
  8916  //    by this workflow execution, failed to complete successfully and was closed.
  8917  //
  8918  //    * ChildWorkflowExecutionStarted – A child workflow execution was successfully
  8919  //    started.
  8920  //
  8921  //    * ChildWorkflowExecutionTerminated – A child workflow execution, started
  8922  //    by this workflow execution, was terminated.
  8923  //
  8924  //    * ChildWorkflowExecutionTimedOut – A child workflow execution, started
  8925  //    by this workflow execution, timed out and was closed.
  8926  //
  8927  //    * CompleteWorkflowExecutionFailed – The workflow execution failed to
  8928  //    complete.
  8929  //
  8930  //    * ContinueAsNewWorkflowExecutionFailed – The workflow execution failed
  8931  //    to complete after being continued as a new workflow execution.
  8932  //
  8933  //    * DecisionTaskCompleted – The decider successfully completed a decision
  8934  //    task by calling RespondDecisionTaskCompleted.
  8935  //
  8936  //    * DecisionTaskScheduled – A decision task was scheduled for the workflow
  8937  //    execution.
  8938  //
  8939  //    * DecisionTaskStarted – The decision task was dispatched to a decider.
  8940  //
  8941  //    * DecisionTaskTimedOut – The decision task timed out.
  8942  //
  8943  //    * ExternalWorkflowExecutionCancelRequested – Request to cancel an external
  8944  //    workflow execution was successfully delivered to the target execution.
  8945  //
  8946  //    * ExternalWorkflowExecutionSignaled – A signal, requested by this workflow
  8947  //    execution, was successfully delivered to the target external workflow
  8948  //    execution.
  8949  //
  8950  //    * FailWorkflowExecutionFailed – A request to mark a workflow execution
  8951  //    as failed, itself failed.
  8952  //
  8953  //    * MarkerRecorded – A marker was recorded in the workflow history as
  8954  //    the result of a RecordMarker decision.
  8955  //
  8956  //    * RecordMarkerFailed – A RecordMarker decision was returned as failed.
  8957  //
  8958  //    * RequestCancelActivityTaskFailed – Failed to process RequestCancelActivityTask
  8959  //    decision. This happens when the decision isn't configured properly.
  8960  //
  8961  //    * RequestCancelExternalWorkflowExecutionFailed – Request to cancel an
  8962  //    external workflow execution failed.
  8963  //
  8964  //    * RequestCancelExternalWorkflowExecutionInitiated – A request was made
  8965  //    to request the cancellation of an external workflow execution.
  8966  //
  8967  //    * ScheduleActivityTaskFailed – Failed to process ScheduleActivityTask
  8968  //    decision. This happens when the decision isn't configured properly, for
  8969  //    example the activity type specified isn't registered.
  8970  //
  8971  //    * SignalExternalWorkflowExecutionFailed – The request to signal an external
  8972  //    workflow execution failed.
  8973  //
  8974  //    * SignalExternalWorkflowExecutionInitiated – A request to signal an
  8975  //    external workflow was made.
  8976  //
  8977  //    * StartActivityTaskFailed – A scheduled activity task failed to start.
  8978  //
  8979  //    * StartChildWorkflowExecutionFailed – Failed to process StartChildWorkflowExecution
  8980  //    decision. This happens when the decision isn't configured properly, for
  8981  //    example the workflow type specified isn't registered.
  8982  //
  8983  //    * StartChildWorkflowExecutionInitiated – A request was made to start
  8984  //    a child workflow execution.
  8985  //
  8986  //    * StartTimerFailed – Failed to process StartTimer decision. This happens
  8987  //    when the decision isn't configured properly, for example a timer already
  8988  //    exists with the specified timer Id.
  8989  //
  8990  //    * TimerCanceled – A timer, previously started for this workflow execution,
  8991  //    was successfully canceled.
  8992  //
  8993  //    * TimerFired – A timer, previously started for this workflow execution,
  8994  //    fired.
  8995  //
  8996  //    * TimerStarted – A timer was started for the workflow execution due
  8997  //    to a StartTimer decision.
  8998  //
  8999  //    * WorkflowExecutionCancelRequested – A request to cancel this workflow
  9000  //    execution was made.
  9001  //
  9002  //    * WorkflowExecutionCanceled – The workflow execution was successfully
  9003  //    canceled and closed.
  9004  //
  9005  //    * WorkflowExecutionCompleted – The workflow execution was closed due
  9006  //    to successful completion.
  9007  //
  9008  //    * WorkflowExecutionContinuedAsNew – The workflow execution was closed
  9009  //    and a new execution of the same type was created with the same workflowId.
  9010  //
  9011  //    * WorkflowExecutionFailed – The workflow execution closed due to a failure.
  9012  //
  9013  //    * WorkflowExecutionSignaled – An external signal was received for the
  9014  //    workflow execution.
  9015  //
  9016  //    * WorkflowExecutionStarted – The workflow execution was started.
  9017  //
  9018  //    * WorkflowExecutionTerminated – The workflow execution was terminated.
  9019  //
  9020  //    * WorkflowExecutionTimedOut – The workflow execution was closed because
  9021  //    a time out was exceeded.
  9022  type HistoryEvent struct {
  9023  	_ struct{} `type:"structure"`
  9024  
  9025  	// If the event is of type ActivityTaskcancelRequested then this member is set
  9026  	// and provides detailed information about the event. It isn't set for other
  9027  	// event types.
  9028  	ActivityTaskCancelRequestedEventAttributes *ActivityTaskCancelRequestedEventAttributes `locationName:"activityTaskCancelRequestedEventAttributes" type:"structure"`
  9029  
  9030  	// If the event is of type ActivityTaskCanceled then this member is set and
  9031  	// provides detailed information about the event. It isn't set for other event
  9032  	// types.
  9033  	ActivityTaskCanceledEventAttributes *ActivityTaskCanceledEventAttributes `locationName:"activityTaskCanceledEventAttributes" type:"structure"`
  9034  
  9035  	// If the event is of type ActivityTaskCompleted then this member is set and
  9036  	// provides detailed information about the event. It isn't set for other event
  9037  	// types.
  9038  	ActivityTaskCompletedEventAttributes *ActivityTaskCompletedEventAttributes `locationName:"activityTaskCompletedEventAttributes" type:"structure"`
  9039  
  9040  	// If the event is of type ActivityTaskFailed then this member is set and provides
  9041  	// detailed information about the event. It isn't set for other event types.
  9042  	ActivityTaskFailedEventAttributes *ActivityTaskFailedEventAttributes `locationName:"activityTaskFailedEventAttributes" type:"structure"`
  9043  
  9044  	// If the event is of type ActivityTaskScheduled then this member is set and
  9045  	// provides detailed information about the event. It isn't set for other event
  9046  	// types.
  9047  	ActivityTaskScheduledEventAttributes *ActivityTaskScheduledEventAttributes `locationName:"activityTaskScheduledEventAttributes" type:"structure"`
  9048  
  9049  	// If the event is of type ActivityTaskStarted then this member is set and provides
  9050  	// detailed information about the event. It isn't set for other event types.
  9051  	ActivityTaskStartedEventAttributes *ActivityTaskStartedEventAttributes `locationName:"activityTaskStartedEventAttributes" type:"structure"`
  9052  
  9053  	// If the event is of type ActivityTaskTimedOut then this member is set and
  9054  	// provides detailed information about the event. It isn't set for other event
  9055  	// types.
  9056  	ActivityTaskTimedOutEventAttributes *ActivityTaskTimedOutEventAttributes `locationName:"activityTaskTimedOutEventAttributes" type:"structure"`
  9057  
  9058  	// If the event is of type CancelTimerFailed then this member is set and provides
  9059  	// detailed information about the event. It isn't set for other event types.
  9060  	CancelTimerFailedEventAttributes *CancelTimerFailedEventAttributes `locationName:"cancelTimerFailedEventAttributes" type:"structure"`
  9061  
  9062  	// If the event is of type CancelWorkflowExecutionFailed then this member is
  9063  	// set and provides detailed information about the event. It isn't set for other
  9064  	// event types.
  9065  	CancelWorkflowExecutionFailedEventAttributes *CancelWorkflowExecutionFailedEventAttributes `locationName:"cancelWorkflowExecutionFailedEventAttributes" type:"structure"`
  9066  
  9067  	// If the event is of type ChildWorkflowExecutionCanceled then this member is
  9068  	// set and provides detailed information about the event. It isn't set for other
  9069  	// event types.
  9070  	ChildWorkflowExecutionCanceledEventAttributes *ChildWorkflowExecutionCanceledEventAttributes `locationName:"childWorkflowExecutionCanceledEventAttributes" type:"structure"`
  9071  
  9072  	// If the event is of type ChildWorkflowExecutionCompleted then this member
  9073  	// is set and provides detailed information about the event. It isn't set for
  9074  	// other event types.
  9075  	ChildWorkflowExecutionCompletedEventAttributes *ChildWorkflowExecutionCompletedEventAttributes `locationName:"childWorkflowExecutionCompletedEventAttributes" type:"structure"`
  9076  
  9077  	// If the event is of type ChildWorkflowExecutionFailed then this member is
  9078  	// set and provides detailed information about the event. It isn't set for other
  9079  	// event types.
  9080  	ChildWorkflowExecutionFailedEventAttributes *ChildWorkflowExecutionFailedEventAttributes `locationName:"childWorkflowExecutionFailedEventAttributes" type:"structure"`
  9081  
  9082  	// If the event is of type ChildWorkflowExecutionStarted then this member is
  9083  	// set and provides detailed information about the event. It isn't set for other
  9084  	// event types.
  9085  	ChildWorkflowExecutionStartedEventAttributes *ChildWorkflowExecutionStartedEventAttributes `locationName:"childWorkflowExecutionStartedEventAttributes" type:"structure"`
  9086  
  9087  	// If the event is of type ChildWorkflowExecutionTerminated then this member
  9088  	// is set and provides detailed information about the event. It isn't set for
  9089  	// other event types.
  9090  	ChildWorkflowExecutionTerminatedEventAttributes *ChildWorkflowExecutionTerminatedEventAttributes `locationName:"childWorkflowExecutionTerminatedEventAttributes" type:"structure"`
  9091  
  9092  	// If the event is of type ChildWorkflowExecutionTimedOut then this member is
  9093  	// set and provides detailed information about the event. It isn't set for other
  9094  	// event types.
  9095  	ChildWorkflowExecutionTimedOutEventAttributes *ChildWorkflowExecutionTimedOutEventAttributes `locationName:"childWorkflowExecutionTimedOutEventAttributes" type:"structure"`
  9096  
  9097  	// If the event is of type CompleteWorkflowExecutionFailed then this member
  9098  	// is set and provides detailed information about the event. It isn't set for
  9099  	// other event types.
  9100  	CompleteWorkflowExecutionFailedEventAttributes *CompleteWorkflowExecutionFailedEventAttributes `locationName:"completeWorkflowExecutionFailedEventAttributes" type:"structure"`
  9101  
  9102  	// If the event is of type ContinueAsNewWorkflowExecutionFailed then this member
  9103  	// is set and provides detailed information about the event. It isn't set for
  9104  	// other event types.
  9105  	ContinueAsNewWorkflowExecutionFailedEventAttributes *ContinueAsNewWorkflowExecutionFailedEventAttributes `locationName:"continueAsNewWorkflowExecutionFailedEventAttributes" type:"structure"`
  9106  
  9107  	// If the event is of type DecisionTaskCompleted then this member is set and
  9108  	// provides detailed information about the event. It isn't set for other event
  9109  	// types.
  9110  	DecisionTaskCompletedEventAttributes *DecisionTaskCompletedEventAttributes `locationName:"decisionTaskCompletedEventAttributes" type:"structure"`
  9111  
  9112  	// If the event is of type DecisionTaskScheduled then this member is set and
  9113  	// provides detailed information about the event. It isn't set for other event
  9114  	// types.
  9115  	DecisionTaskScheduledEventAttributes *DecisionTaskScheduledEventAttributes `locationName:"decisionTaskScheduledEventAttributes" type:"structure"`
  9116  
  9117  	// If the event is of type DecisionTaskStarted then this member is set and provides
  9118  	// detailed information about the event. It isn't set for other event types.
  9119  	DecisionTaskStartedEventAttributes *DecisionTaskStartedEventAttributes `locationName:"decisionTaskStartedEventAttributes" type:"structure"`
  9120  
  9121  	// If the event is of type DecisionTaskTimedOut then this member is set and
  9122  	// provides detailed information about the event. It isn't set for other event
  9123  	// types.
  9124  	DecisionTaskTimedOutEventAttributes *DecisionTaskTimedOutEventAttributes `locationName:"decisionTaskTimedOutEventAttributes" type:"structure"`
  9125  
  9126  	// The system generated ID of the event. This ID uniquely identifies the event
  9127  	// with in the workflow execution history.
  9128  	//
  9129  	// EventId is a required field
  9130  	EventId *int64 `locationName:"eventId" type:"long" required:"true"`
  9131  
  9132  	// The date and time when the event occurred.
  9133  	//
  9134  	// EventTimestamp is a required field
  9135  	EventTimestamp *time.Time `locationName:"eventTimestamp" type:"timestamp" required:"true"`
  9136  
  9137  	// The type of the history event.
  9138  	//
  9139  	// EventType is a required field
  9140  	EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  9141  
  9142  	// If the event is of type ExternalWorkflowExecutionCancelRequested then this
  9143  	// member is set and provides detailed information about the event. It isn't
  9144  	// set for other event types.
  9145  	ExternalWorkflowExecutionCancelRequestedEventAttributes *ExternalWorkflowExecutionCancelRequestedEventAttributes `locationName:"externalWorkflowExecutionCancelRequestedEventAttributes" type:"structure"`
  9146  
  9147  	// If the event is of type ExternalWorkflowExecutionSignaled then this member
  9148  	// is set and provides detailed information about the event. It isn't set for
  9149  	// other event types.
  9150  	ExternalWorkflowExecutionSignaledEventAttributes *ExternalWorkflowExecutionSignaledEventAttributes `locationName:"externalWorkflowExecutionSignaledEventAttributes" type:"structure"`
  9151  
  9152  	// If the event is of type FailWorkflowExecutionFailed then this member is set
  9153  	// and provides detailed information about the event. It isn't set for other
  9154  	// event types.
  9155  	FailWorkflowExecutionFailedEventAttributes *FailWorkflowExecutionFailedEventAttributes `locationName:"failWorkflowExecutionFailedEventAttributes" type:"structure"`
  9156  
  9157  	// Provides the details of the LambdaFunctionCompleted event. It isn't set for
  9158  	// other event types.
  9159  	LambdaFunctionCompletedEventAttributes *LambdaFunctionCompletedEventAttributes `locationName:"lambdaFunctionCompletedEventAttributes" type:"structure"`
  9160  
  9161  	// Provides the details of the LambdaFunctionFailed event. It isn't set for
  9162  	// other event types.
  9163  	LambdaFunctionFailedEventAttributes *LambdaFunctionFailedEventAttributes `locationName:"lambdaFunctionFailedEventAttributes" type:"structure"`
  9164  
  9165  	// Provides the details of the LambdaFunctionScheduled event. It isn't set for
  9166  	// other event types.
  9167  	LambdaFunctionScheduledEventAttributes *LambdaFunctionScheduledEventAttributes `locationName:"lambdaFunctionScheduledEventAttributes" type:"structure"`
  9168  
  9169  	// Provides the details of the LambdaFunctionStarted event. It isn't set for
  9170  	// other event types.
  9171  	LambdaFunctionStartedEventAttributes *LambdaFunctionStartedEventAttributes `locationName:"lambdaFunctionStartedEventAttributes" type:"structure"`
  9172  
  9173  	// Provides the details of the LambdaFunctionTimedOut event. It isn't set for
  9174  	// other event types.
  9175  	LambdaFunctionTimedOutEventAttributes *LambdaFunctionTimedOutEventAttributes `locationName:"lambdaFunctionTimedOutEventAttributes" type:"structure"`
  9176  
  9177  	// If the event is of type MarkerRecorded then this member is set and provides
  9178  	// detailed information about the event. It isn't set for other event types.
  9179  	MarkerRecordedEventAttributes *MarkerRecordedEventAttributes `locationName:"markerRecordedEventAttributes" type:"structure"`
  9180  
  9181  	// If the event is of type DecisionTaskFailed then this member is set and provides
  9182  	// detailed information about the event. It isn't set for other event types.
  9183  	RecordMarkerFailedEventAttributes *RecordMarkerFailedEventAttributes `locationName:"recordMarkerFailedEventAttributes" type:"structure"`
  9184  
  9185  	// If the event is of type RequestCancelActivityTaskFailed then this member
  9186  	// is set and provides detailed information about the event. It isn't set for
  9187  	// other event types.
  9188  	RequestCancelActivityTaskFailedEventAttributes *RequestCancelActivityTaskFailedEventAttributes `locationName:"requestCancelActivityTaskFailedEventAttributes" type:"structure"`
  9189  
  9190  	// If the event is of type RequestCancelExternalWorkflowExecutionFailed then
  9191  	// this member is set and provides detailed information about the event. It
  9192  	// isn't set for other event types.
  9193  	RequestCancelExternalWorkflowExecutionFailedEventAttributes *RequestCancelExternalWorkflowExecutionFailedEventAttributes `locationName:"requestCancelExternalWorkflowExecutionFailedEventAttributes" type:"structure"`
  9194  
  9195  	// If the event is of type RequestCancelExternalWorkflowExecutionInitiated then
  9196  	// this member is set and provides detailed information about the event. It
  9197  	// isn't set for other event types.
  9198  	RequestCancelExternalWorkflowExecutionInitiatedEventAttributes *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes `locationName:"requestCancelExternalWorkflowExecutionInitiatedEventAttributes" type:"structure"`
  9199  
  9200  	// If the event is of type ScheduleActivityTaskFailed then this member is set
  9201  	// and provides detailed information about the event. It isn't set for other
  9202  	// event types.
  9203  	ScheduleActivityTaskFailedEventAttributes *ScheduleActivityTaskFailedEventAttributes `locationName:"scheduleActivityTaskFailedEventAttributes" type:"structure"`
  9204  
  9205  	// Provides the details of the ScheduleLambdaFunctionFailed event. It isn't
  9206  	// set for other event types.
  9207  	ScheduleLambdaFunctionFailedEventAttributes *ScheduleLambdaFunctionFailedEventAttributes `locationName:"scheduleLambdaFunctionFailedEventAttributes" type:"structure"`
  9208  
  9209  	// If the event is of type SignalExternalWorkflowExecutionFailed then this member
  9210  	// is set and provides detailed information about the event. It isn't set for
  9211  	// other event types.
  9212  	SignalExternalWorkflowExecutionFailedEventAttributes *SignalExternalWorkflowExecutionFailedEventAttributes `locationName:"signalExternalWorkflowExecutionFailedEventAttributes" type:"structure"`
  9213  
  9214  	// If the event is of type SignalExternalWorkflowExecutionInitiated then this
  9215  	// member is set and provides detailed information about the event. It isn't
  9216  	// set for other event types.
  9217  	SignalExternalWorkflowExecutionInitiatedEventAttributes *SignalExternalWorkflowExecutionInitiatedEventAttributes `locationName:"signalExternalWorkflowExecutionInitiatedEventAttributes" type:"structure"`
  9218  
  9219  	// If the event is of type StartChildWorkflowExecutionFailed then this member
  9220  	// is set and provides detailed information about the event. It isn't set for
  9221  	// other event types.
  9222  	StartChildWorkflowExecutionFailedEventAttributes *StartChildWorkflowExecutionFailedEventAttributes `locationName:"startChildWorkflowExecutionFailedEventAttributes" type:"structure"`
  9223  
  9224  	// If the event is of type StartChildWorkflowExecutionInitiated then this member
  9225  	// is set and provides detailed information about the event. It isn't set for
  9226  	// other event types.
  9227  	StartChildWorkflowExecutionInitiatedEventAttributes *StartChildWorkflowExecutionInitiatedEventAttributes `locationName:"startChildWorkflowExecutionInitiatedEventAttributes" type:"structure"`
  9228  
  9229  	// Provides the details of the StartLambdaFunctionFailed event. It isn't set
  9230  	// for other event types.
  9231  	StartLambdaFunctionFailedEventAttributes *StartLambdaFunctionFailedEventAttributes `locationName:"startLambdaFunctionFailedEventAttributes" type:"structure"`
  9232  
  9233  	// If the event is of type StartTimerFailed then this member is set and provides
  9234  	// detailed information about the event. It isn't set for other event types.
  9235  	StartTimerFailedEventAttributes *StartTimerFailedEventAttributes `locationName:"startTimerFailedEventAttributes" type:"structure"`
  9236  
  9237  	// If the event is of type TimerCanceled then this member is set and provides
  9238  	// detailed information about the event. It isn't set for other event types.
  9239  	TimerCanceledEventAttributes *TimerCanceledEventAttributes `locationName:"timerCanceledEventAttributes" type:"structure"`
  9240  
  9241  	// If the event is of type TimerFired then this member is set and provides detailed
  9242  	// information about the event. It isn't set for other event types.
  9243  	TimerFiredEventAttributes *TimerFiredEventAttributes `locationName:"timerFiredEventAttributes" type:"structure"`
  9244  
  9245  	// If the event is of type TimerStarted then this member is set and provides
  9246  	// detailed information about the event. It isn't set for other event types.
  9247  	TimerStartedEventAttributes *TimerStartedEventAttributes `locationName:"timerStartedEventAttributes" type:"structure"`
  9248  
  9249  	// If the event is of type WorkflowExecutionCancelRequested then this member
  9250  	// is set and provides detailed information about the event. It isn't set for
  9251  	// other event types.
  9252  	WorkflowExecutionCancelRequestedEventAttributes *WorkflowExecutionCancelRequestedEventAttributes `locationName:"workflowExecutionCancelRequestedEventAttributes" type:"structure"`
  9253  
  9254  	// If the event is of type WorkflowExecutionCanceled then this member is set
  9255  	// and provides detailed information about the event. It isn't set for other
  9256  	// event types.
  9257  	WorkflowExecutionCanceledEventAttributes *WorkflowExecutionCanceledEventAttributes `locationName:"workflowExecutionCanceledEventAttributes" type:"structure"`
  9258  
  9259  	// If the event is of type WorkflowExecutionCompleted then this member is set
  9260  	// and provides detailed information about the event. It isn't set for other
  9261  	// event types.
  9262  	WorkflowExecutionCompletedEventAttributes *WorkflowExecutionCompletedEventAttributes `locationName:"workflowExecutionCompletedEventAttributes" type:"structure"`
  9263  
  9264  	// If the event is of type WorkflowExecutionContinuedAsNew then this member
  9265  	// is set and provides detailed information about the event. It isn't set for
  9266  	// other event types.
  9267  	WorkflowExecutionContinuedAsNewEventAttributes *WorkflowExecutionContinuedAsNewEventAttributes `locationName:"workflowExecutionContinuedAsNewEventAttributes" type:"structure"`
  9268  
  9269  	// If the event is of type WorkflowExecutionFailed then this member is set and
  9270  	// provides detailed information about the event. It isn't set for other event
  9271  	// types.
  9272  	WorkflowExecutionFailedEventAttributes *WorkflowExecutionFailedEventAttributes `locationName:"workflowExecutionFailedEventAttributes" type:"structure"`
  9273  
  9274  	// If the event is of type WorkflowExecutionSignaled then this member is set
  9275  	// and provides detailed information about the event. It isn't set for other
  9276  	// event types.
  9277  	WorkflowExecutionSignaledEventAttributes *WorkflowExecutionSignaledEventAttributes `locationName:"workflowExecutionSignaledEventAttributes" type:"structure"`
  9278  
  9279  	// If the event is of type WorkflowExecutionStarted then this member is set
  9280  	// and provides detailed information about the event. It isn't set for other
  9281  	// event types.
  9282  	WorkflowExecutionStartedEventAttributes *WorkflowExecutionStartedEventAttributes `locationName:"workflowExecutionStartedEventAttributes" type:"structure"`
  9283  
  9284  	// If the event is of type WorkflowExecutionTerminated then this member is set
  9285  	// and provides detailed information about the event. It isn't set for other
  9286  	// event types.
  9287  	WorkflowExecutionTerminatedEventAttributes *WorkflowExecutionTerminatedEventAttributes `locationName:"workflowExecutionTerminatedEventAttributes" type:"structure"`
  9288  
  9289  	// If the event is of type WorkflowExecutionTimedOut then this member is set
  9290  	// and provides detailed information about the event. It isn't set for other
  9291  	// event types.
  9292  	WorkflowExecutionTimedOutEventAttributes *WorkflowExecutionTimedOutEventAttributes `locationName:"workflowExecutionTimedOutEventAttributes" type:"structure"`
  9293  }
  9294  
  9295  // String returns the string representation.
  9296  //
  9297  // API parameter values that are decorated as "sensitive" in the API will not
  9298  // be included in the string output. The member name will be present, but the
  9299  // value will be replaced with "sensitive".
  9300  func (s HistoryEvent) String() string {
  9301  	return awsutil.Prettify(s)
  9302  }
  9303  
  9304  // GoString returns the string representation.
  9305  //
  9306  // API parameter values that are decorated as "sensitive" in the API will not
  9307  // be included in the string output. The member name will be present, but the
  9308  // value will be replaced with "sensitive".
  9309  func (s HistoryEvent) GoString() string {
  9310  	return s.String()
  9311  }
  9312  
  9313  // SetActivityTaskCancelRequestedEventAttributes sets the ActivityTaskCancelRequestedEventAttributes field's value.
  9314  func (s *HistoryEvent) SetActivityTaskCancelRequestedEventAttributes(v *ActivityTaskCancelRequestedEventAttributes) *HistoryEvent {
  9315  	s.ActivityTaskCancelRequestedEventAttributes = v
  9316  	return s
  9317  }
  9318  
  9319  // SetActivityTaskCanceledEventAttributes sets the ActivityTaskCanceledEventAttributes field's value.
  9320  func (s *HistoryEvent) SetActivityTaskCanceledEventAttributes(v *ActivityTaskCanceledEventAttributes) *HistoryEvent {
  9321  	s.ActivityTaskCanceledEventAttributes = v
  9322  	return s
  9323  }
  9324  
  9325  // SetActivityTaskCompletedEventAttributes sets the ActivityTaskCompletedEventAttributes field's value.
  9326  func (s *HistoryEvent) SetActivityTaskCompletedEventAttributes(v *ActivityTaskCompletedEventAttributes) *HistoryEvent {
  9327  	s.ActivityTaskCompletedEventAttributes = v
  9328  	return s
  9329  }
  9330  
  9331  // SetActivityTaskFailedEventAttributes sets the ActivityTaskFailedEventAttributes field's value.
  9332  func (s *HistoryEvent) SetActivityTaskFailedEventAttributes(v *ActivityTaskFailedEventAttributes) *HistoryEvent {
  9333  	s.ActivityTaskFailedEventAttributes = v
  9334  	return s
  9335  }
  9336  
  9337  // SetActivityTaskScheduledEventAttributes sets the ActivityTaskScheduledEventAttributes field's value.
  9338  func (s *HistoryEvent) SetActivityTaskScheduledEventAttributes(v *ActivityTaskScheduledEventAttributes) *HistoryEvent {
  9339  	s.ActivityTaskScheduledEventAttributes = v
  9340  	return s
  9341  }
  9342  
  9343  // SetActivityTaskStartedEventAttributes sets the ActivityTaskStartedEventAttributes field's value.
  9344  func (s *HistoryEvent) SetActivityTaskStartedEventAttributes(v *ActivityTaskStartedEventAttributes) *HistoryEvent {
  9345  	s.ActivityTaskStartedEventAttributes = v
  9346  	return s
  9347  }
  9348  
  9349  // SetActivityTaskTimedOutEventAttributes sets the ActivityTaskTimedOutEventAttributes field's value.
  9350  func (s *HistoryEvent) SetActivityTaskTimedOutEventAttributes(v *ActivityTaskTimedOutEventAttributes) *HistoryEvent {
  9351  	s.ActivityTaskTimedOutEventAttributes = v
  9352  	return s
  9353  }
  9354  
  9355  // SetCancelTimerFailedEventAttributes sets the CancelTimerFailedEventAttributes field's value.
  9356  func (s *HistoryEvent) SetCancelTimerFailedEventAttributes(v *CancelTimerFailedEventAttributes) *HistoryEvent {
  9357  	s.CancelTimerFailedEventAttributes = v
  9358  	return s
  9359  }
  9360  
  9361  // SetCancelWorkflowExecutionFailedEventAttributes sets the CancelWorkflowExecutionFailedEventAttributes field's value.
  9362  func (s *HistoryEvent) SetCancelWorkflowExecutionFailedEventAttributes(v *CancelWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9363  	s.CancelWorkflowExecutionFailedEventAttributes = v
  9364  	return s
  9365  }
  9366  
  9367  // SetChildWorkflowExecutionCanceledEventAttributes sets the ChildWorkflowExecutionCanceledEventAttributes field's value.
  9368  func (s *HistoryEvent) SetChildWorkflowExecutionCanceledEventAttributes(v *ChildWorkflowExecutionCanceledEventAttributes) *HistoryEvent {
  9369  	s.ChildWorkflowExecutionCanceledEventAttributes = v
  9370  	return s
  9371  }
  9372  
  9373  // SetChildWorkflowExecutionCompletedEventAttributes sets the ChildWorkflowExecutionCompletedEventAttributes field's value.
  9374  func (s *HistoryEvent) SetChildWorkflowExecutionCompletedEventAttributes(v *ChildWorkflowExecutionCompletedEventAttributes) *HistoryEvent {
  9375  	s.ChildWorkflowExecutionCompletedEventAttributes = v
  9376  	return s
  9377  }
  9378  
  9379  // SetChildWorkflowExecutionFailedEventAttributes sets the ChildWorkflowExecutionFailedEventAttributes field's value.
  9380  func (s *HistoryEvent) SetChildWorkflowExecutionFailedEventAttributes(v *ChildWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9381  	s.ChildWorkflowExecutionFailedEventAttributes = v
  9382  	return s
  9383  }
  9384  
  9385  // SetChildWorkflowExecutionStartedEventAttributes sets the ChildWorkflowExecutionStartedEventAttributes field's value.
  9386  func (s *HistoryEvent) SetChildWorkflowExecutionStartedEventAttributes(v *ChildWorkflowExecutionStartedEventAttributes) *HistoryEvent {
  9387  	s.ChildWorkflowExecutionStartedEventAttributes = v
  9388  	return s
  9389  }
  9390  
  9391  // SetChildWorkflowExecutionTerminatedEventAttributes sets the ChildWorkflowExecutionTerminatedEventAttributes field's value.
  9392  func (s *HistoryEvent) SetChildWorkflowExecutionTerminatedEventAttributes(v *ChildWorkflowExecutionTerminatedEventAttributes) *HistoryEvent {
  9393  	s.ChildWorkflowExecutionTerminatedEventAttributes = v
  9394  	return s
  9395  }
  9396  
  9397  // SetChildWorkflowExecutionTimedOutEventAttributes sets the ChildWorkflowExecutionTimedOutEventAttributes field's value.
  9398  func (s *HistoryEvent) SetChildWorkflowExecutionTimedOutEventAttributes(v *ChildWorkflowExecutionTimedOutEventAttributes) *HistoryEvent {
  9399  	s.ChildWorkflowExecutionTimedOutEventAttributes = v
  9400  	return s
  9401  }
  9402  
  9403  // SetCompleteWorkflowExecutionFailedEventAttributes sets the CompleteWorkflowExecutionFailedEventAttributes field's value.
  9404  func (s *HistoryEvent) SetCompleteWorkflowExecutionFailedEventAttributes(v *CompleteWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9405  	s.CompleteWorkflowExecutionFailedEventAttributes = v
  9406  	return s
  9407  }
  9408  
  9409  // SetContinueAsNewWorkflowExecutionFailedEventAttributes sets the ContinueAsNewWorkflowExecutionFailedEventAttributes field's value.
  9410  func (s *HistoryEvent) SetContinueAsNewWorkflowExecutionFailedEventAttributes(v *ContinueAsNewWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9411  	s.ContinueAsNewWorkflowExecutionFailedEventAttributes = v
  9412  	return s
  9413  }
  9414  
  9415  // SetDecisionTaskCompletedEventAttributes sets the DecisionTaskCompletedEventAttributes field's value.
  9416  func (s *HistoryEvent) SetDecisionTaskCompletedEventAttributes(v *DecisionTaskCompletedEventAttributes) *HistoryEvent {
  9417  	s.DecisionTaskCompletedEventAttributes = v
  9418  	return s
  9419  }
  9420  
  9421  // SetDecisionTaskScheduledEventAttributes sets the DecisionTaskScheduledEventAttributes field's value.
  9422  func (s *HistoryEvent) SetDecisionTaskScheduledEventAttributes(v *DecisionTaskScheduledEventAttributes) *HistoryEvent {
  9423  	s.DecisionTaskScheduledEventAttributes = v
  9424  	return s
  9425  }
  9426  
  9427  // SetDecisionTaskStartedEventAttributes sets the DecisionTaskStartedEventAttributes field's value.
  9428  func (s *HistoryEvent) SetDecisionTaskStartedEventAttributes(v *DecisionTaskStartedEventAttributes) *HistoryEvent {
  9429  	s.DecisionTaskStartedEventAttributes = v
  9430  	return s
  9431  }
  9432  
  9433  // SetDecisionTaskTimedOutEventAttributes sets the DecisionTaskTimedOutEventAttributes field's value.
  9434  func (s *HistoryEvent) SetDecisionTaskTimedOutEventAttributes(v *DecisionTaskTimedOutEventAttributes) *HistoryEvent {
  9435  	s.DecisionTaskTimedOutEventAttributes = v
  9436  	return s
  9437  }
  9438  
  9439  // SetEventId sets the EventId field's value.
  9440  func (s *HistoryEvent) SetEventId(v int64) *HistoryEvent {
  9441  	s.EventId = &v
  9442  	return s
  9443  }
  9444  
  9445  // SetEventTimestamp sets the EventTimestamp field's value.
  9446  func (s *HistoryEvent) SetEventTimestamp(v time.Time) *HistoryEvent {
  9447  	s.EventTimestamp = &v
  9448  	return s
  9449  }
  9450  
  9451  // SetEventType sets the EventType field's value.
  9452  func (s *HistoryEvent) SetEventType(v string) *HistoryEvent {
  9453  	s.EventType = &v
  9454  	return s
  9455  }
  9456  
  9457  // SetExternalWorkflowExecutionCancelRequestedEventAttributes sets the ExternalWorkflowExecutionCancelRequestedEventAttributes field's value.
  9458  func (s *HistoryEvent) SetExternalWorkflowExecutionCancelRequestedEventAttributes(v *ExternalWorkflowExecutionCancelRequestedEventAttributes) *HistoryEvent {
  9459  	s.ExternalWorkflowExecutionCancelRequestedEventAttributes = v
  9460  	return s
  9461  }
  9462  
  9463  // SetExternalWorkflowExecutionSignaledEventAttributes sets the ExternalWorkflowExecutionSignaledEventAttributes field's value.
  9464  func (s *HistoryEvent) SetExternalWorkflowExecutionSignaledEventAttributes(v *ExternalWorkflowExecutionSignaledEventAttributes) *HistoryEvent {
  9465  	s.ExternalWorkflowExecutionSignaledEventAttributes = v
  9466  	return s
  9467  }
  9468  
  9469  // SetFailWorkflowExecutionFailedEventAttributes sets the FailWorkflowExecutionFailedEventAttributes field's value.
  9470  func (s *HistoryEvent) SetFailWorkflowExecutionFailedEventAttributes(v *FailWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9471  	s.FailWorkflowExecutionFailedEventAttributes = v
  9472  	return s
  9473  }
  9474  
  9475  // SetLambdaFunctionCompletedEventAttributes sets the LambdaFunctionCompletedEventAttributes field's value.
  9476  func (s *HistoryEvent) SetLambdaFunctionCompletedEventAttributes(v *LambdaFunctionCompletedEventAttributes) *HistoryEvent {
  9477  	s.LambdaFunctionCompletedEventAttributes = v
  9478  	return s
  9479  }
  9480  
  9481  // SetLambdaFunctionFailedEventAttributes sets the LambdaFunctionFailedEventAttributes field's value.
  9482  func (s *HistoryEvent) SetLambdaFunctionFailedEventAttributes(v *LambdaFunctionFailedEventAttributes) *HistoryEvent {
  9483  	s.LambdaFunctionFailedEventAttributes = v
  9484  	return s
  9485  }
  9486  
  9487  // SetLambdaFunctionScheduledEventAttributes sets the LambdaFunctionScheduledEventAttributes field's value.
  9488  func (s *HistoryEvent) SetLambdaFunctionScheduledEventAttributes(v *LambdaFunctionScheduledEventAttributes) *HistoryEvent {
  9489  	s.LambdaFunctionScheduledEventAttributes = v
  9490  	return s
  9491  }
  9492  
  9493  // SetLambdaFunctionStartedEventAttributes sets the LambdaFunctionStartedEventAttributes field's value.
  9494  func (s *HistoryEvent) SetLambdaFunctionStartedEventAttributes(v *LambdaFunctionStartedEventAttributes) *HistoryEvent {
  9495  	s.LambdaFunctionStartedEventAttributes = v
  9496  	return s
  9497  }
  9498  
  9499  // SetLambdaFunctionTimedOutEventAttributes sets the LambdaFunctionTimedOutEventAttributes field's value.
  9500  func (s *HistoryEvent) SetLambdaFunctionTimedOutEventAttributes(v *LambdaFunctionTimedOutEventAttributes) *HistoryEvent {
  9501  	s.LambdaFunctionTimedOutEventAttributes = v
  9502  	return s
  9503  }
  9504  
  9505  // SetMarkerRecordedEventAttributes sets the MarkerRecordedEventAttributes field's value.
  9506  func (s *HistoryEvent) SetMarkerRecordedEventAttributes(v *MarkerRecordedEventAttributes) *HistoryEvent {
  9507  	s.MarkerRecordedEventAttributes = v
  9508  	return s
  9509  }
  9510  
  9511  // SetRecordMarkerFailedEventAttributes sets the RecordMarkerFailedEventAttributes field's value.
  9512  func (s *HistoryEvent) SetRecordMarkerFailedEventAttributes(v *RecordMarkerFailedEventAttributes) *HistoryEvent {
  9513  	s.RecordMarkerFailedEventAttributes = v
  9514  	return s
  9515  }
  9516  
  9517  // SetRequestCancelActivityTaskFailedEventAttributes sets the RequestCancelActivityTaskFailedEventAttributes field's value.
  9518  func (s *HistoryEvent) SetRequestCancelActivityTaskFailedEventAttributes(v *RequestCancelActivityTaskFailedEventAttributes) *HistoryEvent {
  9519  	s.RequestCancelActivityTaskFailedEventAttributes = v
  9520  	return s
  9521  }
  9522  
  9523  // SetRequestCancelExternalWorkflowExecutionFailedEventAttributes sets the RequestCancelExternalWorkflowExecutionFailedEventAttributes field's value.
  9524  func (s *HistoryEvent) SetRequestCancelExternalWorkflowExecutionFailedEventAttributes(v *RequestCancelExternalWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9525  	s.RequestCancelExternalWorkflowExecutionFailedEventAttributes = v
  9526  	return s
  9527  }
  9528  
  9529  // SetRequestCancelExternalWorkflowExecutionInitiatedEventAttributes sets the RequestCancelExternalWorkflowExecutionInitiatedEventAttributes field's value.
  9530  func (s *HistoryEvent) SetRequestCancelExternalWorkflowExecutionInitiatedEventAttributes(v *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) *HistoryEvent {
  9531  	s.RequestCancelExternalWorkflowExecutionInitiatedEventAttributes = v
  9532  	return s
  9533  }
  9534  
  9535  // SetScheduleActivityTaskFailedEventAttributes sets the ScheduleActivityTaskFailedEventAttributes field's value.
  9536  func (s *HistoryEvent) SetScheduleActivityTaskFailedEventAttributes(v *ScheduleActivityTaskFailedEventAttributes) *HistoryEvent {
  9537  	s.ScheduleActivityTaskFailedEventAttributes = v
  9538  	return s
  9539  }
  9540  
  9541  // SetScheduleLambdaFunctionFailedEventAttributes sets the ScheduleLambdaFunctionFailedEventAttributes field's value.
  9542  func (s *HistoryEvent) SetScheduleLambdaFunctionFailedEventAttributes(v *ScheduleLambdaFunctionFailedEventAttributes) *HistoryEvent {
  9543  	s.ScheduleLambdaFunctionFailedEventAttributes = v
  9544  	return s
  9545  }
  9546  
  9547  // SetSignalExternalWorkflowExecutionFailedEventAttributes sets the SignalExternalWorkflowExecutionFailedEventAttributes field's value.
  9548  func (s *HistoryEvent) SetSignalExternalWorkflowExecutionFailedEventAttributes(v *SignalExternalWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9549  	s.SignalExternalWorkflowExecutionFailedEventAttributes = v
  9550  	return s
  9551  }
  9552  
  9553  // SetSignalExternalWorkflowExecutionInitiatedEventAttributes sets the SignalExternalWorkflowExecutionInitiatedEventAttributes field's value.
  9554  func (s *HistoryEvent) SetSignalExternalWorkflowExecutionInitiatedEventAttributes(v *SignalExternalWorkflowExecutionInitiatedEventAttributes) *HistoryEvent {
  9555  	s.SignalExternalWorkflowExecutionInitiatedEventAttributes = v
  9556  	return s
  9557  }
  9558  
  9559  // SetStartChildWorkflowExecutionFailedEventAttributes sets the StartChildWorkflowExecutionFailedEventAttributes field's value.
  9560  func (s *HistoryEvent) SetStartChildWorkflowExecutionFailedEventAttributes(v *StartChildWorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9561  	s.StartChildWorkflowExecutionFailedEventAttributes = v
  9562  	return s
  9563  }
  9564  
  9565  // SetStartChildWorkflowExecutionInitiatedEventAttributes sets the StartChildWorkflowExecutionInitiatedEventAttributes field's value.
  9566  func (s *HistoryEvent) SetStartChildWorkflowExecutionInitiatedEventAttributes(v *StartChildWorkflowExecutionInitiatedEventAttributes) *HistoryEvent {
  9567  	s.StartChildWorkflowExecutionInitiatedEventAttributes = v
  9568  	return s
  9569  }
  9570  
  9571  // SetStartLambdaFunctionFailedEventAttributes sets the StartLambdaFunctionFailedEventAttributes field's value.
  9572  func (s *HistoryEvent) SetStartLambdaFunctionFailedEventAttributes(v *StartLambdaFunctionFailedEventAttributes) *HistoryEvent {
  9573  	s.StartLambdaFunctionFailedEventAttributes = v
  9574  	return s
  9575  }
  9576  
  9577  // SetStartTimerFailedEventAttributes sets the StartTimerFailedEventAttributes field's value.
  9578  func (s *HistoryEvent) SetStartTimerFailedEventAttributes(v *StartTimerFailedEventAttributes) *HistoryEvent {
  9579  	s.StartTimerFailedEventAttributes = v
  9580  	return s
  9581  }
  9582  
  9583  // SetTimerCanceledEventAttributes sets the TimerCanceledEventAttributes field's value.
  9584  func (s *HistoryEvent) SetTimerCanceledEventAttributes(v *TimerCanceledEventAttributes) *HistoryEvent {
  9585  	s.TimerCanceledEventAttributes = v
  9586  	return s
  9587  }
  9588  
  9589  // SetTimerFiredEventAttributes sets the TimerFiredEventAttributes field's value.
  9590  func (s *HistoryEvent) SetTimerFiredEventAttributes(v *TimerFiredEventAttributes) *HistoryEvent {
  9591  	s.TimerFiredEventAttributes = v
  9592  	return s
  9593  }
  9594  
  9595  // SetTimerStartedEventAttributes sets the TimerStartedEventAttributes field's value.
  9596  func (s *HistoryEvent) SetTimerStartedEventAttributes(v *TimerStartedEventAttributes) *HistoryEvent {
  9597  	s.TimerStartedEventAttributes = v
  9598  	return s
  9599  }
  9600  
  9601  // SetWorkflowExecutionCancelRequestedEventAttributes sets the WorkflowExecutionCancelRequestedEventAttributes field's value.
  9602  func (s *HistoryEvent) SetWorkflowExecutionCancelRequestedEventAttributes(v *WorkflowExecutionCancelRequestedEventAttributes) *HistoryEvent {
  9603  	s.WorkflowExecutionCancelRequestedEventAttributes = v
  9604  	return s
  9605  }
  9606  
  9607  // SetWorkflowExecutionCanceledEventAttributes sets the WorkflowExecutionCanceledEventAttributes field's value.
  9608  func (s *HistoryEvent) SetWorkflowExecutionCanceledEventAttributes(v *WorkflowExecutionCanceledEventAttributes) *HistoryEvent {
  9609  	s.WorkflowExecutionCanceledEventAttributes = v
  9610  	return s
  9611  }
  9612  
  9613  // SetWorkflowExecutionCompletedEventAttributes sets the WorkflowExecutionCompletedEventAttributes field's value.
  9614  func (s *HistoryEvent) SetWorkflowExecutionCompletedEventAttributes(v *WorkflowExecutionCompletedEventAttributes) *HistoryEvent {
  9615  	s.WorkflowExecutionCompletedEventAttributes = v
  9616  	return s
  9617  }
  9618  
  9619  // SetWorkflowExecutionContinuedAsNewEventAttributes sets the WorkflowExecutionContinuedAsNewEventAttributes field's value.
  9620  func (s *HistoryEvent) SetWorkflowExecutionContinuedAsNewEventAttributes(v *WorkflowExecutionContinuedAsNewEventAttributes) *HistoryEvent {
  9621  	s.WorkflowExecutionContinuedAsNewEventAttributes = v
  9622  	return s
  9623  }
  9624  
  9625  // SetWorkflowExecutionFailedEventAttributes sets the WorkflowExecutionFailedEventAttributes field's value.
  9626  func (s *HistoryEvent) SetWorkflowExecutionFailedEventAttributes(v *WorkflowExecutionFailedEventAttributes) *HistoryEvent {
  9627  	s.WorkflowExecutionFailedEventAttributes = v
  9628  	return s
  9629  }
  9630  
  9631  // SetWorkflowExecutionSignaledEventAttributes sets the WorkflowExecutionSignaledEventAttributes field's value.
  9632  func (s *HistoryEvent) SetWorkflowExecutionSignaledEventAttributes(v *WorkflowExecutionSignaledEventAttributes) *HistoryEvent {
  9633  	s.WorkflowExecutionSignaledEventAttributes = v
  9634  	return s
  9635  }
  9636  
  9637  // SetWorkflowExecutionStartedEventAttributes sets the WorkflowExecutionStartedEventAttributes field's value.
  9638  func (s *HistoryEvent) SetWorkflowExecutionStartedEventAttributes(v *WorkflowExecutionStartedEventAttributes) *HistoryEvent {
  9639  	s.WorkflowExecutionStartedEventAttributes = v
  9640  	return s
  9641  }
  9642  
  9643  // SetWorkflowExecutionTerminatedEventAttributes sets the WorkflowExecutionTerminatedEventAttributes field's value.
  9644  func (s *HistoryEvent) SetWorkflowExecutionTerminatedEventAttributes(v *WorkflowExecutionTerminatedEventAttributes) *HistoryEvent {
  9645  	s.WorkflowExecutionTerminatedEventAttributes = v
  9646  	return s
  9647  }
  9648  
  9649  // SetWorkflowExecutionTimedOutEventAttributes sets the WorkflowExecutionTimedOutEventAttributes field's value.
  9650  func (s *HistoryEvent) SetWorkflowExecutionTimedOutEventAttributes(v *WorkflowExecutionTimedOutEventAttributes) *HistoryEvent {
  9651  	s.WorkflowExecutionTimedOutEventAttributes = v
  9652  	return s
  9653  }
  9654  
  9655  // Provides the details of the LambdaFunctionCompleted event. It isn't set for
  9656  // other event types.
  9657  type LambdaFunctionCompletedEventAttributes struct {
  9658  	_ struct{} `type:"structure"`
  9659  
  9660  	// The results of the Lambda task.
  9661  	Result *string `locationName:"result" type:"string"`
  9662  
  9663  	// The ID of the LambdaFunctionScheduled event that was recorded when this Lambda
  9664  	// task was scheduled. To help diagnose issues, use this information to trace
  9665  	// back the chain of events leading up to this event.
  9666  	//
  9667  	// ScheduledEventId is a required field
  9668  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  9669  
  9670  	// The ID of the LambdaFunctionStarted event recorded when this activity task
  9671  	// started. To help diagnose issues, use this information to trace back the
  9672  	// chain of events leading up to this event.
  9673  	//
  9674  	// StartedEventId is a required field
  9675  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  9676  }
  9677  
  9678  // String returns the string representation.
  9679  //
  9680  // API parameter values that are decorated as "sensitive" in the API will not
  9681  // be included in the string output. The member name will be present, but the
  9682  // value will be replaced with "sensitive".
  9683  func (s LambdaFunctionCompletedEventAttributes) String() string {
  9684  	return awsutil.Prettify(s)
  9685  }
  9686  
  9687  // GoString returns the string representation.
  9688  //
  9689  // API parameter values that are decorated as "sensitive" in the API will not
  9690  // be included in the string output. The member name will be present, but the
  9691  // value will be replaced with "sensitive".
  9692  func (s LambdaFunctionCompletedEventAttributes) GoString() string {
  9693  	return s.String()
  9694  }
  9695  
  9696  // SetResult sets the Result field's value.
  9697  func (s *LambdaFunctionCompletedEventAttributes) SetResult(v string) *LambdaFunctionCompletedEventAttributes {
  9698  	s.Result = &v
  9699  	return s
  9700  }
  9701  
  9702  // SetScheduledEventId sets the ScheduledEventId field's value.
  9703  func (s *LambdaFunctionCompletedEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionCompletedEventAttributes {
  9704  	s.ScheduledEventId = &v
  9705  	return s
  9706  }
  9707  
  9708  // SetStartedEventId sets the StartedEventId field's value.
  9709  func (s *LambdaFunctionCompletedEventAttributes) SetStartedEventId(v int64) *LambdaFunctionCompletedEventAttributes {
  9710  	s.StartedEventId = &v
  9711  	return s
  9712  }
  9713  
  9714  // Provides the details of the LambdaFunctionFailed event. It isn't set for
  9715  // other event types.
  9716  type LambdaFunctionFailedEventAttributes struct {
  9717  	_ struct{} `type:"structure"`
  9718  
  9719  	// The details of the failure.
  9720  	Details *string `locationName:"details" type:"string"`
  9721  
  9722  	// The reason provided for the failure.
  9723  	Reason *string `locationName:"reason" type:"string"`
  9724  
  9725  	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
  9726  	// task was scheduled. To help diagnose issues, use this information to trace
  9727  	// back the chain of events leading up to this event.
  9728  	//
  9729  	// ScheduledEventId is a required field
  9730  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  9731  
  9732  	// The ID of the LambdaFunctionStarted event recorded when this activity task
  9733  	// started. To help diagnose issues, use this information to trace back the
  9734  	// chain of events leading up to this event.
  9735  	//
  9736  	// StartedEventId is a required field
  9737  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  9738  }
  9739  
  9740  // String returns the string representation.
  9741  //
  9742  // API parameter values that are decorated as "sensitive" in the API will not
  9743  // be included in the string output. The member name will be present, but the
  9744  // value will be replaced with "sensitive".
  9745  func (s LambdaFunctionFailedEventAttributes) String() string {
  9746  	return awsutil.Prettify(s)
  9747  }
  9748  
  9749  // GoString returns the string representation.
  9750  //
  9751  // API parameter values that are decorated as "sensitive" in the API will not
  9752  // be included in the string output. The member name will be present, but the
  9753  // value will be replaced with "sensitive".
  9754  func (s LambdaFunctionFailedEventAttributes) GoString() string {
  9755  	return s.String()
  9756  }
  9757  
  9758  // SetDetails sets the Details field's value.
  9759  func (s *LambdaFunctionFailedEventAttributes) SetDetails(v string) *LambdaFunctionFailedEventAttributes {
  9760  	s.Details = &v
  9761  	return s
  9762  }
  9763  
  9764  // SetReason sets the Reason field's value.
  9765  func (s *LambdaFunctionFailedEventAttributes) SetReason(v string) *LambdaFunctionFailedEventAttributes {
  9766  	s.Reason = &v
  9767  	return s
  9768  }
  9769  
  9770  // SetScheduledEventId sets the ScheduledEventId field's value.
  9771  func (s *LambdaFunctionFailedEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionFailedEventAttributes {
  9772  	s.ScheduledEventId = &v
  9773  	return s
  9774  }
  9775  
  9776  // SetStartedEventId sets the StartedEventId field's value.
  9777  func (s *LambdaFunctionFailedEventAttributes) SetStartedEventId(v int64) *LambdaFunctionFailedEventAttributes {
  9778  	s.StartedEventId = &v
  9779  	return s
  9780  }
  9781  
  9782  // Provides the details of the LambdaFunctionScheduled event. It isn't set for
  9783  // other event types.
  9784  type LambdaFunctionScheduledEventAttributes struct {
  9785  	_ struct{} `type:"structure"`
  9786  
  9787  	// Data attached to the event that the decider can use in subsequent workflow
  9788  	// tasks. This data isn't sent to the Lambda task.
  9789  	Control *string `locationName:"control" type:"string"`
  9790  
  9791  	// The ID of the LambdaFunctionCompleted event corresponding to the decision
  9792  	// that resulted in scheduling this activity task. To help diagnose issues,
  9793  	// use this information to trace back the chain of events leading up to this
  9794  	// event.
  9795  	//
  9796  	// DecisionTaskCompletedEventId is a required field
  9797  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
  9798  
  9799  	// The unique ID of the Lambda task.
  9800  	//
  9801  	// Id is a required field
  9802  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
  9803  
  9804  	// The input provided to the Lambda task.
  9805  	Input *string `locationName:"input" type:"string"`
  9806  
  9807  	// The name of the Lambda function.
  9808  	//
  9809  	// Name is a required field
  9810  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9811  
  9812  	// The maximum amount of time a worker can take to process the Lambda task.
  9813  	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
  9814  }
  9815  
  9816  // String returns the string representation.
  9817  //
  9818  // API parameter values that are decorated as "sensitive" in the API will not
  9819  // be included in the string output. The member name will be present, but the
  9820  // value will be replaced with "sensitive".
  9821  func (s LambdaFunctionScheduledEventAttributes) String() string {
  9822  	return awsutil.Prettify(s)
  9823  }
  9824  
  9825  // GoString returns the string representation.
  9826  //
  9827  // API parameter values that are decorated as "sensitive" in the API will not
  9828  // be included in the string output. The member name will be present, but the
  9829  // value will be replaced with "sensitive".
  9830  func (s LambdaFunctionScheduledEventAttributes) GoString() string {
  9831  	return s.String()
  9832  }
  9833  
  9834  // SetControl sets the Control field's value.
  9835  func (s *LambdaFunctionScheduledEventAttributes) SetControl(v string) *LambdaFunctionScheduledEventAttributes {
  9836  	s.Control = &v
  9837  	return s
  9838  }
  9839  
  9840  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
  9841  func (s *LambdaFunctionScheduledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *LambdaFunctionScheduledEventAttributes {
  9842  	s.DecisionTaskCompletedEventId = &v
  9843  	return s
  9844  }
  9845  
  9846  // SetId sets the Id field's value.
  9847  func (s *LambdaFunctionScheduledEventAttributes) SetId(v string) *LambdaFunctionScheduledEventAttributes {
  9848  	s.Id = &v
  9849  	return s
  9850  }
  9851  
  9852  // SetInput sets the Input field's value.
  9853  func (s *LambdaFunctionScheduledEventAttributes) SetInput(v string) *LambdaFunctionScheduledEventAttributes {
  9854  	s.Input = &v
  9855  	return s
  9856  }
  9857  
  9858  // SetName sets the Name field's value.
  9859  func (s *LambdaFunctionScheduledEventAttributes) SetName(v string) *LambdaFunctionScheduledEventAttributes {
  9860  	s.Name = &v
  9861  	return s
  9862  }
  9863  
  9864  // SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
  9865  func (s *LambdaFunctionScheduledEventAttributes) SetStartToCloseTimeout(v string) *LambdaFunctionScheduledEventAttributes {
  9866  	s.StartToCloseTimeout = &v
  9867  	return s
  9868  }
  9869  
  9870  // Provides the details of the LambdaFunctionStarted event. It isn't set for
  9871  // other event types.
  9872  type LambdaFunctionStartedEventAttributes struct {
  9873  	_ struct{} `type:"structure"`
  9874  
  9875  	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
  9876  	// task was scheduled. To help diagnose issues, use this information to trace
  9877  	// back the chain of events leading up to this event.
  9878  	//
  9879  	// ScheduledEventId is a required field
  9880  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  9881  }
  9882  
  9883  // String returns the string representation.
  9884  //
  9885  // API parameter values that are decorated as "sensitive" in the API will not
  9886  // be included in the string output. The member name will be present, but the
  9887  // value will be replaced with "sensitive".
  9888  func (s LambdaFunctionStartedEventAttributes) String() string {
  9889  	return awsutil.Prettify(s)
  9890  }
  9891  
  9892  // GoString returns the string representation.
  9893  //
  9894  // API parameter values that are decorated as "sensitive" in the API will not
  9895  // be included in the string output. The member name will be present, but the
  9896  // value will be replaced with "sensitive".
  9897  func (s LambdaFunctionStartedEventAttributes) GoString() string {
  9898  	return s.String()
  9899  }
  9900  
  9901  // SetScheduledEventId sets the ScheduledEventId field's value.
  9902  func (s *LambdaFunctionStartedEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionStartedEventAttributes {
  9903  	s.ScheduledEventId = &v
  9904  	return s
  9905  }
  9906  
  9907  // Provides details of the LambdaFunctionTimedOut event.
  9908  type LambdaFunctionTimedOutEventAttributes struct {
  9909  	_ struct{} `type:"structure"`
  9910  
  9911  	// The ID of the LambdaFunctionScheduled event that was recorded when this activity
  9912  	// task was scheduled. To help diagnose issues, use this information to trace
  9913  	// back the chain of events leading up to this event.
  9914  	//
  9915  	// ScheduledEventId is a required field
  9916  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long" required:"true"`
  9917  
  9918  	// The ID of the ActivityTaskStarted event that was recorded when this activity
  9919  	// task started. To help diagnose issues, use this information to trace back
  9920  	// the chain of events leading up to this event.
  9921  	//
  9922  	// StartedEventId is a required field
  9923  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
  9924  
  9925  	// The type of the timeout that caused this event.
  9926  	TimeoutType *string `locationName:"timeoutType" type:"string" enum:"LambdaFunctionTimeoutType"`
  9927  }
  9928  
  9929  // String returns the string representation.
  9930  //
  9931  // API parameter values that are decorated as "sensitive" in the API will not
  9932  // be included in the string output. The member name will be present, but the
  9933  // value will be replaced with "sensitive".
  9934  func (s LambdaFunctionTimedOutEventAttributes) String() string {
  9935  	return awsutil.Prettify(s)
  9936  }
  9937  
  9938  // GoString returns the string representation.
  9939  //
  9940  // API parameter values that are decorated as "sensitive" in the API will not
  9941  // be included in the string output. The member name will be present, but the
  9942  // value will be replaced with "sensitive".
  9943  func (s LambdaFunctionTimedOutEventAttributes) GoString() string {
  9944  	return s.String()
  9945  }
  9946  
  9947  // SetScheduledEventId sets the ScheduledEventId field's value.
  9948  func (s *LambdaFunctionTimedOutEventAttributes) SetScheduledEventId(v int64) *LambdaFunctionTimedOutEventAttributes {
  9949  	s.ScheduledEventId = &v
  9950  	return s
  9951  }
  9952  
  9953  // SetStartedEventId sets the StartedEventId field's value.
  9954  func (s *LambdaFunctionTimedOutEventAttributes) SetStartedEventId(v int64) *LambdaFunctionTimedOutEventAttributes {
  9955  	s.StartedEventId = &v
  9956  	return s
  9957  }
  9958  
  9959  // SetTimeoutType sets the TimeoutType field's value.
  9960  func (s *LambdaFunctionTimedOutEventAttributes) SetTimeoutType(v string) *LambdaFunctionTimedOutEventAttributes {
  9961  	s.TimeoutType = &v
  9962  	return s
  9963  }
  9964  
  9965  // Returned by any operation if a system imposed limitation has been reached.
  9966  // To address this fault you should either clean up unused resources or increase
  9967  // the limit by contacting AWS.
  9968  type LimitExceededFault struct {
  9969  	_            struct{}                  `type:"structure"`
  9970  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9971  
  9972  	// A description that may help with diagnosing the cause of the fault.
  9973  	Message_ *string `locationName:"message" type:"string"`
  9974  }
  9975  
  9976  // String returns the string representation.
  9977  //
  9978  // API parameter values that are decorated as "sensitive" in the API will not
  9979  // be included in the string output. The member name will be present, but the
  9980  // value will be replaced with "sensitive".
  9981  func (s LimitExceededFault) String() string {
  9982  	return awsutil.Prettify(s)
  9983  }
  9984  
  9985  // GoString returns the string representation.
  9986  //
  9987  // API parameter values that are decorated as "sensitive" in the API will not
  9988  // be included in the string output. The member name will be present, but the
  9989  // value will be replaced with "sensitive".
  9990  func (s LimitExceededFault) GoString() string {
  9991  	return s.String()
  9992  }
  9993  
  9994  func newErrorLimitExceededFault(v protocol.ResponseMetadata) error {
  9995  	return &LimitExceededFault{
  9996  		RespMetadata: v,
  9997  	}
  9998  }
  9999  
 10000  // Code returns the exception type name.
 10001  func (s *LimitExceededFault) Code() string {
 10002  	return "LimitExceededFault"
 10003  }
 10004  
 10005  // Message returns the exception's message.
 10006  func (s *LimitExceededFault) Message() string {
 10007  	if s.Message_ != nil {
 10008  		return *s.Message_
 10009  	}
 10010  	return ""
 10011  }
 10012  
 10013  // OrigErr always returns nil, satisfies awserr.Error interface.
 10014  func (s *LimitExceededFault) OrigErr() error {
 10015  	return nil
 10016  }
 10017  
 10018  func (s *LimitExceededFault) Error() string {
 10019  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10020  }
 10021  
 10022  // Status code returns the HTTP status code for the request's response error.
 10023  func (s *LimitExceededFault) StatusCode() int {
 10024  	return s.RespMetadata.StatusCode
 10025  }
 10026  
 10027  // RequestID returns the service's response RequestID for request.
 10028  func (s *LimitExceededFault) RequestID() string {
 10029  	return s.RespMetadata.RequestID
 10030  }
 10031  
 10032  type ListActivityTypesInput struct {
 10033  	_ struct{} `type:"structure"`
 10034  
 10035  	// The name of the domain in which the activity types have been registered.
 10036  	//
 10037  	// Domain is a required field
 10038  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 10039  
 10040  	// The maximum number of results that are returned per call. Use nextPageToken
 10041  	// to obtain further pages of results.
 10042  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
 10043  
 10044  	// If specified, only lists the activity types that have this name.
 10045  	Name *string `locationName:"name" min:"1" type:"string"`
 10046  
 10047  	// If NextPageToken is returned there are more results available. The value
 10048  	// of NextPageToken is a unique pagination token for each page. Make the call
 10049  	// again using the returned token to retrieve the next page. Keep all other
 10050  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
 10051  	// an expired pagination token will return a 400 error: "Specified token has
 10052  	// exceeded its maximum lifetime".
 10053  	//
 10054  	// The configured maximumPageSize determines how many results can be returned
 10055  	// in a single call.
 10056  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10057  
 10058  	// Specifies the registration status of the activity types to list.
 10059  	//
 10060  	// RegistrationStatus is a required field
 10061  	RegistrationStatus *string `locationName:"registrationStatus" type:"string" required:"true" enum:"RegistrationStatus"`
 10062  
 10063  	// When set to true, returns the results in reverse order. By default, the results
 10064  	// are returned in ascending alphabetical order by name of the activity types.
 10065  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
 10066  }
 10067  
 10068  // String returns the string representation.
 10069  //
 10070  // API parameter values that are decorated as "sensitive" in the API will not
 10071  // be included in the string output. The member name will be present, but the
 10072  // value will be replaced with "sensitive".
 10073  func (s ListActivityTypesInput) String() string {
 10074  	return awsutil.Prettify(s)
 10075  }
 10076  
 10077  // GoString returns the string representation.
 10078  //
 10079  // API parameter values that are decorated as "sensitive" in the API will not
 10080  // be included in the string output. The member name will be present, but the
 10081  // value will be replaced with "sensitive".
 10082  func (s ListActivityTypesInput) GoString() string {
 10083  	return s.String()
 10084  }
 10085  
 10086  // Validate inspects the fields of the type to determine if they are valid.
 10087  func (s *ListActivityTypesInput) Validate() error {
 10088  	invalidParams := request.ErrInvalidParams{Context: "ListActivityTypesInput"}
 10089  	if s.Domain == nil {
 10090  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 10091  	}
 10092  	if s.Domain != nil && len(*s.Domain) < 1 {
 10093  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 10094  	}
 10095  	if s.Name != nil && len(*s.Name) < 1 {
 10096  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10097  	}
 10098  	if s.RegistrationStatus == nil {
 10099  		invalidParams.Add(request.NewErrParamRequired("RegistrationStatus"))
 10100  	}
 10101  
 10102  	if invalidParams.Len() > 0 {
 10103  		return invalidParams
 10104  	}
 10105  	return nil
 10106  }
 10107  
 10108  // SetDomain sets the Domain field's value.
 10109  func (s *ListActivityTypesInput) SetDomain(v string) *ListActivityTypesInput {
 10110  	s.Domain = &v
 10111  	return s
 10112  }
 10113  
 10114  // SetMaximumPageSize sets the MaximumPageSize field's value.
 10115  func (s *ListActivityTypesInput) SetMaximumPageSize(v int64) *ListActivityTypesInput {
 10116  	s.MaximumPageSize = &v
 10117  	return s
 10118  }
 10119  
 10120  // SetName sets the Name field's value.
 10121  func (s *ListActivityTypesInput) SetName(v string) *ListActivityTypesInput {
 10122  	s.Name = &v
 10123  	return s
 10124  }
 10125  
 10126  // SetNextPageToken sets the NextPageToken field's value.
 10127  func (s *ListActivityTypesInput) SetNextPageToken(v string) *ListActivityTypesInput {
 10128  	s.NextPageToken = &v
 10129  	return s
 10130  }
 10131  
 10132  // SetRegistrationStatus sets the RegistrationStatus field's value.
 10133  func (s *ListActivityTypesInput) SetRegistrationStatus(v string) *ListActivityTypesInput {
 10134  	s.RegistrationStatus = &v
 10135  	return s
 10136  }
 10137  
 10138  // SetReverseOrder sets the ReverseOrder field's value.
 10139  func (s *ListActivityTypesInput) SetReverseOrder(v bool) *ListActivityTypesInput {
 10140  	s.ReverseOrder = &v
 10141  	return s
 10142  }
 10143  
 10144  // Contains a paginated list of activity type information structures.
 10145  type ListActivityTypesOutput struct {
 10146  	_ struct{} `type:"structure"`
 10147  
 10148  	// If a NextPageToken was returned by a previous call, there are more results
 10149  	// available. To retrieve the next page of results, make the call again using
 10150  	// the returned token in nextPageToken. Keep all other arguments unchanged.
 10151  	//
 10152  	// The configured maximumPageSize determines how many results can be returned
 10153  	// in a single call.
 10154  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10155  
 10156  	// List of activity type information.
 10157  	//
 10158  	// TypeInfos is a required field
 10159  	TypeInfos []*ActivityTypeInfo `locationName:"typeInfos" type:"list" required:"true"`
 10160  }
 10161  
 10162  // String returns the string representation.
 10163  //
 10164  // API parameter values that are decorated as "sensitive" in the API will not
 10165  // be included in the string output. The member name will be present, but the
 10166  // value will be replaced with "sensitive".
 10167  func (s ListActivityTypesOutput) String() string {
 10168  	return awsutil.Prettify(s)
 10169  }
 10170  
 10171  // GoString returns the string representation.
 10172  //
 10173  // API parameter values that are decorated as "sensitive" in the API will not
 10174  // be included in the string output. The member name will be present, but the
 10175  // value will be replaced with "sensitive".
 10176  func (s ListActivityTypesOutput) GoString() string {
 10177  	return s.String()
 10178  }
 10179  
 10180  // SetNextPageToken sets the NextPageToken field's value.
 10181  func (s *ListActivityTypesOutput) SetNextPageToken(v string) *ListActivityTypesOutput {
 10182  	s.NextPageToken = &v
 10183  	return s
 10184  }
 10185  
 10186  // SetTypeInfos sets the TypeInfos field's value.
 10187  func (s *ListActivityTypesOutput) SetTypeInfos(v []*ActivityTypeInfo) *ListActivityTypesOutput {
 10188  	s.TypeInfos = v
 10189  	return s
 10190  }
 10191  
 10192  type ListClosedWorkflowExecutionsInput struct {
 10193  	_ struct{} `type:"structure"`
 10194  
 10195  	// If specified, only workflow executions that match this close status are listed.
 10196  	// For example, if TERMINATED is specified, then only TERMINATED workflow executions
 10197  	// are listed.
 10198  	//
 10199  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
 10200  	// exclusive. You can specify at most one of these in a request.
 10201  	CloseStatusFilter *CloseStatusFilter `locationName:"closeStatusFilter" type:"structure"`
 10202  
 10203  	// If specified, the workflow executions are included in the returned results
 10204  	// based on whether their close times are within the range specified by this
 10205  	// filter. Also, if this parameter is specified, the returned results are ordered
 10206  	// by their close times.
 10207  	//
 10208  	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
 10209  	// one of these in a request but not both.
 10210  	CloseTimeFilter *ExecutionTimeFilter `locationName:"closeTimeFilter" type:"structure"`
 10211  
 10212  	// The name of the domain that contains the workflow executions to list.
 10213  	//
 10214  	// Domain is a required field
 10215  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 10216  
 10217  	// If specified, only workflow executions matching the workflow ID specified
 10218  	// in the filter are returned.
 10219  	//
 10220  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
 10221  	// exclusive. You can specify at most one of these in a request.
 10222  	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
 10223  
 10224  	// The maximum number of results that are returned per call. Use nextPageToken
 10225  	// to obtain further pages of results.
 10226  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
 10227  
 10228  	// If NextPageToken is returned there are more results available. The value
 10229  	// of NextPageToken is a unique pagination token for each page. Make the call
 10230  	// again using the returned token to retrieve the next page. Keep all other
 10231  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
 10232  	// an expired pagination token will return a 400 error: "Specified token has
 10233  	// exceeded its maximum lifetime".
 10234  	//
 10235  	// The configured maximumPageSize determines how many results can be returned
 10236  	// in a single call.
 10237  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10238  
 10239  	// When set to true, returns the results in reverse order. By default the results
 10240  	// are returned in descending order of the start or the close time of the executions.
 10241  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
 10242  
 10243  	// If specified, the workflow executions are included in the returned results
 10244  	// based on whether their start times are within the range specified by this
 10245  	// filter. Also, if this parameter is specified, the returned results are ordered
 10246  	// by their start times.
 10247  	//
 10248  	// startTimeFilter and closeTimeFilter are mutually exclusive. You must specify
 10249  	// one of these in a request but not both.
 10250  	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure"`
 10251  
 10252  	// If specified, only executions that have the matching tag are listed.
 10253  	//
 10254  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
 10255  	// exclusive. You can specify at most one of these in a request.
 10256  	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
 10257  
 10258  	// If specified, only executions of the type specified in the filter are returned.
 10259  	//
 10260  	// closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually
 10261  	// exclusive. You can specify at most one of these in a request.
 10262  	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
 10263  }
 10264  
 10265  // String returns the string representation.
 10266  //
 10267  // API parameter values that are decorated as "sensitive" in the API will not
 10268  // be included in the string output. The member name will be present, but the
 10269  // value will be replaced with "sensitive".
 10270  func (s ListClosedWorkflowExecutionsInput) String() string {
 10271  	return awsutil.Prettify(s)
 10272  }
 10273  
 10274  // GoString returns the string representation.
 10275  //
 10276  // API parameter values that are decorated as "sensitive" in the API will not
 10277  // be included in the string output. The member name will be present, but the
 10278  // value will be replaced with "sensitive".
 10279  func (s ListClosedWorkflowExecutionsInput) GoString() string {
 10280  	return s.String()
 10281  }
 10282  
 10283  // Validate inspects the fields of the type to determine if they are valid.
 10284  func (s *ListClosedWorkflowExecutionsInput) Validate() error {
 10285  	invalidParams := request.ErrInvalidParams{Context: "ListClosedWorkflowExecutionsInput"}
 10286  	if s.Domain == nil {
 10287  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 10288  	}
 10289  	if s.Domain != nil && len(*s.Domain) < 1 {
 10290  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 10291  	}
 10292  	if s.CloseStatusFilter != nil {
 10293  		if err := s.CloseStatusFilter.Validate(); err != nil {
 10294  			invalidParams.AddNested("CloseStatusFilter", err.(request.ErrInvalidParams))
 10295  		}
 10296  	}
 10297  	if s.CloseTimeFilter != nil {
 10298  		if err := s.CloseTimeFilter.Validate(); err != nil {
 10299  			invalidParams.AddNested("CloseTimeFilter", err.(request.ErrInvalidParams))
 10300  		}
 10301  	}
 10302  	if s.ExecutionFilter != nil {
 10303  		if err := s.ExecutionFilter.Validate(); err != nil {
 10304  			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
 10305  		}
 10306  	}
 10307  	if s.StartTimeFilter != nil {
 10308  		if err := s.StartTimeFilter.Validate(); err != nil {
 10309  			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
 10310  		}
 10311  	}
 10312  	if s.TagFilter != nil {
 10313  		if err := s.TagFilter.Validate(); err != nil {
 10314  			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
 10315  		}
 10316  	}
 10317  	if s.TypeFilter != nil {
 10318  		if err := s.TypeFilter.Validate(); err != nil {
 10319  			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
 10320  		}
 10321  	}
 10322  
 10323  	if invalidParams.Len() > 0 {
 10324  		return invalidParams
 10325  	}
 10326  	return nil
 10327  }
 10328  
 10329  // SetCloseStatusFilter sets the CloseStatusFilter field's value.
 10330  func (s *ListClosedWorkflowExecutionsInput) SetCloseStatusFilter(v *CloseStatusFilter) *ListClosedWorkflowExecutionsInput {
 10331  	s.CloseStatusFilter = v
 10332  	return s
 10333  }
 10334  
 10335  // SetCloseTimeFilter sets the CloseTimeFilter field's value.
 10336  func (s *ListClosedWorkflowExecutionsInput) SetCloseTimeFilter(v *ExecutionTimeFilter) *ListClosedWorkflowExecutionsInput {
 10337  	s.CloseTimeFilter = v
 10338  	return s
 10339  }
 10340  
 10341  // SetDomain sets the Domain field's value.
 10342  func (s *ListClosedWorkflowExecutionsInput) SetDomain(v string) *ListClosedWorkflowExecutionsInput {
 10343  	s.Domain = &v
 10344  	return s
 10345  }
 10346  
 10347  // SetExecutionFilter sets the ExecutionFilter field's value.
 10348  func (s *ListClosedWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *ListClosedWorkflowExecutionsInput {
 10349  	s.ExecutionFilter = v
 10350  	return s
 10351  }
 10352  
 10353  // SetMaximumPageSize sets the MaximumPageSize field's value.
 10354  func (s *ListClosedWorkflowExecutionsInput) SetMaximumPageSize(v int64) *ListClosedWorkflowExecutionsInput {
 10355  	s.MaximumPageSize = &v
 10356  	return s
 10357  }
 10358  
 10359  // SetNextPageToken sets the NextPageToken field's value.
 10360  func (s *ListClosedWorkflowExecutionsInput) SetNextPageToken(v string) *ListClosedWorkflowExecutionsInput {
 10361  	s.NextPageToken = &v
 10362  	return s
 10363  }
 10364  
 10365  // SetReverseOrder sets the ReverseOrder field's value.
 10366  func (s *ListClosedWorkflowExecutionsInput) SetReverseOrder(v bool) *ListClosedWorkflowExecutionsInput {
 10367  	s.ReverseOrder = &v
 10368  	return s
 10369  }
 10370  
 10371  // SetStartTimeFilter sets the StartTimeFilter field's value.
 10372  func (s *ListClosedWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *ListClosedWorkflowExecutionsInput {
 10373  	s.StartTimeFilter = v
 10374  	return s
 10375  }
 10376  
 10377  // SetTagFilter sets the TagFilter field's value.
 10378  func (s *ListClosedWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *ListClosedWorkflowExecutionsInput {
 10379  	s.TagFilter = v
 10380  	return s
 10381  }
 10382  
 10383  // SetTypeFilter sets the TypeFilter field's value.
 10384  func (s *ListClosedWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *ListClosedWorkflowExecutionsInput {
 10385  	s.TypeFilter = v
 10386  	return s
 10387  }
 10388  
 10389  type ListDomainsInput struct {
 10390  	_ struct{} `type:"structure"`
 10391  
 10392  	// The maximum number of results that are returned per call. Use nextPageToken
 10393  	// to obtain further pages of results.
 10394  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
 10395  
 10396  	// If NextPageToken is returned there are more results available. The value
 10397  	// of NextPageToken is a unique pagination token for each page. Make the call
 10398  	// again using the returned token to retrieve the next page. Keep all other
 10399  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
 10400  	// an expired pagination token will return a 400 error: "Specified token has
 10401  	// exceeded its maximum lifetime".
 10402  	//
 10403  	// The configured maximumPageSize determines how many results can be returned
 10404  	// in a single call.
 10405  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10406  
 10407  	// Specifies the registration status of the domains to list.
 10408  	//
 10409  	// RegistrationStatus is a required field
 10410  	RegistrationStatus *string `locationName:"registrationStatus" type:"string" required:"true" enum:"RegistrationStatus"`
 10411  
 10412  	// When set to true, returns the results in reverse order. By default, the results
 10413  	// are returned in ascending alphabetical order by name of the domains.
 10414  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
 10415  }
 10416  
 10417  // String returns the string representation.
 10418  //
 10419  // API parameter values that are decorated as "sensitive" in the API will not
 10420  // be included in the string output. The member name will be present, but the
 10421  // value will be replaced with "sensitive".
 10422  func (s ListDomainsInput) String() string {
 10423  	return awsutil.Prettify(s)
 10424  }
 10425  
 10426  // GoString returns the string representation.
 10427  //
 10428  // API parameter values that are decorated as "sensitive" in the API will not
 10429  // be included in the string output. The member name will be present, but the
 10430  // value will be replaced with "sensitive".
 10431  func (s ListDomainsInput) GoString() string {
 10432  	return s.String()
 10433  }
 10434  
 10435  // Validate inspects the fields of the type to determine if they are valid.
 10436  func (s *ListDomainsInput) Validate() error {
 10437  	invalidParams := request.ErrInvalidParams{Context: "ListDomainsInput"}
 10438  	if s.RegistrationStatus == nil {
 10439  		invalidParams.Add(request.NewErrParamRequired("RegistrationStatus"))
 10440  	}
 10441  
 10442  	if invalidParams.Len() > 0 {
 10443  		return invalidParams
 10444  	}
 10445  	return nil
 10446  }
 10447  
 10448  // SetMaximumPageSize sets the MaximumPageSize field's value.
 10449  func (s *ListDomainsInput) SetMaximumPageSize(v int64) *ListDomainsInput {
 10450  	s.MaximumPageSize = &v
 10451  	return s
 10452  }
 10453  
 10454  // SetNextPageToken sets the NextPageToken field's value.
 10455  func (s *ListDomainsInput) SetNextPageToken(v string) *ListDomainsInput {
 10456  	s.NextPageToken = &v
 10457  	return s
 10458  }
 10459  
 10460  // SetRegistrationStatus sets the RegistrationStatus field's value.
 10461  func (s *ListDomainsInput) SetRegistrationStatus(v string) *ListDomainsInput {
 10462  	s.RegistrationStatus = &v
 10463  	return s
 10464  }
 10465  
 10466  // SetReverseOrder sets the ReverseOrder field's value.
 10467  func (s *ListDomainsInput) SetReverseOrder(v bool) *ListDomainsInput {
 10468  	s.ReverseOrder = &v
 10469  	return s
 10470  }
 10471  
 10472  // Contains a paginated collection of DomainInfo structures.
 10473  type ListDomainsOutput struct {
 10474  	_ struct{} `type:"structure"`
 10475  
 10476  	// A list of DomainInfo structures.
 10477  	//
 10478  	// DomainInfos is a required field
 10479  	DomainInfos []*DomainInfo `locationName:"domainInfos" type:"list" required:"true"`
 10480  
 10481  	// If a NextPageToken was returned by a previous call, there are more results
 10482  	// available. To retrieve the next page of results, make the call again using
 10483  	// the returned token in nextPageToken. Keep all other arguments unchanged.
 10484  	//
 10485  	// The configured maximumPageSize determines how many results can be returned
 10486  	// in a single call.
 10487  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10488  }
 10489  
 10490  // String returns the string representation.
 10491  //
 10492  // API parameter values that are decorated as "sensitive" in the API will not
 10493  // be included in the string output. The member name will be present, but the
 10494  // value will be replaced with "sensitive".
 10495  func (s ListDomainsOutput) String() string {
 10496  	return awsutil.Prettify(s)
 10497  }
 10498  
 10499  // GoString returns the string representation.
 10500  //
 10501  // API parameter values that are decorated as "sensitive" in the API will not
 10502  // be included in the string output. The member name will be present, but the
 10503  // value will be replaced with "sensitive".
 10504  func (s ListDomainsOutput) GoString() string {
 10505  	return s.String()
 10506  }
 10507  
 10508  // SetDomainInfos sets the DomainInfos field's value.
 10509  func (s *ListDomainsOutput) SetDomainInfos(v []*DomainInfo) *ListDomainsOutput {
 10510  	s.DomainInfos = v
 10511  	return s
 10512  }
 10513  
 10514  // SetNextPageToken sets the NextPageToken field's value.
 10515  func (s *ListDomainsOutput) SetNextPageToken(v string) *ListDomainsOutput {
 10516  	s.NextPageToken = &v
 10517  	return s
 10518  }
 10519  
 10520  type ListOpenWorkflowExecutionsInput struct {
 10521  	_ struct{} `type:"structure"`
 10522  
 10523  	// The name of the domain that contains the workflow executions to list.
 10524  	//
 10525  	// Domain is a required field
 10526  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 10527  
 10528  	// If specified, only workflow executions matching the workflow ID specified
 10529  	// in the filter are returned.
 10530  	//
 10531  	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
 10532  	// specify at most one of these in a request.
 10533  	ExecutionFilter *WorkflowExecutionFilter `locationName:"executionFilter" type:"structure"`
 10534  
 10535  	// The maximum number of results that are returned per call. Use nextPageToken
 10536  	// to obtain further pages of results.
 10537  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
 10538  
 10539  	// If NextPageToken is returned there are more results available. The value
 10540  	// of NextPageToken is a unique pagination token for each page. Make the call
 10541  	// again using the returned token to retrieve the next page. Keep all other
 10542  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
 10543  	// an expired pagination token will return a 400 error: "Specified token has
 10544  	// exceeded its maximum lifetime".
 10545  	//
 10546  	// The configured maximumPageSize determines how many results can be returned
 10547  	// in a single call.
 10548  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10549  
 10550  	// When set to true, returns the results in reverse order. By default the results
 10551  	// are returned in descending order of the start time of the executions.
 10552  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
 10553  
 10554  	// Workflow executions are included in the returned results based on whether
 10555  	// their start times are within the range specified by this filter.
 10556  	//
 10557  	// StartTimeFilter is a required field
 10558  	StartTimeFilter *ExecutionTimeFilter `locationName:"startTimeFilter" type:"structure" required:"true"`
 10559  
 10560  	// If specified, only executions that have the matching tag are listed.
 10561  	//
 10562  	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
 10563  	// specify at most one of these in a request.
 10564  	TagFilter *TagFilter `locationName:"tagFilter" type:"structure"`
 10565  
 10566  	// If specified, only executions of the type specified in the filter are returned.
 10567  	//
 10568  	// executionFilter, typeFilter and tagFilter are mutually exclusive. You can
 10569  	// specify at most one of these in a request.
 10570  	TypeFilter *WorkflowTypeFilter `locationName:"typeFilter" type:"structure"`
 10571  }
 10572  
 10573  // String returns the string representation.
 10574  //
 10575  // API parameter values that are decorated as "sensitive" in the API will not
 10576  // be included in the string output. The member name will be present, but the
 10577  // value will be replaced with "sensitive".
 10578  func (s ListOpenWorkflowExecutionsInput) String() string {
 10579  	return awsutil.Prettify(s)
 10580  }
 10581  
 10582  // GoString returns the string representation.
 10583  //
 10584  // API parameter values that are decorated as "sensitive" in the API will not
 10585  // be included in the string output. The member name will be present, but the
 10586  // value will be replaced with "sensitive".
 10587  func (s ListOpenWorkflowExecutionsInput) GoString() string {
 10588  	return s.String()
 10589  }
 10590  
 10591  // Validate inspects the fields of the type to determine if they are valid.
 10592  func (s *ListOpenWorkflowExecutionsInput) Validate() error {
 10593  	invalidParams := request.ErrInvalidParams{Context: "ListOpenWorkflowExecutionsInput"}
 10594  	if s.Domain == nil {
 10595  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 10596  	}
 10597  	if s.Domain != nil && len(*s.Domain) < 1 {
 10598  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 10599  	}
 10600  	if s.StartTimeFilter == nil {
 10601  		invalidParams.Add(request.NewErrParamRequired("StartTimeFilter"))
 10602  	}
 10603  	if s.ExecutionFilter != nil {
 10604  		if err := s.ExecutionFilter.Validate(); err != nil {
 10605  			invalidParams.AddNested("ExecutionFilter", err.(request.ErrInvalidParams))
 10606  		}
 10607  	}
 10608  	if s.StartTimeFilter != nil {
 10609  		if err := s.StartTimeFilter.Validate(); err != nil {
 10610  			invalidParams.AddNested("StartTimeFilter", err.(request.ErrInvalidParams))
 10611  		}
 10612  	}
 10613  	if s.TagFilter != nil {
 10614  		if err := s.TagFilter.Validate(); err != nil {
 10615  			invalidParams.AddNested("TagFilter", err.(request.ErrInvalidParams))
 10616  		}
 10617  	}
 10618  	if s.TypeFilter != nil {
 10619  		if err := s.TypeFilter.Validate(); err != nil {
 10620  			invalidParams.AddNested("TypeFilter", err.(request.ErrInvalidParams))
 10621  		}
 10622  	}
 10623  
 10624  	if invalidParams.Len() > 0 {
 10625  		return invalidParams
 10626  	}
 10627  	return nil
 10628  }
 10629  
 10630  // SetDomain sets the Domain field's value.
 10631  func (s *ListOpenWorkflowExecutionsInput) SetDomain(v string) *ListOpenWorkflowExecutionsInput {
 10632  	s.Domain = &v
 10633  	return s
 10634  }
 10635  
 10636  // SetExecutionFilter sets the ExecutionFilter field's value.
 10637  func (s *ListOpenWorkflowExecutionsInput) SetExecutionFilter(v *WorkflowExecutionFilter) *ListOpenWorkflowExecutionsInput {
 10638  	s.ExecutionFilter = v
 10639  	return s
 10640  }
 10641  
 10642  // SetMaximumPageSize sets the MaximumPageSize field's value.
 10643  func (s *ListOpenWorkflowExecutionsInput) SetMaximumPageSize(v int64) *ListOpenWorkflowExecutionsInput {
 10644  	s.MaximumPageSize = &v
 10645  	return s
 10646  }
 10647  
 10648  // SetNextPageToken sets the NextPageToken field's value.
 10649  func (s *ListOpenWorkflowExecutionsInput) SetNextPageToken(v string) *ListOpenWorkflowExecutionsInput {
 10650  	s.NextPageToken = &v
 10651  	return s
 10652  }
 10653  
 10654  // SetReverseOrder sets the ReverseOrder field's value.
 10655  func (s *ListOpenWorkflowExecutionsInput) SetReverseOrder(v bool) *ListOpenWorkflowExecutionsInput {
 10656  	s.ReverseOrder = &v
 10657  	return s
 10658  }
 10659  
 10660  // SetStartTimeFilter sets the StartTimeFilter field's value.
 10661  func (s *ListOpenWorkflowExecutionsInput) SetStartTimeFilter(v *ExecutionTimeFilter) *ListOpenWorkflowExecutionsInput {
 10662  	s.StartTimeFilter = v
 10663  	return s
 10664  }
 10665  
 10666  // SetTagFilter sets the TagFilter field's value.
 10667  func (s *ListOpenWorkflowExecutionsInput) SetTagFilter(v *TagFilter) *ListOpenWorkflowExecutionsInput {
 10668  	s.TagFilter = v
 10669  	return s
 10670  }
 10671  
 10672  // SetTypeFilter sets the TypeFilter field's value.
 10673  func (s *ListOpenWorkflowExecutionsInput) SetTypeFilter(v *WorkflowTypeFilter) *ListOpenWorkflowExecutionsInput {
 10674  	s.TypeFilter = v
 10675  	return s
 10676  }
 10677  
 10678  type ListTagsForResourceInput struct {
 10679  	_ struct{} `type:"structure"`
 10680  
 10681  	// The Amazon Resource Name (ARN) for the Amazon SWF domain.
 10682  	//
 10683  	// ResourceArn is a required field
 10684  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 10685  }
 10686  
 10687  // String returns the string representation.
 10688  //
 10689  // API parameter values that are decorated as "sensitive" in the API will not
 10690  // be included in the string output. The member name will be present, but the
 10691  // value will be replaced with "sensitive".
 10692  func (s ListTagsForResourceInput) String() string {
 10693  	return awsutil.Prettify(s)
 10694  }
 10695  
 10696  // GoString returns the string representation.
 10697  //
 10698  // API parameter values that are decorated as "sensitive" in the API will not
 10699  // be included in the string output. The member name will be present, but the
 10700  // value will be replaced with "sensitive".
 10701  func (s ListTagsForResourceInput) GoString() string {
 10702  	return s.String()
 10703  }
 10704  
 10705  // Validate inspects the fields of the type to determine if they are valid.
 10706  func (s *ListTagsForResourceInput) Validate() error {
 10707  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 10708  	if s.ResourceArn == nil {
 10709  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 10710  	}
 10711  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 10712  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 10713  	}
 10714  
 10715  	if invalidParams.Len() > 0 {
 10716  		return invalidParams
 10717  	}
 10718  	return nil
 10719  }
 10720  
 10721  // SetResourceArn sets the ResourceArn field's value.
 10722  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 10723  	s.ResourceArn = &v
 10724  	return s
 10725  }
 10726  
 10727  type ListTagsForResourceOutput struct {
 10728  	_ struct{} `type:"structure"`
 10729  
 10730  	// An array of tags associated with the domain.
 10731  	Tags []*ResourceTag `locationName:"tags" type:"list"`
 10732  }
 10733  
 10734  // String returns the string representation.
 10735  //
 10736  // API parameter values that are decorated as "sensitive" in the API will not
 10737  // be included in the string output. The member name will be present, but the
 10738  // value will be replaced with "sensitive".
 10739  func (s ListTagsForResourceOutput) String() string {
 10740  	return awsutil.Prettify(s)
 10741  }
 10742  
 10743  // GoString returns the string representation.
 10744  //
 10745  // API parameter values that are decorated as "sensitive" in the API will not
 10746  // be included in the string output. The member name will be present, but the
 10747  // value will be replaced with "sensitive".
 10748  func (s ListTagsForResourceOutput) GoString() string {
 10749  	return s.String()
 10750  }
 10751  
 10752  // SetTags sets the Tags field's value.
 10753  func (s *ListTagsForResourceOutput) SetTags(v []*ResourceTag) *ListTagsForResourceOutput {
 10754  	s.Tags = v
 10755  	return s
 10756  }
 10757  
 10758  type ListWorkflowTypesInput struct {
 10759  	_ struct{} `type:"structure"`
 10760  
 10761  	// The name of the domain in which the workflow types have been registered.
 10762  	//
 10763  	// Domain is a required field
 10764  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 10765  
 10766  	// The maximum number of results that are returned per call. Use nextPageToken
 10767  	// to obtain further pages of results.
 10768  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
 10769  
 10770  	// If specified, lists the workflow type with this name.
 10771  	Name *string `locationName:"name" min:"1" type:"string"`
 10772  
 10773  	// If NextPageToken is returned there are more results available. The value
 10774  	// of NextPageToken is a unique pagination token for each page. Make the call
 10775  	// again using the returned token to retrieve the next page. Keep all other
 10776  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
 10777  	// an expired pagination token will return a 400 error: "Specified token has
 10778  	// exceeded its maximum lifetime".
 10779  	//
 10780  	// The configured maximumPageSize determines how many results can be returned
 10781  	// in a single call.
 10782  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10783  
 10784  	// Specifies the registration status of the workflow types to list.
 10785  	//
 10786  	// RegistrationStatus is a required field
 10787  	RegistrationStatus *string `locationName:"registrationStatus" type:"string" required:"true" enum:"RegistrationStatus"`
 10788  
 10789  	// When set to true, returns the results in reverse order. By default the results
 10790  	// are returned in ascending alphabetical order of the name of the workflow
 10791  	// types.
 10792  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
 10793  }
 10794  
 10795  // String returns the string representation.
 10796  //
 10797  // API parameter values that are decorated as "sensitive" in the API will not
 10798  // be included in the string output. The member name will be present, but the
 10799  // value will be replaced with "sensitive".
 10800  func (s ListWorkflowTypesInput) String() string {
 10801  	return awsutil.Prettify(s)
 10802  }
 10803  
 10804  // GoString returns the string representation.
 10805  //
 10806  // API parameter values that are decorated as "sensitive" in the API will not
 10807  // be included in the string output. The member name will be present, but the
 10808  // value will be replaced with "sensitive".
 10809  func (s ListWorkflowTypesInput) GoString() string {
 10810  	return s.String()
 10811  }
 10812  
 10813  // Validate inspects the fields of the type to determine if they are valid.
 10814  func (s *ListWorkflowTypesInput) Validate() error {
 10815  	invalidParams := request.ErrInvalidParams{Context: "ListWorkflowTypesInput"}
 10816  	if s.Domain == nil {
 10817  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 10818  	}
 10819  	if s.Domain != nil && len(*s.Domain) < 1 {
 10820  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 10821  	}
 10822  	if s.Name != nil && len(*s.Name) < 1 {
 10823  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 10824  	}
 10825  	if s.RegistrationStatus == nil {
 10826  		invalidParams.Add(request.NewErrParamRequired("RegistrationStatus"))
 10827  	}
 10828  
 10829  	if invalidParams.Len() > 0 {
 10830  		return invalidParams
 10831  	}
 10832  	return nil
 10833  }
 10834  
 10835  // SetDomain sets the Domain field's value.
 10836  func (s *ListWorkflowTypesInput) SetDomain(v string) *ListWorkflowTypesInput {
 10837  	s.Domain = &v
 10838  	return s
 10839  }
 10840  
 10841  // SetMaximumPageSize sets the MaximumPageSize field's value.
 10842  func (s *ListWorkflowTypesInput) SetMaximumPageSize(v int64) *ListWorkflowTypesInput {
 10843  	s.MaximumPageSize = &v
 10844  	return s
 10845  }
 10846  
 10847  // SetName sets the Name field's value.
 10848  func (s *ListWorkflowTypesInput) SetName(v string) *ListWorkflowTypesInput {
 10849  	s.Name = &v
 10850  	return s
 10851  }
 10852  
 10853  // SetNextPageToken sets the NextPageToken field's value.
 10854  func (s *ListWorkflowTypesInput) SetNextPageToken(v string) *ListWorkflowTypesInput {
 10855  	s.NextPageToken = &v
 10856  	return s
 10857  }
 10858  
 10859  // SetRegistrationStatus sets the RegistrationStatus field's value.
 10860  func (s *ListWorkflowTypesInput) SetRegistrationStatus(v string) *ListWorkflowTypesInput {
 10861  	s.RegistrationStatus = &v
 10862  	return s
 10863  }
 10864  
 10865  // SetReverseOrder sets the ReverseOrder field's value.
 10866  func (s *ListWorkflowTypesInput) SetReverseOrder(v bool) *ListWorkflowTypesInput {
 10867  	s.ReverseOrder = &v
 10868  	return s
 10869  }
 10870  
 10871  // Contains a paginated list of information structures about workflow types.
 10872  type ListWorkflowTypesOutput struct {
 10873  	_ struct{} `type:"structure"`
 10874  
 10875  	// If a NextPageToken was returned by a previous call, there are more results
 10876  	// available. To retrieve the next page of results, make the call again using
 10877  	// the returned token in nextPageToken. Keep all other arguments unchanged.
 10878  	//
 10879  	// The configured maximumPageSize determines how many results can be returned
 10880  	// in a single call.
 10881  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 10882  
 10883  	// The list of workflow type information.
 10884  	//
 10885  	// TypeInfos is a required field
 10886  	TypeInfos []*WorkflowTypeInfo `locationName:"typeInfos" type:"list" required:"true"`
 10887  }
 10888  
 10889  // String returns the string representation.
 10890  //
 10891  // API parameter values that are decorated as "sensitive" in the API will not
 10892  // be included in the string output. The member name will be present, but the
 10893  // value will be replaced with "sensitive".
 10894  func (s ListWorkflowTypesOutput) String() string {
 10895  	return awsutil.Prettify(s)
 10896  }
 10897  
 10898  // GoString returns the string representation.
 10899  //
 10900  // API parameter values that are decorated as "sensitive" in the API will not
 10901  // be included in the string output. The member name will be present, but the
 10902  // value will be replaced with "sensitive".
 10903  func (s ListWorkflowTypesOutput) GoString() string {
 10904  	return s.String()
 10905  }
 10906  
 10907  // SetNextPageToken sets the NextPageToken field's value.
 10908  func (s *ListWorkflowTypesOutput) SetNextPageToken(v string) *ListWorkflowTypesOutput {
 10909  	s.NextPageToken = &v
 10910  	return s
 10911  }
 10912  
 10913  // SetTypeInfos sets the TypeInfos field's value.
 10914  func (s *ListWorkflowTypesOutput) SetTypeInfos(v []*WorkflowTypeInfo) *ListWorkflowTypesOutput {
 10915  	s.TypeInfos = v
 10916  	return s
 10917  }
 10918  
 10919  // Provides the details of the MarkerRecorded event.
 10920  type MarkerRecordedEventAttributes struct {
 10921  	_ struct{} `type:"structure"`
 10922  
 10923  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 10924  	// that resulted in the RecordMarker decision that requested this marker. This
 10925  	// information can be useful for diagnosing problems by tracing back the chain
 10926  	// of events leading up to this event.
 10927  	//
 10928  	// DecisionTaskCompletedEventId is a required field
 10929  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 10930  
 10931  	// The details of the marker.
 10932  	Details *string `locationName:"details" type:"string"`
 10933  
 10934  	// The name of the marker.
 10935  	//
 10936  	// MarkerName is a required field
 10937  	MarkerName *string `locationName:"markerName" min:"1" type:"string" required:"true"`
 10938  }
 10939  
 10940  // String returns the string representation.
 10941  //
 10942  // API parameter values that are decorated as "sensitive" in the API will not
 10943  // be included in the string output. The member name will be present, but the
 10944  // value will be replaced with "sensitive".
 10945  func (s MarkerRecordedEventAttributes) String() string {
 10946  	return awsutil.Prettify(s)
 10947  }
 10948  
 10949  // GoString returns the string representation.
 10950  //
 10951  // API parameter values that are decorated as "sensitive" in the API will not
 10952  // be included in the string output. The member name will be present, but the
 10953  // value will be replaced with "sensitive".
 10954  func (s MarkerRecordedEventAttributes) GoString() string {
 10955  	return s.String()
 10956  }
 10957  
 10958  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 10959  func (s *MarkerRecordedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *MarkerRecordedEventAttributes {
 10960  	s.DecisionTaskCompletedEventId = &v
 10961  	return s
 10962  }
 10963  
 10964  // SetDetails sets the Details field's value.
 10965  func (s *MarkerRecordedEventAttributes) SetDetails(v string) *MarkerRecordedEventAttributes {
 10966  	s.Details = &v
 10967  	return s
 10968  }
 10969  
 10970  // SetMarkerName sets the MarkerName field's value.
 10971  func (s *MarkerRecordedEventAttributes) SetMarkerName(v string) *MarkerRecordedEventAttributes {
 10972  	s.MarkerName = &v
 10973  	return s
 10974  }
 10975  
 10976  // Returned when the caller doesn't have sufficient permissions to invoke the
 10977  // action.
 10978  type OperationNotPermittedFault struct {
 10979  	_            struct{}                  `type:"structure"`
 10980  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10981  
 10982  	// A description that may help with diagnosing the cause of the fault.
 10983  	Message_ *string `locationName:"message" type:"string"`
 10984  }
 10985  
 10986  // String returns the string representation.
 10987  //
 10988  // API parameter values that are decorated as "sensitive" in the API will not
 10989  // be included in the string output. The member name will be present, but the
 10990  // value will be replaced with "sensitive".
 10991  func (s OperationNotPermittedFault) String() string {
 10992  	return awsutil.Prettify(s)
 10993  }
 10994  
 10995  // GoString returns the string representation.
 10996  //
 10997  // API parameter values that are decorated as "sensitive" in the API will not
 10998  // be included in the string output. The member name will be present, but the
 10999  // value will be replaced with "sensitive".
 11000  func (s OperationNotPermittedFault) GoString() string {
 11001  	return s.String()
 11002  }
 11003  
 11004  func newErrorOperationNotPermittedFault(v protocol.ResponseMetadata) error {
 11005  	return &OperationNotPermittedFault{
 11006  		RespMetadata: v,
 11007  	}
 11008  }
 11009  
 11010  // Code returns the exception type name.
 11011  func (s *OperationNotPermittedFault) Code() string {
 11012  	return "OperationNotPermittedFault"
 11013  }
 11014  
 11015  // Message returns the exception's message.
 11016  func (s *OperationNotPermittedFault) Message() string {
 11017  	if s.Message_ != nil {
 11018  		return *s.Message_
 11019  	}
 11020  	return ""
 11021  }
 11022  
 11023  // OrigErr always returns nil, satisfies awserr.Error interface.
 11024  func (s *OperationNotPermittedFault) OrigErr() error {
 11025  	return nil
 11026  }
 11027  
 11028  func (s *OperationNotPermittedFault) Error() string {
 11029  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 11030  }
 11031  
 11032  // Status code returns the HTTP status code for the request's response error.
 11033  func (s *OperationNotPermittedFault) StatusCode() int {
 11034  	return s.RespMetadata.StatusCode
 11035  }
 11036  
 11037  // RequestID returns the service's response RequestID for request.
 11038  func (s *OperationNotPermittedFault) RequestID() string {
 11039  	return s.RespMetadata.RequestID
 11040  }
 11041  
 11042  // Contains the count of tasks in a task list.
 11043  type PendingTaskCount struct {
 11044  	_ struct{} `type:"structure"`
 11045  
 11046  	// The number of tasks in the task list.
 11047  	//
 11048  	// Count is a required field
 11049  	Count *int64 `locationName:"count" type:"integer" required:"true"`
 11050  
 11051  	// If set to true, indicates that the actual count was more than the maximum
 11052  	// supported by this API and the count returned is the truncated value.
 11053  	Truncated *bool `locationName:"truncated" type:"boolean"`
 11054  }
 11055  
 11056  // String returns the string representation.
 11057  //
 11058  // API parameter values that are decorated as "sensitive" in the API will not
 11059  // be included in the string output. The member name will be present, but the
 11060  // value will be replaced with "sensitive".
 11061  func (s PendingTaskCount) String() string {
 11062  	return awsutil.Prettify(s)
 11063  }
 11064  
 11065  // GoString returns the string representation.
 11066  //
 11067  // API parameter values that are decorated as "sensitive" in the API will not
 11068  // be included in the string output. The member name will be present, but the
 11069  // value will be replaced with "sensitive".
 11070  func (s PendingTaskCount) GoString() string {
 11071  	return s.String()
 11072  }
 11073  
 11074  // SetCount sets the Count field's value.
 11075  func (s *PendingTaskCount) SetCount(v int64) *PendingTaskCount {
 11076  	s.Count = &v
 11077  	return s
 11078  }
 11079  
 11080  // SetTruncated sets the Truncated field's value.
 11081  func (s *PendingTaskCount) SetTruncated(v bool) *PendingTaskCount {
 11082  	s.Truncated = &v
 11083  	return s
 11084  }
 11085  
 11086  type PollForActivityTaskInput struct {
 11087  	_ struct{} `type:"structure"`
 11088  
 11089  	// The name of the domain that contains the task lists being polled.
 11090  	//
 11091  	// Domain is a required field
 11092  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 11093  
 11094  	// Identity of the worker making the request, recorded in the ActivityTaskStarted
 11095  	// event in the workflow history. This enables diagnostic tracing when problems
 11096  	// arise. The form of this identity is user defined.
 11097  	Identity *string `locationName:"identity" type:"string"`
 11098  
 11099  	// Specifies the task list to poll for activity tasks.
 11100  	//
 11101  	// The specified string must not start or end with whitespace. It must not contain
 11102  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 11103  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 11104  	//
 11105  	// TaskList is a required field
 11106  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
 11107  }
 11108  
 11109  // String returns the string representation.
 11110  //
 11111  // API parameter values that are decorated as "sensitive" in the API will not
 11112  // be included in the string output. The member name will be present, but the
 11113  // value will be replaced with "sensitive".
 11114  func (s PollForActivityTaskInput) String() string {
 11115  	return awsutil.Prettify(s)
 11116  }
 11117  
 11118  // GoString returns the string representation.
 11119  //
 11120  // API parameter values that are decorated as "sensitive" in the API will not
 11121  // be included in the string output. The member name will be present, but the
 11122  // value will be replaced with "sensitive".
 11123  func (s PollForActivityTaskInput) GoString() string {
 11124  	return s.String()
 11125  }
 11126  
 11127  // Validate inspects the fields of the type to determine if they are valid.
 11128  func (s *PollForActivityTaskInput) Validate() error {
 11129  	invalidParams := request.ErrInvalidParams{Context: "PollForActivityTaskInput"}
 11130  	if s.Domain == nil {
 11131  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 11132  	}
 11133  	if s.Domain != nil && len(*s.Domain) < 1 {
 11134  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 11135  	}
 11136  	if s.TaskList == nil {
 11137  		invalidParams.Add(request.NewErrParamRequired("TaskList"))
 11138  	}
 11139  	if s.TaskList != nil {
 11140  		if err := s.TaskList.Validate(); err != nil {
 11141  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
 11142  		}
 11143  	}
 11144  
 11145  	if invalidParams.Len() > 0 {
 11146  		return invalidParams
 11147  	}
 11148  	return nil
 11149  }
 11150  
 11151  // SetDomain sets the Domain field's value.
 11152  func (s *PollForActivityTaskInput) SetDomain(v string) *PollForActivityTaskInput {
 11153  	s.Domain = &v
 11154  	return s
 11155  }
 11156  
 11157  // SetIdentity sets the Identity field's value.
 11158  func (s *PollForActivityTaskInput) SetIdentity(v string) *PollForActivityTaskInput {
 11159  	s.Identity = &v
 11160  	return s
 11161  }
 11162  
 11163  // SetTaskList sets the TaskList field's value.
 11164  func (s *PollForActivityTaskInput) SetTaskList(v *TaskList) *PollForActivityTaskInput {
 11165  	s.TaskList = v
 11166  	return s
 11167  }
 11168  
 11169  // Unit of work sent to an activity worker.
 11170  type PollForActivityTaskOutput struct {
 11171  	_ struct{} `type:"structure"`
 11172  
 11173  	// The unique ID of the task.
 11174  	//
 11175  	// ActivityId is a required field
 11176  	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
 11177  
 11178  	// The type of this activity task.
 11179  	//
 11180  	// ActivityType is a required field
 11181  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
 11182  
 11183  	// The inputs provided when the activity task was scheduled. The form of the
 11184  	// input is user defined and should be meaningful to the activity implementation.
 11185  	Input *string `locationName:"input" type:"string"`
 11186  
 11187  	// The ID of the ActivityTaskStarted event recorded in the history.
 11188  	//
 11189  	// StartedEventId is a required field
 11190  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
 11191  
 11192  	// The opaque string used as a handle on the task. This token is used by workers
 11193  	// to communicate progress and response information back to the system about
 11194  	// the task.
 11195  	//
 11196  	// TaskToken is a required field
 11197  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 11198  
 11199  	// The workflow execution that started this activity task.
 11200  	//
 11201  	// WorkflowExecution is a required field
 11202  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
 11203  }
 11204  
 11205  // String returns the string representation.
 11206  //
 11207  // API parameter values that are decorated as "sensitive" in the API will not
 11208  // be included in the string output. The member name will be present, but the
 11209  // value will be replaced with "sensitive".
 11210  func (s PollForActivityTaskOutput) String() string {
 11211  	return awsutil.Prettify(s)
 11212  }
 11213  
 11214  // GoString returns the string representation.
 11215  //
 11216  // API parameter values that are decorated as "sensitive" in the API will not
 11217  // be included in the string output. The member name will be present, but the
 11218  // value will be replaced with "sensitive".
 11219  func (s PollForActivityTaskOutput) GoString() string {
 11220  	return s.String()
 11221  }
 11222  
 11223  // SetActivityId sets the ActivityId field's value.
 11224  func (s *PollForActivityTaskOutput) SetActivityId(v string) *PollForActivityTaskOutput {
 11225  	s.ActivityId = &v
 11226  	return s
 11227  }
 11228  
 11229  // SetActivityType sets the ActivityType field's value.
 11230  func (s *PollForActivityTaskOutput) SetActivityType(v *ActivityType) *PollForActivityTaskOutput {
 11231  	s.ActivityType = v
 11232  	return s
 11233  }
 11234  
 11235  // SetInput sets the Input field's value.
 11236  func (s *PollForActivityTaskOutput) SetInput(v string) *PollForActivityTaskOutput {
 11237  	s.Input = &v
 11238  	return s
 11239  }
 11240  
 11241  // SetStartedEventId sets the StartedEventId field's value.
 11242  func (s *PollForActivityTaskOutput) SetStartedEventId(v int64) *PollForActivityTaskOutput {
 11243  	s.StartedEventId = &v
 11244  	return s
 11245  }
 11246  
 11247  // SetTaskToken sets the TaskToken field's value.
 11248  func (s *PollForActivityTaskOutput) SetTaskToken(v string) *PollForActivityTaskOutput {
 11249  	s.TaskToken = &v
 11250  	return s
 11251  }
 11252  
 11253  // SetWorkflowExecution sets the WorkflowExecution field's value.
 11254  func (s *PollForActivityTaskOutput) SetWorkflowExecution(v *WorkflowExecution) *PollForActivityTaskOutput {
 11255  	s.WorkflowExecution = v
 11256  	return s
 11257  }
 11258  
 11259  type PollForDecisionTaskInput struct {
 11260  	_ struct{} `type:"structure"`
 11261  
 11262  	// The name of the domain containing the task lists to poll.
 11263  	//
 11264  	// Domain is a required field
 11265  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 11266  
 11267  	// Identity of the decider making the request, which is recorded in the DecisionTaskStarted
 11268  	// event in the workflow history. This enables diagnostic tracing when problems
 11269  	// arise. The form of this identity is user defined.
 11270  	Identity *string `locationName:"identity" type:"string"`
 11271  
 11272  	// The maximum number of results that are returned per call. Use nextPageToken
 11273  	// to obtain further pages of results.
 11274  	//
 11275  	// This is an upper limit only; the actual number of results returned per call
 11276  	// may be fewer than the specified maximum.
 11277  	MaximumPageSize *int64 `locationName:"maximumPageSize" type:"integer"`
 11278  
 11279  	// If NextPageToken is returned there are more results available. The value
 11280  	// of NextPageToken is a unique pagination token for each page. Make the call
 11281  	// again using the returned token to retrieve the next page. Keep all other
 11282  	// arguments unchanged. Each pagination token expires after 60 seconds. Using
 11283  	// an expired pagination token will return a 400 error: "Specified token has
 11284  	// exceeded its maximum lifetime".
 11285  	//
 11286  	// The configured maximumPageSize determines how many results can be returned
 11287  	// in a single call.
 11288  	//
 11289  	// The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory
 11290  	// to get the next page. You must call PollForDecisionTask again (with the nextPageToken)
 11291  	// to retrieve the next page of history records. Calling PollForDecisionTask
 11292  	// with a nextPageToken doesn't return a new decision task.
 11293  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 11294  
 11295  	// When set to true, returns the events in reverse order. By default the results
 11296  	// are returned in ascending order of the eventTimestamp of the events.
 11297  	ReverseOrder *bool `locationName:"reverseOrder" type:"boolean"`
 11298  
 11299  	// Specifies the task list to poll for decision tasks.
 11300  	//
 11301  	// The specified string must not start or end with whitespace. It must not contain
 11302  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 11303  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 11304  	//
 11305  	// TaskList is a required field
 11306  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
 11307  }
 11308  
 11309  // String returns the string representation.
 11310  //
 11311  // API parameter values that are decorated as "sensitive" in the API will not
 11312  // be included in the string output. The member name will be present, but the
 11313  // value will be replaced with "sensitive".
 11314  func (s PollForDecisionTaskInput) String() string {
 11315  	return awsutil.Prettify(s)
 11316  }
 11317  
 11318  // GoString returns the string representation.
 11319  //
 11320  // API parameter values that are decorated as "sensitive" in the API will not
 11321  // be included in the string output. The member name will be present, but the
 11322  // value will be replaced with "sensitive".
 11323  func (s PollForDecisionTaskInput) GoString() string {
 11324  	return s.String()
 11325  }
 11326  
 11327  // Validate inspects the fields of the type to determine if they are valid.
 11328  func (s *PollForDecisionTaskInput) Validate() error {
 11329  	invalidParams := request.ErrInvalidParams{Context: "PollForDecisionTaskInput"}
 11330  	if s.Domain == nil {
 11331  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 11332  	}
 11333  	if s.Domain != nil && len(*s.Domain) < 1 {
 11334  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 11335  	}
 11336  	if s.TaskList == nil {
 11337  		invalidParams.Add(request.NewErrParamRequired("TaskList"))
 11338  	}
 11339  	if s.TaskList != nil {
 11340  		if err := s.TaskList.Validate(); err != nil {
 11341  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
 11342  		}
 11343  	}
 11344  
 11345  	if invalidParams.Len() > 0 {
 11346  		return invalidParams
 11347  	}
 11348  	return nil
 11349  }
 11350  
 11351  // SetDomain sets the Domain field's value.
 11352  func (s *PollForDecisionTaskInput) SetDomain(v string) *PollForDecisionTaskInput {
 11353  	s.Domain = &v
 11354  	return s
 11355  }
 11356  
 11357  // SetIdentity sets the Identity field's value.
 11358  func (s *PollForDecisionTaskInput) SetIdentity(v string) *PollForDecisionTaskInput {
 11359  	s.Identity = &v
 11360  	return s
 11361  }
 11362  
 11363  // SetMaximumPageSize sets the MaximumPageSize field's value.
 11364  func (s *PollForDecisionTaskInput) SetMaximumPageSize(v int64) *PollForDecisionTaskInput {
 11365  	s.MaximumPageSize = &v
 11366  	return s
 11367  }
 11368  
 11369  // SetNextPageToken sets the NextPageToken field's value.
 11370  func (s *PollForDecisionTaskInput) SetNextPageToken(v string) *PollForDecisionTaskInput {
 11371  	s.NextPageToken = &v
 11372  	return s
 11373  }
 11374  
 11375  // SetReverseOrder sets the ReverseOrder field's value.
 11376  func (s *PollForDecisionTaskInput) SetReverseOrder(v bool) *PollForDecisionTaskInput {
 11377  	s.ReverseOrder = &v
 11378  	return s
 11379  }
 11380  
 11381  // SetTaskList sets the TaskList field's value.
 11382  func (s *PollForDecisionTaskInput) SetTaskList(v *TaskList) *PollForDecisionTaskInput {
 11383  	s.TaskList = v
 11384  	return s
 11385  }
 11386  
 11387  // A structure that represents a decision task. Decision tasks are sent to deciders
 11388  // in order for them to make decisions.
 11389  type PollForDecisionTaskOutput struct {
 11390  	_ struct{} `type:"structure"`
 11391  
 11392  	// A paginated list of history events of the workflow execution. The decider
 11393  	// uses this during the processing of the decision task.
 11394  	//
 11395  	// Events is a required field
 11396  	Events []*HistoryEvent `locationName:"events" type:"list" required:"true"`
 11397  
 11398  	// If a NextPageToken was returned by a previous call, there are more results
 11399  	// available. To retrieve the next page of results, make the call again using
 11400  	// the returned token in nextPageToken. Keep all other arguments unchanged.
 11401  	//
 11402  	// The configured maximumPageSize determines how many results can be returned
 11403  	// in a single call.
 11404  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 11405  
 11406  	// The ID of the DecisionTaskStarted event of the previous decision task of
 11407  	// this workflow execution that was processed by the decider. This can be used
 11408  	// to determine the events in the history new since the last decision task received
 11409  	// by the decider.
 11410  	PreviousStartedEventId *int64 `locationName:"previousStartedEventId" type:"long"`
 11411  
 11412  	// The ID of the DecisionTaskStarted event recorded in the history.
 11413  	//
 11414  	// StartedEventId is a required field
 11415  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
 11416  
 11417  	// The opaque string used as a handle on the task. This token is used by workers
 11418  	// to communicate progress and response information back to the system about
 11419  	// the task.
 11420  	//
 11421  	// TaskToken is a required field
 11422  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 11423  
 11424  	// The workflow execution for which this decision task was created.
 11425  	//
 11426  	// WorkflowExecution is a required field
 11427  	WorkflowExecution *WorkflowExecution `locationName:"workflowExecution" type:"structure" required:"true"`
 11428  
 11429  	// The type of the workflow execution for which this decision task was created.
 11430  	//
 11431  	// WorkflowType is a required field
 11432  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 11433  }
 11434  
 11435  // String returns the string representation.
 11436  //
 11437  // API parameter values that are decorated as "sensitive" in the API will not
 11438  // be included in the string output. The member name will be present, but the
 11439  // value will be replaced with "sensitive".
 11440  func (s PollForDecisionTaskOutput) String() string {
 11441  	return awsutil.Prettify(s)
 11442  }
 11443  
 11444  // GoString returns the string representation.
 11445  //
 11446  // API parameter values that are decorated as "sensitive" in the API will not
 11447  // be included in the string output. The member name will be present, but the
 11448  // value will be replaced with "sensitive".
 11449  func (s PollForDecisionTaskOutput) GoString() string {
 11450  	return s.String()
 11451  }
 11452  
 11453  // SetEvents sets the Events field's value.
 11454  func (s *PollForDecisionTaskOutput) SetEvents(v []*HistoryEvent) *PollForDecisionTaskOutput {
 11455  	s.Events = v
 11456  	return s
 11457  }
 11458  
 11459  // SetNextPageToken sets the NextPageToken field's value.
 11460  func (s *PollForDecisionTaskOutput) SetNextPageToken(v string) *PollForDecisionTaskOutput {
 11461  	s.NextPageToken = &v
 11462  	return s
 11463  }
 11464  
 11465  // SetPreviousStartedEventId sets the PreviousStartedEventId field's value.
 11466  func (s *PollForDecisionTaskOutput) SetPreviousStartedEventId(v int64) *PollForDecisionTaskOutput {
 11467  	s.PreviousStartedEventId = &v
 11468  	return s
 11469  }
 11470  
 11471  // SetStartedEventId sets the StartedEventId field's value.
 11472  func (s *PollForDecisionTaskOutput) SetStartedEventId(v int64) *PollForDecisionTaskOutput {
 11473  	s.StartedEventId = &v
 11474  	return s
 11475  }
 11476  
 11477  // SetTaskToken sets the TaskToken field's value.
 11478  func (s *PollForDecisionTaskOutput) SetTaskToken(v string) *PollForDecisionTaskOutput {
 11479  	s.TaskToken = &v
 11480  	return s
 11481  }
 11482  
 11483  // SetWorkflowExecution sets the WorkflowExecution field's value.
 11484  func (s *PollForDecisionTaskOutput) SetWorkflowExecution(v *WorkflowExecution) *PollForDecisionTaskOutput {
 11485  	s.WorkflowExecution = v
 11486  	return s
 11487  }
 11488  
 11489  // SetWorkflowType sets the WorkflowType field's value.
 11490  func (s *PollForDecisionTaskOutput) SetWorkflowType(v *WorkflowType) *PollForDecisionTaskOutput {
 11491  	s.WorkflowType = v
 11492  	return s
 11493  }
 11494  
 11495  type RecordActivityTaskHeartbeatInput struct {
 11496  	_ struct{} `type:"structure"`
 11497  
 11498  	// If specified, contains details about the progress of the task.
 11499  	Details *string `locationName:"details" type:"string"`
 11500  
 11501  	// The taskToken of the ActivityTask.
 11502  	//
 11503  	// taskToken is generated by the service and should be treated as an opaque
 11504  	// value. If the task is passed to another process, its taskToken must also
 11505  	// be passed. This enables it to provide its progress and respond with results.
 11506  	//
 11507  	// TaskToken is a required field
 11508  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 11509  }
 11510  
 11511  // String returns the string representation.
 11512  //
 11513  // API parameter values that are decorated as "sensitive" in the API will not
 11514  // be included in the string output. The member name will be present, but the
 11515  // value will be replaced with "sensitive".
 11516  func (s RecordActivityTaskHeartbeatInput) String() string {
 11517  	return awsutil.Prettify(s)
 11518  }
 11519  
 11520  // GoString returns the string representation.
 11521  //
 11522  // API parameter values that are decorated as "sensitive" in the API will not
 11523  // be included in the string output. The member name will be present, but the
 11524  // value will be replaced with "sensitive".
 11525  func (s RecordActivityTaskHeartbeatInput) GoString() string {
 11526  	return s.String()
 11527  }
 11528  
 11529  // Validate inspects the fields of the type to determine if they are valid.
 11530  func (s *RecordActivityTaskHeartbeatInput) Validate() error {
 11531  	invalidParams := request.ErrInvalidParams{Context: "RecordActivityTaskHeartbeatInput"}
 11532  	if s.TaskToken == nil {
 11533  		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
 11534  	}
 11535  	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
 11536  		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
 11537  	}
 11538  
 11539  	if invalidParams.Len() > 0 {
 11540  		return invalidParams
 11541  	}
 11542  	return nil
 11543  }
 11544  
 11545  // SetDetails sets the Details field's value.
 11546  func (s *RecordActivityTaskHeartbeatInput) SetDetails(v string) *RecordActivityTaskHeartbeatInput {
 11547  	s.Details = &v
 11548  	return s
 11549  }
 11550  
 11551  // SetTaskToken sets the TaskToken field's value.
 11552  func (s *RecordActivityTaskHeartbeatInput) SetTaskToken(v string) *RecordActivityTaskHeartbeatInput {
 11553  	s.TaskToken = &v
 11554  	return s
 11555  }
 11556  
 11557  // Status information about an activity task.
 11558  type RecordActivityTaskHeartbeatOutput struct {
 11559  	_ struct{} `type:"structure"`
 11560  
 11561  	// Set to true if cancellation of the task is requested.
 11562  	//
 11563  	// CancelRequested is a required field
 11564  	CancelRequested *bool `locationName:"cancelRequested" type:"boolean" required:"true"`
 11565  }
 11566  
 11567  // String returns the string representation.
 11568  //
 11569  // API parameter values that are decorated as "sensitive" in the API will not
 11570  // be included in the string output. The member name will be present, but the
 11571  // value will be replaced with "sensitive".
 11572  func (s RecordActivityTaskHeartbeatOutput) String() string {
 11573  	return awsutil.Prettify(s)
 11574  }
 11575  
 11576  // GoString returns the string representation.
 11577  //
 11578  // API parameter values that are decorated as "sensitive" in the API will not
 11579  // be included in the string output. The member name will be present, but the
 11580  // value will be replaced with "sensitive".
 11581  func (s RecordActivityTaskHeartbeatOutput) GoString() string {
 11582  	return s.String()
 11583  }
 11584  
 11585  // SetCancelRequested sets the CancelRequested field's value.
 11586  func (s *RecordActivityTaskHeartbeatOutput) SetCancelRequested(v bool) *RecordActivityTaskHeartbeatOutput {
 11587  	s.CancelRequested = &v
 11588  	return s
 11589  }
 11590  
 11591  // Provides the details of the RecordMarker decision.
 11592  //
 11593  // Access Control
 11594  //
 11595  // You can use IAM policies to control this decision's access to Amazon SWF
 11596  // resources as follows:
 11597  //
 11598  //    * Use a Resource element with the domain name to limit the action to only
 11599  //    specified domains.
 11600  //
 11601  //    * Use an Action element to allow or deny permission to call this action.
 11602  //
 11603  //    * You cannot use an IAM policy to constrain this action's parameters.
 11604  //
 11605  // If the caller doesn't have sufficient permissions to invoke the action, or
 11606  // the parameter values fall outside the specified constraints, the action fails.
 11607  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 11608  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 11609  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 11610  // in the Amazon SWF Developer Guide.
 11611  type RecordMarkerDecisionAttributes struct {
 11612  	_ struct{} `type:"structure"`
 11613  
 11614  	// The details of the marker.
 11615  	Details *string `locationName:"details" type:"string"`
 11616  
 11617  	// The name of the marker.
 11618  	//
 11619  	// MarkerName is a required field
 11620  	MarkerName *string `locationName:"markerName" min:"1" type:"string" required:"true"`
 11621  }
 11622  
 11623  // String returns the string representation.
 11624  //
 11625  // API parameter values that are decorated as "sensitive" in the API will not
 11626  // be included in the string output. The member name will be present, but the
 11627  // value will be replaced with "sensitive".
 11628  func (s RecordMarkerDecisionAttributes) String() string {
 11629  	return awsutil.Prettify(s)
 11630  }
 11631  
 11632  // GoString returns the string representation.
 11633  //
 11634  // API parameter values that are decorated as "sensitive" in the API will not
 11635  // be included in the string output. The member name will be present, but the
 11636  // value will be replaced with "sensitive".
 11637  func (s RecordMarkerDecisionAttributes) GoString() string {
 11638  	return s.String()
 11639  }
 11640  
 11641  // Validate inspects the fields of the type to determine if they are valid.
 11642  func (s *RecordMarkerDecisionAttributes) Validate() error {
 11643  	invalidParams := request.ErrInvalidParams{Context: "RecordMarkerDecisionAttributes"}
 11644  	if s.MarkerName == nil {
 11645  		invalidParams.Add(request.NewErrParamRequired("MarkerName"))
 11646  	}
 11647  	if s.MarkerName != nil && len(*s.MarkerName) < 1 {
 11648  		invalidParams.Add(request.NewErrParamMinLen("MarkerName", 1))
 11649  	}
 11650  
 11651  	if invalidParams.Len() > 0 {
 11652  		return invalidParams
 11653  	}
 11654  	return nil
 11655  }
 11656  
 11657  // SetDetails sets the Details field's value.
 11658  func (s *RecordMarkerDecisionAttributes) SetDetails(v string) *RecordMarkerDecisionAttributes {
 11659  	s.Details = &v
 11660  	return s
 11661  }
 11662  
 11663  // SetMarkerName sets the MarkerName field's value.
 11664  func (s *RecordMarkerDecisionAttributes) SetMarkerName(v string) *RecordMarkerDecisionAttributes {
 11665  	s.MarkerName = &v
 11666  	return s
 11667  }
 11668  
 11669  // Provides the details of the RecordMarkerFailed event.
 11670  type RecordMarkerFailedEventAttributes struct {
 11671  	_ struct{} `type:"structure"`
 11672  
 11673  	// The cause of the failure. This information is generated by the system and
 11674  	// can be useful for diagnostic purposes.
 11675  	//
 11676  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 11677  	// lacked sufficient permissions. For details and example IAM policies, see
 11678  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 11679  	// in the Amazon SWF Developer Guide.
 11680  	//
 11681  	// Cause is a required field
 11682  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"RecordMarkerFailedCause"`
 11683  
 11684  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 11685  	// that resulted in the RecordMarkerFailed decision for this cancellation request.
 11686  	// This information can be useful for diagnosing problems by tracing back the
 11687  	// chain of events leading up to this event.
 11688  	//
 11689  	// DecisionTaskCompletedEventId is a required field
 11690  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 11691  
 11692  	// The marker's name.
 11693  	//
 11694  	// MarkerName is a required field
 11695  	MarkerName *string `locationName:"markerName" min:"1" type:"string" required:"true"`
 11696  }
 11697  
 11698  // String returns the string representation.
 11699  //
 11700  // API parameter values that are decorated as "sensitive" in the API will not
 11701  // be included in the string output. The member name will be present, but the
 11702  // value will be replaced with "sensitive".
 11703  func (s RecordMarkerFailedEventAttributes) String() string {
 11704  	return awsutil.Prettify(s)
 11705  }
 11706  
 11707  // GoString returns the string representation.
 11708  //
 11709  // API parameter values that are decorated as "sensitive" in the API will not
 11710  // be included in the string output. The member name will be present, but the
 11711  // value will be replaced with "sensitive".
 11712  func (s RecordMarkerFailedEventAttributes) GoString() string {
 11713  	return s.String()
 11714  }
 11715  
 11716  // SetCause sets the Cause field's value.
 11717  func (s *RecordMarkerFailedEventAttributes) SetCause(v string) *RecordMarkerFailedEventAttributes {
 11718  	s.Cause = &v
 11719  	return s
 11720  }
 11721  
 11722  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 11723  func (s *RecordMarkerFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RecordMarkerFailedEventAttributes {
 11724  	s.DecisionTaskCompletedEventId = &v
 11725  	return s
 11726  }
 11727  
 11728  // SetMarkerName sets the MarkerName field's value.
 11729  func (s *RecordMarkerFailedEventAttributes) SetMarkerName(v string) *RecordMarkerFailedEventAttributes {
 11730  	s.MarkerName = &v
 11731  	return s
 11732  }
 11733  
 11734  type RegisterActivityTypeInput struct {
 11735  	_ struct{} `type:"structure"`
 11736  
 11737  	// If set, specifies the default maximum time before which a worker processing
 11738  	// a task of this type must report progress by calling RecordActivityTaskHeartbeat.
 11739  	// If the timeout is exceeded, the activity task is automatically timed out.
 11740  	// This default can be overridden when scheduling an activity task using the
 11741  	// ScheduleActivityTask Decision. If the activity worker subsequently attempts
 11742  	// to record a heartbeat or returns a result, the activity worker receives an
 11743  	// UnknownResource fault. In this case, Amazon SWF no longer considers the activity
 11744  	// task to be valid; the activity worker should clean up the activity task.
 11745  	//
 11746  	// The duration is specified in seconds, an integer greater than or equal to
 11747  	// 0. You can use NONE to specify unlimited duration.
 11748  	DefaultTaskHeartbeatTimeout *string `locationName:"defaultTaskHeartbeatTimeout" type:"string"`
 11749  
 11750  	// If set, specifies the default task list to use for scheduling tasks of this
 11751  	// activity type. This default task list is used if a task list isn't provided
 11752  	// when a task is scheduled through the ScheduleActivityTask Decision.
 11753  	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
 11754  
 11755  	// The default task priority to assign to the activity type. If not assigned,
 11756  	// then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE
 11757  	// (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate
 11758  	// higher priority.
 11759  	//
 11760  	// For more information about setting task priority, see Setting Task Priority
 11761  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 11762  	// in the in the Amazon SWF Developer Guide..
 11763  	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
 11764  
 11765  	// If set, specifies the default maximum duration for a task of this activity
 11766  	// type. This default can be overridden when scheduling an activity task using
 11767  	// the ScheduleActivityTask Decision.
 11768  	//
 11769  	// The duration is specified in seconds, an integer greater than or equal to
 11770  	// 0. You can use NONE to specify unlimited duration.
 11771  	DefaultTaskScheduleToCloseTimeout *string `locationName:"defaultTaskScheduleToCloseTimeout" type:"string"`
 11772  
 11773  	// If set, specifies the default maximum duration that a task of this activity
 11774  	// type can wait before being assigned to a worker. This default can be overridden
 11775  	// when scheduling an activity task using the ScheduleActivityTask Decision.
 11776  	//
 11777  	// The duration is specified in seconds, an integer greater than or equal to
 11778  	// 0. You can use NONE to specify unlimited duration.
 11779  	DefaultTaskScheduleToStartTimeout *string `locationName:"defaultTaskScheduleToStartTimeout" type:"string"`
 11780  
 11781  	// If set, specifies the default maximum duration that a worker can take to
 11782  	// process tasks of this activity type. This default can be overridden when
 11783  	// scheduling an activity task using the ScheduleActivityTask Decision.
 11784  	//
 11785  	// The duration is specified in seconds, an integer greater than or equal to
 11786  	// 0. You can use NONE to specify unlimited duration.
 11787  	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
 11788  
 11789  	// A textual description of the activity type.
 11790  	Description *string `locationName:"description" type:"string"`
 11791  
 11792  	// The name of the domain in which this activity is to be registered.
 11793  	//
 11794  	// Domain is a required field
 11795  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 11796  
 11797  	// The name of the activity type within the domain.
 11798  	//
 11799  	// The specified string must not start or end with whitespace. It must not contain
 11800  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 11801  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 11802  	//
 11803  	// Name is a required field
 11804  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11805  
 11806  	// The version of the activity type.
 11807  	//
 11808  	// The activity type consists of the name and version, the combination of which
 11809  	// must be unique within the domain.
 11810  	//
 11811  	// The specified string must not start or end with whitespace. It must not contain
 11812  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 11813  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 11814  	//
 11815  	// Version is a required field
 11816  	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
 11817  }
 11818  
 11819  // String returns the string representation.
 11820  //
 11821  // API parameter values that are decorated as "sensitive" in the API will not
 11822  // be included in the string output. The member name will be present, but the
 11823  // value will be replaced with "sensitive".
 11824  func (s RegisterActivityTypeInput) String() string {
 11825  	return awsutil.Prettify(s)
 11826  }
 11827  
 11828  // GoString returns the string representation.
 11829  //
 11830  // API parameter values that are decorated as "sensitive" in the API will not
 11831  // be included in the string output. The member name will be present, but the
 11832  // value will be replaced with "sensitive".
 11833  func (s RegisterActivityTypeInput) GoString() string {
 11834  	return s.String()
 11835  }
 11836  
 11837  // Validate inspects the fields of the type to determine if they are valid.
 11838  func (s *RegisterActivityTypeInput) Validate() error {
 11839  	invalidParams := request.ErrInvalidParams{Context: "RegisterActivityTypeInput"}
 11840  	if s.Domain == nil {
 11841  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 11842  	}
 11843  	if s.Domain != nil && len(*s.Domain) < 1 {
 11844  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 11845  	}
 11846  	if s.Name == nil {
 11847  		invalidParams.Add(request.NewErrParamRequired("Name"))
 11848  	}
 11849  	if s.Name != nil && len(*s.Name) < 1 {
 11850  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 11851  	}
 11852  	if s.Version == nil {
 11853  		invalidParams.Add(request.NewErrParamRequired("Version"))
 11854  	}
 11855  	if s.Version != nil && len(*s.Version) < 1 {
 11856  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 11857  	}
 11858  	if s.DefaultTaskList != nil {
 11859  		if err := s.DefaultTaskList.Validate(); err != nil {
 11860  			invalidParams.AddNested("DefaultTaskList", err.(request.ErrInvalidParams))
 11861  		}
 11862  	}
 11863  
 11864  	if invalidParams.Len() > 0 {
 11865  		return invalidParams
 11866  	}
 11867  	return nil
 11868  }
 11869  
 11870  // SetDefaultTaskHeartbeatTimeout sets the DefaultTaskHeartbeatTimeout field's value.
 11871  func (s *RegisterActivityTypeInput) SetDefaultTaskHeartbeatTimeout(v string) *RegisterActivityTypeInput {
 11872  	s.DefaultTaskHeartbeatTimeout = &v
 11873  	return s
 11874  }
 11875  
 11876  // SetDefaultTaskList sets the DefaultTaskList field's value.
 11877  func (s *RegisterActivityTypeInput) SetDefaultTaskList(v *TaskList) *RegisterActivityTypeInput {
 11878  	s.DefaultTaskList = v
 11879  	return s
 11880  }
 11881  
 11882  // SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
 11883  func (s *RegisterActivityTypeInput) SetDefaultTaskPriority(v string) *RegisterActivityTypeInput {
 11884  	s.DefaultTaskPriority = &v
 11885  	return s
 11886  }
 11887  
 11888  // SetDefaultTaskScheduleToCloseTimeout sets the DefaultTaskScheduleToCloseTimeout field's value.
 11889  func (s *RegisterActivityTypeInput) SetDefaultTaskScheduleToCloseTimeout(v string) *RegisterActivityTypeInput {
 11890  	s.DefaultTaskScheduleToCloseTimeout = &v
 11891  	return s
 11892  }
 11893  
 11894  // SetDefaultTaskScheduleToStartTimeout sets the DefaultTaskScheduleToStartTimeout field's value.
 11895  func (s *RegisterActivityTypeInput) SetDefaultTaskScheduleToStartTimeout(v string) *RegisterActivityTypeInput {
 11896  	s.DefaultTaskScheduleToStartTimeout = &v
 11897  	return s
 11898  }
 11899  
 11900  // SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
 11901  func (s *RegisterActivityTypeInput) SetDefaultTaskStartToCloseTimeout(v string) *RegisterActivityTypeInput {
 11902  	s.DefaultTaskStartToCloseTimeout = &v
 11903  	return s
 11904  }
 11905  
 11906  // SetDescription sets the Description field's value.
 11907  func (s *RegisterActivityTypeInput) SetDescription(v string) *RegisterActivityTypeInput {
 11908  	s.Description = &v
 11909  	return s
 11910  }
 11911  
 11912  // SetDomain sets the Domain field's value.
 11913  func (s *RegisterActivityTypeInput) SetDomain(v string) *RegisterActivityTypeInput {
 11914  	s.Domain = &v
 11915  	return s
 11916  }
 11917  
 11918  // SetName sets the Name field's value.
 11919  func (s *RegisterActivityTypeInput) SetName(v string) *RegisterActivityTypeInput {
 11920  	s.Name = &v
 11921  	return s
 11922  }
 11923  
 11924  // SetVersion sets the Version field's value.
 11925  func (s *RegisterActivityTypeInput) SetVersion(v string) *RegisterActivityTypeInput {
 11926  	s.Version = &v
 11927  	return s
 11928  }
 11929  
 11930  type RegisterActivityTypeOutput struct {
 11931  	_ struct{} `type:"structure"`
 11932  }
 11933  
 11934  // String returns the string representation.
 11935  //
 11936  // API parameter values that are decorated as "sensitive" in the API will not
 11937  // be included in the string output. The member name will be present, but the
 11938  // value will be replaced with "sensitive".
 11939  func (s RegisterActivityTypeOutput) String() string {
 11940  	return awsutil.Prettify(s)
 11941  }
 11942  
 11943  // GoString returns the string representation.
 11944  //
 11945  // API parameter values that are decorated as "sensitive" in the API will not
 11946  // be included in the string output. The member name will be present, but the
 11947  // value will be replaced with "sensitive".
 11948  func (s RegisterActivityTypeOutput) GoString() string {
 11949  	return s.String()
 11950  }
 11951  
 11952  type RegisterDomainInput struct {
 11953  	_ struct{} `type:"structure"`
 11954  
 11955  	// A text description of the domain.
 11956  	Description *string `locationName:"description" type:"string"`
 11957  
 11958  	// Name of the domain to register. The name must be unique in the region that
 11959  	// the domain is registered in.
 11960  	//
 11961  	// The specified string must not start or end with whitespace. It must not contain
 11962  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 11963  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 11964  	//
 11965  	// Name is a required field
 11966  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 11967  
 11968  	// Tags to be added when registering a domain.
 11969  	//
 11970  	// Tags may only contain unicode letters, digits, whitespace, or these symbols:
 11971  	// _ . : / = + - @.
 11972  	Tags []*ResourceTag `locationName:"tags" type:"list"`
 11973  
 11974  	// The duration (in days) that records and histories of workflow executions
 11975  	// on the domain should be kept by the service. After the retention period,
 11976  	// the workflow execution isn't available in the results of visibility calls.
 11977  	//
 11978  	// If you pass the value NONE or 0 (zero), then the workflow execution history
 11979  	// isn't retained. As soon as the workflow execution completes, the execution
 11980  	// record and its history are deleted.
 11981  	//
 11982  	// The maximum workflow execution retention period is 90 days. For more information
 11983  	// about Amazon SWF service limits, see: Amazon SWF Service Limits (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dg-limits.html)
 11984  	// in the Amazon SWF Developer Guide.
 11985  	//
 11986  	// WorkflowExecutionRetentionPeriodInDays is a required field
 11987  	WorkflowExecutionRetentionPeriodInDays *string `locationName:"workflowExecutionRetentionPeriodInDays" min:"1" type:"string" required:"true"`
 11988  }
 11989  
 11990  // String returns the string representation.
 11991  //
 11992  // API parameter values that are decorated as "sensitive" in the API will not
 11993  // be included in the string output. The member name will be present, but the
 11994  // value will be replaced with "sensitive".
 11995  func (s RegisterDomainInput) String() string {
 11996  	return awsutil.Prettify(s)
 11997  }
 11998  
 11999  // GoString returns the string representation.
 12000  //
 12001  // API parameter values that are decorated as "sensitive" in the API will not
 12002  // be included in the string output. The member name will be present, but the
 12003  // value will be replaced with "sensitive".
 12004  func (s RegisterDomainInput) GoString() string {
 12005  	return s.String()
 12006  }
 12007  
 12008  // Validate inspects the fields of the type to determine if they are valid.
 12009  func (s *RegisterDomainInput) Validate() error {
 12010  	invalidParams := request.ErrInvalidParams{Context: "RegisterDomainInput"}
 12011  	if s.Name == nil {
 12012  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12013  	}
 12014  	if s.Name != nil && len(*s.Name) < 1 {
 12015  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12016  	}
 12017  	if s.WorkflowExecutionRetentionPeriodInDays == nil {
 12018  		invalidParams.Add(request.NewErrParamRequired("WorkflowExecutionRetentionPeriodInDays"))
 12019  	}
 12020  	if s.WorkflowExecutionRetentionPeriodInDays != nil && len(*s.WorkflowExecutionRetentionPeriodInDays) < 1 {
 12021  		invalidParams.Add(request.NewErrParamMinLen("WorkflowExecutionRetentionPeriodInDays", 1))
 12022  	}
 12023  	if s.Tags != nil {
 12024  		for i, v := range s.Tags {
 12025  			if v == nil {
 12026  				continue
 12027  			}
 12028  			if err := v.Validate(); err != nil {
 12029  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 12030  			}
 12031  		}
 12032  	}
 12033  
 12034  	if invalidParams.Len() > 0 {
 12035  		return invalidParams
 12036  	}
 12037  	return nil
 12038  }
 12039  
 12040  // SetDescription sets the Description field's value.
 12041  func (s *RegisterDomainInput) SetDescription(v string) *RegisterDomainInput {
 12042  	s.Description = &v
 12043  	return s
 12044  }
 12045  
 12046  // SetName sets the Name field's value.
 12047  func (s *RegisterDomainInput) SetName(v string) *RegisterDomainInput {
 12048  	s.Name = &v
 12049  	return s
 12050  }
 12051  
 12052  // SetTags sets the Tags field's value.
 12053  func (s *RegisterDomainInput) SetTags(v []*ResourceTag) *RegisterDomainInput {
 12054  	s.Tags = v
 12055  	return s
 12056  }
 12057  
 12058  // SetWorkflowExecutionRetentionPeriodInDays sets the WorkflowExecutionRetentionPeriodInDays field's value.
 12059  func (s *RegisterDomainInput) SetWorkflowExecutionRetentionPeriodInDays(v string) *RegisterDomainInput {
 12060  	s.WorkflowExecutionRetentionPeriodInDays = &v
 12061  	return s
 12062  }
 12063  
 12064  type RegisterDomainOutput struct {
 12065  	_ struct{} `type:"structure"`
 12066  }
 12067  
 12068  // String returns the string representation.
 12069  //
 12070  // API parameter values that are decorated as "sensitive" in the API will not
 12071  // be included in the string output. The member name will be present, but the
 12072  // value will be replaced with "sensitive".
 12073  func (s RegisterDomainOutput) String() string {
 12074  	return awsutil.Prettify(s)
 12075  }
 12076  
 12077  // GoString returns the string representation.
 12078  //
 12079  // API parameter values that are decorated as "sensitive" in the API will not
 12080  // be included in the string output. The member name will be present, but the
 12081  // value will be replaced with "sensitive".
 12082  func (s RegisterDomainOutput) GoString() string {
 12083  	return s.String()
 12084  }
 12085  
 12086  type RegisterWorkflowTypeInput struct {
 12087  	_ struct{} `type:"structure"`
 12088  
 12089  	// If set, specifies the default policy to use for the child workflow executions
 12090  	// when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution
 12091  	// action explicitly or due to an expired timeout. This default can be overridden
 12092  	// when starting a workflow execution using the StartWorkflowExecution action
 12093  	// or the StartChildWorkflowExecution Decision.
 12094  	//
 12095  	// The supported child policies are:
 12096  	//
 12097  	//    * TERMINATE – The child executions are terminated.
 12098  	//
 12099  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 12100  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 12101  	//    It is up to the decider to take appropriate actions when it receives an
 12102  	//    execution history with this event.
 12103  	//
 12104  	//    * ABANDON – No action is taken. The child executions continue to run.
 12105  	DefaultChildPolicy *string `locationName:"defaultChildPolicy" type:"string" enum:"ChildPolicy"`
 12106  
 12107  	// If set, specifies the default maximum duration for executions of this workflow
 12108  	// type. You can override this default when starting an execution through the
 12109  	// StartWorkflowExecution Action or StartChildWorkflowExecution Decision.
 12110  	//
 12111  	// The duration is specified in seconds; an integer greater than or equal to
 12112  	// 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot
 12113  	// specify a value of "NONE" for defaultExecutionStartToCloseTimeout; there
 12114  	// is a one-year max limit on the time that a workflow execution can run. Exceeding
 12115  	// this limit always causes the workflow execution to time out.
 12116  	DefaultExecutionStartToCloseTimeout *string `locationName:"defaultExecutionStartToCloseTimeout" type:"string"`
 12117  
 12118  	// The default IAM role attached to this workflow type.
 12119  	//
 12120  	// Executions of this workflow type need IAM roles to invoke Lambda functions.
 12121  	// If you don't specify an IAM role when you start this workflow type, the default
 12122  	// Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
 12123  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
 12124  	// in the Amazon SWF Developer Guide.
 12125  	DefaultLambdaRole *string `locationName:"defaultLambdaRole" min:"1" type:"string"`
 12126  
 12127  	// If set, specifies the default task list to use for scheduling decision tasks
 12128  	// for executions of this workflow type. This default is used only if a task
 12129  	// list isn't provided when starting the execution through the StartWorkflowExecution
 12130  	// Action or StartChildWorkflowExecution Decision.
 12131  	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
 12132  
 12133  	// The default task priority to assign to the workflow type. If not assigned,
 12134  	// then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE
 12135  	// (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate
 12136  	// higher priority.
 12137  	//
 12138  	// For more information about setting task priority, see Setting Task Priority
 12139  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 12140  	// in the Amazon SWF Developer Guide.
 12141  	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
 12142  
 12143  	// If set, specifies the default maximum duration of decision tasks for this
 12144  	// workflow type. This default can be overridden when starting a workflow execution
 12145  	// using the StartWorkflowExecution action or the StartChildWorkflowExecution
 12146  	// Decision.
 12147  	//
 12148  	// The duration is specified in seconds, an integer greater than or equal to
 12149  	// 0. You can use NONE to specify unlimited duration.
 12150  	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
 12151  
 12152  	// Textual description of the workflow type.
 12153  	Description *string `locationName:"description" type:"string"`
 12154  
 12155  	// The name of the domain in which to register the workflow type.
 12156  	//
 12157  	// Domain is a required field
 12158  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 12159  
 12160  	// The name of the workflow type.
 12161  	//
 12162  	// The specified string must not start or end with whitespace. It must not contain
 12163  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 12164  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 12165  	//
 12166  	// Name is a required field
 12167  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 12168  
 12169  	// The version of the workflow type.
 12170  	//
 12171  	// The workflow type consists of the name and version, the combination of which
 12172  	// must be unique within the domain. To get a list of all currently registered
 12173  	// workflow types, use the ListWorkflowTypes action.
 12174  	//
 12175  	// The specified string must not start or end with whitespace. It must not contain
 12176  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 12177  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 12178  	//
 12179  	// Version is a required field
 12180  	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
 12181  }
 12182  
 12183  // String returns the string representation.
 12184  //
 12185  // API parameter values that are decorated as "sensitive" in the API will not
 12186  // be included in the string output. The member name will be present, but the
 12187  // value will be replaced with "sensitive".
 12188  func (s RegisterWorkflowTypeInput) String() string {
 12189  	return awsutil.Prettify(s)
 12190  }
 12191  
 12192  // GoString returns the string representation.
 12193  //
 12194  // API parameter values that are decorated as "sensitive" in the API will not
 12195  // be included in the string output. The member name will be present, but the
 12196  // value will be replaced with "sensitive".
 12197  func (s RegisterWorkflowTypeInput) GoString() string {
 12198  	return s.String()
 12199  }
 12200  
 12201  // Validate inspects the fields of the type to determine if they are valid.
 12202  func (s *RegisterWorkflowTypeInput) Validate() error {
 12203  	invalidParams := request.ErrInvalidParams{Context: "RegisterWorkflowTypeInput"}
 12204  	if s.DefaultLambdaRole != nil && len(*s.DefaultLambdaRole) < 1 {
 12205  		invalidParams.Add(request.NewErrParamMinLen("DefaultLambdaRole", 1))
 12206  	}
 12207  	if s.Domain == nil {
 12208  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 12209  	}
 12210  	if s.Domain != nil && len(*s.Domain) < 1 {
 12211  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 12212  	}
 12213  	if s.Name == nil {
 12214  		invalidParams.Add(request.NewErrParamRequired("Name"))
 12215  	}
 12216  	if s.Name != nil && len(*s.Name) < 1 {
 12217  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12218  	}
 12219  	if s.Version == nil {
 12220  		invalidParams.Add(request.NewErrParamRequired("Version"))
 12221  	}
 12222  	if s.Version != nil && len(*s.Version) < 1 {
 12223  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 12224  	}
 12225  	if s.DefaultTaskList != nil {
 12226  		if err := s.DefaultTaskList.Validate(); err != nil {
 12227  			invalidParams.AddNested("DefaultTaskList", err.(request.ErrInvalidParams))
 12228  		}
 12229  	}
 12230  
 12231  	if invalidParams.Len() > 0 {
 12232  		return invalidParams
 12233  	}
 12234  	return nil
 12235  }
 12236  
 12237  // SetDefaultChildPolicy sets the DefaultChildPolicy field's value.
 12238  func (s *RegisterWorkflowTypeInput) SetDefaultChildPolicy(v string) *RegisterWorkflowTypeInput {
 12239  	s.DefaultChildPolicy = &v
 12240  	return s
 12241  }
 12242  
 12243  // SetDefaultExecutionStartToCloseTimeout sets the DefaultExecutionStartToCloseTimeout field's value.
 12244  func (s *RegisterWorkflowTypeInput) SetDefaultExecutionStartToCloseTimeout(v string) *RegisterWorkflowTypeInput {
 12245  	s.DefaultExecutionStartToCloseTimeout = &v
 12246  	return s
 12247  }
 12248  
 12249  // SetDefaultLambdaRole sets the DefaultLambdaRole field's value.
 12250  func (s *RegisterWorkflowTypeInput) SetDefaultLambdaRole(v string) *RegisterWorkflowTypeInput {
 12251  	s.DefaultLambdaRole = &v
 12252  	return s
 12253  }
 12254  
 12255  // SetDefaultTaskList sets the DefaultTaskList field's value.
 12256  func (s *RegisterWorkflowTypeInput) SetDefaultTaskList(v *TaskList) *RegisterWorkflowTypeInput {
 12257  	s.DefaultTaskList = v
 12258  	return s
 12259  }
 12260  
 12261  // SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
 12262  func (s *RegisterWorkflowTypeInput) SetDefaultTaskPriority(v string) *RegisterWorkflowTypeInput {
 12263  	s.DefaultTaskPriority = &v
 12264  	return s
 12265  }
 12266  
 12267  // SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
 12268  func (s *RegisterWorkflowTypeInput) SetDefaultTaskStartToCloseTimeout(v string) *RegisterWorkflowTypeInput {
 12269  	s.DefaultTaskStartToCloseTimeout = &v
 12270  	return s
 12271  }
 12272  
 12273  // SetDescription sets the Description field's value.
 12274  func (s *RegisterWorkflowTypeInput) SetDescription(v string) *RegisterWorkflowTypeInput {
 12275  	s.Description = &v
 12276  	return s
 12277  }
 12278  
 12279  // SetDomain sets the Domain field's value.
 12280  func (s *RegisterWorkflowTypeInput) SetDomain(v string) *RegisterWorkflowTypeInput {
 12281  	s.Domain = &v
 12282  	return s
 12283  }
 12284  
 12285  // SetName sets the Name field's value.
 12286  func (s *RegisterWorkflowTypeInput) SetName(v string) *RegisterWorkflowTypeInput {
 12287  	s.Name = &v
 12288  	return s
 12289  }
 12290  
 12291  // SetVersion sets the Version field's value.
 12292  func (s *RegisterWorkflowTypeInput) SetVersion(v string) *RegisterWorkflowTypeInput {
 12293  	s.Version = &v
 12294  	return s
 12295  }
 12296  
 12297  type RegisterWorkflowTypeOutput struct {
 12298  	_ struct{} `type:"structure"`
 12299  }
 12300  
 12301  // String returns the string representation.
 12302  //
 12303  // API parameter values that are decorated as "sensitive" in the API will not
 12304  // be included in the string output. The member name will be present, but the
 12305  // value will be replaced with "sensitive".
 12306  func (s RegisterWorkflowTypeOutput) String() string {
 12307  	return awsutil.Prettify(s)
 12308  }
 12309  
 12310  // GoString returns the string representation.
 12311  //
 12312  // API parameter values that are decorated as "sensitive" in the API will not
 12313  // be included in the string output. The member name will be present, but the
 12314  // value will be replaced with "sensitive".
 12315  func (s RegisterWorkflowTypeOutput) GoString() string {
 12316  	return s.String()
 12317  }
 12318  
 12319  // Provides the details of the RequestCancelActivityTask decision.
 12320  //
 12321  // Access Control
 12322  //
 12323  // You can use IAM policies to control this decision's access to Amazon SWF
 12324  // resources as follows:
 12325  //
 12326  //    * Use a Resource element with the domain name to limit the action to only
 12327  //    specified domains.
 12328  //
 12329  //    * Use an Action element to allow or deny permission to call this action.
 12330  //
 12331  //    * You cannot use an IAM policy to constrain this action's parameters.
 12332  //
 12333  // If the caller doesn't have sufficient permissions to invoke the action, or
 12334  // the parameter values fall outside the specified constraints, the action fails.
 12335  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 12336  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 12337  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 12338  // in the Amazon SWF Developer Guide.
 12339  type RequestCancelActivityTaskDecisionAttributes struct {
 12340  	_ struct{} `type:"structure"`
 12341  
 12342  	// The activityId of the activity task to be canceled.
 12343  	//
 12344  	// ActivityId is a required field
 12345  	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
 12346  }
 12347  
 12348  // String returns the string representation.
 12349  //
 12350  // API parameter values that are decorated as "sensitive" in the API will not
 12351  // be included in the string output. The member name will be present, but the
 12352  // value will be replaced with "sensitive".
 12353  func (s RequestCancelActivityTaskDecisionAttributes) String() string {
 12354  	return awsutil.Prettify(s)
 12355  }
 12356  
 12357  // GoString returns the string representation.
 12358  //
 12359  // API parameter values that are decorated as "sensitive" in the API will not
 12360  // be included in the string output. The member name will be present, but the
 12361  // value will be replaced with "sensitive".
 12362  func (s RequestCancelActivityTaskDecisionAttributes) GoString() string {
 12363  	return s.String()
 12364  }
 12365  
 12366  // Validate inspects the fields of the type to determine if they are valid.
 12367  func (s *RequestCancelActivityTaskDecisionAttributes) Validate() error {
 12368  	invalidParams := request.ErrInvalidParams{Context: "RequestCancelActivityTaskDecisionAttributes"}
 12369  	if s.ActivityId == nil {
 12370  		invalidParams.Add(request.NewErrParamRequired("ActivityId"))
 12371  	}
 12372  	if s.ActivityId != nil && len(*s.ActivityId) < 1 {
 12373  		invalidParams.Add(request.NewErrParamMinLen("ActivityId", 1))
 12374  	}
 12375  
 12376  	if invalidParams.Len() > 0 {
 12377  		return invalidParams
 12378  	}
 12379  	return nil
 12380  }
 12381  
 12382  // SetActivityId sets the ActivityId field's value.
 12383  func (s *RequestCancelActivityTaskDecisionAttributes) SetActivityId(v string) *RequestCancelActivityTaskDecisionAttributes {
 12384  	s.ActivityId = &v
 12385  	return s
 12386  }
 12387  
 12388  // Provides the details of the RequestCancelActivityTaskFailed event.
 12389  type RequestCancelActivityTaskFailedEventAttributes struct {
 12390  	_ struct{} `type:"structure"`
 12391  
 12392  	// The activityId provided in the RequestCancelActivityTask decision that failed.
 12393  	//
 12394  	// ActivityId is a required field
 12395  	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
 12396  
 12397  	// The cause of the failure. This information is generated by the system and
 12398  	// can be useful for diagnostic purposes.
 12399  	//
 12400  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 12401  	// lacked sufficient permissions. For details and example IAM policies, see
 12402  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 12403  	// in the Amazon SWF Developer Guide.
 12404  	//
 12405  	// Cause is a required field
 12406  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"RequestCancelActivityTaskFailedCause"`
 12407  
 12408  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 12409  	// that resulted in the RequestCancelActivityTask decision for this cancellation
 12410  	// request. This information can be useful for diagnosing problems by tracing
 12411  	// back the chain of events leading up to this event.
 12412  	//
 12413  	// DecisionTaskCompletedEventId is a required field
 12414  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 12415  }
 12416  
 12417  // String returns the string representation.
 12418  //
 12419  // API parameter values that are decorated as "sensitive" in the API will not
 12420  // be included in the string output. The member name will be present, but the
 12421  // value will be replaced with "sensitive".
 12422  func (s RequestCancelActivityTaskFailedEventAttributes) String() string {
 12423  	return awsutil.Prettify(s)
 12424  }
 12425  
 12426  // GoString returns the string representation.
 12427  //
 12428  // API parameter values that are decorated as "sensitive" in the API will not
 12429  // be included in the string output. The member name will be present, but the
 12430  // value will be replaced with "sensitive".
 12431  func (s RequestCancelActivityTaskFailedEventAttributes) GoString() string {
 12432  	return s.String()
 12433  }
 12434  
 12435  // SetActivityId sets the ActivityId field's value.
 12436  func (s *RequestCancelActivityTaskFailedEventAttributes) SetActivityId(v string) *RequestCancelActivityTaskFailedEventAttributes {
 12437  	s.ActivityId = &v
 12438  	return s
 12439  }
 12440  
 12441  // SetCause sets the Cause field's value.
 12442  func (s *RequestCancelActivityTaskFailedEventAttributes) SetCause(v string) *RequestCancelActivityTaskFailedEventAttributes {
 12443  	s.Cause = &v
 12444  	return s
 12445  }
 12446  
 12447  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 12448  func (s *RequestCancelActivityTaskFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RequestCancelActivityTaskFailedEventAttributes {
 12449  	s.DecisionTaskCompletedEventId = &v
 12450  	return s
 12451  }
 12452  
 12453  // Provides the details of the RequestCancelExternalWorkflowExecution decision.
 12454  //
 12455  // Access Control
 12456  //
 12457  // You can use IAM policies to control this decision's access to Amazon SWF
 12458  // resources as follows:
 12459  //
 12460  //    * Use a Resource element with the domain name to limit the action to only
 12461  //    specified domains.
 12462  //
 12463  //    * Use an Action element to allow or deny permission to call this action.
 12464  //
 12465  //    * You cannot use an IAM policy to constrain this action's parameters.
 12466  //
 12467  // If the caller doesn't have sufficient permissions to invoke the action, or
 12468  // the parameter values fall outside the specified constraints, the action fails.
 12469  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 12470  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 12471  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 12472  // in the Amazon SWF Developer Guide.
 12473  type RequestCancelExternalWorkflowExecutionDecisionAttributes struct {
 12474  	_ struct{} `type:"structure"`
 12475  
 12476  	// The data attached to the event that can be used by the decider in subsequent
 12477  	// workflow tasks.
 12478  	Control *string `locationName:"control" type:"string"`
 12479  
 12480  	// The runId of the external workflow execution to cancel.
 12481  	RunId *string `locationName:"runId" type:"string"`
 12482  
 12483  	// The workflowId of the external workflow execution to cancel.
 12484  	//
 12485  	// WorkflowId is a required field
 12486  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 12487  }
 12488  
 12489  // String returns the string representation.
 12490  //
 12491  // API parameter values that are decorated as "sensitive" in the API will not
 12492  // be included in the string output. The member name will be present, but the
 12493  // value will be replaced with "sensitive".
 12494  func (s RequestCancelExternalWorkflowExecutionDecisionAttributes) String() string {
 12495  	return awsutil.Prettify(s)
 12496  }
 12497  
 12498  // GoString returns the string representation.
 12499  //
 12500  // API parameter values that are decorated as "sensitive" in the API will not
 12501  // be included in the string output. The member name will be present, but the
 12502  // value will be replaced with "sensitive".
 12503  func (s RequestCancelExternalWorkflowExecutionDecisionAttributes) GoString() string {
 12504  	return s.String()
 12505  }
 12506  
 12507  // Validate inspects the fields of the type to determine if they are valid.
 12508  func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) Validate() error {
 12509  	invalidParams := request.ErrInvalidParams{Context: "RequestCancelExternalWorkflowExecutionDecisionAttributes"}
 12510  	if s.WorkflowId == nil {
 12511  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 12512  	}
 12513  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 12514  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 12515  	}
 12516  
 12517  	if invalidParams.Len() > 0 {
 12518  		return invalidParams
 12519  	}
 12520  	return nil
 12521  }
 12522  
 12523  // SetControl sets the Control field's value.
 12524  func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) SetControl(v string) *RequestCancelExternalWorkflowExecutionDecisionAttributes {
 12525  	s.Control = &v
 12526  	return s
 12527  }
 12528  
 12529  // SetRunId sets the RunId field's value.
 12530  func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) SetRunId(v string) *RequestCancelExternalWorkflowExecutionDecisionAttributes {
 12531  	s.RunId = &v
 12532  	return s
 12533  }
 12534  
 12535  // SetWorkflowId sets the WorkflowId field's value.
 12536  func (s *RequestCancelExternalWorkflowExecutionDecisionAttributes) SetWorkflowId(v string) *RequestCancelExternalWorkflowExecutionDecisionAttributes {
 12537  	s.WorkflowId = &v
 12538  	return s
 12539  }
 12540  
 12541  // Provides the details of the RequestCancelExternalWorkflowExecutionFailed
 12542  // event.
 12543  type RequestCancelExternalWorkflowExecutionFailedEventAttributes struct {
 12544  	_ struct{} `type:"structure"`
 12545  
 12546  	// The cause of the failure. This information is generated by the system and
 12547  	// can be useful for diagnostic purposes.
 12548  	//
 12549  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 12550  	// lacked sufficient permissions. For details and example IAM policies, see
 12551  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 12552  	// in the Amazon SWF Developer Guide.
 12553  	//
 12554  	// Cause is a required field
 12555  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"RequestCancelExternalWorkflowExecutionFailedCause"`
 12556  
 12557  	// The data attached to the event that the decider can use in subsequent workflow
 12558  	// tasks. This data isn't sent to the workflow execution.
 12559  	Control *string `locationName:"control" type:"string"`
 12560  
 12561  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 12562  	// that resulted in the RequestCancelExternalWorkflowExecution decision for
 12563  	// this cancellation request. This information can be useful for diagnosing
 12564  	// problems by tracing back the chain of events leading up to this event.
 12565  	//
 12566  	// DecisionTaskCompletedEventId is a required field
 12567  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 12568  
 12569  	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding
 12570  	// to the RequestCancelExternalWorkflowExecution decision to cancel this external
 12571  	// workflow execution. This information can be useful for diagnosing problems
 12572  	// by tracing back the chain of events leading up to this event.
 12573  	//
 12574  	// InitiatedEventId is a required field
 12575  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
 12576  
 12577  	// The runId of the external workflow execution.
 12578  	RunId *string `locationName:"runId" type:"string"`
 12579  
 12580  	// The workflowId of the external workflow to which the cancel request was to
 12581  	// be delivered.
 12582  	//
 12583  	// WorkflowId is a required field
 12584  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 12585  }
 12586  
 12587  // String returns the string representation.
 12588  //
 12589  // API parameter values that are decorated as "sensitive" in the API will not
 12590  // be included in the string output. The member name will be present, but the
 12591  // value will be replaced with "sensitive".
 12592  func (s RequestCancelExternalWorkflowExecutionFailedEventAttributes) String() string {
 12593  	return awsutil.Prettify(s)
 12594  }
 12595  
 12596  // GoString returns the string representation.
 12597  //
 12598  // API parameter values that are decorated as "sensitive" in the API will not
 12599  // be included in the string output. The member name will be present, but the
 12600  // value will be replaced with "sensitive".
 12601  func (s RequestCancelExternalWorkflowExecutionFailedEventAttributes) GoString() string {
 12602  	return s.String()
 12603  }
 12604  
 12605  // SetCause sets the Cause field's value.
 12606  func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetCause(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
 12607  	s.Cause = &v
 12608  	return s
 12609  }
 12610  
 12611  // SetControl sets the Control field's value.
 12612  func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetControl(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
 12613  	s.Control = &v
 12614  	return s
 12615  }
 12616  
 12617  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 12618  func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
 12619  	s.DecisionTaskCompletedEventId = &v
 12620  	return s
 12621  }
 12622  
 12623  // SetInitiatedEventId sets the InitiatedEventId field's value.
 12624  func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
 12625  	s.InitiatedEventId = &v
 12626  	return s
 12627  }
 12628  
 12629  // SetRunId sets the RunId field's value.
 12630  func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetRunId(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
 12631  	s.RunId = &v
 12632  	return s
 12633  }
 12634  
 12635  // SetWorkflowId sets the WorkflowId field's value.
 12636  func (s *RequestCancelExternalWorkflowExecutionFailedEventAttributes) SetWorkflowId(v string) *RequestCancelExternalWorkflowExecutionFailedEventAttributes {
 12637  	s.WorkflowId = &v
 12638  	return s
 12639  }
 12640  
 12641  // Provides the details of the RequestCancelExternalWorkflowExecutionInitiated
 12642  // event.
 12643  type RequestCancelExternalWorkflowExecutionInitiatedEventAttributes struct {
 12644  	_ struct{} `type:"structure"`
 12645  
 12646  	// Data attached to the event that can be used by the decider in subsequent
 12647  	// workflow tasks.
 12648  	Control *string `locationName:"control" type:"string"`
 12649  
 12650  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 12651  	// that resulted in the RequestCancelExternalWorkflowExecution decision for
 12652  	// this cancellation request. This information can be useful for diagnosing
 12653  	// problems by tracing back the chain of events leading up to this event.
 12654  	//
 12655  	// DecisionTaskCompletedEventId is a required field
 12656  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 12657  
 12658  	// The runId of the external workflow execution to be canceled.
 12659  	RunId *string `locationName:"runId" type:"string"`
 12660  
 12661  	// The workflowId of the external workflow execution to be canceled.
 12662  	//
 12663  	// WorkflowId is a required field
 12664  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 12665  }
 12666  
 12667  // String returns the string representation.
 12668  //
 12669  // API parameter values that are decorated as "sensitive" in the API will not
 12670  // be included in the string output. The member name will be present, but the
 12671  // value will be replaced with "sensitive".
 12672  func (s RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) String() string {
 12673  	return awsutil.Prettify(s)
 12674  }
 12675  
 12676  // GoString returns the string representation.
 12677  //
 12678  // API parameter values that are decorated as "sensitive" in the API will not
 12679  // be included in the string output. The member name will be present, but the
 12680  // value will be replaced with "sensitive".
 12681  func (s RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GoString() string {
 12682  	return s.String()
 12683  }
 12684  
 12685  // SetControl sets the Control field's value.
 12686  func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetControl(v string) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
 12687  	s.Control = &v
 12688  	return s
 12689  }
 12690  
 12691  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 12692  func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
 12693  	s.DecisionTaskCompletedEventId = &v
 12694  	return s
 12695  }
 12696  
 12697  // SetRunId sets the RunId field's value.
 12698  func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetRunId(v string) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
 12699  	s.RunId = &v
 12700  	return s
 12701  }
 12702  
 12703  // SetWorkflowId sets the WorkflowId field's value.
 12704  func (s *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) SetWorkflowId(v string) *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
 12705  	s.WorkflowId = &v
 12706  	return s
 12707  }
 12708  
 12709  type RequestCancelWorkflowExecutionInput struct {
 12710  	_ struct{} `type:"structure"`
 12711  
 12712  	// The name of the domain containing the workflow execution to cancel.
 12713  	//
 12714  	// Domain is a required field
 12715  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 12716  
 12717  	// The runId of the workflow execution to cancel.
 12718  	RunId *string `locationName:"runId" type:"string"`
 12719  
 12720  	// The workflowId of the workflow execution to cancel.
 12721  	//
 12722  	// WorkflowId is a required field
 12723  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 12724  }
 12725  
 12726  // String returns the string representation.
 12727  //
 12728  // API parameter values that are decorated as "sensitive" in the API will not
 12729  // be included in the string output. The member name will be present, but the
 12730  // value will be replaced with "sensitive".
 12731  func (s RequestCancelWorkflowExecutionInput) String() string {
 12732  	return awsutil.Prettify(s)
 12733  }
 12734  
 12735  // GoString returns the string representation.
 12736  //
 12737  // API parameter values that are decorated as "sensitive" in the API will not
 12738  // be included in the string output. The member name will be present, but the
 12739  // value will be replaced with "sensitive".
 12740  func (s RequestCancelWorkflowExecutionInput) GoString() string {
 12741  	return s.String()
 12742  }
 12743  
 12744  // Validate inspects the fields of the type to determine if they are valid.
 12745  func (s *RequestCancelWorkflowExecutionInput) Validate() error {
 12746  	invalidParams := request.ErrInvalidParams{Context: "RequestCancelWorkflowExecutionInput"}
 12747  	if s.Domain == nil {
 12748  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 12749  	}
 12750  	if s.Domain != nil && len(*s.Domain) < 1 {
 12751  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 12752  	}
 12753  	if s.WorkflowId == nil {
 12754  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 12755  	}
 12756  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 12757  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 12758  	}
 12759  
 12760  	if invalidParams.Len() > 0 {
 12761  		return invalidParams
 12762  	}
 12763  	return nil
 12764  }
 12765  
 12766  // SetDomain sets the Domain field's value.
 12767  func (s *RequestCancelWorkflowExecutionInput) SetDomain(v string) *RequestCancelWorkflowExecutionInput {
 12768  	s.Domain = &v
 12769  	return s
 12770  }
 12771  
 12772  // SetRunId sets the RunId field's value.
 12773  func (s *RequestCancelWorkflowExecutionInput) SetRunId(v string) *RequestCancelWorkflowExecutionInput {
 12774  	s.RunId = &v
 12775  	return s
 12776  }
 12777  
 12778  // SetWorkflowId sets the WorkflowId field's value.
 12779  func (s *RequestCancelWorkflowExecutionInput) SetWorkflowId(v string) *RequestCancelWorkflowExecutionInput {
 12780  	s.WorkflowId = &v
 12781  	return s
 12782  }
 12783  
 12784  type RequestCancelWorkflowExecutionOutput struct {
 12785  	_ struct{} `type:"structure"`
 12786  }
 12787  
 12788  // String returns the string representation.
 12789  //
 12790  // API parameter values that are decorated as "sensitive" in the API will not
 12791  // be included in the string output. The member name will be present, but the
 12792  // value will be replaced with "sensitive".
 12793  func (s RequestCancelWorkflowExecutionOutput) String() string {
 12794  	return awsutil.Prettify(s)
 12795  }
 12796  
 12797  // GoString returns the string representation.
 12798  //
 12799  // API parameter values that are decorated as "sensitive" in the API will not
 12800  // be included in the string output. The member name will be present, but the
 12801  // value will be replaced with "sensitive".
 12802  func (s RequestCancelWorkflowExecutionOutput) GoString() string {
 12803  	return s.String()
 12804  }
 12805  
 12806  // Tags are key-value pairs that can be associated with Amazon SWF state machines
 12807  // and activities.
 12808  //
 12809  // Tags may only contain unicode letters, digits, whitespace, or these symbols:
 12810  // _ . : / = + - @.
 12811  type ResourceTag struct {
 12812  	_ struct{} `type:"structure"`
 12813  
 12814  	// The key of a tag.
 12815  	//
 12816  	// Key is a required field
 12817  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 12818  
 12819  	// The value of a tag.
 12820  	Value *string `locationName:"value" type:"string"`
 12821  }
 12822  
 12823  // String returns the string representation.
 12824  //
 12825  // API parameter values that are decorated as "sensitive" in the API will not
 12826  // be included in the string output. The member name will be present, but the
 12827  // value will be replaced with "sensitive".
 12828  func (s ResourceTag) String() string {
 12829  	return awsutil.Prettify(s)
 12830  }
 12831  
 12832  // GoString returns the string representation.
 12833  //
 12834  // API parameter values that are decorated as "sensitive" in the API will not
 12835  // be included in the string output. The member name will be present, but the
 12836  // value will be replaced with "sensitive".
 12837  func (s ResourceTag) GoString() string {
 12838  	return s.String()
 12839  }
 12840  
 12841  // Validate inspects the fields of the type to determine if they are valid.
 12842  func (s *ResourceTag) Validate() error {
 12843  	invalidParams := request.ErrInvalidParams{Context: "ResourceTag"}
 12844  	if s.Key == nil {
 12845  		invalidParams.Add(request.NewErrParamRequired("Key"))
 12846  	}
 12847  	if s.Key != nil && len(*s.Key) < 1 {
 12848  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 12849  	}
 12850  
 12851  	if invalidParams.Len() > 0 {
 12852  		return invalidParams
 12853  	}
 12854  	return nil
 12855  }
 12856  
 12857  // SetKey sets the Key field's value.
 12858  func (s *ResourceTag) SetKey(v string) *ResourceTag {
 12859  	s.Key = &v
 12860  	return s
 12861  }
 12862  
 12863  // SetValue sets the Value field's value.
 12864  func (s *ResourceTag) SetValue(v string) *ResourceTag {
 12865  	s.Value = &v
 12866  	return s
 12867  }
 12868  
 12869  type RespondActivityTaskCanceledInput struct {
 12870  	_ struct{} `type:"structure"`
 12871  
 12872  	// Information about the cancellation.
 12873  	Details *string `locationName:"details" type:"string"`
 12874  
 12875  	// The taskToken of the ActivityTask.
 12876  	//
 12877  	// taskToken is generated by the service and should be treated as an opaque
 12878  	// value. If the task is passed to another process, its taskToken must also
 12879  	// be passed. This enables it to provide its progress and respond with results.
 12880  	//
 12881  	// TaskToken is a required field
 12882  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 12883  }
 12884  
 12885  // String returns the string representation.
 12886  //
 12887  // API parameter values that are decorated as "sensitive" in the API will not
 12888  // be included in the string output. The member name will be present, but the
 12889  // value will be replaced with "sensitive".
 12890  func (s RespondActivityTaskCanceledInput) String() string {
 12891  	return awsutil.Prettify(s)
 12892  }
 12893  
 12894  // GoString returns the string representation.
 12895  //
 12896  // API parameter values that are decorated as "sensitive" in the API will not
 12897  // be included in the string output. The member name will be present, but the
 12898  // value will be replaced with "sensitive".
 12899  func (s RespondActivityTaskCanceledInput) GoString() string {
 12900  	return s.String()
 12901  }
 12902  
 12903  // Validate inspects the fields of the type to determine if they are valid.
 12904  func (s *RespondActivityTaskCanceledInput) Validate() error {
 12905  	invalidParams := request.ErrInvalidParams{Context: "RespondActivityTaskCanceledInput"}
 12906  	if s.TaskToken == nil {
 12907  		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
 12908  	}
 12909  	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
 12910  		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
 12911  	}
 12912  
 12913  	if invalidParams.Len() > 0 {
 12914  		return invalidParams
 12915  	}
 12916  	return nil
 12917  }
 12918  
 12919  // SetDetails sets the Details field's value.
 12920  func (s *RespondActivityTaskCanceledInput) SetDetails(v string) *RespondActivityTaskCanceledInput {
 12921  	s.Details = &v
 12922  	return s
 12923  }
 12924  
 12925  // SetTaskToken sets the TaskToken field's value.
 12926  func (s *RespondActivityTaskCanceledInput) SetTaskToken(v string) *RespondActivityTaskCanceledInput {
 12927  	s.TaskToken = &v
 12928  	return s
 12929  }
 12930  
 12931  type RespondActivityTaskCanceledOutput struct {
 12932  	_ struct{} `type:"structure"`
 12933  }
 12934  
 12935  // String returns the string representation.
 12936  //
 12937  // API parameter values that are decorated as "sensitive" in the API will not
 12938  // be included in the string output. The member name will be present, but the
 12939  // value will be replaced with "sensitive".
 12940  func (s RespondActivityTaskCanceledOutput) String() string {
 12941  	return awsutil.Prettify(s)
 12942  }
 12943  
 12944  // GoString returns the string representation.
 12945  //
 12946  // API parameter values that are decorated as "sensitive" in the API will not
 12947  // be included in the string output. The member name will be present, but the
 12948  // value will be replaced with "sensitive".
 12949  func (s RespondActivityTaskCanceledOutput) GoString() string {
 12950  	return s.String()
 12951  }
 12952  
 12953  type RespondActivityTaskCompletedInput struct {
 12954  	_ struct{} `type:"structure"`
 12955  
 12956  	// The result of the activity task. It is a free form string that is implementation
 12957  	// specific.
 12958  	Result *string `locationName:"result" type:"string"`
 12959  
 12960  	// The taskToken of the ActivityTask.
 12961  	//
 12962  	// taskToken is generated by the service and should be treated as an opaque
 12963  	// value. If the task is passed to another process, its taskToken must also
 12964  	// be passed. This enables it to provide its progress and respond with results.
 12965  	//
 12966  	// TaskToken is a required field
 12967  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 12968  }
 12969  
 12970  // String returns the string representation.
 12971  //
 12972  // API parameter values that are decorated as "sensitive" in the API will not
 12973  // be included in the string output. The member name will be present, but the
 12974  // value will be replaced with "sensitive".
 12975  func (s RespondActivityTaskCompletedInput) String() string {
 12976  	return awsutil.Prettify(s)
 12977  }
 12978  
 12979  // GoString returns the string representation.
 12980  //
 12981  // API parameter values that are decorated as "sensitive" in the API will not
 12982  // be included in the string output. The member name will be present, but the
 12983  // value will be replaced with "sensitive".
 12984  func (s RespondActivityTaskCompletedInput) GoString() string {
 12985  	return s.String()
 12986  }
 12987  
 12988  // Validate inspects the fields of the type to determine if they are valid.
 12989  func (s *RespondActivityTaskCompletedInput) Validate() error {
 12990  	invalidParams := request.ErrInvalidParams{Context: "RespondActivityTaskCompletedInput"}
 12991  	if s.TaskToken == nil {
 12992  		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
 12993  	}
 12994  	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
 12995  		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
 12996  	}
 12997  
 12998  	if invalidParams.Len() > 0 {
 12999  		return invalidParams
 13000  	}
 13001  	return nil
 13002  }
 13003  
 13004  // SetResult sets the Result field's value.
 13005  func (s *RespondActivityTaskCompletedInput) SetResult(v string) *RespondActivityTaskCompletedInput {
 13006  	s.Result = &v
 13007  	return s
 13008  }
 13009  
 13010  // SetTaskToken sets the TaskToken field's value.
 13011  func (s *RespondActivityTaskCompletedInput) SetTaskToken(v string) *RespondActivityTaskCompletedInput {
 13012  	s.TaskToken = &v
 13013  	return s
 13014  }
 13015  
 13016  type RespondActivityTaskCompletedOutput struct {
 13017  	_ struct{} `type:"structure"`
 13018  }
 13019  
 13020  // String returns the string representation.
 13021  //
 13022  // API parameter values that are decorated as "sensitive" in the API will not
 13023  // be included in the string output. The member name will be present, but the
 13024  // value will be replaced with "sensitive".
 13025  func (s RespondActivityTaskCompletedOutput) String() string {
 13026  	return awsutil.Prettify(s)
 13027  }
 13028  
 13029  // GoString returns the string representation.
 13030  //
 13031  // API parameter values that are decorated as "sensitive" in the API will not
 13032  // be included in the string output. The member name will be present, but the
 13033  // value will be replaced with "sensitive".
 13034  func (s RespondActivityTaskCompletedOutput) GoString() string {
 13035  	return s.String()
 13036  }
 13037  
 13038  type RespondActivityTaskFailedInput struct {
 13039  	_ struct{} `type:"structure"`
 13040  
 13041  	// Detailed information about the failure.
 13042  	Details *string `locationName:"details" type:"string"`
 13043  
 13044  	// Description of the error that may assist in diagnostics.
 13045  	Reason *string `locationName:"reason" type:"string"`
 13046  
 13047  	// The taskToken of the ActivityTask.
 13048  	//
 13049  	// taskToken is generated by the service and should be treated as an opaque
 13050  	// value. If the task is passed to another process, its taskToken must also
 13051  	// be passed. This enables it to provide its progress and respond with results.
 13052  	//
 13053  	// TaskToken is a required field
 13054  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 13055  }
 13056  
 13057  // String returns the string representation.
 13058  //
 13059  // API parameter values that are decorated as "sensitive" in the API will not
 13060  // be included in the string output. The member name will be present, but the
 13061  // value will be replaced with "sensitive".
 13062  func (s RespondActivityTaskFailedInput) String() string {
 13063  	return awsutil.Prettify(s)
 13064  }
 13065  
 13066  // GoString returns the string representation.
 13067  //
 13068  // API parameter values that are decorated as "sensitive" in the API will not
 13069  // be included in the string output. The member name will be present, but the
 13070  // value will be replaced with "sensitive".
 13071  func (s RespondActivityTaskFailedInput) GoString() string {
 13072  	return s.String()
 13073  }
 13074  
 13075  // Validate inspects the fields of the type to determine if they are valid.
 13076  func (s *RespondActivityTaskFailedInput) Validate() error {
 13077  	invalidParams := request.ErrInvalidParams{Context: "RespondActivityTaskFailedInput"}
 13078  	if s.TaskToken == nil {
 13079  		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
 13080  	}
 13081  	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
 13082  		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
 13083  	}
 13084  
 13085  	if invalidParams.Len() > 0 {
 13086  		return invalidParams
 13087  	}
 13088  	return nil
 13089  }
 13090  
 13091  // SetDetails sets the Details field's value.
 13092  func (s *RespondActivityTaskFailedInput) SetDetails(v string) *RespondActivityTaskFailedInput {
 13093  	s.Details = &v
 13094  	return s
 13095  }
 13096  
 13097  // SetReason sets the Reason field's value.
 13098  func (s *RespondActivityTaskFailedInput) SetReason(v string) *RespondActivityTaskFailedInput {
 13099  	s.Reason = &v
 13100  	return s
 13101  }
 13102  
 13103  // SetTaskToken sets the TaskToken field's value.
 13104  func (s *RespondActivityTaskFailedInput) SetTaskToken(v string) *RespondActivityTaskFailedInput {
 13105  	s.TaskToken = &v
 13106  	return s
 13107  }
 13108  
 13109  type RespondActivityTaskFailedOutput struct {
 13110  	_ struct{} `type:"structure"`
 13111  }
 13112  
 13113  // String returns the string representation.
 13114  //
 13115  // API parameter values that are decorated as "sensitive" in the API will not
 13116  // be included in the string output. The member name will be present, but the
 13117  // value will be replaced with "sensitive".
 13118  func (s RespondActivityTaskFailedOutput) String() string {
 13119  	return awsutil.Prettify(s)
 13120  }
 13121  
 13122  // GoString returns the string representation.
 13123  //
 13124  // API parameter values that are decorated as "sensitive" in the API will not
 13125  // be included in the string output. The member name will be present, but the
 13126  // value will be replaced with "sensitive".
 13127  func (s RespondActivityTaskFailedOutput) GoString() string {
 13128  	return s.String()
 13129  }
 13130  
 13131  // Input data for a TaskCompleted response to a decision task.
 13132  type RespondDecisionTaskCompletedInput struct {
 13133  	_ struct{} `type:"structure"`
 13134  
 13135  	// The list of decisions (possibly empty) made by the decider while processing
 13136  	// this decision task. See the docs for the Decision structure for details.
 13137  	Decisions []*Decision `locationName:"decisions" type:"list"`
 13138  
 13139  	// User defined context to add to workflow execution.
 13140  	ExecutionContext *string `locationName:"executionContext" type:"string"`
 13141  
 13142  	// The taskToken from the DecisionTask.
 13143  	//
 13144  	// taskToken is generated by the service and should be treated as an opaque
 13145  	// value. If the task is passed to another process, its taskToken must also
 13146  	// be passed. This enables it to provide its progress and respond with results.
 13147  	//
 13148  	// TaskToken is a required field
 13149  	TaskToken *string `locationName:"taskToken" min:"1" type:"string" required:"true"`
 13150  }
 13151  
 13152  // String returns the string representation.
 13153  //
 13154  // API parameter values that are decorated as "sensitive" in the API will not
 13155  // be included in the string output. The member name will be present, but the
 13156  // value will be replaced with "sensitive".
 13157  func (s RespondDecisionTaskCompletedInput) String() string {
 13158  	return awsutil.Prettify(s)
 13159  }
 13160  
 13161  // GoString returns the string representation.
 13162  //
 13163  // API parameter values that are decorated as "sensitive" in the API will not
 13164  // be included in the string output. The member name will be present, but the
 13165  // value will be replaced with "sensitive".
 13166  func (s RespondDecisionTaskCompletedInput) GoString() string {
 13167  	return s.String()
 13168  }
 13169  
 13170  // Validate inspects the fields of the type to determine if they are valid.
 13171  func (s *RespondDecisionTaskCompletedInput) Validate() error {
 13172  	invalidParams := request.ErrInvalidParams{Context: "RespondDecisionTaskCompletedInput"}
 13173  	if s.TaskToken == nil {
 13174  		invalidParams.Add(request.NewErrParamRequired("TaskToken"))
 13175  	}
 13176  	if s.TaskToken != nil && len(*s.TaskToken) < 1 {
 13177  		invalidParams.Add(request.NewErrParamMinLen("TaskToken", 1))
 13178  	}
 13179  	if s.Decisions != nil {
 13180  		for i, v := range s.Decisions {
 13181  			if v == nil {
 13182  				continue
 13183  			}
 13184  			if err := v.Validate(); err != nil {
 13185  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Decisions", i), err.(request.ErrInvalidParams))
 13186  			}
 13187  		}
 13188  	}
 13189  
 13190  	if invalidParams.Len() > 0 {
 13191  		return invalidParams
 13192  	}
 13193  	return nil
 13194  }
 13195  
 13196  // SetDecisions sets the Decisions field's value.
 13197  func (s *RespondDecisionTaskCompletedInput) SetDecisions(v []*Decision) *RespondDecisionTaskCompletedInput {
 13198  	s.Decisions = v
 13199  	return s
 13200  }
 13201  
 13202  // SetExecutionContext sets the ExecutionContext field's value.
 13203  func (s *RespondDecisionTaskCompletedInput) SetExecutionContext(v string) *RespondDecisionTaskCompletedInput {
 13204  	s.ExecutionContext = &v
 13205  	return s
 13206  }
 13207  
 13208  // SetTaskToken sets the TaskToken field's value.
 13209  func (s *RespondDecisionTaskCompletedInput) SetTaskToken(v string) *RespondDecisionTaskCompletedInput {
 13210  	s.TaskToken = &v
 13211  	return s
 13212  }
 13213  
 13214  type RespondDecisionTaskCompletedOutput struct {
 13215  	_ struct{} `type:"structure"`
 13216  }
 13217  
 13218  // String returns the string representation.
 13219  //
 13220  // API parameter values that are decorated as "sensitive" in the API will not
 13221  // be included in the string output. The member name will be present, but the
 13222  // value will be replaced with "sensitive".
 13223  func (s RespondDecisionTaskCompletedOutput) String() string {
 13224  	return awsutil.Prettify(s)
 13225  }
 13226  
 13227  // GoString returns the string representation.
 13228  //
 13229  // API parameter values that are decorated as "sensitive" in the API will not
 13230  // be included in the string output. The member name will be present, but the
 13231  // value will be replaced with "sensitive".
 13232  func (s RespondDecisionTaskCompletedOutput) GoString() string {
 13233  	return s.String()
 13234  }
 13235  
 13236  // Provides the details of the ScheduleActivityTask decision.
 13237  //
 13238  // Access Control
 13239  //
 13240  // You can use IAM policies to control this decision's access to Amazon SWF
 13241  // resources as follows:
 13242  //
 13243  //    * Use a Resource element with the domain name to limit the action to only
 13244  //    specified domains.
 13245  //
 13246  //    * Use an Action element to allow or deny permission to call this action.
 13247  //
 13248  //    * Constrain the following parameters by using a Condition element with
 13249  //    the appropriate keys. activityType.name – String constraint. The key
 13250  //    is swf:activityType.name. activityType.version – String constraint.
 13251  //    The key is swf:activityType.version. taskList – String constraint. The
 13252  //    key is swf:taskList.name.
 13253  //
 13254  // If the caller doesn't have sufficient permissions to invoke the action, or
 13255  // the parameter values fall outside the specified constraints, the action fails.
 13256  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 13257  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 13258  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 13259  // in the Amazon SWF Developer Guide.
 13260  type ScheduleActivityTaskDecisionAttributes struct {
 13261  	_ struct{} `type:"structure"`
 13262  
 13263  	// The activityId of the activity task.
 13264  	//
 13265  	// The specified string must not start or end with whitespace. It must not contain
 13266  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 13267  	// | \u007f-\u009f). Also, it must not contain the literal string arn.
 13268  	//
 13269  	// ActivityId is a required field
 13270  	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
 13271  
 13272  	// The type of the activity task to schedule.
 13273  	//
 13274  	// ActivityType is a required field
 13275  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
 13276  
 13277  	// Data attached to the event that can be used by the decider in subsequent
 13278  	// workflow tasks. This data isn't sent to the activity.
 13279  	Control *string `locationName:"control" type:"string"`
 13280  
 13281  	// If set, specifies the maximum time before which a worker processing a task
 13282  	// of this type must report progress by calling RecordActivityTaskHeartbeat.
 13283  	// If the timeout is exceeded, the activity task is automatically timed out.
 13284  	// If the worker subsequently attempts to record a heartbeat or returns a result,
 13285  	// it is ignored. This overrides the default heartbeat timeout specified when
 13286  	// registering the activity type using RegisterActivityType.
 13287  	//
 13288  	// The duration is specified in seconds, an integer greater than or equal to
 13289  	// 0. You can use NONE to specify unlimited duration.
 13290  	HeartbeatTimeout *string `locationName:"heartbeatTimeout" type:"string"`
 13291  
 13292  	// The input provided to the activity task.
 13293  	Input *string `locationName:"input" type:"string"`
 13294  
 13295  	// The maximum duration for this activity task.
 13296  	//
 13297  	// The duration is specified in seconds, an integer greater than or equal to
 13298  	// 0. You can use NONE to specify unlimited duration.
 13299  	//
 13300  	// A schedule-to-close timeout for this activity task must be specified either
 13301  	// as a default for the activity type or through this field. If neither this
 13302  	// field is set nor a default schedule-to-close timeout was specified at registration
 13303  	// time then a fault is returned.
 13304  	ScheduleToCloseTimeout *string `locationName:"scheduleToCloseTimeout" type:"string"`
 13305  
 13306  	// If set, specifies the maximum duration the activity task can wait to be assigned
 13307  	// to a worker. This overrides the default schedule-to-start timeout specified
 13308  	// when registering the activity type using RegisterActivityType.
 13309  	//
 13310  	// The duration is specified in seconds, an integer greater than or equal to
 13311  	// 0. You can use NONE to specify unlimited duration.
 13312  	//
 13313  	// A schedule-to-start timeout for this activity task must be specified either
 13314  	// as a default for the activity type or through this field. If neither this
 13315  	// field is set nor a default schedule-to-start timeout was specified at registration
 13316  	// time then a fault is returned.
 13317  	ScheduleToStartTimeout *string `locationName:"scheduleToStartTimeout" type:"string"`
 13318  
 13319  	// If set, specifies the maximum duration a worker may take to process this
 13320  	// activity task. This overrides the default start-to-close timeout specified
 13321  	// when registering the activity type using RegisterActivityType.
 13322  	//
 13323  	// The duration is specified in seconds, an integer greater than or equal to
 13324  	// 0. You can use NONE to specify unlimited duration.
 13325  	//
 13326  	// A start-to-close timeout for this activity task must be specified either
 13327  	// as a default for the activity type or through this field. If neither this
 13328  	// field is set nor a default start-to-close timeout was specified at registration
 13329  	// time then a fault is returned.
 13330  	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
 13331  
 13332  	// If set, specifies the name of the task list in which to schedule the activity
 13333  	// task. If not specified, the defaultTaskList registered with the activity
 13334  	// type is used.
 13335  	//
 13336  	// A task list for this activity task must be specified either as a default
 13337  	// for the activity type or through this field. If neither this field is set
 13338  	// nor a default task list was specified at registration time then a fault is
 13339  	// returned.
 13340  	//
 13341  	// The specified string must not start or end with whitespace. It must not contain
 13342  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 13343  	// | \u007f-\u009f). Also, it must not contain the literal string arn.
 13344  	TaskList *TaskList `locationName:"taskList" type:"structure"`
 13345  
 13346  	// If set, specifies the priority with which the activity task is to be assigned
 13347  	// to a worker. This overrides the defaultTaskPriority specified when registering
 13348  	// the activity type using RegisterActivityType. Valid values are integers that
 13349  	// range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
 13350  	// Higher numbers indicate higher priority.
 13351  	//
 13352  	// For more information about setting task priority, see Setting Task Priority
 13353  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 13354  	// in the Amazon SWF Developer Guide.
 13355  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 13356  }
 13357  
 13358  // String returns the string representation.
 13359  //
 13360  // API parameter values that are decorated as "sensitive" in the API will not
 13361  // be included in the string output. The member name will be present, but the
 13362  // value will be replaced with "sensitive".
 13363  func (s ScheduleActivityTaskDecisionAttributes) String() string {
 13364  	return awsutil.Prettify(s)
 13365  }
 13366  
 13367  // GoString returns the string representation.
 13368  //
 13369  // API parameter values that are decorated as "sensitive" in the API will not
 13370  // be included in the string output. The member name will be present, but the
 13371  // value will be replaced with "sensitive".
 13372  func (s ScheduleActivityTaskDecisionAttributes) GoString() string {
 13373  	return s.String()
 13374  }
 13375  
 13376  // Validate inspects the fields of the type to determine if they are valid.
 13377  func (s *ScheduleActivityTaskDecisionAttributes) Validate() error {
 13378  	invalidParams := request.ErrInvalidParams{Context: "ScheduleActivityTaskDecisionAttributes"}
 13379  	if s.ActivityId == nil {
 13380  		invalidParams.Add(request.NewErrParamRequired("ActivityId"))
 13381  	}
 13382  	if s.ActivityId != nil && len(*s.ActivityId) < 1 {
 13383  		invalidParams.Add(request.NewErrParamMinLen("ActivityId", 1))
 13384  	}
 13385  	if s.ActivityType == nil {
 13386  		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
 13387  	}
 13388  	if s.ActivityType != nil {
 13389  		if err := s.ActivityType.Validate(); err != nil {
 13390  			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
 13391  		}
 13392  	}
 13393  	if s.TaskList != nil {
 13394  		if err := s.TaskList.Validate(); err != nil {
 13395  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
 13396  		}
 13397  	}
 13398  
 13399  	if invalidParams.Len() > 0 {
 13400  		return invalidParams
 13401  	}
 13402  	return nil
 13403  }
 13404  
 13405  // SetActivityId sets the ActivityId field's value.
 13406  func (s *ScheduleActivityTaskDecisionAttributes) SetActivityId(v string) *ScheduleActivityTaskDecisionAttributes {
 13407  	s.ActivityId = &v
 13408  	return s
 13409  }
 13410  
 13411  // SetActivityType sets the ActivityType field's value.
 13412  func (s *ScheduleActivityTaskDecisionAttributes) SetActivityType(v *ActivityType) *ScheduleActivityTaskDecisionAttributes {
 13413  	s.ActivityType = v
 13414  	return s
 13415  }
 13416  
 13417  // SetControl sets the Control field's value.
 13418  func (s *ScheduleActivityTaskDecisionAttributes) SetControl(v string) *ScheduleActivityTaskDecisionAttributes {
 13419  	s.Control = &v
 13420  	return s
 13421  }
 13422  
 13423  // SetHeartbeatTimeout sets the HeartbeatTimeout field's value.
 13424  func (s *ScheduleActivityTaskDecisionAttributes) SetHeartbeatTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
 13425  	s.HeartbeatTimeout = &v
 13426  	return s
 13427  }
 13428  
 13429  // SetInput sets the Input field's value.
 13430  func (s *ScheduleActivityTaskDecisionAttributes) SetInput(v string) *ScheduleActivityTaskDecisionAttributes {
 13431  	s.Input = &v
 13432  	return s
 13433  }
 13434  
 13435  // SetScheduleToCloseTimeout sets the ScheduleToCloseTimeout field's value.
 13436  func (s *ScheduleActivityTaskDecisionAttributes) SetScheduleToCloseTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
 13437  	s.ScheduleToCloseTimeout = &v
 13438  	return s
 13439  }
 13440  
 13441  // SetScheduleToStartTimeout sets the ScheduleToStartTimeout field's value.
 13442  func (s *ScheduleActivityTaskDecisionAttributes) SetScheduleToStartTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
 13443  	s.ScheduleToStartTimeout = &v
 13444  	return s
 13445  }
 13446  
 13447  // SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
 13448  func (s *ScheduleActivityTaskDecisionAttributes) SetStartToCloseTimeout(v string) *ScheduleActivityTaskDecisionAttributes {
 13449  	s.StartToCloseTimeout = &v
 13450  	return s
 13451  }
 13452  
 13453  // SetTaskList sets the TaskList field's value.
 13454  func (s *ScheduleActivityTaskDecisionAttributes) SetTaskList(v *TaskList) *ScheduleActivityTaskDecisionAttributes {
 13455  	s.TaskList = v
 13456  	return s
 13457  }
 13458  
 13459  // SetTaskPriority sets the TaskPriority field's value.
 13460  func (s *ScheduleActivityTaskDecisionAttributes) SetTaskPriority(v string) *ScheduleActivityTaskDecisionAttributes {
 13461  	s.TaskPriority = &v
 13462  	return s
 13463  }
 13464  
 13465  // Provides the details of the ScheduleActivityTaskFailed event.
 13466  type ScheduleActivityTaskFailedEventAttributes struct {
 13467  	_ struct{} `type:"structure"`
 13468  
 13469  	// The activityId provided in the ScheduleActivityTask decision that failed.
 13470  	//
 13471  	// ActivityId is a required field
 13472  	ActivityId *string `locationName:"activityId" min:"1" type:"string" required:"true"`
 13473  
 13474  	// The activity type provided in the ScheduleActivityTask decision that failed.
 13475  	//
 13476  	// ActivityType is a required field
 13477  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
 13478  
 13479  	// The cause of the failure. This information is generated by the system and
 13480  	// can be useful for diagnostic purposes.
 13481  	//
 13482  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 13483  	// lacked sufficient permissions. For details and example IAM policies, see
 13484  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 13485  	// in the Amazon SWF Developer Guide.
 13486  	//
 13487  	// Cause is a required field
 13488  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"ScheduleActivityTaskFailedCause"`
 13489  
 13490  	// The ID of the DecisionTaskCompleted event corresponding to the decision that
 13491  	// resulted in the scheduling of this activity task. This information can be
 13492  	// useful for diagnosing problems by tracing back the chain of events leading
 13493  	// up to this event.
 13494  	//
 13495  	// DecisionTaskCompletedEventId is a required field
 13496  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 13497  }
 13498  
 13499  // String returns the string representation.
 13500  //
 13501  // API parameter values that are decorated as "sensitive" in the API will not
 13502  // be included in the string output. The member name will be present, but the
 13503  // value will be replaced with "sensitive".
 13504  func (s ScheduleActivityTaskFailedEventAttributes) String() string {
 13505  	return awsutil.Prettify(s)
 13506  }
 13507  
 13508  // GoString returns the string representation.
 13509  //
 13510  // API parameter values that are decorated as "sensitive" in the API will not
 13511  // be included in the string output. The member name will be present, but the
 13512  // value will be replaced with "sensitive".
 13513  func (s ScheduleActivityTaskFailedEventAttributes) GoString() string {
 13514  	return s.String()
 13515  }
 13516  
 13517  // SetActivityId sets the ActivityId field's value.
 13518  func (s *ScheduleActivityTaskFailedEventAttributes) SetActivityId(v string) *ScheduleActivityTaskFailedEventAttributes {
 13519  	s.ActivityId = &v
 13520  	return s
 13521  }
 13522  
 13523  // SetActivityType sets the ActivityType field's value.
 13524  func (s *ScheduleActivityTaskFailedEventAttributes) SetActivityType(v *ActivityType) *ScheduleActivityTaskFailedEventAttributes {
 13525  	s.ActivityType = v
 13526  	return s
 13527  }
 13528  
 13529  // SetCause sets the Cause field's value.
 13530  func (s *ScheduleActivityTaskFailedEventAttributes) SetCause(v string) *ScheduleActivityTaskFailedEventAttributes {
 13531  	s.Cause = &v
 13532  	return s
 13533  }
 13534  
 13535  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 13536  func (s *ScheduleActivityTaskFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ScheduleActivityTaskFailedEventAttributes {
 13537  	s.DecisionTaskCompletedEventId = &v
 13538  	return s
 13539  }
 13540  
 13541  // Decision attributes specified in scheduleLambdaFunctionDecisionAttributes
 13542  // within the list of decisions decisions passed to RespondDecisionTaskCompleted.
 13543  type ScheduleLambdaFunctionDecisionAttributes struct {
 13544  	_ struct{} `type:"structure"`
 13545  
 13546  	// The data attached to the event that the decider can use in subsequent workflow
 13547  	// tasks. This data isn't sent to the Lambda task.
 13548  	Control *string `locationName:"control" type:"string"`
 13549  
 13550  	// A string that identifies the Lambda function execution in the event history.
 13551  	//
 13552  	// Id is a required field
 13553  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
 13554  
 13555  	// The optional input data to be supplied to the Lambda function.
 13556  	Input *string `locationName:"input" type:"string"`
 13557  
 13558  	// The name, or ARN, of the Lambda function to schedule.
 13559  	//
 13560  	// Name is a required field
 13561  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13562  
 13563  	// The timeout value, in seconds, after which the Lambda function is considered
 13564  	// to be failed once it has started. This can be any integer from 1-300 (1s-5m).
 13565  	// If no value is supplied, than a default value of 300s is assumed.
 13566  	StartToCloseTimeout *string `locationName:"startToCloseTimeout" type:"string"`
 13567  }
 13568  
 13569  // String returns the string representation.
 13570  //
 13571  // API parameter values that are decorated as "sensitive" in the API will not
 13572  // be included in the string output. The member name will be present, but the
 13573  // value will be replaced with "sensitive".
 13574  func (s ScheduleLambdaFunctionDecisionAttributes) String() string {
 13575  	return awsutil.Prettify(s)
 13576  }
 13577  
 13578  // GoString returns the string representation.
 13579  //
 13580  // API parameter values that are decorated as "sensitive" in the API will not
 13581  // be included in the string output. The member name will be present, but the
 13582  // value will be replaced with "sensitive".
 13583  func (s ScheduleLambdaFunctionDecisionAttributes) GoString() string {
 13584  	return s.String()
 13585  }
 13586  
 13587  // Validate inspects the fields of the type to determine if they are valid.
 13588  func (s *ScheduleLambdaFunctionDecisionAttributes) Validate() error {
 13589  	invalidParams := request.ErrInvalidParams{Context: "ScheduleLambdaFunctionDecisionAttributes"}
 13590  	if s.Id == nil {
 13591  		invalidParams.Add(request.NewErrParamRequired("Id"))
 13592  	}
 13593  	if s.Id != nil && len(*s.Id) < 1 {
 13594  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13595  	}
 13596  	if s.Name == nil {
 13597  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13598  	}
 13599  	if s.Name != nil && len(*s.Name) < 1 {
 13600  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13601  	}
 13602  
 13603  	if invalidParams.Len() > 0 {
 13604  		return invalidParams
 13605  	}
 13606  	return nil
 13607  }
 13608  
 13609  // SetControl sets the Control field's value.
 13610  func (s *ScheduleLambdaFunctionDecisionAttributes) SetControl(v string) *ScheduleLambdaFunctionDecisionAttributes {
 13611  	s.Control = &v
 13612  	return s
 13613  }
 13614  
 13615  // SetId sets the Id field's value.
 13616  func (s *ScheduleLambdaFunctionDecisionAttributes) SetId(v string) *ScheduleLambdaFunctionDecisionAttributes {
 13617  	s.Id = &v
 13618  	return s
 13619  }
 13620  
 13621  // SetInput sets the Input field's value.
 13622  func (s *ScheduleLambdaFunctionDecisionAttributes) SetInput(v string) *ScheduleLambdaFunctionDecisionAttributes {
 13623  	s.Input = &v
 13624  	return s
 13625  }
 13626  
 13627  // SetName sets the Name field's value.
 13628  func (s *ScheduleLambdaFunctionDecisionAttributes) SetName(v string) *ScheduleLambdaFunctionDecisionAttributes {
 13629  	s.Name = &v
 13630  	return s
 13631  }
 13632  
 13633  // SetStartToCloseTimeout sets the StartToCloseTimeout field's value.
 13634  func (s *ScheduleLambdaFunctionDecisionAttributes) SetStartToCloseTimeout(v string) *ScheduleLambdaFunctionDecisionAttributes {
 13635  	s.StartToCloseTimeout = &v
 13636  	return s
 13637  }
 13638  
 13639  // Provides the details of the ScheduleLambdaFunctionFailed event. It isn't
 13640  // set for other event types.
 13641  type ScheduleLambdaFunctionFailedEventAttributes struct {
 13642  	_ struct{} `type:"structure"`
 13643  
 13644  	// The cause of the failure. To help diagnose issues, use this information to
 13645  	// trace back the chain of events leading up to this event.
 13646  	//
 13647  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 13648  	// lacked sufficient permissions. For details and example IAM policies, see
 13649  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 13650  	// in the Amazon SWF Developer Guide.
 13651  	//
 13652  	// Cause is a required field
 13653  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"ScheduleLambdaFunctionFailedCause"`
 13654  
 13655  	// The ID of the LambdaFunctionCompleted event corresponding to the decision
 13656  	// that resulted in scheduling this Lambda task. To help diagnose issues, use
 13657  	// this information to trace back the chain of events leading up to this event.
 13658  	//
 13659  	// DecisionTaskCompletedEventId is a required field
 13660  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 13661  
 13662  	// The ID provided in the ScheduleLambdaFunction decision that failed.
 13663  	//
 13664  	// Id is a required field
 13665  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
 13666  
 13667  	// The name of the Lambda function.
 13668  	//
 13669  	// Name is a required field
 13670  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 13671  }
 13672  
 13673  // String returns the string representation.
 13674  //
 13675  // API parameter values that are decorated as "sensitive" in the API will not
 13676  // be included in the string output. The member name will be present, but the
 13677  // value will be replaced with "sensitive".
 13678  func (s ScheduleLambdaFunctionFailedEventAttributes) String() string {
 13679  	return awsutil.Prettify(s)
 13680  }
 13681  
 13682  // GoString returns the string representation.
 13683  //
 13684  // API parameter values that are decorated as "sensitive" in the API will not
 13685  // be included in the string output. The member name will be present, but the
 13686  // value will be replaced with "sensitive".
 13687  func (s ScheduleLambdaFunctionFailedEventAttributes) GoString() string {
 13688  	return s.String()
 13689  }
 13690  
 13691  // SetCause sets the Cause field's value.
 13692  func (s *ScheduleLambdaFunctionFailedEventAttributes) SetCause(v string) *ScheduleLambdaFunctionFailedEventAttributes {
 13693  	s.Cause = &v
 13694  	return s
 13695  }
 13696  
 13697  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 13698  func (s *ScheduleLambdaFunctionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *ScheduleLambdaFunctionFailedEventAttributes {
 13699  	s.DecisionTaskCompletedEventId = &v
 13700  	return s
 13701  }
 13702  
 13703  // SetId sets the Id field's value.
 13704  func (s *ScheduleLambdaFunctionFailedEventAttributes) SetId(v string) *ScheduleLambdaFunctionFailedEventAttributes {
 13705  	s.Id = &v
 13706  	return s
 13707  }
 13708  
 13709  // SetName sets the Name field's value.
 13710  func (s *ScheduleLambdaFunctionFailedEventAttributes) SetName(v string) *ScheduleLambdaFunctionFailedEventAttributes {
 13711  	s.Name = &v
 13712  	return s
 13713  }
 13714  
 13715  // Provides the details of the SignalExternalWorkflowExecution decision.
 13716  //
 13717  // Access Control
 13718  //
 13719  // You can use IAM policies to control this decision's access to Amazon SWF
 13720  // resources as follows:
 13721  //
 13722  //    * Use a Resource element with the domain name to limit the action to only
 13723  //    specified domains.
 13724  //
 13725  //    * Use an Action element to allow or deny permission to call this action.
 13726  //
 13727  //    * You cannot use an IAM policy to constrain this action's parameters.
 13728  //
 13729  // If the caller doesn't have sufficient permissions to invoke the action, or
 13730  // the parameter values fall outside the specified constraints, the action fails.
 13731  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 13732  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 13733  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 13734  // in the Amazon SWF Developer Guide.
 13735  type SignalExternalWorkflowExecutionDecisionAttributes struct {
 13736  	_ struct{} `type:"structure"`
 13737  
 13738  	// The data attached to the event that can be used by the decider in subsequent
 13739  	// decision tasks.
 13740  	Control *string `locationName:"control" type:"string"`
 13741  
 13742  	// The input data to be provided with the signal. The target workflow execution
 13743  	// uses the signal name and input data to process the signal.
 13744  	Input *string `locationName:"input" type:"string"`
 13745  
 13746  	// The runId of the workflow execution to be signaled.
 13747  	RunId *string `locationName:"runId" type:"string"`
 13748  
 13749  	// The name of the signal.The target workflow execution uses the signal name
 13750  	// and input to process the signal.
 13751  	//
 13752  	// SignalName is a required field
 13753  	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
 13754  
 13755  	// The workflowId of the workflow execution to be signaled.
 13756  	//
 13757  	// WorkflowId is a required field
 13758  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 13759  }
 13760  
 13761  // String returns the string representation.
 13762  //
 13763  // API parameter values that are decorated as "sensitive" in the API will not
 13764  // be included in the string output. The member name will be present, but the
 13765  // value will be replaced with "sensitive".
 13766  func (s SignalExternalWorkflowExecutionDecisionAttributes) String() string {
 13767  	return awsutil.Prettify(s)
 13768  }
 13769  
 13770  // GoString returns the string representation.
 13771  //
 13772  // API parameter values that are decorated as "sensitive" in the API will not
 13773  // be included in the string output. The member name will be present, but the
 13774  // value will be replaced with "sensitive".
 13775  func (s SignalExternalWorkflowExecutionDecisionAttributes) GoString() string {
 13776  	return s.String()
 13777  }
 13778  
 13779  // Validate inspects the fields of the type to determine if they are valid.
 13780  func (s *SignalExternalWorkflowExecutionDecisionAttributes) Validate() error {
 13781  	invalidParams := request.ErrInvalidParams{Context: "SignalExternalWorkflowExecutionDecisionAttributes"}
 13782  	if s.SignalName == nil {
 13783  		invalidParams.Add(request.NewErrParamRequired("SignalName"))
 13784  	}
 13785  	if s.SignalName != nil && len(*s.SignalName) < 1 {
 13786  		invalidParams.Add(request.NewErrParamMinLen("SignalName", 1))
 13787  	}
 13788  	if s.WorkflowId == nil {
 13789  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 13790  	}
 13791  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 13792  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 13793  	}
 13794  
 13795  	if invalidParams.Len() > 0 {
 13796  		return invalidParams
 13797  	}
 13798  	return nil
 13799  }
 13800  
 13801  // SetControl sets the Control field's value.
 13802  func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetControl(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
 13803  	s.Control = &v
 13804  	return s
 13805  }
 13806  
 13807  // SetInput sets the Input field's value.
 13808  func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetInput(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
 13809  	s.Input = &v
 13810  	return s
 13811  }
 13812  
 13813  // SetRunId sets the RunId field's value.
 13814  func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetRunId(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
 13815  	s.RunId = &v
 13816  	return s
 13817  }
 13818  
 13819  // SetSignalName sets the SignalName field's value.
 13820  func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetSignalName(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
 13821  	s.SignalName = &v
 13822  	return s
 13823  }
 13824  
 13825  // SetWorkflowId sets the WorkflowId field's value.
 13826  func (s *SignalExternalWorkflowExecutionDecisionAttributes) SetWorkflowId(v string) *SignalExternalWorkflowExecutionDecisionAttributes {
 13827  	s.WorkflowId = &v
 13828  	return s
 13829  }
 13830  
 13831  // Provides the details of the SignalExternalWorkflowExecutionFailed event.
 13832  type SignalExternalWorkflowExecutionFailedEventAttributes struct {
 13833  	_ struct{} `type:"structure"`
 13834  
 13835  	// The cause of the failure. This information is generated by the system and
 13836  	// can be useful for diagnostic purposes.
 13837  	//
 13838  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 13839  	// lacked sufficient permissions. For details and example IAM policies, see
 13840  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 13841  	// in the Amazon SWF Developer Guide.
 13842  	//
 13843  	// Cause is a required field
 13844  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"SignalExternalWorkflowExecutionFailedCause"`
 13845  
 13846  	// The data attached to the event that the decider can use in subsequent workflow
 13847  	// tasks. This data isn't sent to the workflow execution.
 13848  	Control *string `locationName:"control" type:"string"`
 13849  
 13850  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 13851  	// that resulted in the SignalExternalWorkflowExecution decision for this signal.
 13852  	// This information can be useful for diagnosing problems by tracing back the
 13853  	// chain of events leading up to this event.
 13854  	//
 13855  	// DecisionTaskCompletedEventId is a required field
 13856  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 13857  
 13858  	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding
 13859  	// to the SignalExternalWorkflowExecution decision to request this signal. This
 13860  	// information can be useful for diagnosing problems by tracing back the chain
 13861  	// of events leading up to this event.
 13862  	//
 13863  	// InitiatedEventId is a required field
 13864  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
 13865  
 13866  	// The runId of the external workflow execution that the signal was being delivered
 13867  	// to.
 13868  	RunId *string `locationName:"runId" type:"string"`
 13869  
 13870  	// The workflowId of the external workflow execution that the signal was being
 13871  	// delivered to.
 13872  	//
 13873  	// WorkflowId is a required field
 13874  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 13875  }
 13876  
 13877  // String returns the string representation.
 13878  //
 13879  // API parameter values that are decorated as "sensitive" in the API will not
 13880  // be included in the string output. The member name will be present, but the
 13881  // value will be replaced with "sensitive".
 13882  func (s SignalExternalWorkflowExecutionFailedEventAttributes) String() string {
 13883  	return awsutil.Prettify(s)
 13884  }
 13885  
 13886  // GoString returns the string representation.
 13887  //
 13888  // API parameter values that are decorated as "sensitive" in the API will not
 13889  // be included in the string output. The member name will be present, but the
 13890  // value will be replaced with "sensitive".
 13891  func (s SignalExternalWorkflowExecutionFailedEventAttributes) GoString() string {
 13892  	return s.String()
 13893  }
 13894  
 13895  // SetCause sets the Cause field's value.
 13896  func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetCause(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
 13897  	s.Cause = &v
 13898  	return s
 13899  }
 13900  
 13901  // SetControl sets the Control field's value.
 13902  func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetControl(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
 13903  	s.Control = &v
 13904  	return s
 13905  }
 13906  
 13907  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 13908  func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *SignalExternalWorkflowExecutionFailedEventAttributes {
 13909  	s.DecisionTaskCompletedEventId = &v
 13910  	return s
 13911  }
 13912  
 13913  // SetInitiatedEventId sets the InitiatedEventId field's value.
 13914  func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *SignalExternalWorkflowExecutionFailedEventAttributes {
 13915  	s.InitiatedEventId = &v
 13916  	return s
 13917  }
 13918  
 13919  // SetRunId sets the RunId field's value.
 13920  func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetRunId(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
 13921  	s.RunId = &v
 13922  	return s
 13923  }
 13924  
 13925  // SetWorkflowId sets the WorkflowId field's value.
 13926  func (s *SignalExternalWorkflowExecutionFailedEventAttributes) SetWorkflowId(v string) *SignalExternalWorkflowExecutionFailedEventAttributes {
 13927  	s.WorkflowId = &v
 13928  	return s
 13929  }
 13930  
 13931  // Provides the details of the SignalExternalWorkflowExecutionInitiated event.
 13932  type SignalExternalWorkflowExecutionInitiatedEventAttributes struct {
 13933  	_ struct{} `type:"structure"`
 13934  
 13935  	// Data attached to the event that can be used by the decider in subsequent
 13936  	// decision tasks.
 13937  	Control *string `locationName:"control" type:"string"`
 13938  
 13939  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 13940  	// that resulted in the SignalExternalWorkflowExecution decision for this signal.
 13941  	// This information can be useful for diagnosing problems by tracing back the
 13942  	// chain of events leading up to this event.
 13943  	//
 13944  	// DecisionTaskCompletedEventId is a required field
 13945  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 13946  
 13947  	// The input provided to the signal.
 13948  	Input *string `locationName:"input" type:"string"`
 13949  
 13950  	// The runId of the external workflow execution to send the signal to.
 13951  	RunId *string `locationName:"runId" type:"string"`
 13952  
 13953  	// The name of the signal.
 13954  	//
 13955  	// SignalName is a required field
 13956  	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
 13957  
 13958  	// The workflowId of the external workflow execution.
 13959  	//
 13960  	// WorkflowId is a required field
 13961  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 13962  }
 13963  
 13964  // String returns the string representation.
 13965  //
 13966  // API parameter values that are decorated as "sensitive" in the API will not
 13967  // be included in the string output. The member name will be present, but the
 13968  // value will be replaced with "sensitive".
 13969  func (s SignalExternalWorkflowExecutionInitiatedEventAttributes) String() string {
 13970  	return awsutil.Prettify(s)
 13971  }
 13972  
 13973  // GoString returns the string representation.
 13974  //
 13975  // API parameter values that are decorated as "sensitive" in the API will not
 13976  // be included in the string output. The member name will be present, but the
 13977  // value will be replaced with "sensitive".
 13978  func (s SignalExternalWorkflowExecutionInitiatedEventAttributes) GoString() string {
 13979  	return s.String()
 13980  }
 13981  
 13982  // SetControl sets the Control field's value.
 13983  func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetControl(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
 13984  	s.Control = &v
 13985  	return s
 13986  }
 13987  
 13988  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 13989  func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
 13990  	s.DecisionTaskCompletedEventId = &v
 13991  	return s
 13992  }
 13993  
 13994  // SetInput sets the Input field's value.
 13995  func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetInput(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
 13996  	s.Input = &v
 13997  	return s
 13998  }
 13999  
 14000  // SetRunId sets the RunId field's value.
 14001  func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetRunId(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
 14002  	s.RunId = &v
 14003  	return s
 14004  }
 14005  
 14006  // SetSignalName sets the SignalName field's value.
 14007  func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetSignalName(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
 14008  	s.SignalName = &v
 14009  	return s
 14010  }
 14011  
 14012  // SetWorkflowId sets the WorkflowId field's value.
 14013  func (s *SignalExternalWorkflowExecutionInitiatedEventAttributes) SetWorkflowId(v string) *SignalExternalWorkflowExecutionInitiatedEventAttributes {
 14014  	s.WorkflowId = &v
 14015  	return s
 14016  }
 14017  
 14018  type SignalWorkflowExecutionInput struct {
 14019  	_ struct{} `type:"structure"`
 14020  
 14021  	// The name of the domain containing the workflow execution to signal.
 14022  	//
 14023  	// Domain is a required field
 14024  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 14025  
 14026  	// Data to attach to the WorkflowExecutionSignaled event in the target workflow
 14027  	// execution's history.
 14028  	Input *string `locationName:"input" type:"string"`
 14029  
 14030  	// The runId of the workflow execution to signal.
 14031  	RunId *string `locationName:"runId" type:"string"`
 14032  
 14033  	// The name of the signal. This name must be meaningful to the target workflow.
 14034  	//
 14035  	// SignalName is a required field
 14036  	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
 14037  
 14038  	// The workflowId of the workflow execution to signal.
 14039  	//
 14040  	// WorkflowId is a required field
 14041  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 14042  }
 14043  
 14044  // String returns the string representation.
 14045  //
 14046  // API parameter values that are decorated as "sensitive" in the API will not
 14047  // be included in the string output. The member name will be present, but the
 14048  // value will be replaced with "sensitive".
 14049  func (s SignalWorkflowExecutionInput) String() string {
 14050  	return awsutil.Prettify(s)
 14051  }
 14052  
 14053  // GoString returns the string representation.
 14054  //
 14055  // API parameter values that are decorated as "sensitive" in the API will not
 14056  // be included in the string output. The member name will be present, but the
 14057  // value will be replaced with "sensitive".
 14058  func (s SignalWorkflowExecutionInput) GoString() string {
 14059  	return s.String()
 14060  }
 14061  
 14062  // Validate inspects the fields of the type to determine if they are valid.
 14063  func (s *SignalWorkflowExecutionInput) Validate() error {
 14064  	invalidParams := request.ErrInvalidParams{Context: "SignalWorkflowExecutionInput"}
 14065  	if s.Domain == nil {
 14066  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 14067  	}
 14068  	if s.Domain != nil && len(*s.Domain) < 1 {
 14069  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 14070  	}
 14071  	if s.SignalName == nil {
 14072  		invalidParams.Add(request.NewErrParamRequired("SignalName"))
 14073  	}
 14074  	if s.SignalName != nil && len(*s.SignalName) < 1 {
 14075  		invalidParams.Add(request.NewErrParamMinLen("SignalName", 1))
 14076  	}
 14077  	if s.WorkflowId == nil {
 14078  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 14079  	}
 14080  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 14081  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 14082  	}
 14083  
 14084  	if invalidParams.Len() > 0 {
 14085  		return invalidParams
 14086  	}
 14087  	return nil
 14088  }
 14089  
 14090  // SetDomain sets the Domain field's value.
 14091  func (s *SignalWorkflowExecutionInput) SetDomain(v string) *SignalWorkflowExecutionInput {
 14092  	s.Domain = &v
 14093  	return s
 14094  }
 14095  
 14096  // SetInput sets the Input field's value.
 14097  func (s *SignalWorkflowExecutionInput) SetInput(v string) *SignalWorkflowExecutionInput {
 14098  	s.Input = &v
 14099  	return s
 14100  }
 14101  
 14102  // SetRunId sets the RunId field's value.
 14103  func (s *SignalWorkflowExecutionInput) SetRunId(v string) *SignalWorkflowExecutionInput {
 14104  	s.RunId = &v
 14105  	return s
 14106  }
 14107  
 14108  // SetSignalName sets the SignalName field's value.
 14109  func (s *SignalWorkflowExecutionInput) SetSignalName(v string) *SignalWorkflowExecutionInput {
 14110  	s.SignalName = &v
 14111  	return s
 14112  }
 14113  
 14114  // SetWorkflowId sets the WorkflowId field's value.
 14115  func (s *SignalWorkflowExecutionInput) SetWorkflowId(v string) *SignalWorkflowExecutionInput {
 14116  	s.WorkflowId = &v
 14117  	return s
 14118  }
 14119  
 14120  type SignalWorkflowExecutionOutput struct {
 14121  	_ struct{} `type:"structure"`
 14122  }
 14123  
 14124  // String returns the string representation.
 14125  //
 14126  // API parameter values that are decorated as "sensitive" in the API will not
 14127  // be included in the string output. The member name will be present, but the
 14128  // value will be replaced with "sensitive".
 14129  func (s SignalWorkflowExecutionOutput) String() string {
 14130  	return awsutil.Prettify(s)
 14131  }
 14132  
 14133  // GoString returns the string representation.
 14134  //
 14135  // API parameter values that are decorated as "sensitive" in the API will not
 14136  // be included in the string output. The member name will be present, but the
 14137  // value will be replaced with "sensitive".
 14138  func (s SignalWorkflowExecutionOutput) GoString() string {
 14139  	return s.String()
 14140  }
 14141  
 14142  // Provides the details of the StartChildWorkflowExecution decision.
 14143  //
 14144  // Access Control
 14145  //
 14146  // You can use IAM policies to control this decision's access to Amazon SWF
 14147  // resources as follows:
 14148  //
 14149  //    * Use a Resource element with the domain name to limit the action to only
 14150  //    specified domains.
 14151  //
 14152  //    * Use an Action element to allow or deny permission to call this action.
 14153  //
 14154  //    * Constrain the following parameters by using a Condition element with
 14155  //    the appropriate keys. tagList.member.N – The key is "swf:tagList.N"
 14156  //    where N is the tag number from 0 to 4, inclusive. taskList – String
 14157  //    constraint. The key is swf:taskList.name. workflowType.name – String
 14158  //    constraint. The key is swf:workflowType.name. workflowType.version –
 14159  //    String constraint. The key is swf:workflowType.version.
 14160  //
 14161  // If the caller doesn't have sufficient permissions to invoke the action, or
 14162  // the parameter values fall outside the specified constraints, the action fails.
 14163  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 14164  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 14165  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 14166  // in the Amazon SWF Developer Guide.
 14167  type StartChildWorkflowExecutionDecisionAttributes struct {
 14168  	_ struct{} `type:"structure"`
 14169  
 14170  	// If set, specifies the policy to use for the child workflow executions if
 14171  	// the workflow execution being started is terminated by calling the TerminateWorkflowExecution
 14172  	// action explicitly or due to an expired timeout. This policy overrides the
 14173  	// default child policy specified when registering the workflow type using RegisterWorkflowType.
 14174  	//
 14175  	// The supported child policies are:
 14176  	//
 14177  	//    * TERMINATE – The child executions are terminated.
 14178  	//
 14179  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 14180  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 14181  	//    It is up to the decider to take appropriate actions when it receives an
 14182  	//    execution history with this event.
 14183  	//
 14184  	//    * ABANDON – No action is taken. The child executions continue to run.
 14185  	//
 14186  	// A child policy for this workflow execution must be specified either as a
 14187  	// default for the workflow type or through this parameter. If neither this
 14188  	// parameter is set nor a default child policy was specified at registration
 14189  	// time then a fault is returned.
 14190  	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
 14191  
 14192  	// The data attached to the event that can be used by the decider in subsequent
 14193  	// workflow tasks. This data isn't sent to the child workflow execution.
 14194  	Control *string `locationName:"control" type:"string"`
 14195  
 14196  	// The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout
 14197  	// specified when registering the workflow type.
 14198  	//
 14199  	// The duration is specified in seconds, an integer greater than or equal to
 14200  	// 0. You can use NONE to specify unlimited duration.
 14201  	//
 14202  	// An execution start-to-close timeout for this workflow execution must be specified
 14203  	// either as a default for the workflow type or through this parameter. If neither
 14204  	// this parameter is set nor a default execution start-to-close timeout was
 14205  	// specified at registration time then a fault is returned.
 14206  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
 14207  
 14208  	// The input to be provided to the workflow execution.
 14209  	Input *string `locationName:"input" type:"string"`
 14210  
 14211  	// The IAM role attached to the child workflow execution.
 14212  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
 14213  
 14214  	// The list of tags to associate with the child workflow execution. A maximum
 14215  	// of 5 tags can be specified. You can list workflow executions with a specific
 14216  	// tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions
 14217  	// and specifying a TagFilter.
 14218  	TagList []*string `locationName:"tagList" type:"list"`
 14219  
 14220  	// The name of the task list to be used for decision tasks of the child workflow
 14221  	// execution.
 14222  	//
 14223  	// A task list for this workflow execution must be specified either as a default
 14224  	// for the workflow type or through this parameter. If neither this parameter
 14225  	// is set nor a default task list was specified at registration time then a
 14226  	// fault is returned.
 14227  	//
 14228  	// The specified string must not start or end with whitespace. It must not contain
 14229  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 14230  	// | \u007f-\u009f). Also, it must not contain the literal string arn.
 14231  	TaskList *TaskList `locationName:"taskList" type:"structure"`
 14232  
 14233  	// A task priority that, if set, specifies the priority for a decision task
 14234  	// of this workflow execution. This overrides the defaultTaskPriority specified
 14235  	// when registering the workflow type. Valid values are integers that range
 14236  	// from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647).
 14237  	// Higher numbers indicate higher priority.
 14238  	//
 14239  	// For more information about setting task priority, see Setting Task Priority
 14240  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 14241  	// in the Amazon SWF Developer Guide.
 14242  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 14243  
 14244  	// Specifies the maximum duration of decision tasks for this workflow execution.
 14245  	// This parameter overrides the defaultTaskStartToCloseTimout specified when
 14246  	// registering the workflow type using RegisterWorkflowType.
 14247  	//
 14248  	// The duration is specified in seconds, an integer greater than or equal to
 14249  	// 0. You can use NONE to specify unlimited duration.
 14250  	//
 14251  	// A task start-to-close timeout for this workflow execution must be specified
 14252  	// either as a default for the workflow type or through this parameter. If neither
 14253  	// this parameter is set nor a default task start-to-close timeout was specified
 14254  	// at registration time then a fault is returned.
 14255  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
 14256  
 14257  	// The workflowId of the workflow execution.
 14258  	//
 14259  	// The specified string must not start or end with whitespace. It must not contain
 14260  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 14261  	// | \u007f-\u009f). Also, it must not contain the literal string arn.
 14262  	//
 14263  	// WorkflowId is a required field
 14264  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 14265  
 14266  	// The type of the workflow execution to be started.
 14267  	//
 14268  	// WorkflowType is a required field
 14269  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 14270  }
 14271  
 14272  // String returns the string representation.
 14273  //
 14274  // API parameter values that are decorated as "sensitive" in the API will not
 14275  // be included in the string output. The member name will be present, but the
 14276  // value will be replaced with "sensitive".
 14277  func (s StartChildWorkflowExecutionDecisionAttributes) String() string {
 14278  	return awsutil.Prettify(s)
 14279  }
 14280  
 14281  // GoString returns the string representation.
 14282  //
 14283  // API parameter values that are decorated as "sensitive" in the API will not
 14284  // be included in the string output. The member name will be present, but the
 14285  // value will be replaced with "sensitive".
 14286  func (s StartChildWorkflowExecutionDecisionAttributes) GoString() string {
 14287  	return s.String()
 14288  }
 14289  
 14290  // Validate inspects the fields of the type to determine if they are valid.
 14291  func (s *StartChildWorkflowExecutionDecisionAttributes) Validate() error {
 14292  	invalidParams := request.ErrInvalidParams{Context: "StartChildWorkflowExecutionDecisionAttributes"}
 14293  	if s.LambdaRole != nil && len(*s.LambdaRole) < 1 {
 14294  		invalidParams.Add(request.NewErrParamMinLen("LambdaRole", 1))
 14295  	}
 14296  	if s.WorkflowId == nil {
 14297  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 14298  	}
 14299  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 14300  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 14301  	}
 14302  	if s.WorkflowType == nil {
 14303  		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
 14304  	}
 14305  	if s.TaskList != nil {
 14306  		if err := s.TaskList.Validate(); err != nil {
 14307  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
 14308  		}
 14309  	}
 14310  	if s.WorkflowType != nil {
 14311  		if err := s.WorkflowType.Validate(); err != nil {
 14312  			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
 14313  		}
 14314  	}
 14315  
 14316  	if invalidParams.Len() > 0 {
 14317  		return invalidParams
 14318  	}
 14319  	return nil
 14320  }
 14321  
 14322  // SetChildPolicy sets the ChildPolicy field's value.
 14323  func (s *StartChildWorkflowExecutionDecisionAttributes) SetChildPolicy(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14324  	s.ChildPolicy = &v
 14325  	return s
 14326  }
 14327  
 14328  // SetControl sets the Control field's value.
 14329  func (s *StartChildWorkflowExecutionDecisionAttributes) SetControl(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14330  	s.Control = &v
 14331  	return s
 14332  }
 14333  
 14334  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
 14335  func (s *StartChildWorkflowExecutionDecisionAttributes) SetExecutionStartToCloseTimeout(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14336  	s.ExecutionStartToCloseTimeout = &v
 14337  	return s
 14338  }
 14339  
 14340  // SetInput sets the Input field's value.
 14341  func (s *StartChildWorkflowExecutionDecisionAttributes) SetInput(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14342  	s.Input = &v
 14343  	return s
 14344  }
 14345  
 14346  // SetLambdaRole sets the LambdaRole field's value.
 14347  func (s *StartChildWorkflowExecutionDecisionAttributes) SetLambdaRole(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14348  	s.LambdaRole = &v
 14349  	return s
 14350  }
 14351  
 14352  // SetTagList sets the TagList field's value.
 14353  func (s *StartChildWorkflowExecutionDecisionAttributes) SetTagList(v []*string) *StartChildWorkflowExecutionDecisionAttributes {
 14354  	s.TagList = v
 14355  	return s
 14356  }
 14357  
 14358  // SetTaskList sets the TaskList field's value.
 14359  func (s *StartChildWorkflowExecutionDecisionAttributes) SetTaskList(v *TaskList) *StartChildWorkflowExecutionDecisionAttributes {
 14360  	s.TaskList = v
 14361  	return s
 14362  }
 14363  
 14364  // SetTaskPriority sets the TaskPriority field's value.
 14365  func (s *StartChildWorkflowExecutionDecisionAttributes) SetTaskPriority(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14366  	s.TaskPriority = &v
 14367  	return s
 14368  }
 14369  
 14370  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
 14371  func (s *StartChildWorkflowExecutionDecisionAttributes) SetTaskStartToCloseTimeout(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14372  	s.TaskStartToCloseTimeout = &v
 14373  	return s
 14374  }
 14375  
 14376  // SetWorkflowId sets the WorkflowId field's value.
 14377  func (s *StartChildWorkflowExecutionDecisionAttributes) SetWorkflowId(v string) *StartChildWorkflowExecutionDecisionAttributes {
 14378  	s.WorkflowId = &v
 14379  	return s
 14380  }
 14381  
 14382  // SetWorkflowType sets the WorkflowType field's value.
 14383  func (s *StartChildWorkflowExecutionDecisionAttributes) SetWorkflowType(v *WorkflowType) *StartChildWorkflowExecutionDecisionAttributes {
 14384  	s.WorkflowType = v
 14385  	return s
 14386  }
 14387  
 14388  // Provides the details of the StartChildWorkflowExecutionFailed event.
 14389  type StartChildWorkflowExecutionFailedEventAttributes struct {
 14390  	_ struct{} `type:"structure"`
 14391  
 14392  	// The cause of the failure. This information is generated by the system and
 14393  	// can be useful for diagnostic purposes.
 14394  	//
 14395  	// When cause is set to OPERATION_NOT_PERMITTED, the decision fails because
 14396  	// it lacks sufficient permissions. For details and example IAM policies, see
 14397  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 14398  	// in the Amazon SWF Developer Guide.
 14399  	//
 14400  	// Cause is a required field
 14401  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"StartChildWorkflowExecutionFailedCause"`
 14402  
 14403  	// The data attached to the event that the decider can use in subsequent workflow
 14404  	// tasks. This data isn't sent to the child workflow execution.
 14405  	Control *string `locationName:"control" type:"string"`
 14406  
 14407  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 14408  	// that resulted in the StartChildWorkflowExecution Decision to request this
 14409  	// child workflow execution. This information can be useful for diagnosing problems
 14410  	// by tracing back the chain of events.
 14411  	//
 14412  	// DecisionTaskCompletedEventId is a required field
 14413  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 14414  
 14415  	// When the cause is WORKFLOW_ALREADY_RUNNING, initiatedEventId is the ID of
 14416  	// the StartChildWorkflowExecutionInitiated event that corresponds to the StartChildWorkflowExecution
 14417  	// Decision to start the workflow execution. You can use this information to
 14418  	// diagnose problems by tracing back the chain of events leading up to this
 14419  	// event.
 14420  	//
 14421  	// When the cause isn't WORKFLOW_ALREADY_RUNNING, initiatedEventId is set to
 14422  	// 0 because the StartChildWorkflowExecutionInitiated event doesn't exist.
 14423  	//
 14424  	// InitiatedEventId is a required field
 14425  	InitiatedEventId *int64 `locationName:"initiatedEventId" type:"long" required:"true"`
 14426  
 14427  	// The workflowId of the child workflow execution.
 14428  	//
 14429  	// WorkflowId is a required field
 14430  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 14431  
 14432  	// The workflow type provided in the StartChildWorkflowExecution Decision that
 14433  	// failed.
 14434  	//
 14435  	// WorkflowType is a required field
 14436  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 14437  }
 14438  
 14439  // String returns the string representation.
 14440  //
 14441  // API parameter values that are decorated as "sensitive" in the API will not
 14442  // be included in the string output. The member name will be present, but the
 14443  // value will be replaced with "sensitive".
 14444  func (s StartChildWorkflowExecutionFailedEventAttributes) String() string {
 14445  	return awsutil.Prettify(s)
 14446  }
 14447  
 14448  // GoString returns the string representation.
 14449  //
 14450  // API parameter values that are decorated as "sensitive" in the API will not
 14451  // be included in the string output. The member name will be present, but the
 14452  // value will be replaced with "sensitive".
 14453  func (s StartChildWorkflowExecutionFailedEventAttributes) GoString() string {
 14454  	return s.String()
 14455  }
 14456  
 14457  // SetCause sets the Cause field's value.
 14458  func (s *StartChildWorkflowExecutionFailedEventAttributes) SetCause(v string) *StartChildWorkflowExecutionFailedEventAttributes {
 14459  	s.Cause = &v
 14460  	return s
 14461  }
 14462  
 14463  // SetControl sets the Control field's value.
 14464  func (s *StartChildWorkflowExecutionFailedEventAttributes) SetControl(v string) *StartChildWorkflowExecutionFailedEventAttributes {
 14465  	s.Control = &v
 14466  	return s
 14467  }
 14468  
 14469  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 14470  func (s *StartChildWorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *StartChildWorkflowExecutionFailedEventAttributes {
 14471  	s.DecisionTaskCompletedEventId = &v
 14472  	return s
 14473  }
 14474  
 14475  // SetInitiatedEventId sets the InitiatedEventId field's value.
 14476  func (s *StartChildWorkflowExecutionFailedEventAttributes) SetInitiatedEventId(v int64) *StartChildWorkflowExecutionFailedEventAttributes {
 14477  	s.InitiatedEventId = &v
 14478  	return s
 14479  }
 14480  
 14481  // SetWorkflowId sets the WorkflowId field's value.
 14482  func (s *StartChildWorkflowExecutionFailedEventAttributes) SetWorkflowId(v string) *StartChildWorkflowExecutionFailedEventAttributes {
 14483  	s.WorkflowId = &v
 14484  	return s
 14485  }
 14486  
 14487  // SetWorkflowType sets the WorkflowType field's value.
 14488  func (s *StartChildWorkflowExecutionFailedEventAttributes) SetWorkflowType(v *WorkflowType) *StartChildWorkflowExecutionFailedEventAttributes {
 14489  	s.WorkflowType = v
 14490  	return s
 14491  }
 14492  
 14493  // Provides the details of the StartChildWorkflowExecutionInitiated event.
 14494  type StartChildWorkflowExecutionInitiatedEventAttributes struct {
 14495  	_ struct{} `type:"structure"`
 14496  
 14497  	// The policy to use for the child workflow executions if this execution gets
 14498  	// terminated by explicitly calling the TerminateWorkflowExecution action or
 14499  	// due to an expired timeout.
 14500  	//
 14501  	// The supported child policies are:
 14502  	//
 14503  	//    * TERMINATE – The child executions are terminated.
 14504  	//
 14505  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 14506  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 14507  	//    It is up to the decider to take appropriate actions when it receives an
 14508  	//    execution history with this event.
 14509  	//
 14510  	//    * ABANDON – No action is taken. The child executions continue to run.
 14511  	//
 14512  	// ChildPolicy is a required field
 14513  	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
 14514  
 14515  	// Data attached to the event that can be used by the decider in subsequent
 14516  	// decision tasks. This data isn't sent to the activity.
 14517  	Control *string `locationName:"control" type:"string"`
 14518  
 14519  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 14520  	// that resulted in the StartChildWorkflowExecution Decision to request this
 14521  	// child workflow execution. This information can be useful for diagnosing problems
 14522  	// by tracing back the cause of events.
 14523  	//
 14524  	// DecisionTaskCompletedEventId is a required field
 14525  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 14526  
 14527  	// The maximum duration for the child workflow execution. If the workflow execution
 14528  	// isn't closed within this duration, it is timed out and force-terminated.
 14529  	//
 14530  	// The duration is specified in seconds, an integer greater than or equal to
 14531  	// 0. You can use NONE to specify unlimited duration.
 14532  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
 14533  
 14534  	// The inputs provided to the child workflow execution.
 14535  	Input *string `locationName:"input" type:"string"`
 14536  
 14537  	// The IAM role to attach to the child workflow execution.
 14538  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
 14539  
 14540  	// The list of tags to associated with the child workflow execution.
 14541  	TagList []*string `locationName:"tagList" type:"list"`
 14542  
 14543  	// The name of the task list used for the decision tasks of the child workflow
 14544  	// execution.
 14545  	//
 14546  	// TaskList is a required field
 14547  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
 14548  
 14549  	// The priority assigned for the decision tasks for this workflow execution.
 14550  	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
 14551  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
 14552  	//
 14553  	// For more information about setting task priority, see Setting Task Priority
 14554  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 14555  	// in the Amazon SWF Developer Guide.
 14556  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 14557  
 14558  	// The maximum duration allowed for the decision tasks for this workflow execution.
 14559  	//
 14560  	// The duration is specified in seconds, an integer greater than or equal to
 14561  	// 0. You can use NONE to specify unlimited duration.
 14562  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
 14563  
 14564  	// The workflowId of the child workflow execution.
 14565  	//
 14566  	// WorkflowId is a required field
 14567  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 14568  
 14569  	// The type of the child workflow execution.
 14570  	//
 14571  	// WorkflowType is a required field
 14572  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 14573  }
 14574  
 14575  // String returns the string representation.
 14576  //
 14577  // API parameter values that are decorated as "sensitive" in the API will not
 14578  // be included in the string output. The member name will be present, but the
 14579  // value will be replaced with "sensitive".
 14580  func (s StartChildWorkflowExecutionInitiatedEventAttributes) String() string {
 14581  	return awsutil.Prettify(s)
 14582  }
 14583  
 14584  // GoString returns the string representation.
 14585  //
 14586  // API parameter values that are decorated as "sensitive" in the API will not
 14587  // be included in the string output. The member name will be present, but the
 14588  // value will be replaced with "sensitive".
 14589  func (s StartChildWorkflowExecutionInitiatedEventAttributes) GoString() string {
 14590  	return s.String()
 14591  }
 14592  
 14593  // SetChildPolicy sets the ChildPolicy field's value.
 14594  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetChildPolicy(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14595  	s.ChildPolicy = &v
 14596  	return s
 14597  }
 14598  
 14599  // SetControl sets the Control field's value.
 14600  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetControl(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14601  	s.Control = &v
 14602  	return s
 14603  }
 14604  
 14605  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 14606  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14607  	s.DecisionTaskCompletedEventId = &v
 14608  	return s
 14609  }
 14610  
 14611  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
 14612  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetExecutionStartToCloseTimeout(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14613  	s.ExecutionStartToCloseTimeout = &v
 14614  	return s
 14615  }
 14616  
 14617  // SetInput sets the Input field's value.
 14618  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetInput(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14619  	s.Input = &v
 14620  	return s
 14621  }
 14622  
 14623  // SetLambdaRole sets the LambdaRole field's value.
 14624  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetLambdaRole(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14625  	s.LambdaRole = &v
 14626  	return s
 14627  }
 14628  
 14629  // SetTagList sets the TagList field's value.
 14630  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTagList(v []*string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14631  	s.TagList = v
 14632  	return s
 14633  }
 14634  
 14635  // SetTaskList sets the TaskList field's value.
 14636  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTaskList(v *TaskList) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14637  	s.TaskList = v
 14638  	return s
 14639  }
 14640  
 14641  // SetTaskPriority sets the TaskPriority field's value.
 14642  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTaskPriority(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14643  	s.TaskPriority = &v
 14644  	return s
 14645  }
 14646  
 14647  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
 14648  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetTaskStartToCloseTimeout(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14649  	s.TaskStartToCloseTimeout = &v
 14650  	return s
 14651  }
 14652  
 14653  // SetWorkflowId sets the WorkflowId field's value.
 14654  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetWorkflowId(v string) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14655  	s.WorkflowId = &v
 14656  	return s
 14657  }
 14658  
 14659  // SetWorkflowType sets the WorkflowType field's value.
 14660  func (s *StartChildWorkflowExecutionInitiatedEventAttributes) SetWorkflowType(v *WorkflowType) *StartChildWorkflowExecutionInitiatedEventAttributes {
 14661  	s.WorkflowType = v
 14662  	return s
 14663  }
 14664  
 14665  // Provides the details of the StartLambdaFunctionFailed event. It isn't set
 14666  // for other event types.
 14667  type StartLambdaFunctionFailedEventAttributes struct {
 14668  	_ struct{} `type:"structure"`
 14669  
 14670  	// The cause of the failure. To help diagnose issues, use this information to
 14671  	// trace back the chain of events leading up to this event.
 14672  	//
 14673  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because the
 14674  	// IAM role attached to the execution lacked sufficient permissions. For details
 14675  	// and example IAM policies, see Lambda Tasks (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
 14676  	// in the Amazon SWF Developer Guide.
 14677  	Cause *string `locationName:"cause" type:"string" enum:"StartLambdaFunctionFailedCause"`
 14678  
 14679  	// A description that can help diagnose the cause of the fault.
 14680  	Message *string `locationName:"message" type:"string"`
 14681  
 14682  	// The ID of the ActivityTaskScheduled event that was recorded when this activity
 14683  	// task was scheduled. To help diagnose issues, use this information to trace
 14684  	// back the chain of events leading up to this event.
 14685  	ScheduledEventId *int64 `locationName:"scheduledEventId" type:"long"`
 14686  }
 14687  
 14688  // String returns the string representation.
 14689  //
 14690  // API parameter values that are decorated as "sensitive" in the API will not
 14691  // be included in the string output. The member name will be present, but the
 14692  // value will be replaced with "sensitive".
 14693  func (s StartLambdaFunctionFailedEventAttributes) String() string {
 14694  	return awsutil.Prettify(s)
 14695  }
 14696  
 14697  // GoString returns the string representation.
 14698  //
 14699  // API parameter values that are decorated as "sensitive" in the API will not
 14700  // be included in the string output. The member name will be present, but the
 14701  // value will be replaced with "sensitive".
 14702  func (s StartLambdaFunctionFailedEventAttributes) GoString() string {
 14703  	return s.String()
 14704  }
 14705  
 14706  // SetCause sets the Cause field's value.
 14707  func (s *StartLambdaFunctionFailedEventAttributes) SetCause(v string) *StartLambdaFunctionFailedEventAttributes {
 14708  	s.Cause = &v
 14709  	return s
 14710  }
 14711  
 14712  // SetMessage sets the Message field's value.
 14713  func (s *StartLambdaFunctionFailedEventAttributes) SetMessage(v string) *StartLambdaFunctionFailedEventAttributes {
 14714  	s.Message = &v
 14715  	return s
 14716  }
 14717  
 14718  // SetScheduledEventId sets the ScheduledEventId field's value.
 14719  func (s *StartLambdaFunctionFailedEventAttributes) SetScheduledEventId(v int64) *StartLambdaFunctionFailedEventAttributes {
 14720  	s.ScheduledEventId = &v
 14721  	return s
 14722  }
 14723  
 14724  // Provides the details of the StartTimer decision.
 14725  //
 14726  // Access Control
 14727  //
 14728  // You can use IAM policies to control this decision's access to Amazon SWF
 14729  // resources as follows:
 14730  //
 14731  //    * Use a Resource element with the domain name to limit the action to only
 14732  //    specified domains.
 14733  //
 14734  //    * Use an Action element to allow or deny permission to call this action.
 14735  //
 14736  //    * You cannot use an IAM policy to constrain this action's parameters.
 14737  //
 14738  // If the caller doesn't have sufficient permissions to invoke the action, or
 14739  // the parameter values fall outside the specified constraints, the action fails.
 14740  // The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED.
 14741  // For details and example IAM policies, see Using IAM to Manage Access to Amazon
 14742  // SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 14743  // in the Amazon SWF Developer Guide.
 14744  type StartTimerDecisionAttributes struct {
 14745  	_ struct{} `type:"structure"`
 14746  
 14747  	// The data attached to the event that can be used by the decider in subsequent
 14748  	// workflow tasks.
 14749  	Control *string `locationName:"control" type:"string"`
 14750  
 14751  	// The duration to wait before firing the timer.
 14752  	//
 14753  	// The duration is specified in seconds, an integer greater than or equal to
 14754  	// 0.
 14755  	//
 14756  	// StartToFireTimeout is a required field
 14757  	StartToFireTimeout *string `locationName:"startToFireTimeout" min:"1" type:"string" required:"true"`
 14758  
 14759  	// The unique ID of the timer.
 14760  	//
 14761  	// The specified string must not start or end with whitespace. It must not contain
 14762  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 14763  	// | \u007f-\u009f). Also, it must not contain the literal string arn.
 14764  	//
 14765  	// TimerId is a required field
 14766  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
 14767  }
 14768  
 14769  // String returns the string representation.
 14770  //
 14771  // API parameter values that are decorated as "sensitive" in the API will not
 14772  // be included in the string output. The member name will be present, but the
 14773  // value will be replaced with "sensitive".
 14774  func (s StartTimerDecisionAttributes) String() string {
 14775  	return awsutil.Prettify(s)
 14776  }
 14777  
 14778  // GoString returns the string representation.
 14779  //
 14780  // API parameter values that are decorated as "sensitive" in the API will not
 14781  // be included in the string output. The member name will be present, but the
 14782  // value will be replaced with "sensitive".
 14783  func (s StartTimerDecisionAttributes) GoString() string {
 14784  	return s.String()
 14785  }
 14786  
 14787  // Validate inspects the fields of the type to determine if they are valid.
 14788  func (s *StartTimerDecisionAttributes) Validate() error {
 14789  	invalidParams := request.ErrInvalidParams{Context: "StartTimerDecisionAttributes"}
 14790  	if s.StartToFireTimeout == nil {
 14791  		invalidParams.Add(request.NewErrParamRequired("StartToFireTimeout"))
 14792  	}
 14793  	if s.StartToFireTimeout != nil && len(*s.StartToFireTimeout) < 1 {
 14794  		invalidParams.Add(request.NewErrParamMinLen("StartToFireTimeout", 1))
 14795  	}
 14796  	if s.TimerId == nil {
 14797  		invalidParams.Add(request.NewErrParamRequired("TimerId"))
 14798  	}
 14799  	if s.TimerId != nil && len(*s.TimerId) < 1 {
 14800  		invalidParams.Add(request.NewErrParamMinLen("TimerId", 1))
 14801  	}
 14802  
 14803  	if invalidParams.Len() > 0 {
 14804  		return invalidParams
 14805  	}
 14806  	return nil
 14807  }
 14808  
 14809  // SetControl sets the Control field's value.
 14810  func (s *StartTimerDecisionAttributes) SetControl(v string) *StartTimerDecisionAttributes {
 14811  	s.Control = &v
 14812  	return s
 14813  }
 14814  
 14815  // SetStartToFireTimeout sets the StartToFireTimeout field's value.
 14816  func (s *StartTimerDecisionAttributes) SetStartToFireTimeout(v string) *StartTimerDecisionAttributes {
 14817  	s.StartToFireTimeout = &v
 14818  	return s
 14819  }
 14820  
 14821  // SetTimerId sets the TimerId field's value.
 14822  func (s *StartTimerDecisionAttributes) SetTimerId(v string) *StartTimerDecisionAttributes {
 14823  	s.TimerId = &v
 14824  	return s
 14825  }
 14826  
 14827  // Provides the details of the StartTimerFailed event.
 14828  type StartTimerFailedEventAttributes struct {
 14829  	_ struct{} `type:"structure"`
 14830  
 14831  	// The cause of the failure. This information is generated by the system and
 14832  	// can be useful for diagnostic purposes.
 14833  	//
 14834  	// If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it
 14835  	// lacked sufficient permissions. For details and example IAM policies, see
 14836  	// Using IAM to Manage Access to Amazon SWF Workflows (https://docs.aws.amazon.com/amazonswf/latest/developerguide/swf-dev-iam.html)
 14837  	// in the Amazon SWF Developer Guide.
 14838  	//
 14839  	// Cause is a required field
 14840  	Cause *string `locationName:"cause" type:"string" required:"true" enum:"StartTimerFailedCause"`
 14841  
 14842  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 14843  	// that resulted in the StartTimer decision for this activity task. This information
 14844  	// can be useful for diagnosing problems by tracing back the chain of events
 14845  	// leading up to this event.
 14846  	//
 14847  	// DecisionTaskCompletedEventId is a required field
 14848  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 14849  
 14850  	// The timerId provided in the StartTimer decision that failed.
 14851  	//
 14852  	// TimerId is a required field
 14853  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
 14854  }
 14855  
 14856  // String returns the string representation.
 14857  //
 14858  // API parameter values that are decorated as "sensitive" in the API will not
 14859  // be included in the string output. The member name will be present, but the
 14860  // value will be replaced with "sensitive".
 14861  func (s StartTimerFailedEventAttributes) String() string {
 14862  	return awsutil.Prettify(s)
 14863  }
 14864  
 14865  // GoString returns the string representation.
 14866  //
 14867  // API parameter values that are decorated as "sensitive" in the API will not
 14868  // be included in the string output. The member name will be present, but the
 14869  // value will be replaced with "sensitive".
 14870  func (s StartTimerFailedEventAttributes) GoString() string {
 14871  	return s.String()
 14872  }
 14873  
 14874  // SetCause sets the Cause field's value.
 14875  func (s *StartTimerFailedEventAttributes) SetCause(v string) *StartTimerFailedEventAttributes {
 14876  	s.Cause = &v
 14877  	return s
 14878  }
 14879  
 14880  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 14881  func (s *StartTimerFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *StartTimerFailedEventAttributes {
 14882  	s.DecisionTaskCompletedEventId = &v
 14883  	return s
 14884  }
 14885  
 14886  // SetTimerId sets the TimerId field's value.
 14887  func (s *StartTimerFailedEventAttributes) SetTimerId(v string) *StartTimerFailedEventAttributes {
 14888  	s.TimerId = &v
 14889  	return s
 14890  }
 14891  
 14892  type StartWorkflowExecutionInput struct {
 14893  	_ struct{} `type:"structure"`
 14894  
 14895  	// If set, specifies the policy to use for the child workflow executions of
 14896  	// this workflow execution if it is terminated, by calling the TerminateWorkflowExecution
 14897  	// action explicitly or due to an expired timeout. This policy overrides the
 14898  	// default child policy specified when registering the workflow type using RegisterWorkflowType.
 14899  	//
 14900  	// The supported child policies are:
 14901  	//
 14902  	//    * TERMINATE – The child executions are terminated.
 14903  	//
 14904  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 14905  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 14906  	//    It is up to the decider to take appropriate actions when it receives an
 14907  	//    execution history with this event.
 14908  	//
 14909  	//    * ABANDON – No action is taken. The child executions continue to run.
 14910  	//
 14911  	// A child policy for this workflow execution must be specified either as a
 14912  	// default for the workflow type or through this parameter. If neither this
 14913  	// parameter is set nor a default child policy was specified at registration
 14914  	// time then a fault is returned.
 14915  	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
 14916  
 14917  	// The name of the domain in which the workflow execution is created.
 14918  	//
 14919  	// Domain is a required field
 14920  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 14921  
 14922  	// The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout
 14923  	// specified when registering the workflow type.
 14924  	//
 14925  	// The duration is specified in seconds; an integer greater than or equal to
 14926  	// 0. Exceeding this limit causes the workflow execution to time out. Unlike
 14927  	// some of the other timeout parameters in Amazon SWF, you cannot specify a
 14928  	// value of "NONE" for this timeout; there is a one-year max limit on the time
 14929  	// that a workflow execution can run.
 14930  	//
 14931  	// An execution start-to-close timeout must be specified either through this
 14932  	// parameter or as a default when the workflow type is registered. If neither
 14933  	// this parameter nor a default execution start-to-close timeout is specified,
 14934  	// a fault is returned.
 14935  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
 14936  
 14937  	// The input for the workflow execution. This is a free form string which should
 14938  	// be meaningful to the workflow you are starting. This input is made available
 14939  	// to the new workflow execution in the WorkflowExecutionStarted history event.
 14940  	Input *string `locationName:"input" type:"string"`
 14941  
 14942  	// The IAM role to attach to this workflow execution.
 14943  	//
 14944  	// Executions of this workflow type need IAM roles to invoke Lambda functions.
 14945  	// If you don't attach an IAM role, any attempt to schedule a Lambda task fails.
 14946  	// This results in a ScheduleLambdaFunctionFailed history event. For more information,
 14947  	// see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
 14948  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
 14949  	// in the Amazon SWF Developer Guide.
 14950  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
 14951  
 14952  	// The list of tags to associate with the workflow execution. You can specify
 14953  	// a maximum of 5 tags. You can list workflow executions with a specific tag
 14954  	// by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and
 14955  	// specifying a TagFilter.
 14956  	TagList []*string `locationName:"tagList" type:"list"`
 14957  
 14958  	// The task list to use for the decision tasks generated for this workflow execution.
 14959  	// This overrides the defaultTaskList specified when registering the workflow
 14960  	// type.
 14961  	//
 14962  	// A task list for this workflow execution must be specified either as a default
 14963  	// for the workflow type or through this parameter. If neither this parameter
 14964  	// is set nor a default task list was specified at registration time then a
 14965  	// fault is returned.
 14966  	//
 14967  	// The specified string must not start or end with whitespace. It must not contain
 14968  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 14969  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 14970  	TaskList *TaskList `locationName:"taskList" type:"structure"`
 14971  
 14972  	// The task priority to use for this workflow execution. This overrides any
 14973  	// default priority that was assigned when the workflow type was registered.
 14974  	// If not set, then the default task priority for the workflow type is used.
 14975  	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
 14976  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
 14977  	//
 14978  	// For more information about setting task priority, see Setting Task Priority
 14979  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 14980  	// in the Amazon SWF Developer Guide.
 14981  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 14982  
 14983  	// Specifies the maximum duration of decision tasks for this workflow execution.
 14984  	// This parameter overrides the defaultTaskStartToCloseTimout specified when
 14985  	// registering the workflow type using RegisterWorkflowType.
 14986  	//
 14987  	// The duration is specified in seconds, an integer greater than or equal to
 14988  	// 0. You can use NONE to specify unlimited duration.
 14989  	//
 14990  	// A task start-to-close timeout for this workflow execution must be specified
 14991  	// either as a default for the workflow type or through this parameter. If neither
 14992  	// this parameter is set nor a default task start-to-close timeout was specified
 14993  	// at registration time then a fault is returned.
 14994  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
 14995  
 14996  	// The user defined identifier associated with the workflow execution. You can
 14997  	// use this to associate a custom identifier with the workflow execution. You
 14998  	// may specify the same identifier if a workflow execution is logically a restart
 14999  	// of a previous execution. You cannot have two open workflow executions with
 15000  	// the same workflowId at the same time within the same domain.
 15001  	//
 15002  	// The specified string must not start or end with whitespace. It must not contain
 15003  	// a : (colon), / (slash), | (vertical bar), or any control characters (\u0000-\u001f
 15004  	// | \u007f-\u009f). Also, it must not be the literal string arn.
 15005  	//
 15006  	// WorkflowId is a required field
 15007  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 15008  
 15009  	// The type of the workflow to start.
 15010  	//
 15011  	// WorkflowType is a required field
 15012  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 15013  }
 15014  
 15015  // String returns the string representation.
 15016  //
 15017  // API parameter values that are decorated as "sensitive" in the API will not
 15018  // be included in the string output. The member name will be present, but the
 15019  // value will be replaced with "sensitive".
 15020  func (s StartWorkflowExecutionInput) String() string {
 15021  	return awsutil.Prettify(s)
 15022  }
 15023  
 15024  // GoString returns the string representation.
 15025  //
 15026  // API parameter values that are decorated as "sensitive" in the API will not
 15027  // be included in the string output. The member name will be present, but the
 15028  // value will be replaced with "sensitive".
 15029  func (s StartWorkflowExecutionInput) GoString() string {
 15030  	return s.String()
 15031  }
 15032  
 15033  // Validate inspects the fields of the type to determine if they are valid.
 15034  func (s *StartWorkflowExecutionInput) Validate() error {
 15035  	invalidParams := request.ErrInvalidParams{Context: "StartWorkflowExecutionInput"}
 15036  	if s.Domain == nil {
 15037  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 15038  	}
 15039  	if s.Domain != nil && len(*s.Domain) < 1 {
 15040  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 15041  	}
 15042  	if s.LambdaRole != nil && len(*s.LambdaRole) < 1 {
 15043  		invalidParams.Add(request.NewErrParamMinLen("LambdaRole", 1))
 15044  	}
 15045  	if s.WorkflowId == nil {
 15046  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 15047  	}
 15048  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 15049  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 15050  	}
 15051  	if s.WorkflowType == nil {
 15052  		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
 15053  	}
 15054  	if s.TaskList != nil {
 15055  		if err := s.TaskList.Validate(); err != nil {
 15056  			invalidParams.AddNested("TaskList", err.(request.ErrInvalidParams))
 15057  		}
 15058  	}
 15059  	if s.WorkflowType != nil {
 15060  		if err := s.WorkflowType.Validate(); err != nil {
 15061  			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
 15062  		}
 15063  	}
 15064  
 15065  	if invalidParams.Len() > 0 {
 15066  		return invalidParams
 15067  	}
 15068  	return nil
 15069  }
 15070  
 15071  // SetChildPolicy sets the ChildPolicy field's value.
 15072  func (s *StartWorkflowExecutionInput) SetChildPolicy(v string) *StartWorkflowExecutionInput {
 15073  	s.ChildPolicy = &v
 15074  	return s
 15075  }
 15076  
 15077  // SetDomain sets the Domain field's value.
 15078  func (s *StartWorkflowExecutionInput) SetDomain(v string) *StartWorkflowExecutionInput {
 15079  	s.Domain = &v
 15080  	return s
 15081  }
 15082  
 15083  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
 15084  func (s *StartWorkflowExecutionInput) SetExecutionStartToCloseTimeout(v string) *StartWorkflowExecutionInput {
 15085  	s.ExecutionStartToCloseTimeout = &v
 15086  	return s
 15087  }
 15088  
 15089  // SetInput sets the Input field's value.
 15090  func (s *StartWorkflowExecutionInput) SetInput(v string) *StartWorkflowExecutionInput {
 15091  	s.Input = &v
 15092  	return s
 15093  }
 15094  
 15095  // SetLambdaRole sets the LambdaRole field's value.
 15096  func (s *StartWorkflowExecutionInput) SetLambdaRole(v string) *StartWorkflowExecutionInput {
 15097  	s.LambdaRole = &v
 15098  	return s
 15099  }
 15100  
 15101  // SetTagList sets the TagList field's value.
 15102  func (s *StartWorkflowExecutionInput) SetTagList(v []*string) *StartWorkflowExecutionInput {
 15103  	s.TagList = v
 15104  	return s
 15105  }
 15106  
 15107  // SetTaskList sets the TaskList field's value.
 15108  func (s *StartWorkflowExecutionInput) SetTaskList(v *TaskList) *StartWorkflowExecutionInput {
 15109  	s.TaskList = v
 15110  	return s
 15111  }
 15112  
 15113  // SetTaskPriority sets the TaskPriority field's value.
 15114  func (s *StartWorkflowExecutionInput) SetTaskPriority(v string) *StartWorkflowExecutionInput {
 15115  	s.TaskPriority = &v
 15116  	return s
 15117  }
 15118  
 15119  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
 15120  func (s *StartWorkflowExecutionInput) SetTaskStartToCloseTimeout(v string) *StartWorkflowExecutionInput {
 15121  	s.TaskStartToCloseTimeout = &v
 15122  	return s
 15123  }
 15124  
 15125  // SetWorkflowId sets the WorkflowId field's value.
 15126  func (s *StartWorkflowExecutionInput) SetWorkflowId(v string) *StartWorkflowExecutionInput {
 15127  	s.WorkflowId = &v
 15128  	return s
 15129  }
 15130  
 15131  // SetWorkflowType sets the WorkflowType field's value.
 15132  func (s *StartWorkflowExecutionInput) SetWorkflowType(v *WorkflowType) *StartWorkflowExecutionInput {
 15133  	s.WorkflowType = v
 15134  	return s
 15135  }
 15136  
 15137  // Specifies the runId of a workflow execution.
 15138  type StartWorkflowExecutionOutput struct {
 15139  	_ struct{} `type:"structure"`
 15140  
 15141  	// The runId of a workflow execution. This ID is generated by the service and
 15142  	// can be used to uniquely identify the workflow execution within a domain.
 15143  	RunId *string `locationName:"runId" min:"1" type:"string"`
 15144  }
 15145  
 15146  // String returns the string representation.
 15147  //
 15148  // API parameter values that are decorated as "sensitive" in the API will not
 15149  // be included in the string output. The member name will be present, but the
 15150  // value will be replaced with "sensitive".
 15151  func (s StartWorkflowExecutionOutput) String() string {
 15152  	return awsutil.Prettify(s)
 15153  }
 15154  
 15155  // GoString returns the string representation.
 15156  //
 15157  // API parameter values that are decorated as "sensitive" in the API will not
 15158  // be included in the string output. The member name will be present, but the
 15159  // value will be replaced with "sensitive".
 15160  func (s StartWorkflowExecutionOutput) GoString() string {
 15161  	return s.String()
 15162  }
 15163  
 15164  // SetRunId sets the RunId field's value.
 15165  func (s *StartWorkflowExecutionOutput) SetRunId(v string) *StartWorkflowExecutionOutput {
 15166  	s.RunId = &v
 15167  	return s
 15168  }
 15169  
 15170  // Used to filter the workflow executions in visibility APIs based on a tag.
 15171  type TagFilter struct {
 15172  	_ struct{} `type:"structure"`
 15173  
 15174  	// Specifies the tag that must be associated with the execution for it to meet
 15175  	// the filter criteria.
 15176  	//
 15177  	// Tags may only contain unicode letters, digits, whitespace, or these symbols:
 15178  	// _ . : / = + - @.
 15179  	//
 15180  	// Tag is a required field
 15181  	Tag *string `locationName:"tag" type:"string" required:"true"`
 15182  }
 15183  
 15184  // String returns the string representation.
 15185  //
 15186  // API parameter values that are decorated as "sensitive" in the API will not
 15187  // be included in the string output. The member name will be present, but the
 15188  // value will be replaced with "sensitive".
 15189  func (s TagFilter) String() string {
 15190  	return awsutil.Prettify(s)
 15191  }
 15192  
 15193  // GoString returns the string representation.
 15194  //
 15195  // API parameter values that are decorated as "sensitive" in the API will not
 15196  // be included in the string output. The member name will be present, but the
 15197  // value will be replaced with "sensitive".
 15198  func (s TagFilter) GoString() string {
 15199  	return s.String()
 15200  }
 15201  
 15202  // Validate inspects the fields of the type to determine if they are valid.
 15203  func (s *TagFilter) Validate() error {
 15204  	invalidParams := request.ErrInvalidParams{Context: "TagFilter"}
 15205  	if s.Tag == nil {
 15206  		invalidParams.Add(request.NewErrParamRequired("Tag"))
 15207  	}
 15208  
 15209  	if invalidParams.Len() > 0 {
 15210  		return invalidParams
 15211  	}
 15212  	return nil
 15213  }
 15214  
 15215  // SetTag sets the Tag field's value.
 15216  func (s *TagFilter) SetTag(v string) *TagFilter {
 15217  	s.Tag = &v
 15218  	return s
 15219  }
 15220  
 15221  type TagResourceInput struct {
 15222  	_ struct{} `type:"structure"`
 15223  
 15224  	// The Amazon Resource Name (ARN) for the Amazon SWF domain.
 15225  	//
 15226  	// ResourceArn is a required field
 15227  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 15228  
 15229  	// The list of tags to add to a domain.
 15230  	//
 15231  	// Tags may only contain unicode letters, digits, whitespace, or these symbols:
 15232  	// _ . : / = + - @.
 15233  	//
 15234  	// Tags is a required field
 15235  	Tags []*ResourceTag `locationName:"tags" type:"list" required:"true"`
 15236  }
 15237  
 15238  // String returns the string representation.
 15239  //
 15240  // API parameter values that are decorated as "sensitive" in the API will not
 15241  // be included in the string output. The member name will be present, but the
 15242  // value will be replaced with "sensitive".
 15243  func (s TagResourceInput) String() string {
 15244  	return awsutil.Prettify(s)
 15245  }
 15246  
 15247  // GoString returns the string representation.
 15248  //
 15249  // API parameter values that are decorated as "sensitive" in the API will not
 15250  // be included in the string output. The member name will be present, but the
 15251  // value will be replaced with "sensitive".
 15252  func (s TagResourceInput) GoString() string {
 15253  	return s.String()
 15254  }
 15255  
 15256  // Validate inspects the fields of the type to determine if they are valid.
 15257  func (s *TagResourceInput) Validate() error {
 15258  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 15259  	if s.ResourceArn == nil {
 15260  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 15261  	}
 15262  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 15263  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 15264  	}
 15265  	if s.Tags == nil {
 15266  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 15267  	}
 15268  	if s.Tags != nil {
 15269  		for i, v := range s.Tags {
 15270  			if v == nil {
 15271  				continue
 15272  			}
 15273  			if err := v.Validate(); err != nil {
 15274  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 15275  			}
 15276  		}
 15277  	}
 15278  
 15279  	if invalidParams.Len() > 0 {
 15280  		return invalidParams
 15281  	}
 15282  	return nil
 15283  }
 15284  
 15285  // SetResourceArn sets the ResourceArn field's value.
 15286  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 15287  	s.ResourceArn = &v
 15288  	return s
 15289  }
 15290  
 15291  // SetTags sets the Tags field's value.
 15292  func (s *TagResourceInput) SetTags(v []*ResourceTag) *TagResourceInput {
 15293  	s.Tags = v
 15294  	return s
 15295  }
 15296  
 15297  type TagResourceOutput struct {
 15298  	_ struct{} `type:"structure"`
 15299  }
 15300  
 15301  // String returns the string representation.
 15302  //
 15303  // API parameter values that are decorated as "sensitive" in the API will not
 15304  // be included in the string output. The member name will be present, but the
 15305  // value will be replaced with "sensitive".
 15306  func (s TagResourceOutput) String() string {
 15307  	return awsutil.Prettify(s)
 15308  }
 15309  
 15310  // GoString returns the string representation.
 15311  //
 15312  // API parameter values that are decorated as "sensitive" in the API will not
 15313  // be included in the string output. The member name will be present, but the
 15314  // value will be replaced with "sensitive".
 15315  func (s TagResourceOutput) GoString() string {
 15316  	return s.String()
 15317  }
 15318  
 15319  // Represents a task list.
 15320  type TaskList struct {
 15321  	_ struct{} `type:"structure"`
 15322  
 15323  	// The name of the task list.
 15324  	//
 15325  	// Name is a required field
 15326  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 15327  }
 15328  
 15329  // String returns the string representation.
 15330  //
 15331  // API parameter values that are decorated as "sensitive" in the API will not
 15332  // be included in the string output. The member name will be present, but the
 15333  // value will be replaced with "sensitive".
 15334  func (s TaskList) String() string {
 15335  	return awsutil.Prettify(s)
 15336  }
 15337  
 15338  // GoString returns the string representation.
 15339  //
 15340  // API parameter values that are decorated as "sensitive" in the API will not
 15341  // be included in the string output. The member name will be present, but the
 15342  // value will be replaced with "sensitive".
 15343  func (s TaskList) GoString() string {
 15344  	return s.String()
 15345  }
 15346  
 15347  // Validate inspects the fields of the type to determine if they are valid.
 15348  func (s *TaskList) Validate() error {
 15349  	invalidParams := request.ErrInvalidParams{Context: "TaskList"}
 15350  	if s.Name == nil {
 15351  		invalidParams.Add(request.NewErrParamRequired("Name"))
 15352  	}
 15353  	if s.Name != nil && len(*s.Name) < 1 {
 15354  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15355  	}
 15356  
 15357  	if invalidParams.Len() > 0 {
 15358  		return invalidParams
 15359  	}
 15360  	return nil
 15361  }
 15362  
 15363  // SetName sets the Name field's value.
 15364  func (s *TaskList) SetName(v string) *TaskList {
 15365  	s.Name = &v
 15366  	return s
 15367  }
 15368  
 15369  type TerminateWorkflowExecutionInput struct {
 15370  	_ struct{} `type:"structure"`
 15371  
 15372  	// If set, specifies the policy to use for the child workflow executions of
 15373  	// the workflow execution being terminated. This policy overrides the child
 15374  	// policy specified for the workflow execution at registration time or when
 15375  	// starting the execution.
 15376  	//
 15377  	// The supported child policies are:
 15378  	//
 15379  	//    * TERMINATE – The child executions are terminated.
 15380  	//
 15381  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 15382  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 15383  	//    It is up to the decider to take appropriate actions when it receives an
 15384  	//    execution history with this event.
 15385  	//
 15386  	//    * ABANDON – No action is taken. The child executions continue to run.
 15387  	//
 15388  	// A child policy for this workflow execution must be specified either as a
 15389  	// default for the workflow type or through this parameter. If neither this
 15390  	// parameter is set nor a default child policy was specified at registration
 15391  	// time then a fault is returned.
 15392  	ChildPolicy *string `locationName:"childPolicy" type:"string" enum:"ChildPolicy"`
 15393  
 15394  	// Details for terminating the workflow execution.
 15395  	Details *string `locationName:"details" type:"string"`
 15396  
 15397  	// The domain of the workflow execution to terminate.
 15398  	//
 15399  	// Domain is a required field
 15400  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 15401  
 15402  	// A descriptive reason for terminating the workflow execution.
 15403  	Reason *string `locationName:"reason" type:"string"`
 15404  
 15405  	// The runId of the workflow execution to terminate.
 15406  	RunId *string `locationName:"runId" type:"string"`
 15407  
 15408  	// The workflowId of the workflow execution to terminate.
 15409  	//
 15410  	// WorkflowId is a required field
 15411  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 15412  }
 15413  
 15414  // String returns the string representation.
 15415  //
 15416  // API parameter values that are decorated as "sensitive" in the API will not
 15417  // be included in the string output. The member name will be present, but the
 15418  // value will be replaced with "sensitive".
 15419  func (s TerminateWorkflowExecutionInput) String() string {
 15420  	return awsutil.Prettify(s)
 15421  }
 15422  
 15423  // GoString returns the string representation.
 15424  //
 15425  // API parameter values that are decorated as "sensitive" in the API will not
 15426  // be included in the string output. The member name will be present, but the
 15427  // value will be replaced with "sensitive".
 15428  func (s TerminateWorkflowExecutionInput) GoString() string {
 15429  	return s.String()
 15430  }
 15431  
 15432  // Validate inspects the fields of the type to determine if they are valid.
 15433  func (s *TerminateWorkflowExecutionInput) Validate() error {
 15434  	invalidParams := request.ErrInvalidParams{Context: "TerminateWorkflowExecutionInput"}
 15435  	if s.Domain == nil {
 15436  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 15437  	}
 15438  	if s.Domain != nil && len(*s.Domain) < 1 {
 15439  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 15440  	}
 15441  	if s.WorkflowId == nil {
 15442  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 15443  	}
 15444  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 15445  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 15446  	}
 15447  
 15448  	if invalidParams.Len() > 0 {
 15449  		return invalidParams
 15450  	}
 15451  	return nil
 15452  }
 15453  
 15454  // SetChildPolicy sets the ChildPolicy field's value.
 15455  func (s *TerminateWorkflowExecutionInput) SetChildPolicy(v string) *TerminateWorkflowExecutionInput {
 15456  	s.ChildPolicy = &v
 15457  	return s
 15458  }
 15459  
 15460  // SetDetails sets the Details field's value.
 15461  func (s *TerminateWorkflowExecutionInput) SetDetails(v string) *TerminateWorkflowExecutionInput {
 15462  	s.Details = &v
 15463  	return s
 15464  }
 15465  
 15466  // SetDomain sets the Domain field's value.
 15467  func (s *TerminateWorkflowExecutionInput) SetDomain(v string) *TerminateWorkflowExecutionInput {
 15468  	s.Domain = &v
 15469  	return s
 15470  }
 15471  
 15472  // SetReason sets the Reason field's value.
 15473  func (s *TerminateWorkflowExecutionInput) SetReason(v string) *TerminateWorkflowExecutionInput {
 15474  	s.Reason = &v
 15475  	return s
 15476  }
 15477  
 15478  // SetRunId sets the RunId field's value.
 15479  func (s *TerminateWorkflowExecutionInput) SetRunId(v string) *TerminateWorkflowExecutionInput {
 15480  	s.RunId = &v
 15481  	return s
 15482  }
 15483  
 15484  // SetWorkflowId sets the WorkflowId field's value.
 15485  func (s *TerminateWorkflowExecutionInput) SetWorkflowId(v string) *TerminateWorkflowExecutionInput {
 15486  	s.WorkflowId = &v
 15487  	return s
 15488  }
 15489  
 15490  type TerminateWorkflowExecutionOutput struct {
 15491  	_ struct{} `type:"structure"`
 15492  }
 15493  
 15494  // String returns the string representation.
 15495  //
 15496  // API parameter values that are decorated as "sensitive" in the API will not
 15497  // be included in the string output. The member name will be present, but the
 15498  // value will be replaced with "sensitive".
 15499  func (s TerminateWorkflowExecutionOutput) String() string {
 15500  	return awsutil.Prettify(s)
 15501  }
 15502  
 15503  // GoString returns the string representation.
 15504  //
 15505  // API parameter values that are decorated as "sensitive" in the API will not
 15506  // be included in the string output. The member name will be present, but the
 15507  // value will be replaced with "sensitive".
 15508  func (s TerminateWorkflowExecutionOutput) GoString() string {
 15509  	return s.String()
 15510  }
 15511  
 15512  // Provides the details of the TimerCanceled event.
 15513  type TimerCanceledEventAttributes struct {
 15514  	_ struct{} `type:"structure"`
 15515  
 15516  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 15517  	// that resulted in the CancelTimer decision to cancel this timer. This information
 15518  	// can be useful for diagnosing problems by tracing back the chain of events
 15519  	// leading up to this event.
 15520  	//
 15521  	// DecisionTaskCompletedEventId is a required field
 15522  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 15523  
 15524  	// The ID of the TimerStarted event that was recorded when this timer was started.
 15525  	// This information can be useful for diagnosing problems by tracing back the
 15526  	// chain of events leading up to this event.
 15527  	//
 15528  	// StartedEventId is a required field
 15529  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
 15530  
 15531  	// The unique ID of the timer that was canceled.
 15532  	//
 15533  	// TimerId is a required field
 15534  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
 15535  }
 15536  
 15537  // String returns the string representation.
 15538  //
 15539  // API parameter values that are decorated as "sensitive" in the API will not
 15540  // be included in the string output. The member name will be present, but the
 15541  // value will be replaced with "sensitive".
 15542  func (s TimerCanceledEventAttributes) String() string {
 15543  	return awsutil.Prettify(s)
 15544  }
 15545  
 15546  // GoString returns the string representation.
 15547  //
 15548  // API parameter values that are decorated as "sensitive" in the API will not
 15549  // be included in the string output. The member name will be present, but the
 15550  // value will be replaced with "sensitive".
 15551  func (s TimerCanceledEventAttributes) GoString() string {
 15552  	return s.String()
 15553  }
 15554  
 15555  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 15556  func (s *TimerCanceledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *TimerCanceledEventAttributes {
 15557  	s.DecisionTaskCompletedEventId = &v
 15558  	return s
 15559  }
 15560  
 15561  // SetStartedEventId sets the StartedEventId field's value.
 15562  func (s *TimerCanceledEventAttributes) SetStartedEventId(v int64) *TimerCanceledEventAttributes {
 15563  	s.StartedEventId = &v
 15564  	return s
 15565  }
 15566  
 15567  // SetTimerId sets the TimerId field's value.
 15568  func (s *TimerCanceledEventAttributes) SetTimerId(v string) *TimerCanceledEventAttributes {
 15569  	s.TimerId = &v
 15570  	return s
 15571  }
 15572  
 15573  // Provides the details of the TimerFired event.
 15574  type TimerFiredEventAttributes struct {
 15575  	_ struct{} `type:"structure"`
 15576  
 15577  	// The ID of the TimerStarted event that was recorded when this timer was started.
 15578  	// This information can be useful for diagnosing problems by tracing back the
 15579  	// chain of events leading up to this event.
 15580  	//
 15581  	// StartedEventId is a required field
 15582  	StartedEventId *int64 `locationName:"startedEventId" type:"long" required:"true"`
 15583  
 15584  	// The unique ID of the timer that fired.
 15585  	//
 15586  	// TimerId is a required field
 15587  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
 15588  }
 15589  
 15590  // String returns the string representation.
 15591  //
 15592  // API parameter values that are decorated as "sensitive" in the API will not
 15593  // be included in the string output. The member name will be present, but the
 15594  // value will be replaced with "sensitive".
 15595  func (s TimerFiredEventAttributes) String() string {
 15596  	return awsutil.Prettify(s)
 15597  }
 15598  
 15599  // GoString returns the string representation.
 15600  //
 15601  // API parameter values that are decorated as "sensitive" in the API will not
 15602  // be included in the string output. The member name will be present, but the
 15603  // value will be replaced with "sensitive".
 15604  func (s TimerFiredEventAttributes) GoString() string {
 15605  	return s.String()
 15606  }
 15607  
 15608  // SetStartedEventId sets the StartedEventId field's value.
 15609  func (s *TimerFiredEventAttributes) SetStartedEventId(v int64) *TimerFiredEventAttributes {
 15610  	s.StartedEventId = &v
 15611  	return s
 15612  }
 15613  
 15614  // SetTimerId sets the TimerId field's value.
 15615  func (s *TimerFiredEventAttributes) SetTimerId(v string) *TimerFiredEventAttributes {
 15616  	s.TimerId = &v
 15617  	return s
 15618  }
 15619  
 15620  // Provides the details of the TimerStarted event.
 15621  type TimerStartedEventAttributes struct {
 15622  	_ struct{} `type:"structure"`
 15623  
 15624  	// Data attached to the event that can be used by the decider in subsequent
 15625  	// workflow tasks.
 15626  	Control *string `locationName:"control" type:"string"`
 15627  
 15628  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 15629  	// that resulted in the StartTimer decision for this activity task. This information
 15630  	// can be useful for diagnosing problems by tracing back the chain of events
 15631  	// leading up to this event.
 15632  	//
 15633  	// DecisionTaskCompletedEventId is a required field
 15634  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 15635  
 15636  	// The duration of time after which the timer fires.
 15637  	//
 15638  	// The duration is specified in seconds, an integer greater than or equal to
 15639  	// 0.
 15640  	//
 15641  	// StartToFireTimeout is a required field
 15642  	StartToFireTimeout *string `locationName:"startToFireTimeout" min:"1" type:"string" required:"true"`
 15643  
 15644  	// The unique ID of the timer that was started.
 15645  	//
 15646  	// TimerId is a required field
 15647  	TimerId *string `locationName:"timerId" min:"1" type:"string" required:"true"`
 15648  }
 15649  
 15650  // String returns the string representation.
 15651  //
 15652  // API parameter values that are decorated as "sensitive" in the API will not
 15653  // be included in the string output. The member name will be present, but the
 15654  // value will be replaced with "sensitive".
 15655  func (s TimerStartedEventAttributes) String() string {
 15656  	return awsutil.Prettify(s)
 15657  }
 15658  
 15659  // GoString returns the string representation.
 15660  //
 15661  // API parameter values that are decorated as "sensitive" in the API will not
 15662  // be included in the string output. The member name will be present, but the
 15663  // value will be replaced with "sensitive".
 15664  func (s TimerStartedEventAttributes) GoString() string {
 15665  	return s.String()
 15666  }
 15667  
 15668  // SetControl sets the Control field's value.
 15669  func (s *TimerStartedEventAttributes) SetControl(v string) *TimerStartedEventAttributes {
 15670  	s.Control = &v
 15671  	return s
 15672  }
 15673  
 15674  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 15675  func (s *TimerStartedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *TimerStartedEventAttributes {
 15676  	s.DecisionTaskCompletedEventId = &v
 15677  	return s
 15678  }
 15679  
 15680  // SetStartToFireTimeout sets the StartToFireTimeout field's value.
 15681  func (s *TimerStartedEventAttributes) SetStartToFireTimeout(v string) *TimerStartedEventAttributes {
 15682  	s.StartToFireTimeout = &v
 15683  	return s
 15684  }
 15685  
 15686  // SetTimerId sets the TimerId field's value.
 15687  func (s *TimerStartedEventAttributes) SetTimerId(v string) *TimerStartedEventAttributes {
 15688  	s.TimerId = &v
 15689  	return s
 15690  }
 15691  
 15692  // You've exceeded the number of tags allowed for a domain.
 15693  type TooManyTagsFault struct {
 15694  	_            struct{}                  `type:"structure"`
 15695  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15696  
 15697  	Message_ *string `locationName:"message" type:"string"`
 15698  }
 15699  
 15700  // String returns the string representation.
 15701  //
 15702  // API parameter values that are decorated as "sensitive" in the API will not
 15703  // be included in the string output. The member name will be present, but the
 15704  // value will be replaced with "sensitive".
 15705  func (s TooManyTagsFault) String() string {
 15706  	return awsutil.Prettify(s)
 15707  }
 15708  
 15709  // GoString returns the string representation.
 15710  //
 15711  // API parameter values that are decorated as "sensitive" in the API will not
 15712  // be included in the string output. The member name will be present, but the
 15713  // value will be replaced with "sensitive".
 15714  func (s TooManyTagsFault) GoString() string {
 15715  	return s.String()
 15716  }
 15717  
 15718  func newErrorTooManyTagsFault(v protocol.ResponseMetadata) error {
 15719  	return &TooManyTagsFault{
 15720  		RespMetadata: v,
 15721  	}
 15722  }
 15723  
 15724  // Code returns the exception type name.
 15725  func (s *TooManyTagsFault) Code() string {
 15726  	return "TooManyTagsFault"
 15727  }
 15728  
 15729  // Message returns the exception's message.
 15730  func (s *TooManyTagsFault) Message() string {
 15731  	if s.Message_ != nil {
 15732  		return *s.Message_
 15733  	}
 15734  	return ""
 15735  }
 15736  
 15737  // OrigErr always returns nil, satisfies awserr.Error interface.
 15738  func (s *TooManyTagsFault) OrigErr() error {
 15739  	return nil
 15740  }
 15741  
 15742  func (s *TooManyTagsFault) Error() string {
 15743  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15744  }
 15745  
 15746  // Status code returns the HTTP status code for the request's response error.
 15747  func (s *TooManyTagsFault) StatusCode() int {
 15748  	return s.RespMetadata.StatusCode
 15749  }
 15750  
 15751  // RequestID returns the service's response RequestID for request.
 15752  func (s *TooManyTagsFault) RequestID() string {
 15753  	return s.RespMetadata.RequestID
 15754  }
 15755  
 15756  // Returned if the type already exists in the specified domain. You may get
 15757  // this fault if you are registering a type that is either already registered
 15758  // or deprecated, or if you undeprecate a type that is currently registered.
 15759  type TypeAlreadyExistsFault struct {
 15760  	_            struct{}                  `type:"structure"`
 15761  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15762  
 15763  	// A description that may help with diagnosing the cause of the fault.
 15764  	Message_ *string `locationName:"message" type:"string"`
 15765  }
 15766  
 15767  // String returns the string representation.
 15768  //
 15769  // API parameter values that are decorated as "sensitive" in the API will not
 15770  // be included in the string output. The member name will be present, but the
 15771  // value will be replaced with "sensitive".
 15772  func (s TypeAlreadyExistsFault) String() string {
 15773  	return awsutil.Prettify(s)
 15774  }
 15775  
 15776  // GoString returns the string representation.
 15777  //
 15778  // API parameter values that are decorated as "sensitive" in the API will not
 15779  // be included in the string output. The member name will be present, but the
 15780  // value will be replaced with "sensitive".
 15781  func (s TypeAlreadyExistsFault) GoString() string {
 15782  	return s.String()
 15783  }
 15784  
 15785  func newErrorTypeAlreadyExistsFault(v protocol.ResponseMetadata) error {
 15786  	return &TypeAlreadyExistsFault{
 15787  		RespMetadata: v,
 15788  	}
 15789  }
 15790  
 15791  // Code returns the exception type name.
 15792  func (s *TypeAlreadyExistsFault) Code() string {
 15793  	return "TypeAlreadyExistsFault"
 15794  }
 15795  
 15796  // Message returns the exception's message.
 15797  func (s *TypeAlreadyExistsFault) Message() string {
 15798  	if s.Message_ != nil {
 15799  		return *s.Message_
 15800  	}
 15801  	return ""
 15802  }
 15803  
 15804  // OrigErr always returns nil, satisfies awserr.Error interface.
 15805  func (s *TypeAlreadyExistsFault) OrigErr() error {
 15806  	return nil
 15807  }
 15808  
 15809  func (s *TypeAlreadyExistsFault) Error() string {
 15810  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15811  }
 15812  
 15813  // Status code returns the HTTP status code for the request's response error.
 15814  func (s *TypeAlreadyExistsFault) StatusCode() int {
 15815  	return s.RespMetadata.StatusCode
 15816  }
 15817  
 15818  // RequestID returns the service's response RequestID for request.
 15819  func (s *TypeAlreadyExistsFault) RequestID() string {
 15820  	return s.RespMetadata.RequestID
 15821  }
 15822  
 15823  // Returned when the specified activity or workflow type was already deprecated.
 15824  type TypeDeprecatedFault struct {
 15825  	_            struct{}                  `type:"structure"`
 15826  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15827  
 15828  	// A description that may help with diagnosing the cause of the fault.
 15829  	Message_ *string `locationName:"message" type:"string"`
 15830  }
 15831  
 15832  // String returns the string representation.
 15833  //
 15834  // API parameter values that are decorated as "sensitive" in the API will not
 15835  // be included in the string output. The member name will be present, but the
 15836  // value will be replaced with "sensitive".
 15837  func (s TypeDeprecatedFault) String() string {
 15838  	return awsutil.Prettify(s)
 15839  }
 15840  
 15841  // GoString returns the string representation.
 15842  //
 15843  // API parameter values that are decorated as "sensitive" in the API will not
 15844  // be included in the string output. The member name will be present, but the
 15845  // value will be replaced with "sensitive".
 15846  func (s TypeDeprecatedFault) GoString() string {
 15847  	return s.String()
 15848  }
 15849  
 15850  func newErrorTypeDeprecatedFault(v protocol.ResponseMetadata) error {
 15851  	return &TypeDeprecatedFault{
 15852  		RespMetadata: v,
 15853  	}
 15854  }
 15855  
 15856  // Code returns the exception type name.
 15857  func (s *TypeDeprecatedFault) Code() string {
 15858  	return "TypeDeprecatedFault"
 15859  }
 15860  
 15861  // Message returns the exception's message.
 15862  func (s *TypeDeprecatedFault) Message() string {
 15863  	if s.Message_ != nil {
 15864  		return *s.Message_
 15865  	}
 15866  	return ""
 15867  }
 15868  
 15869  // OrigErr always returns nil, satisfies awserr.Error interface.
 15870  func (s *TypeDeprecatedFault) OrigErr() error {
 15871  	return nil
 15872  }
 15873  
 15874  func (s *TypeDeprecatedFault) Error() string {
 15875  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15876  }
 15877  
 15878  // Status code returns the HTTP status code for the request's response error.
 15879  func (s *TypeDeprecatedFault) StatusCode() int {
 15880  	return s.RespMetadata.StatusCode
 15881  }
 15882  
 15883  // RequestID returns the service's response RequestID for request.
 15884  func (s *TypeDeprecatedFault) RequestID() string {
 15885  	return s.RespMetadata.RequestID
 15886  }
 15887  
 15888  type UndeprecateActivityTypeInput struct {
 15889  	_ struct{} `type:"structure"`
 15890  
 15891  	// The activity type to undeprecate.
 15892  	//
 15893  	// ActivityType is a required field
 15894  	ActivityType *ActivityType `locationName:"activityType" type:"structure" required:"true"`
 15895  
 15896  	// The name of the domain of the deprecated activity type.
 15897  	//
 15898  	// Domain is a required field
 15899  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 15900  }
 15901  
 15902  // String returns the string representation.
 15903  //
 15904  // API parameter values that are decorated as "sensitive" in the API will not
 15905  // be included in the string output. The member name will be present, but the
 15906  // value will be replaced with "sensitive".
 15907  func (s UndeprecateActivityTypeInput) String() string {
 15908  	return awsutil.Prettify(s)
 15909  }
 15910  
 15911  // GoString returns the string representation.
 15912  //
 15913  // API parameter values that are decorated as "sensitive" in the API will not
 15914  // be included in the string output. The member name will be present, but the
 15915  // value will be replaced with "sensitive".
 15916  func (s UndeprecateActivityTypeInput) GoString() string {
 15917  	return s.String()
 15918  }
 15919  
 15920  // Validate inspects the fields of the type to determine if they are valid.
 15921  func (s *UndeprecateActivityTypeInput) Validate() error {
 15922  	invalidParams := request.ErrInvalidParams{Context: "UndeprecateActivityTypeInput"}
 15923  	if s.ActivityType == nil {
 15924  		invalidParams.Add(request.NewErrParamRequired("ActivityType"))
 15925  	}
 15926  	if s.Domain == nil {
 15927  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 15928  	}
 15929  	if s.Domain != nil && len(*s.Domain) < 1 {
 15930  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 15931  	}
 15932  	if s.ActivityType != nil {
 15933  		if err := s.ActivityType.Validate(); err != nil {
 15934  			invalidParams.AddNested("ActivityType", err.(request.ErrInvalidParams))
 15935  		}
 15936  	}
 15937  
 15938  	if invalidParams.Len() > 0 {
 15939  		return invalidParams
 15940  	}
 15941  	return nil
 15942  }
 15943  
 15944  // SetActivityType sets the ActivityType field's value.
 15945  func (s *UndeprecateActivityTypeInput) SetActivityType(v *ActivityType) *UndeprecateActivityTypeInput {
 15946  	s.ActivityType = v
 15947  	return s
 15948  }
 15949  
 15950  // SetDomain sets the Domain field's value.
 15951  func (s *UndeprecateActivityTypeInput) SetDomain(v string) *UndeprecateActivityTypeInput {
 15952  	s.Domain = &v
 15953  	return s
 15954  }
 15955  
 15956  type UndeprecateActivityTypeOutput struct {
 15957  	_ struct{} `type:"structure"`
 15958  }
 15959  
 15960  // String returns the string representation.
 15961  //
 15962  // API parameter values that are decorated as "sensitive" in the API will not
 15963  // be included in the string output. The member name will be present, but the
 15964  // value will be replaced with "sensitive".
 15965  func (s UndeprecateActivityTypeOutput) String() string {
 15966  	return awsutil.Prettify(s)
 15967  }
 15968  
 15969  // GoString returns the string representation.
 15970  //
 15971  // API parameter values that are decorated as "sensitive" in the API will not
 15972  // be included in the string output. The member name will be present, but the
 15973  // value will be replaced with "sensitive".
 15974  func (s UndeprecateActivityTypeOutput) GoString() string {
 15975  	return s.String()
 15976  }
 15977  
 15978  type UndeprecateDomainInput struct {
 15979  	_ struct{} `type:"structure"`
 15980  
 15981  	// The name of the domain of the deprecated workflow type.
 15982  	//
 15983  	// Name is a required field
 15984  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 15985  }
 15986  
 15987  // String returns the string representation.
 15988  //
 15989  // API parameter values that are decorated as "sensitive" in the API will not
 15990  // be included in the string output. The member name will be present, but the
 15991  // value will be replaced with "sensitive".
 15992  func (s UndeprecateDomainInput) String() string {
 15993  	return awsutil.Prettify(s)
 15994  }
 15995  
 15996  // GoString returns the string representation.
 15997  //
 15998  // API parameter values that are decorated as "sensitive" in the API will not
 15999  // be included in the string output. The member name will be present, but the
 16000  // value will be replaced with "sensitive".
 16001  func (s UndeprecateDomainInput) GoString() string {
 16002  	return s.String()
 16003  }
 16004  
 16005  // Validate inspects the fields of the type to determine if they are valid.
 16006  func (s *UndeprecateDomainInput) Validate() error {
 16007  	invalidParams := request.ErrInvalidParams{Context: "UndeprecateDomainInput"}
 16008  	if s.Name == nil {
 16009  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16010  	}
 16011  	if s.Name != nil && len(*s.Name) < 1 {
 16012  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 16013  	}
 16014  
 16015  	if invalidParams.Len() > 0 {
 16016  		return invalidParams
 16017  	}
 16018  	return nil
 16019  }
 16020  
 16021  // SetName sets the Name field's value.
 16022  func (s *UndeprecateDomainInput) SetName(v string) *UndeprecateDomainInput {
 16023  	s.Name = &v
 16024  	return s
 16025  }
 16026  
 16027  type UndeprecateDomainOutput struct {
 16028  	_ struct{} `type:"structure"`
 16029  }
 16030  
 16031  // String returns the string representation.
 16032  //
 16033  // API parameter values that are decorated as "sensitive" in the API will not
 16034  // be included in the string output. The member name will be present, but the
 16035  // value will be replaced with "sensitive".
 16036  func (s UndeprecateDomainOutput) String() string {
 16037  	return awsutil.Prettify(s)
 16038  }
 16039  
 16040  // GoString returns the string representation.
 16041  //
 16042  // API parameter values that are decorated as "sensitive" in the API will not
 16043  // be included in the string output. The member name will be present, but the
 16044  // value will be replaced with "sensitive".
 16045  func (s UndeprecateDomainOutput) GoString() string {
 16046  	return s.String()
 16047  }
 16048  
 16049  type UndeprecateWorkflowTypeInput struct {
 16050  	_ struct{} `type:"structure"`
 16051  
 16052  	// The name of the domain of the deprecated workflow type.
 16053  	//
 16054  	// Domain is a required field
 16055  	Domain *string `locationName:"domain" min:"1" type:"string" required:"true"`
 16056  
 16057  	// The name of the domain of the deprecated workflow type.
 16058  	//
 16059  	// WorkflowType is a required field
 16060  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 16061  }
 16062  
 16063  // String returns the string representation.
 16064  //
 16065  // API parameter values that are decorated as "sensitive" in the API will not
 16066  // be included in the string output. The member name will be present, but the
 16067  // value will be replaced with "sensitive".
 16068  func (s UndeprecateWorkflowTypeInput) String() string {
 16069  	return awsutil.Prettify(s)
 16070  }
 16071  
 16072  // GoString returns the string representation.
 16073  //
 16074  // API parameter values that are decorated as "sensitive" in the API will not
 16075  // be included in the string output. The member name will be present, but the
 16076  // value will be replaced with "sensitive".
 16077  func (s UndeprecateWorkflowTypeInput) GoString() string {
 16078  	return s.String()
 16079  }
 16080  
 16081  // Validate inspects the fields of the type to determine if they are valid.
 16082  func (s *UndeprecateWorkflowTypeInput) Validate() error {
 16083  	invalidParams := request.ErrInvalidParams{Context: "UndeprecateWorkflowTypeInput"}
 16084  	if s.Domain == nil {
 16085  		invalidParams.Add(request.NewErrParamRequired("Domain"))
 16086  	}
 16087  	if s.Domain != nil && len(*s.Domain) < 1 {
 16088  		invalidParams.Add(request.NewErrParamMinLen("Domain", 1))
 16089  	}
 16090  	if s.WorkflowType == nil {
 16091  		invalidParams.Add(request.NewErrParamRequired("WorkflowType"))
 16092  	}
 16093  	if s.WorkflowType != nil {
 16094  		if err := s.WorkflowType.Validate(); err != nil {
 16095  			invalidParams.AddNested("WorkflowType", err.(request.ErrInvalidParams))
 16096  		}
 16097  	}
 16098  
 16099  	if invalidParams.Len() > 0 {
 16100  		return invalidParams
 16101  	}
 16102  	return nil
 16103  }
 16104  
 16105  // SetDomain sets the Domain field's value.
 16106  func (s *UndeprecateWorkflowTypeInput) SetDomain(v string) *UndeprecateWorkflowTypeInput {
 16107  	s.Domain = &v
 16108  	return s
 16109  }
 16110  
 16111  // SetWorkflowType sets the WorkflowType field's value.
 16112  func (s *UndeprecateWorkflowTypeInput) SetWorkflowType(v *WorkflowType) *UndeprecateWorkflowTypeInput {
 16113  	s.WorkflowType = v
 16114  	return s
 16115  }
 16116  
 16117  type UndeprecateWorkflowTypeOutput struct {
 16118  	_ struct{} `type:"structure"`
 16119  }
 16120  
 16121  // String returns the string representation.
 16122  //
 16123  // API parameter values that are decorated as "sensitive" in the API will not
 16124  // be included in the string output. The member name will be present, but the
 16125  // value will be replaced with "sensitive".
 16126  func (s UndeprecateWorkflowTypeOutput) String() string {
 16127  	return awsutil.Prettify(s)
 16128  }
 16129  
 16130  // GoString returns the string representation.
 16131  //
 16132  // API parameter values that are decorated as "sensitive" in the API will not
 16133  // be included in the string output. The member name will be present, but the
 16134  // value will be replaced with "sensitive".
 16135  func (s UndeprecateWorkflowTypeOutput) GoString() string {
 16136  	return s.String()
 16137  }
 16138  
 16139  // Returned when the named resource cannot be found with in the scope of this
 16140  // operation (region or domain). This could happen if the named resource was
 16141  // never created or is no longer available for this operation.
 16142  type UnknownResourceFault struct {
 16143  	_            struct{}                  `type:"structure"`
 16144  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16145  
 16146  	// A description that may help with diagnosing the cause of the fault.
 16147  	Message_ *string `locationName:"message" type:"string"`
 16148  }
 16149  
 16150  // String returns the string representation.
 16151  //
 16152  // API parameter values that are decorated as "sensitive" in the API will not
 16153  // be included in the string output. The member name will be present, but the
 16154  // value will be replaced with "sensitive".
 16155  func (s UnknownResourceFault) String() string {
 16156  	return awsutil.Prettify(s)
 16157  }
 16158  
 16159  // GoString returns the string representation.
 16160  //
 16161  // API parameter values that are decorated as "sensitive" in the API will not
 16162  // be included in the string output. The member name will be present, but the
 16163  // value will be replaced with "sensitive".
 16164  func (s UnknownResourceFault) GoString() string {
 16165  	return s.String()
 16166  }
 16167  
 16168  func newErrorUnknownResourceFault(v protocol.ResponseMetadata) error {
 16169  	return &UnknownResourceFault{
 16170  		RespMetadata: v,
 16171  	}
 16172  }
 16173  
 16174  // Code returns the exception type name.
 16175  func (s *UnknownResourceFault) Code() string {
 16176  	return "UnknownResourceFault"
 16177  }
 16178  
 16179  // Message returns the exception's message.
 16180  func (s *UnknownResourceFault) Message() string {
 16181  	if s.Message_ != nil {
 16182  		return *s.Message_
 16183  	}
 16184  	return ""
 16185  }
 16186  
 16187  // OrigErr always returns nil, satisfies awserr.Error interface.
 16188  func (s *UnknownResourceFault) OrigErr() error {
 16189  	return nil
 16190  }
 16191  
 16192  func (s *UnknownResourceFault) Error() string {
 16193  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16194  }
 16195  
 16196  // Status code returns the HTTP status code for the request's response error.
 16197  func (s *UnknownResourceFault) StatusCode() int {
 16198  	return s.RespMetadata.StatusCode
 16199  }
 16200  
 16201  // RequestID returns the service's response RequestID for request.
 16202  func (s *UnknownResourceFault) RequestID() string {
 16203  	return s.RespMetadata.RequestID
 16204  }
 16205  
 16206  type UntagResourceInput struct {
 16207  	_ struct{} `type:"structure"`
 16208  
 16209  	// The Amazon Resource Name (ARN) for the Amazon SWF domain.
 16210  	//
 16211  	// ResourceArn is a required field
 16212  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 16213  
 16214  	// The list of tags to remove from the Amazon SWF domain.
 16215  	//
 16216  	// TagKeys is a required field
 16217  	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
 16218  }
 16219  
 16220  // String returns the string representation.
 16221  //
 16222  // API parameter values that are decorated as "sensitive" in the API will not
 16223  // be included in the string output. The member name will be present, but the
 16224  // value will be replaced with "sensitive".
 16225  func (s UntagResourceInput) String() string {
 16226  	return awsutil.Prettify(s)
 16227  }
 16228  
 16229  // GoString returns the string representation.
 16230  //
 16231  // API parameter values that are decorated as "sensitive" in the API will not
 16232  // be included in the string output. The member name will be present, but the
 16233  // value will be replaced with "sensitive".
 16234  func (s UntagResourceInput) GoString() string {
 16235  	return s.String()
 16236  }
 16237  
 16238  // Validate inspects the fields of the type to determine if they are valid.
 16239  func (s *UntagResourceInput) Validate() error {
 16240  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 16241  	if s.ResourceArn == nil {
 16242  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 16243  	}
 16244  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 16245  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 16246  	}
 16247  	if s.TagKeys == nil {
 16248  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 16249  	}
 16250  
 16251  	if invalidParams.Len() > 0 {
 16252  		return invalidParams
 16253  	}
 16254  	return nil
 16255  }
 16256  
 16257  // SetResourceArn sets the ResourceArn field's value.
 16258  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 16259  	s.ResourceArn = &v
 16260  	return s
 16261  }
 16262  
 16263  // SetTagKeys sets the TagKeys field's value.
 16264  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 16265  	s.TagKeys = v
 16266  	return s
 16267  }
 16268  
 16269  type UntagResourceOutput struct {
 16270  	_ struct{} `type:"structure"`
 16271  }
 16272  
 16273  // String returns the string representation.
 16274  //
 16275  // API parameter values that are decorated as "sensitive" in the API will not
 16276  // be included in the string output. The member name will be present, but the
 16277  // value will be replaced with "sensitive".
 16278  func (s UntagResourceOutput) String() string {
 16279  	return awsutil.Prettify(s)
 16280  }
 16281  
 16282  // GoString returns the string representation.
 16283  //
 16284  // API parameter values that are decorated as "sensitive" in the API will not
 16285  // be included in the string output. The member name will be present, but the
 16286  // value will be replaced with "sensitive".
 16287  func (s UntagResourceOutput) GoString() string {
 16288  	return s.String()
 16289  }
 16290  
 16291  // Represents a workflow execution.
 16292  type WorkflowExecution struct {
 16293  	_ struct{} `type:"structure"`
 16294  
 16295  	// A system-generated unique identifier for the workflow execution.
 16296  	//
 16297  	// RunId is a required field
 16298  	RunId *string `locationName:"runId" min:"1" type:"string" required:"true"`
 16299  
 16300  	// The user defined identifier associated with the workflow execution.
 16301  	//
 16302  	// WorkflowId is a required field
 16303  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 16304  }
 16305  
 16306  // String returns the string representation.
 16307  //
 16308  // API parameter values that are decorated as "sensitive" in the API will not
 16309  // be included in the string output. The member name will be present, but the
 16310  // value will be replaced with "sensitive".
 16311  func (s WorkflowExecution) String() string {
 16312  	return awsutil.Prettify(s)
 16313  }
 16314  
 16315  // GoString returns the string representation.
 16316  //
 16317  // API parameter values that are decorated as "sensitive" in the API will not
 16318  // be included in the string output. The member name will be present, but the
 16319  // value will be replaced with "sensitive".
 16320  func (s WorkflowExecution) GoString() string {
 16321  	return s.String()
 16322  }
 16323  
 16324  // Validate inspects the fields of the type to determine if they are valid.
 16325  func (s *WorkflowExecution) Validate() error {
 16326  	invalidParams := request.ErrInvalidParams{Context: "WorkflowExecution"}
 16327  	if s.RunId == nil {
 16328  		invalidParams.Add(request.NewErrParamRequired("RunId"))
 16329  	}
 16330  	if s.RunId != nil && len(*s.RunId) < 1 {
 16331  		invalidParams.Add(request.NewErrParamMinLen("RunId", 1))
 16332  	}
 16333  	if s.WorkflowId == nil {
 16334  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 16335  	}
 16336  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 16337  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 16338  	}
 16339  
 16340  	if invalidParams.Len() > 0 {
 16341  		return invalidParams
 16342  	}
 16343  	return nil
 16344  }
 16345  
 16346  // SetRunId sets the RunId field's value.
 16347  func (s *WorkflowExecution) SetRunId(v string) *WorkflowExecution {
 16348  	s.RunId = &v
 16349  	return s
 16350  }
 16351  
 16352  // SetWorkflowId sets the WorkflowId field's value.
 16353  func (s *WorkflowExecution) SetWorkflowId(v string) *WorkflowExecution {
 16354  	s.WorkflowId = &v
 16355  	return s
 16356  }
 16357  
 16358  // Returned by StartWorkflowExecution when an open execution with the same workflowId
 16359  // is already running in the specified domain.
 16360  type WorkflowExecutionAlreadyStartedFault struct {
 16361  	_            struct{}                  `type:"structure"`
 16362  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16363  
 16364  	// A description that may help with diagnosing the cause of the fault.
 16365  	Message_ *string `locationName:"message" type:"string"`
 16366  }
 16367  
 16368  // String returns the string representation.
 16369  //
 16370  // API parameter values that are decorated as "sensitive" in the API will not
 16371  // be included in the string output. The member name will be present, but the
 16372  // value will be replaced with "sensitive".
 16373  func (s WorkflowExecutionAlreadyStartedFault) String() string {
 16374  	return awsutil.Prettify(s)
 16375  }
 16376  
 16377  // GoString returns the string representation.
 16378  //
 16379  // API parameter values that are decorated as "sensitive" in the API will not
 16380  // be included in the string output. The member name will be present, but the
 16381  // value will be replaced with "sensitive".
 16382  func (s WorkflowExecutionAlreadyStartedFault) GoString() string {
 16383  	return s.String()
 16384  }
 16385  
 16386  func newErrorWorkflowExecutionAlreadyStartedFault(v protocol.ResponseMetadata) error {
 16387  	return &WorkflowExecutionAlreadyStartedFault{
 16388  		RespMetadata: v,
 16389  	}
 16390  }
 16391  
 16392  // Code returns the exception type name.
 16393  func (s *WorkflowExecutionAlreadyStartedFault) Code() string {
 16394  	return "WorkflowExecutionAlreadyStartedFault"
 16395  }
 16396  
 16397  // Message returns the exception's message.
 16398  func (s *WorkflowExecutionAlreadyStartedFault) Message() string {
 16399  	if s.Message_ != nil {
 16400  		return *s.Message_
 16401  	}
 16402  	return ""
 16403  }
 16404  
 16405  // OrigErr always returns nil, satisfies awserr.Error interface.
 16406  func (s *WorkflowExecutionAlreadyStartedFault) OrigErr() error {
 16407  	return nil
 16408  }
 16409  
 16410  func (s *WorkflowExecutionAlreadyStartedFault) Error() string {
 16411  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 16412  }
 16413  
 16414  // Status code returns the HTTP status code for the request's response error.
 16415  func (s *WorkflowExecutionAlreadyStartedFault) StatusCode() int {
 16416  	return s.RespMetadata.StatusCode
 16417  }
 16418  
 16419  // RequestID returns the service's response RequestID for request.
 16420  func (s *WorkflowExecutionAlreadyStartedFault) RequestID() string {
 16421  	return s.RespMetadata.RequestID
 16422  }
 16423  
 16424  // Provides the details of the WorkflowExecutionCancelRequested event.
 16425  type WorkflowExecutionCancelRequestedEventAttributes struct {
 16426  	_ struct{} `type:"structure"`
 16427  
 16428  	// If set, indicates that the request to cancel the workflow execution was automatically
 16429  	// generated, and specifies the cause. This happens if the parent workflow execution
 16430  	// times out or is terminated, and the child policy is set to cancel child executions.
 16431  	Cause *string `locationName:"cause" type:"string" enum:"WorkflowExecutionCancelRequestedCause"`
 16432  
 16433  	// The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding
 16434  	// to the RequestCancelExternalWorkflowExecution decision to cancel this workflow
 16435  	// execution.The source event with this ID can be found in the history of the
 16436  	// source workflow execution. This information can be useful for diagnosing
 16437  	// problems by tracing back the chain of events leading up to this event.
 16438  	ExternalInitiatedEventId *int64 `locationName:"externalInitiatedEventId" type:"long"`
 16439  
 16440  	// The external workflow execution for which the cancellation was requested.
 16441  	ExternalWorkflowExecution *WorkflowExecution `locationName:"externalWorkflowExecution" type:"structure"`
 16442  }
 16443  
 16444  // String returns the string representation.
 16445  //
 16446  // API parameter values that are decorated as "sensitive" in the API will not
 16447  // be included in the string output. The member name will be present, but the
 16448  // value will be replaced with "sensitive".
 16449  func (s WorkflowExecutionCancelRequestedEventAttributes) String() string {
 16450  	return awsutil.Prettify(s)
 16451  }
 16452  
 16453  // GoString returns the string representation.
 16454  //
 16455  // API parameter values that are decorated as "sensitive" in the API will not
 16456  // be included in the string output. The member name will be present, but the
 16457  // value will be replaced with "sensitive".
 16458  func (s WorkflowExecutionCancelRequestedEventAttributes) GoString() string {
 16459  	return s.String()
 16460  }
 16461  
 16462  // SetCause sets the Cause field's value.
 16463  func (s *WorkflowExecutionCancelRequestedEventAttributes) SetCause(v string) *WorkflowExecutionCancelRequestedEventAttributes {
 16464  	s.Cause = &v
 16465  	return s
 16466  }
 16467  
 16468  // SetExternalInitiatedEventId sets the ExternalInitiatedEventId field's value.
 16469  func (s *WorkflowExecutionCancelRequestedEventAttributes) SetExternalInitiatedEventId(v int64) *WorkflowExecutionCancelRequestedEventAttributes {
 16470  	s.ExternalInitiatedEventId = &v
 16471  	return s
 16472  }
 16473  
 16474  // SetExternalWorkflowExecution sets the ExternalWorkflowExecution field's value.
 16475  func (s *WorkflowExecutionCancelRequestedEventAttributes) SetExternalWorkflowExecution(v *WorkflowExecution) *WorkflowExecutionCancelRequestedEventAttributes {
 16476  	s.ExternalWorkflowExecution = v
 16477  	return s
 16478  }
 16479  
 16480  // Provides the details of the WorkflowExecutionCanceled event.
 16481  type WorkflowExecutionCanceledEventAttributes struct {
 16482  	_ struct{} `type:"structure"`
 16483  
 16484  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 16485  	// that resulted in the CancelWorkflowExecution decision for this cancellation
 16486  	// request. This information can be useful for diagnosing problems by tracing
 16487  	// back the chain of events leading up to this event.
 16488  	//
 16489  	// DecisionTaskCompletedEventId is a required field
 16490  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 16491  
 16492  	// The details of the cancellation.
 16493  	Details *string `locationName:"details" type:"string"`
 16494  }
 16495  
 16496  // String returns the string representation.
 16497  //
 16498  // API parameter values that are decorated as "sensitive" in the API will not
 16499  // be included in the string output. The member name will be present, but the
 16500  // value will be replaced with "sensitive".
 16501  func (s WorkflowExecutionCanceledEventAttributes) String() string {
 16502  	return awsutil.Prettify(s)
 16503  }
 16504  
 16505  // GoString returns the string representation.
 16506  //
 16507  // API parameter values that are decorated as "sensitive" in the API will not
 16508  // be included in the string output. The member name will be present, but the
 16509  // value will be replaced with "sensitive".
 16510  func (s WorkflowExecutionCanceledEventAttributes) GoString() string {
 16511  	return s.String()
 16512  }
 16513  
 16514  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 16515  func (s *WorkflowExecutionCanceledEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionCanceledEventAttributes {
 16516  	s.DecisionTaskCompletedEventId = &v
 16517  	return s
 16518  }
 16519  
 16520  // SetDetails sets the Details field's value.
 16521  func (s *WorkflowExecutionCanceledEventAttributes) SetDetails(v string) *WorkflowExecutionCanceledEventAttributes {
 16522  	s.Details = &v
 16523  	return s
 16524  }
 16525  
 16526  // Provides the details of the WorkflowExecutionCompleted event.
 16527  type WorkflowExecutionCompletedEventAttributes struct {
 16528  	_ struct{} `type:"structure"`
 16529  
 16530  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 16531  	// that resulted in the CompleteWorkflowExecution decision to complete this
 16532  	// execution. This information can be useful for diagnosing problems by tracing
 16533  	// back the chain of events leading up to this event.
 16534  	//
 16535  	// DecisionTaskCompletedEventId is a required field
 16536  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 16537  
 16538  	// The result produced by the workflow execution upon successful completion.
 16539  	Result *string `locationName:"result" type:"string"`
 16540  }
 16541  
 16542  // String returns the string representation.
 16543  //
 16544  // API parameter values that are decorated as "sensitive" in the API will not
 16545  // be included in the string output. The member name will be present, but the
 16546  // value will be replaced with "sensitive".
 16547  func (s WorkflowExecutionCompletedEventAttributes) String() string {
 16548  	return awsutil.Prettify(s)
 16549  }
 16550  
 16551  // GoString returns the string representation.
 16552  //
 16553  // API parameter values that are decorated as "sensitive" in the API will not
 16554  // be included in the string output. The member name will be present, but the
 16555  // value will be replaced with "sensitive".
 16556  func (s WorkflowExecutionCompletedEventAttributes) GoString() string {
 16557  	return s.String()
 16558  }
 16559  
 16560  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 16561  func (s *WorkflowExecutionCompletedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionCompletedEventAttributes {
 16562  	s.DecisionTaskCompletedEventId = &v
 16563  	return s
 16564  }
 16565  
 16566  // SetResult sets the Result field's value.
 16567  func (s *WorkflowExecutionCompletedEventAttributes) SetResult(v string) *WorkflowExecutionCompletedEventAttributes {
 16568  	s.Result = &v
 16569  	return s
 16570  }
 16571  
 16572  // The configuration settings for a workflow execution including timeout values,
 16573  // tasklist etc. These configuration settings are determined from the defaults
 16574  // specified when registering the workflow type and those specified when starting
 16575  // the workflow execution.
 16576  type WorkflowExecutionConfiguration struct {
 16577  	_ struct{} `type:"structure"`
 16578  
 16579  	// The policy to use for the child workflow executions if this workflow execution
 16580  	// is terminated, by calling the TerminateWorkflowExecution action explicitly
 16581  	// or due to an expired timeout.
 16582  	//
 16583  	// The supported child policies are:
 16584  	//
 16585  	//    * TERMINATE – The child executions are terminated.
 16586  	//
 16587  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 16588  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 16589  	//    It is up to the decider to take appropriate actions when it receives an
 16590  	//    execution history with this event.
 16591  	//
 16592  	//    * ABANDON – No action is taken. The child executions continue to run.
 16593  	//
 16594  	// ChildPolicy is a required field
 16595  	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
 16596  
 16597  	// The total duration for this workflow execution.
 16598  	//
 16599  	// The duration is specified in seconds, an integer greater than or equal to
 16600  	// 0. You can use NONE to specify unlimited duration.
 16601  	//
 16602  	// ExecutionStartToCloseTimeout is a required field
 16603  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" min:"1" type:"string" required:"true"`
 16604  
 16605  	// The IAM role attached to the child workflow execution.
 16606  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
 16607  
 16608  	// The task list used for the decision tasks generated for this workflow execution.
 16609  	//
 16610  	// TaskList is a required field
 16611  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
 16612  
 16613  	// The priority assigned to decision tasks for this workflow execution. Valid
 16614  	// values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
 16615  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
 16616  	//
 16617  	// For more information about setting task priority, see Setting Task Priority
 16618  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 16619  	// in the Amazon SWF Developer Guide.
 16620  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 16621  
 16622  	// The maximum duration allowed for decision tasks for this workflow execution.
 16623  	//
 16624  	// The duration is specified in seconds, an integer greater than or equal to
 16625  	// 0. You can use NONE to specify unlimited duration.
 16626  	//
 16627  	// TaskStartToCloseTimeout is a required field
 16628  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" min:"1" type:"string" required:"true"`
 16629  }
 16630  
 16631  // String returns the string representation.
 16632  //
 16633  // API parameter values that are decorated as "sensitive" in the API will not
 16634  // be included in the string output. The member name will be present, but the
 16635  // value will be replaced with "sensitive".
 16636  func (s WorkflowExecutionConfiguration) String() string {
 16637  	return awsutil.Prettify(s)
 16638  }
 16639  
 16640  // GoString returns the string representation.
 16641  //
 16642  // API parameter values that are decorated as "sensitive" in the API will not
 16643  // be included in the string output. The member name will be present, but the
 16644  // value will be replaced with "sensitive".
 16645  func (s WorkflowExecutionConfiguration) GoString() string {
 16646  	return s.String()
 16647  }
 16648  
 16649  // SetChildPolicy sets the ChildPolicy field's value.
 16650  func (s *WorkflowExecutionConfiguration) SetChildPolicy(v string) *WorkflowExecutionConfiguration {
 16651  	s.ChildPolicy = &v
 16652  	return s
 16653  }
 16654  
 16655  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
 16656  func (s *WorkflowExecutionConfiguration) SetExecutionStartToCloseTimeout(v string) *WorkflowExecutionConfiguration {
 16657  	s.ExecutionStartToCloseTimeout = &v
 16658  	return s
 16659  }
 16660  
 16661  // SetLambdaRole sets the LambdaRole field's value.
 16662  func (s *WorkflowExecutionConfiguration) SetLambdaRole(v string) *WorkflowExecutionConfiguration {
 16663  	s.LambdaRole = &v
 16664  	return s
 16665  }
 16666  
 16667  // SetTaskList sets the TaskList field's value.
 16668  func (s *WorkflowExecutionConfiguration) SetTaskList(v *TaskList) *WorkflowExecutionConfiguration {
 16669  	s.TaskList = v
 16670  	return s
 16671  }
 16672  
 16673  // SetTaskPriority sets the TaskPriority field's value.
 16674  func (s *WorkflowExecutionConfiguration) SetTaskPriority(v string) *WorkflowExecutionConfiguration {
 16675  	s.TaskPriority = &v
 16676  	return s
 16677  }
 16678  
 16679  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
 16680  func (s *WorkflowExecutionConfiguration) SetTaskStartToCloseTimeout(v string) *WorkflowExecutionConfiguration {
 16681  	s.TaskStartToCloseTimeout = &v
 16682  	return s
 16683  }
 16684  
 16685  // Provides the details of the WorkflowExecutionContinuedAsNew event.
 16686  type WorkflowExecutionContinuedAsNewEventAttributes struct {
 16687  	_ struct{} `type:"structure"`
 16688  
 16689  	// The policy to use for the child workflow executions of the new execution
 16690  	// if it is terminated by calling the TerminateWorkflowExecution action explicitly
 16691  	// or due to an expired timeout.
 16692  	//
 16693  	// The supported child policies are:
 16694  	//
 16695  	//    * TERMINATE – The child executions are terminated.
 16696  	//
 16697  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 16698  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 16699  	//    It is up to the decider to take appropriate actions when it receives an
 16700  	//    execution history with this event.
 16701  	//
 16702  	//    * ABANDON – No action is taken. The child executions continue to run.
 16703  	//
 16704  	// ChildPolicy is a required field
 16705  	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
 16706  
 16707  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 16708  	// that resulted in the ContinueAsNewWorkflowExecution decision that started
 16709  	// this execution. This information can be useful for diagnosing problems by
 16710  	// tracing back the chain of events leading up to this event.
 16711  	//
 16712  	// DecisionTaskCompletedEventId is a required field
 16713  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 16714  
 16715  	// The total duration allowed for the new workflow execution.
 16716  	//
 16717  	// The duration is specified in seconds, an integer greater than or equal to
 16718  	// 0. You can use NONE to specify unlimited duration.
 16719  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
 16720  
 16721  	// The input provided to the new workflow execution.
 16722  	Input *string `locationName:"input" type:"string"`
 16723  
 16724  	// The IAM role to attach to the new (continued) workflow execution.
 16725  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
 16726  
 16727  	// The runId of the new workflow execution.
 16728  	//
 16729  	// NewExecutionRunId is a required field
 16730  	NewExecutionRunId *string `locationName:"newExecutionRunId" min:"1" type:"string" required:"true"`
 16731  
 16732  	// The list of tags associated with the new workflow execution.
 16733  	TagList []*string `locationName:"tagList" type:"list"`
 16734  
 16735  	// The task list to use for the decisions of the new (continued) workflow execution.
 16736  	//
 16737  	// TaskList is a required field
 16738  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
 16739  
 16740  	// The priority of the task to use for the decisions of the new (continued)
 16741  	// workflow execution.
 16742  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 16743  
 16744  	// The maximum duration of decision tasks for the new workflow execution.
 16745  	//
 16746  	// The duration is specified in seconds, an integer greater than or equal to
 16747  	// 0. You can use NONE to specify unlimited duration.
 16748  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
 16749  
 16750  	// The workflow type of this execution.
 16751  	//
 16752  	// WorkflowType is a required field
 16753  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 16754  }
 16755  
 16756  // String returns the string representation.
 16757  //
 16758  // API parameter values that are decorated as "sensitive" in the API will not
 16759  // be included in the string output. The member name will be present, but the
 16760  // value will be replaced with "sensitive".
 16761  func (s WorkflowExecutionContinuedAsNewEventAttributes) String() string {
 16762  	return awsutil.Prettify(s)
 16763  }
 16764  
 16765  // GoString returns the string representation.
 16766  //
 16767  // API parameter values that are decorated as "sensitive" in the API will not
 16768  // be included in the string output. The member name will be present, but the
 16769  // value will be replaced with "sensitive".
 16770  func (s WorkflowExecutionContinuedAsNewEventAttributes) GoString() string {
 16771  	return s.String()
 16772  }
 16773  
 16774  // SetChildPolicy sets the ChildPolicy field's value.
 16775  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetChildPolicy(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16776  	s.ChildPolicy = &v
 16777  	return s
 16778  }
 16779  
 16780  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 16781  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionContinuedAsNewEventAttributes {
 16782  	s.DecisionTaskCompletedEventId = &v
 16783  	return s
 16784  }
 16785  
 16786  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
 16787  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetExecutionStartToCloseTimeout(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16788  	s.ExecutionStartToCloseTimeout = &v
 16789  	return s
 16790  }
 16791  
 16792  // SetInput sets the Input field's value.
 16793  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetInput(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16794  	s.Input = &v
 16795  	return s
 16796  }
 16797  
 16798  // SetLambdaRole sets the LambdaRole field's value.
 16799  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetLambdaRole(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16800  	s.LambdaRole = &v
 16801  	return s
 16802  }
 16803  
 16804  // SetNewExecutionRunId sets the NewExecutionRunId field's value.
 16805  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetNewExecutionRunId(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16806  	s.NewExecutionRunId = &v
 16807  	return s
 16808  }
 16809  
 16810  // SetTagList sets the TagList field's value.
 16811  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTagList(v []*string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16812  	s.TagList = v
 16813  	return s
 16814  }
 16815  
 16816  // SetTaskList sets the TaskList field's value.
 16817  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTaskList(v *TaskList) *WorkflowExecutionContinuedAsNewEventAttributes {
 16818  	s.TaskList = v
 16819  	return s
 16820  }
 16821  
 16822  // SetTaskPriority sets the TaskPriority field's value.
 16823  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTaskPriority(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16824  	s.TaskPriority = &v
 16825  	return s
 16826  }
 16827  
 16828  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
 16829  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetTaskStartToCloseTimeout(v string) *WorkflowExecutionContinuedAsNewEventAttributes {
 16830  	s.TaskStartToCloseTimeout = &v
 16831  	return s
 16832  }
 16833  
 16834  // SetWorkflowType sets the WorkflowType field's value.
 16835  func (s *WorkflowExecutionContinuedAsNewEventAttributes) SetWorkflowType(v *WorkflowType) *WorkflowExecutionContinuedAsNewEventAttributes {
 16836  	s.WorkflowType = v
 16837  	return s
 16838  }
 16839  
 16840  // Contains the count of workflow executions returned from CountOpenWorkflowExecutions
 16841  // or CountClosedWorkflowExecutions
 16842  type WorkflowExecutionCount struct {
 16843  	_ struct{} `type:"structure"`
 16844  
 16845  	// The number of workflow executions.
 16846  	//
 16847  	// Count is a required field
 16848  	Count *int64 `locationName:"count" type:"integer" required:"true"`
 16849  
 16850  	// If set to true, indicates that the actual count was more than the maximum
 16851  	// supported by this API and the count returned is the truncated value.
 16852  	Truncated *bool `locationName:"truncated" type:"boolean"`
 16853  }
 16854  
 16855  // String returns the string representation.
 16856  //
 16857  // API parameter values that are decorated as "sensitive" in the API will not
 16858  // be included in the string output. The member name will be present, but the
 16859  // value will be replaced with "sensitive".
 16860  func (s WorkflowExecutionCount) String() string {
 16861  	return awsutil.Prettify(s)
 16862  }
 16863  
 16864  // GoString returns the string representation.
 16865  //
 16866  // API parameter values that are decorated as "sensitive" in the API will not
 16867  // be included in the string output. The member name will be present, but the
 16868  // value will be replaced with "sensitive".
 16869  func (s WorkflowExecutionCount) GoString() string {
 16870  	return s.String()
 16871  }
 16872  
 16873  // SetCount sets the Count field's value.
 16874  func (s *WorkflowExecutionCount) SetCount(v int64) *WorkflowExecutionCount {
 16875  	s.Count = &v
 16876  	return s
 16877  }
 16878  
 16879  // SetTruncated sets the Truncated field's value.
 16880  func (s *WorkflowExecutionCount) SetTruncated(v bool) *WorkflowExecutionCount {
 16881  	s.Truncated = &v
 16882  	return s
 16883  }
 16884  
 16885  // Provides the details of the WorkflowExecutionFailed event.
 16886  type WorkflowExecutionFailedEventAttributes struct {
 16887  	_ struct{} `type:"structure"`
 16888  
 16889  	// The ID of the DecisionTaskCompleted event corresponding to the decision task
 16890  	// that resulted in the FailWorkflowExecution decision to fail this execution.
 16891  	// This information can be useful for diagnosing problems by tracing back the
 16892  	// chain of events leading up to this event.
 16893  	//
 16894  	// DecisionTaskCompletedEventId is a required field
 16895  	DecisionTaskCompletedEventId *int64 `locationName:"decisionTaskCompletedEventId" type:"long" required:"true"`
 16896  
 16897  	// The details of the failure.
 16898  	Details *string `locationName:"details" type:"string"`
 16899  
 16900  	// The descriptive reason provided for the failure.
 16901  	Reason *string `locationName:"reason" type:"string"`
 16902  }
 16903  
 16904  // String returns the string representation.
 16905  //
 16906  // API parameter values that are decorated as "sensitive" in the API will not
 16907  // be included in the string output. The member name will be present, but the
 16908  // value will be replaced with "sensitive".
 16909  func (s WorkflowExecutionFailedEventAttributes) String() string {
 16910  	return awsutil.Prettify(s)
 16911  }
 16912  
 16913  // GoString returns the string representation.
 16914  //
 16915  // API parameter values that are decorated as "sensitive" in the API will not
 16916  // be included in the string output. The member name will be present, but the
 16917  // value will be replaced with "sensitive".
 16918  func (s WorkflowExecutionFailedEventAttributes) GoString() string {
 16919  	return s.String()
 16920  }
 16921  
 16922  // SetDecisionTaskCompletedEventId sets the DecisionTaskCompletedEventId field's value.
 16923  func (s *WorkflowExecutionFailedEventAttributes) SetDecisionTaskCompletedEventId(v int64) *WorkflowExecutionFailedEventAttributes {
 16924  	s.DecisionTaskCompletedEventId = &v
 16925  	return s
 16926  }
 16927  
 16928  // SetDetails sets the Details field's value.
 16929  func (s *WorkflowExecutionFailedEventAttributes) SetDetails(v string) *WorkflowExecutionFailedEventAttributes {
 16930  	s.Details = &v
 16931  	return s
 16932  }
 16933  
 16934  // SetReason sets the Reason field's value.
 16935  func (s *WorkflowExecutionFailedEventAttributes) SetReason(v string) *WorkflowExecutionFailedEventAttributes {
 16936  	s.Reason = &v
 16937  	return s
 16938  }
 16939  
 16940  // Used to filter the workflow executions in visibility APIs by their workflowId.
 16941  type WorkflowExecutionFilter struct {
 16942  	_ struct{} `type:"structure"`
 16943  
 16944  	// The workflowId to pass of match the criteria of this filter.
 16945  	//
 16946  	// WorkflowId is a required field
 16947  	WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"`
 16948  }
 16949  
 16950  // String returns the string representation.
 16951  //
 16952  // API parameter values that are decorated as "sensitive" in the API will not
 16953  // be included in the string output. The member name will be present, but the
 16954  // value will be replaced with "sensitive".
 16955  func (s WorkflowExecutionFilter) String() string {
 16956  	return awsutil.Prettify(s)
 16957  }
 16958  
 16959  // GoString returns the string representation.
 16960  //
 16961  // API parameter values that are decorated as "sensitive" in the API will not
 16962  // be included in the string output. The member name will be present, but the
 16963  // value will be replaced with "sensitive".
 16964  func (s WorkflowExecutionFilter) GoString() string {
 16965  	return s.String()
 16966  }
 16967  
 16968  // Validate inspects the fields of the type to determine if they are valid.
 16969  func (s *WorkflowExecutionFilter) Validate() error {
 16970  	invalidParams := request.ErrInvalidParams{Context: "WorkflowExecutionFilter"}
 16971  	if s.WorkflowId == nil {
 16972  		invalidParams.Add(request.NewErrParamRequired("WorkflowId"))
 16973  	}
 16974  	if s.WorkflowId != nil && len(*s.WorkflowId) < 1 {
 16975  		invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1))
 16976  	}
 16977  
 16978  	if invalidParams.Len() > 0 {
 16979  		return invalidParams
 16980  	}
 16981  	return nil
 16982  }
 16983  
 16984  // SetWorkflowId sets the WorkflowId field's value.
 16985  func (s *WorkflowExecutionFilter) SetWorkflowId(v string) *WorkflowExecutionFilter {
 16986  	s.WorkflowId = &v
 16987  	return s
 16988  }
 16989  
 16990  // Contains information about a workflow execution.
 16991  type WorkflowExecutionInfo struct {
 16992  	_ struct{} `type:"structure"`
 16993  
 16994  	// Set to true if a cancellation is requested for this workflow execution.
 16995  	CancelRequested *bool `locationName:"cancelRequested" type:"boolean"`
 16996  
 16997  	// If the execution status is closed then this specifies how the execution was
 16998  	// closed:
 16999  	//
 17000  	//    * COMPLETED – the execution was successfully completed.
 17001  	//
 17002  	//    * CANCELED – the execution was canceled.Cancellation allows the implementation
 17003  	//    to gracefully clean up before the execution is closed.
 17004  	//
 17005  	//    * TERMINATED – the execution was force terminated.
 17006  	//
 17007  	//    * FAILED – the execution failed to complete.
 17008  	//
 17009  	//    * TIMED_OUT – the execution did not complete in the alloted time and
 17010  	//    was automatically timed out.
 17011  	//
 17012  	//    * CONTINUED_AS_NEW – the execution is logically continued. This means
 17013  	//    the current execution was completed and a new execution was started to
 17014  	//    carry on the workflow.
 17015  	CloseStatus *string `locationName:"closeStatus" type:"string" enum:"CloseStatus"`
 17016  
 17017  	// The time when the workflow execution was closed. Set only if the execution
 17018  	// status is CLOSED.
 17019  	CloseTimestamp *time.Time `locationName:"closeTimestamp" type:"timestamp"`
 17020  
 17021  	// The workflow execution this information is about.
 17022  	//
 17023  	// Execution is a required field
 17024  	Execution *WorkflowExecution `locationName:"execution" type:"structure" required:"true"`
 17025  
 17026  	// The current status of the execution.
 17027  	//
 17028  	// ExecutionStatus is a required field
 17029  	ExecutionStatus *string `locationName:"executionStatus" type:"string" required:"true" enum:"ExecutionStatus"`
 17030  
 17031  	// If this workflow execution is a child of another execution then contains
 17032  	// the workflow execution that started this execution.
 17033  	Parent *WorkflowExecution `locationName:"parent" type:"structure"`
 17034  
 17035  	// The time when the execution was started.
 17036  	//
 17037  	// StartTimestamp is a required field
 17038  	StartTimestamp *time.Time `locationName:"startTimestamp" type:"timestamp" required:"true"`
 17039  
 17040  	// The list of tags associated with the workflow execution. Tags can be used
 17041  	// to identify and list workflow executions of interest through the visibility
 17042  	// APIs. A workflow execution can have a maximum of 5 tags.
 17043  	TagList []*string `locationName:"tagList" type:"list"`
 17044  
 17045  	// The type of the workflow execution.
 17046  	//
 17047  	// WorkflowType is a required field
 17048  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 17049  }
 17050  
 17051  // String returns the string representation.
 17052  //
 17053  // API parameter values that are decorated as "sensitive" in the API will not
 17054  // be included in the string output. The member name will be present, but the
 17055  // value will be replaced with "sensitive".
 17056  func (s WorkflowExecutionInfo) String() string {
 17057  	return awsutil.Prettify(s)
 17058  }
 17059  
 17060  // GoString returns the string representation.
 17061  //
 17062  // API parameter values that are decorated as "sensitive" in the API will not
 17063  // be included in the string output. The member name will be present, but the
 17064  // value will be replaced with "sensitive".
 17065  func (s WorkflowExecutionInfo) GoString() string {
 17066  	return s.String()
 17067  }
 17068  
 17069  // SetCancelRequested sets the CancelRequested field's value.
 17070  func (s *WorkflowExecutionInfo) SetCancelRequested(v bool) *WorkflowExecutionInfo {
 17071  	s.CancelRequested = &v
 17072  	return s
 17073  }
 17074  
 17075  // SetCloseStatus sets the CloseStatus field's value.
 17076  func (s *WorkflowExecutionInfo) SetCloseStatus(v string) *WorkflowExecutionInfo {
 17077  	s.CloseStatus = &v
 17078  	return s
 17079  }
 17080  
 17081  // SetCloseTimestamp sets the CloseTimestamp field's value.
 17082  func (s *WorkflowExecutionInfo) SetCloseTimestamp(v time.Time) *WorkflowExecutionInfo {
 17083  	s.CloseTimestamp = &v
 17084  	return s
 17085  }
 17086  
 17087  // SetExecution sets the Execution field's value.
 17088  func (s *WorkflowExecutionInfo) SetExecution(v *WorkflowExecution) *WorkflowExecutionInfo {
 17089  	s.Execution = v
 17090  	return s
 17091  }
 17092  
 17093  // SetExecutionStatus sets the ExecutionStatus field's value.
 17094  func (s *WorkflowExecutionInfo) SetExecutionStatus(v string) *WorkflowExecutionInfo {
 17095  	s.ExecutionStatus = &v
 17096  	return s
 17097  }
 17098  
 17099  // SetParent sets the Parent field's value.
 17100  func (s *WorkflowExecutionInfo) SetParent(v *WorkflowExecution) *WorkflowExecutionInfo {
 17101  	s.Parent = v
 17102  	return s
 17103  }
 17104  
 17105  // SetStartTimestamp sets the StartTimestamp field's value.
 17106  func (s *WorkflowExecutionInfo) SetStartTimestamp(v time.Time) *WorkflowExecutionInfo {
 17107  	s.StartTimestamp = &v
 17108  	return s
 17109  }
 17110  
 17111  // SetTagList sets the TagList field's value.
 17112  func (s *WorkflowExecutionInfo) SetTagList(v []*string) *WorkflowExecutionInfo {
 17113  	s.TagList = v
 17114  	return s
 17115  }
 17116  
 17117  // SetWorkflowType sets the WorkflowType field's value.
 17118  func (s *WorkflowExecutionInfo) SetWorkflowType(v *WorkflowType) *WorkflowExecutionInfo {
 17119  	s.WorkflowType = v
 17120  	return s
 17121  }
 17122  
 17123  // Contains a paginated list of information about workflow executions.
 17124  type WorkflowExecutionInfos struct {
 17125  	_ struct{} `type:"structure"`
 17126  
 17127  	// The list of workflow information structures.
 17128  	//
 17129  	// ExecutionInfos is a required field
 17130  	ExecutionInfos []*WorkflowExecutionInfo `locationName:"executionInfos" type:"list" required:"true"`
 17131  
 17132  	// If a NextPageToken was returned by a previous call, there are more results
 17133  	// available. To retrieve the next page of results, make the call again using
 17134  	// the returned token in nextPageToken. Keep all other arguments unchanged.
 17135  	//
 17136  	// The configured maximumPageSize determines how many results can be returned
 17137  	// in a single call.
 17138  	NextPageToken *string `locationName:"nextPageToken" type:"string"`
 17139  }
 17140  
 17141  // String returns the string representation.
 17142  //
 17143  // API parameter values that are decorated as "sensitive" in the API will not
 17144  // be included in the string output. The member name will be present, but the
 17145  // value will be replaced with "sensitive".
 17146  func (s WorkflowExecutionInfos) String() string {
 17147  	return awsutil.Prettify(s)
 17148  }
 17149  
 17150  // GoString returns the string representation.
 17151  //
 17152  // API parameter values that are decorated as "sensitive" in the API will not
 17153  // be included in the string output. The member name will be present, but the
 17154  // value will be replaced with "sensitive".
 17155  func (s WorkflowExecutionInfos) GoString() string {
 17156  	return s.String()
 17157  }
 17158  
 17159  // SetExecutionInfos sets the ExecutionInfos field's value.
 17160  func (s *WorkflowExecutionInfos) SetExecutionInfos(v []*WorkflowExecutionInfo) *WorkflowExecutionInfos {
 17161  	s.ExecutionInfos = v
 17162  	return s
 17163  }
 17164  
 17165  // SetNextPageToken sets the NextPageToken field's value.
 17166  func (s *WorkflowExecutionInfos) SetNextPageToken(v string) *WorkflowExecutionInfos {
 17167  	s.NextPageToken = &v
 17168  	return s
 17169  }
 17170  
 17171  // Contains the counts of open tasks, child workflow executions and timers for
 17172  // a workflow execution.
 17173  type WorkflowExecutionOpenCounts struct {
 17174  	_ struct{} `type:"structure"`
 17175  
 17176  	// The count of activity tasks whose status is OPEN.
 17177  	//
 17178  	// OpenActivityTasks is a required field
 17179  	OpenActivityTasks *int64 `locationName:"openActivityTasks" type:"integer" required:"true"`
 17180  
 17181  	// The count of child workflow executions whose status is OPEN.
 17182  	//
 17183  	// OpenChildWorkflowExecutions is a required field
 17184  	OpenChildWorkflowExecutions *int64 `locationName:"openChildWorkflowExecutions" type:"integer" required:"true"`
 17185  
 17186  	// The count of decision tasks whose status is OPEN. A workflow execution can
 17187  	// have at most one open decision task.
 17188  	//
 17189  	// OpenDecisionTasks is a required field
 17190  	OpenDecisionTasks *int64 `locationName:"openDecisionTasks" type:"integer" required:"true"`
 17191  
 17192  	// The count of Lambda tasks whose status is OPEN.
 17193  	OpenLambdaFunctions *int64 `locationName:"openLambdaFunctions" type:"integer"`
 17194  
 17195  	// The count of timers started by this workflow execution that have not fired
 17196  	// yet.
 17197  	//
 17198  	// OpenTimers is a required field
 17199  	OpenTimers *int64 `locationName:"openTimers" type:"integer" required:"true"`
 17200  }
 17201  
 17202  // String returns the string representation.
 17203  //
 17204  // API parameter values that are decorated as "sensitive" in the API will not
 17205  // be included in the string output. The member name will be present, but the
 17206  // value will be replaced with "sensitive".
 17207  func (s WorkflowExecutionOpenCounts) String() string {
 17208  	return awsutil.Prettify(s)
 17209  }
 17210  
 17211  // GoString returns the string representation.
 17212  //
 17213  // API parameter values that are decorated as "sensitive" in the API will not
 17214  // be included in the string output. The member name will be present, but the
 17215  // value will be replaced with "sensitive".
 17216  func (s WorkflowExecutionOpenCounts) GoString() string {
 17217  	return s.String()
 17218  }
 17219  
 17220  // SetOpenActivityTasks sets the OpenActivityTasks field's value.
 17221  func (s *WorkflowExecutionOpenCounts) SetOpenActivityTasks(v int64) *WorkflowExecutionOpenCounts {
 17222  	s.OpenActivityTasks = &v
 17223  	return s
 17224  }
 17225  
 17226  // SetOpenChildWorkflowExecutions sets the OpenChildWorkflowExecutions field's value.
 17227  func (s *WorkflowExecutionOpenCounts) SetOpenChildWorkflowExecutions(v int64) *WorkflowExecutionOpenCounts {
 17228  	s.OpenChildWorkflowExecutions = &v
 17229  	return s
 17230  }
 17231  
 17232  // SetOpenDecisionTasks sets the OpenDecisionTasks field's value.
 17233  func (s *WorkflowExecutionOpenCounts) SetOpenDecisionTasks(v int64) *WorkflowExecutionOpenCounts {
 17234  	s.OpenDecisionTasks = &v
 17235  	return s
 17236  }
 17237  
 17238  // SetOpenLambdaFunctions sets the OpenLambdaFunctions field's value.
 17239  func (s *WorkflowExecutionOpenCounts) SetOpenLambdaFunctions(v int64) *WorkflowExecutionOpenCounts {
 17240  	s.OpenLambdaFunctions = &v
 17241  	return s
 17242  }
 17243  
 17244  // SetOpenTimers sets the OpenTimers field's value.
 17245  func (s *WorkflowExecutionOpenCounts) SetOpenTimers(v int64) *WorkflowExecutionOpenCounts {
 17246  	s.OpenTimers = &v
 17247  	return s
 17248  }
 17249  
 17250  // Provides the details of the WorkflowExecutionSignaled event.
 17251  type WorkflowExecutionSignaledEventAttributes struct {
 17252  	_ struct{} `type:"structure"`
 17253  
 17254  	// The ID of the SignalExternalWorkflowExecutionInitiated event corresponding
 17255  	// to the SignalExternalWorkflow decision to signal this workflow execution.The
 17256  	// source event with this ID can be found in the history of the source workflow
 17257  	// execution. This information can be useful for diagnosing problems by tracing
 17258  	// back the chain of events leading up to this event. This field is set only
 17259  	// if the signal was initiated by another workflow execution.
 17260  	ExternalInitiatedEventId *int64 `locationName:"externalInitiatedEventId" type:"long"`
 17261  
 17262  	// The workflow execution that sent the signal. This is set only of the signal
 17263  	// was sent by another workflow execution.
 17264  	ExternalWorkflowExecution *WorkflowExecution `locationName:"externalWorkflowExecution" type:"structure"`
 17265  
 17266  	// The inputs provided with the signal. The decider can use the signal name
 17267  	// and inputs to determine how to process the signal.
 17268  	Input *string `locationName:"input" type:"string"`
 17269  
 17270  	// The name of the signal received. The decider can use the signal name and
 17271  	// inputs to determine how to the process the signal.
 17272  	//
 17273  	// SignalName is a required field
 17274  	SignalName *string `locationName:"signalName" min:"1" type:"string" required:"true"`
 17275  }
 17276  
 17277  // String returns the string representation.
 17278  //
 17279  // API parameter values that are decorated as "sensitive" in the API will not
 17280  // be included in the string output. The member name will be present, but the
 17281  // value will be replaced with "sensitive".
 17282  func (s WorkflowExecutionSignaledEventAttributes) String() string {
 17283  	return awsutil.Prettify(s)
 17284  }
 17285  
 17286  // GoString returns the string representation.
 17287  //
 17288  // API parameter values that are decorated as "sensitive" in the API will not
 17289  // be included in the string output. The member name will be present, but the
 17290  // value will be replaced with "sensitive".
 17291  func (s WorkflowExecutionSignaledEventAttributes) GoString() string {
 17292  	return s.String()
 17293  }
 17294  
 17295  // SetExternalInitiatedEventId sets the ExternalInitiatedEventId field's value.
 17296  func (s *WorkflowExecutionSignaledEventAttributes) SetExternalInitiatedEventId(v int64) *WorkflowExecutionSignaledEventAttributes {
 17297  	s.ExternalInitiatedEventId = &v
 17298  	return s
 17299  }
 17300  
 17301  // SetExternalWorkflowExecution sets the ExternalWorkflowExecution field's value.
 17302  func (s *WorkflowExecutionSignaledEventAttributes) SetExternalWorkflowExecution(v *WorkflowExecution) *WorkflowExecutionSignaledEventAttributes {
 17303  	s.ExternalWorkflowExecution = v
 17304  	return s
 17305  }
 17306  
 17307  // SetInput sets the Input field's value.
 17308  func (s *WorkflowExecutionSignaledEventAttributes) SetInput(v string) *WorkflowExecutionSignaledEventAttributes {
 17309  	s.Input = &v
 17310  	return s
 17311  }
 17312  
 17313  // SetSignalName sets the SignalName field's value.
 17314  func (s *WorkflowExecutionSignaledEventAttributes) SetSignalName(v string) *WorkflowExecutionSignaledEventAttributes {
 17315  	s.SignalName = &v
 17316  	return s
 17317  }
 17318  
 17319  // Provides details of WorkflowExecutionStarted event.
 17320  type WorkflowExecutionStartedEventAttributes struct {
 17321  	_ struct{} `type:"structure"`
 17322  
 17323  	// The policy to use for the child workflow executions if this workflow execution
 17324  	// is terminated, by calling the TerminateWorkflowExecution action explicitly
 17325  	// or due to an expired timeout.
 17326  	//
 17327  	// The supported child policies are:
 17328  	//
 17329  	//    * TERMINATE – The child executions are terminated.
 17330  	//
 17331  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 17332  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 17333  	//    It is up to the decider to take appropriate actions when it receives an
 17334  	//    execution history with this event.
 17335  	//
 17336  	//    * ABANDON – No action is taken. The child executions continue to run.
 17337  	//
 17338  	// ChildPolicy is a required field
 17339  	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
 17340  
 17341  	// If this workflow execution was started due to a ContinueAsNewWorkflowExecution
 17342  	// decision, then it contains the runId of the previous workflow execution that
 17343  	// was closed and continued as this execution.
 17344  	ContinuedExecutionRunId *string `locationName:"continuedExecutionRunId" type:"string"`
 17345  
 17346  	// The maximum duration for this workflow execution.
 17347  	//
 17348  	// The duration is specified in seconds, an integer greater than or equal to
 17349  	// 0. You can use NONE to specify unlimited duration.
 17350  	ExecutionStartToCloseTimeout *string `locationName:"executionStartToCloseTimeout" type:"string"`
 17351  
 17352  	// The input provided to the workflow execution.
 17353  	Input *string `locationName:"input" type:"string"`
 17354  
 17355  	// The IAM role attached to the workflow execution.
 17356  	LambdaRole *string `locationName:"lambdaRole" min:"1" type:"string"`
 17357  
 17358  	// The ID of the StartChildWorkflowExecutionInitiated event corresponding to
 17359  	// the StartChildWorkflowExecution Decision to start this workflow execution.
 17360  	// The source event with this ID can be found in the history of the source workflow
 17361  	// execution. This information can be useful for diagnosing problems by tracing
 17362  	// back the chain of events leading up to this event.
 17363  	ParentInitiatedEventId *int64 `locationName:"parentInitiatedEventId" type:"long"`
 17364  
 17365  	// The source workflow execution that started this workflow execution. The member
 17366  	// isn't set if the workflow execution was not started by a workflow.
 17367  	ParentWorkflowExecution *WorkflowExecution `locationName:"parentWorkflowExecution" type:"structure"`
 17368  
 17369  	// The list of tags associated with this workflow execution. An execution can
 17370  	// have up to 5 tags.
 17371  	TagList []*string `locationName:"tagList" type:"list"`
 17372  
 17373  	// The name of the task list for scheduling the decision tasks for this workflow
 17374  	// execution.
 17375  	//
 17376  	// TaskList is a required field
 17377  	TaskList *TaskList `locationName:"taskList" type:"structure" required:"true"`
 17378  
 17379  	// The priority of the decision tasks in the workflow execution.
 17380  	TaskPriority *string `locationName:"taskPriority" type:"string"`
 17381  
 17382  	// The maximum duration of decision tasks for this workflow type.
 17383  	//
 17384  	// The duration is specified in seconds, an integer greater than or equal to
 17385  	// 0. You can use NONE to specify unlimited duration.
 17386  	TaskStartToCloseTimeout *string `locationName:"taskStartToCloseTimeout" type:"string"`
 17387  
 17388  	// The workflow type of this execution.
 17389  	//
 17390  	// WorkflowType is a required field
 17391  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 17392  }
 17393  
 17394  // String returns the string representation.
 17395  //
 17396  // API parameter values that are decorated as "sensitive" in the API will not
 17397  // be included in the string output. The member name will be present, but the
 17398  // value will be replaced with "sensitive".
 17399  func (s WorkflowExecutionStartedEventAttributes) String() string {
 17400  	return awsutil.Prettify(s)
 17401  }
 17402  
 17403  // GoString returns the string representation.
 17404  //
 17405  // API parameter values that are decorated as "sensitive" in the API will not
 17406  // be included in the string output. The member name will be present, but the
 17407  // value will be replaced with "sensitive".
 17408  func (s WorkflowExecutionStartedEventAttributes) GoString() string {
 17409  	return s.String()
 17410  }
 17411  
 17412  // SetChildPolicy sets the ChildPolicy field's value.
 17413  func (s *WorkflowExecutionStartedEventAttributes) SetChildPolicy(v string) *WorkflowExecutionStartedEventAttributes {
 17414  	s.ChildPolicy = &v
 17415  	return s
 17416  }
 17417  
 17418  // SetContinuedExecutionRunId sets the ContinuedExecutionRunId field's value.
 17419  func (s *WorkflowExecutionStartedEventAttributes) SetContinuedExecutionRunId(v string) *WorkflowExecutionStartedEventAttributes {
 17420  	s.ContinuedExecutionRunId = &v
 17421  	return s
 17422  }
 17423  
 17424  // SetExecutionStartToCloseTimeout sets the ExecutionStartToCloseTimeout field's value.
 17425  func (s *WorkflowExecutionStartedEventAttributes) SetExecutionStartToCloseTimeout(v string) *WorkflowExecutionStartedEventAttributes {
 17426  	s.ExecutionStartToCloseTimeout = &v
 17427  	return s
 17428  }
 17429  
 17430  // SetInput sets the Input field's value.
 17431  func (s *WorkflowExecutionStartedEventAttributes) SetInput(v string) *WorkflowExecutionStartedEventAttributes {
 17432  	s.Input = &v
 17433  	return s
 17434  }
 17435  
 17436  // SetLambdaRole sets the LambdaRole field's value.
 17437  func (s *WorkflowExecutionStartedEventAttributes) SetLambdaRole(v string) *WorkflowExecutionStartedEventAttributes {
 17438  	s.LambdaRole = &v
 17439  	return s
 17440  }
 17441  
 17442  // SetParentInitiatedEventId sets the ParentInitiatedEventId field's value.
 17443  func (s *WorkflowExecutionStartedEventAttributes) SetParentInitiatedEventId(v int64) *WorkflowExecutionStartedEventAttributes {
 17444  	s.ParentInitiatedEventId = &v
 17445  	return s
 17446  }
 17447  
 17448  // SetParentWorkflowExecution sets the ParentWorkflowExecution field's value.
 17449  func (s *WorkflowExecutionStartedEventAttributes) SetParentWorkflowExecution(v *WorkflowExecution) *WorkflowExecutionStartedEventAttributes {
 17450  	s.ParentWorkflowExecution = v
 17451  	return s
 17452  }
 17453  
 17454  // SetTagList sets the TagList field's value.
 17455  func (s *WorkflowExecutionStartedEventAttributes) SetTagList(v []*string) *WorkflowExecutionStartedEventAttributes {
 17456  	s.TagList = v
 17457  	return s
 17458  }
 17459  
 17460  // SetTaskList sets the TaskList field's value.
 17461  func (s *WorkflowExecutionStartedEventAttributes) SetTaskList(v *TaskList) *WorkflowExecutionStartedEventAttributes {
 17462  	s.TaskList = v
 17463  	return s
 17464  }
 17465  
 17466  // SetTaskPriority sets the TaskPriority field's value.
 17467  func (s *WorkflowExecutionStartedEventAttributes) SetTaskPriority(v string) *WorkflowExecutionStartedEventAttributes {
 17468  	s.TaskPriority = &v
 17469  	return s
 17470  }
 17471  
 17472  // SetTaskStartToCloseTimeout sets the TaskStartToCloseTimeout field's value.
 17473  func (s *WorkflowExecutionStartedEventAttributes) SetTaskStartToCloseTimeout(v string) *WorkflowExecutionStartedEventAttributes {
 17474  	s.TaskStartToCloseTimeout = &v
 17475  	return s
 17476  }
 17477  
 17478  // SetWorkflowType sets the WorkflowType field's value.
 17479  func (s *WorkflowExecutionStartedEventAttributes) SetWorkflowType(v *WorkflowType) *WorkflowExecutionStartedEventAttributes {
 17480  	s.WorkflowType = v
 17481  	return s
 17482  }
 17483  
 17484  // Provides the details of the WorkflowExecutionTerminated event.
 17485  type WorkflowExecutionTerminatedEventAttributes struct {
 17486  	_ struct{} `type:"structure"`
 17487  
 17488  	// If set, indicates that the workflow execution was automatically terminated,
 17489  	// and specifies the cause. This happens if the parent workflow execution times
 17490  	// out or is terminated and the child policy is set to terminate child executions.
 17491  	Cause *string `locationName:"cause" type:"string" enum:"WorkflowExecutionTerminatedCause"`
 17492  
 17493  	// The policy used for the child workflow executions of this workflow execution.
 17494  	//
 17495  	// The supported child policies are:
 17496  	//
 17497  	//    * TERMINATE – The child executions are terminated.
 17498  	//
 17499  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 17500  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 17501  	//    It is up to the decider to take appropriate actions when it receives an
 17502  	//    execution history with this event.
 17503  	//
 17504  	//    * ABANDON – No action is taken. The child executions continue to run.
 17505  	//
 17506  	// ChildPolicy is a required field
 17507  	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
 17508  
 17509  	// The details provided for the termination.
 17510  	Details *string `locationName:"details" type:"string"`
 17511  
 17512  	// The reason provided for the termination.
 17513  	Reason *string `locationName:"reason" type:"string"`
 17514  }
 17515  
 17516  // String returns the string representation.
 17517  //
 17518  // API parameter values that are decorated as "sensitive" in the API will not
 17519  // be included in the string output. The member name will be present, but the
 17520  // value will be replaced with "sensitive".
 17521  func (s WorkflowExecutionTerminatedEventAttributes) String() string {
 17522  	return awsutil.Prettify(s)
 17523  }
 17524  
 17525  // GoString returns the string representation.
 17526  //
 17527  // API parameter values that are decorated as "sensitive" in the API will not
 17528  // be included in the string output. The member name will be present, but the
 17529  // value will be replaced with "sensitive".
 17530  func (s WorkflowExecutionTerminatedEventAttributes) GoString() string {
 17531  	return s.String()
 17532  }
 17533  
 17534  // SetCause sets the Cause field's value.
 17535  func (s *WorkflowExecutionTerminatedEventAttributes) SetCause(v string) *WorkflowExecutionTerminatedEventAttributes {
 17536  	s.Cause = &v
 17537  	return s
 17538  }
 17539  
 17540  // SetChildPolicy sets the ChildPolicy field's value.
 17541  func (s *WorkflowExecutionTerminatedEventAttributes) SetChildPolicy(v string) *WorkflowExecutionTerminatedEventAttributes {
 17542  	s.ChildPolicy = &v
 17543  	return s
 17544  }
 17545  
 17546  // SetDetails sets the Details field's value.
 17547  func (s *WorkflowExecutionTerminatedEventAttributes) SetDetails(v string) *WorkflowExecutionTerminatedEventAttributes {
 17548  	s.Details = &v
 17549  	return s
 17550  }
 17551  
 17552  // SetReason sets the Reason field's value.
 17553  func (s *WorkflowExecutionTerminatedEventAttributes) SetReason(v string) *WorkflowExecutionTerminatedEventAttributes {
 17554  	s.Reason = &v
 17555  	return s
 17556  }
 17557  
 17558  // Provides the details of the WorkflowExecutionTimedOut event.
 17559  type WorkflowExecutionTimedOutEventAttributes struct {
 17560  	_ struct{} `type:"structure"`
 17561  
 17562  	// The policy used for the child workflow executions of this workflow execution.
 17563  	//
 17564  	// The supported child policies are:
 17565  	//
 17566  	//    * TERMINATE – The child executions are terminated.
 17567  	//
 17568  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 17569  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 17570  	//    It is up to the decider to take appropriate actions when it receives an
 17571  	//    execution history with this event.
 17572  	//
 17573  	//    * ABANDON – No action is taken. The child executions continue to run.
 17574  	//
 17575  	// ChildPolicy is a required field
 17576  	ChildPolicy *string `locationName:"childPolicy" type:"string" required:"true" enum:"ChildPolicy"`
 17577  
 17578  	// The type of timeout that caused this event.
 17579  	//
 17580  	// TimeoutType is a required field
 17581  	TimeoutType *string `locationName:"timeoutType" type:"string" required:"true" enum:"WorkflowExecutionTimeoutType"`
 17582  }
 17583  
 17584  // String returns the string representation.
 17585  //
 17586  // API parameter values that are decorated as "sensitive" in the API will not
 17587  // be included in the string output. The member name will be present, but the
 17588  // value will be replaced with "sensitive".
 17589  func (s WorkflowExecutionTimedOutEventAttributes) String() string {
 17590  	return awsutil.Prettify(s)
 17591  }
 17592  
 17593  // GoString returns the string representation.
 17594  //
 17595  // API parameter values that are decorated as "sensitive" in the API will not
 17596  // be included in the string output. The member name will be present, but the
 17597  // value will be replaced with "sensitive".
 17598  func (s WorkflowExecutionTimedOutEventAttributes) GoString() string {
 17599  	return s.String()
 17600  }
 17601  
 17602  // SetChildPolicy sets the ChildPolicy field's value.
 17603  func (s *WorkflowExecutionTimedOutEventAttributes) SetChildPolicy(v string) *WorkflowExecutionTimedOutEventAttributes {
 17604  	s.ChildPolicy = &v
 17605  	return s
 17606  }
 17607  
 17608  // SetTimeoutType sets the TimeoutType field's value.
 17609  func (s *WorkflowExecutionTimedOutEventAttributes) SetTimeoutType(v string) *WorkflowExecutionTimedOutEventAttributes {
 17610  	s.TimeoutType = &v
 17611  	return s
 17612  }
 17613  
 17614  // Represents a workflow type.
 17615  type WorkflowType struct {
 17616  	_ struct{} `type:"structure"`
 17617  
 17618  	// The name of the workflow type.
 17619  	//
 17620  	// The combination of workflow type name and version must be unique with in
 17621  	// a domain.
 17622  	//
 17623  	// Name is a required field
 17624  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 17625  
 17626  	// The version of the workflow type.
 17627  	//
 17628  	// The combination of workflow type name and version must be unique with in
 17629  	// a domain.
 17630  	//
 17631  	// Version is a required field
 17632  	Version *string `locationName:"version" min:"1" type:"string" required:"true"`
 17633  }
 17634  
 17635  // String returns the string representation.
 17636  //
 17637  // API parameter values that are decorated as "sensitive" in the API will not
 17638  // be included in the string output. The member name will be present, but the
 17639  // value will be replaced with "sensitive".
 17640  func (s WorkflowType) String() string {
 17641  	return awsutil.Prettify(s)
 17642  }
 17643  
 17644  // GoString returns the string representation.
 17645  //
 17646  // API parameter values that are decorated as "sensitive" in the API will not
 17647  // be included in the string output. The member name will be present, but the
 17648  // value will be replaced with "sensitive".
 17649  func (s WorkflowType) GoString() string {
 17650  	return s.String()
 17651  }
 17652  
 17653  // Validate inspects the fields of the type to determine if they are valid.
 17654  func (s *WorkflowType) Validate() error {
 17655  	invalidParams := request.ErrInvalidParams{Context: "WorkflowType"}
 17656  	if s.Name == nil {
 17657  		invalidParams.Add(request.NewErrParamRequired("Name"))
 17658  	}
 17659  	if s.Name != nil && len(*s.Name) < 1 {
 17660  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 17661  	}
 17662  	if s.Version == nil {
 17663  		invalidParams.Add(request.NewErrParamRequired("Version"))
 17664  	}
 17665  	if s.Version != nil && len(*s.Version) < 1 {
 17666  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 17667  	}
 17668  
 17669  	if invalidParams.Len() > 0 {
 17670  		return invalidParams
 17671  	}
 17672  	return nil
 17673  }
 17674  
 17675  // SetName sets the Name field's value.
 17676  func (s *WorkflowType) SetName(v string) *WorkflowType {
 17677  	s.Name = &v
 17678  	return s
 17679  }
 17680  
 17681  // SetVersion sets the Version field's value.
 17682  func (s *WorkflowType) SetVersion(v string) *WorkflowType {
 17683  	s.Version = &v
 17684  	return s
 17685  }
 17686  
 17687  // The configuration settings of a workflow type.
 17688  type WorkflowTypeConfiguration struct {
 17689  	_ struct{} `type:"structure"`
 17690  
 17691  	// The default policy to use for the child workflow executions when a workflow
 17692  	// execution of this type is terminated, by calling the TerminateWorkflowExecution
 17693  	// action explicitly or due to an expired timeout. This default can be overridden
 17694  	// when starting a workflow execution using the StartWorkflowExecution action
 17695  	// or the StartChildWorkflowExecution Decision.
 17696  	//
 17697  	// The supported child policies are:
 17698  	//
 17699  	//    * TERMINATE – The child executions are terminated.
 17700  	//
 17701  	//    * REQUEST_CANCEL – A request to cancel is attempted for each child execution
 17702  	//    by recording a WorkflowExecutionCancelRequested event in its history.
 17703  	//    It is up to the decider to take appropriate actions when it receives an
 17704  	//    execution history with this event.
 17705  	//
 17706  	//    * ABANDON – No action is taken. The child executions continue to run.
 17707  	DefaultChildPolicy *string `locationName:"defaultChildPolicy" type:"string" enum:"ChildPolicy"`
 17708  
 17709  	// The default maximum duration, specified when registering the workflow type,
 17710  	// for executions of this workflow type. This default can be overridden when
 17711  	// starting a workflow execution using the StartWorkflowExecution action or
 17712  	// the StartChildWorkflowExecution Decision.
 17713  	//
 17714  	// The duration is specified in seconds, an integer greater than or equal to
 17715  	// 0. You can use NONE to specify unlimited duration.
 17716  	DefaultExecutionStartToCloseTimeout *string `locationName:"defaultExecutionStartToCloseTimeout" type:"string"`
 17717  
 17718  	// The default IAM role attached to this workflow type.
 17719  	//
 17720  	// Executions of this workflow type need IAM roles to invoke Lambda functions.
 17721  	// If you don't specify an IAM role when starting this workflow type, the default
 17722  	// Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html
 17723  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html)
 17724  	// in the Amazon SWF Developer Guide.
 17725  	DefaultLambdaRole *string `locationName:"defaultLambdaRole" min:"1" type:"string"`
 17726  
 17727  	// The default task list, specified when registering the workflow type, for
 17728  	// decisions tasks scheduled for workflow executions of this type. This default
 17729  	// can be overridden when starting a workflow execution using the StartWorkflowExecution
 17730  	// action or the StartChildWorkflowExecution Decision.
 17731  	DefaultTaskList *TaskList `locationName:"defaultTaskList" type:"structure"`
 17732  
 17733  	// The default task priority, specified when registering the workflow type,
 17734  	// for all decision tasks of this workflow type. This default can be overridden
 17735  	// when starting a workflow execution using the StartWorkflowExecution action
 17736  	// or the StartChildWorkflowExecution decision.
 17737  	//
 17738  	// Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648)
 17739  	// to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.
 17740  	//
 17741  	// For more information about setting task priority, see Setting Task Priority
 17742  	// (https://docs.aws.amazon.com/amazonswf/latest/developerguide/programming-priority.html)
 17743  	// in the Amazon SWF Developer Guide.
 17744  	DefaultTaskPriority *string `locationName:"defaultTaskPriority" type:"string"`
 17745  
 17746  	// The default maximum duration, specified when registering the workflow type,
 17747  	// that a decision task for executions of this workflow type might take before
 17748  	// returning completion or failure. If the task doesn'tdo close in the specified
 17749  	// time then the task is automatically timed out and rescheduled. If the decider
 17750  	// eventually reports a completion or failure, it is ignored. This default can
 17751  	// be overridden when starting a workflow execution using the StartWorkflowExecution
 17752  	// action or the StartChildWorkflowExecution Decision.
 17753  	//
 17754  	// The duration is specified in seconds, an integer greater than or equal to
 17755  	// 0. You can use NONE to specify unlimited duration.
 17756  	DefaultTaskStartToCloseTimeout *string `locationName:"defaultTaskStartToCloseTimeout" type:"string"`
 17757  }
 17758  
 17759  // String returns the string representation.
 17760  //
 17761  // API parameter values that are decorated as "sensitive" in the API will not
 17762  // be included in the string output. The member name will be present, but the
 17763  // value will be replaced with "sensitive".
 17764  func (s WorkflowTypeConfiguration) String() string {
 17765  	return awsutil.Prettify(s)
 17766  }
 17767  
 17768  // GoString returns the string representation.
 17769  //
 17770  // API parameter values that are decorated as "sensitive" in the API will not
 17771  // be included in the string output. The member name will be present, but the
 17772  // value will be replaced with "sensitive".
 17773  func (s WorkflowTypeConfiguration) GoString() string {
 17774  	return s.String()
 17775  }
 17776  
 17777  // SetDefaultChildPolicy sets the DefaultChildPolicy field's value.
 17778  func (s *WorkflowTypeConfiguration) SetDefaultChildPolicy(v string) *WorkflowTypeConfiguration {
 17779  	s.DefaultChildPolicy = &v
 17780  	return s
 17781  }
 17782  
 17783  // SetDefaultExecutionStartToCloseTimeout sets the DefaultExecutionStartToCloseTimeout field's value.
 17784  func (s *WorkflowTypeConfiguration) SetDefaultExecutionStartToCloseTimeout(v string) *WorkflowTypeConfiguration {
 17785  	s.DefaultExecutionStartToCloseTimeout = &v
 17786  	return s
 17787  }
 17788  
 17789  // SetDefaultLambdaRole sets the DefaultLambdaRole field's value.
 17790  func (s *WorkflowTypeConfiguration) SetDefaultLambdaRole(v string) *WorkflowTypeConfiguration {
 17791  	s.DefaultLambdaRole = &v
 17792  	return s
 17793  }
 17794  
 17795  // SetDefaultTaskList sets the DefaultTaskList field's value.
 17796  func (s *WorkflowTypeConfiguration) SetDefaultTaskList(v *TaskList) *WorkflowTypeConfiguration {
 17797  	s.DefaultTaskList = v
 17798  	return s
 17799  }
 17800  
 17801  // SetDefaultTaskPriority sets the DefaultTaskPriority field's value.
 17802  func (s *WorkflowTypeConfiguration) SetDefaultTaskPriority(v string) *WorkflowTypeConfiguration {
 17803  	s.DefaultTaskPriority = &v
 17804  	return s
 17805  }
 17806  
 17807  // SetDefaultTaskStartToCloseTimeout sets the DefaultTaskStartToCloseTimeout field's value.
 17808  func (s *WorkflowTypeConfiguration) SetDefaultTaskStartToCloseTimeout(v string) *WorkflowTypeConfiguration {
 17809  	s.DefaultTaskStartToCloseTimeout = &v
 17810  	return s
 17811  }
 17812  
 17813  // Used to filter workflow execution query results by type. Each parameter,
 17814  // if specified, defines a rule that must be satisfied by each returned result.
 17815  type WorkflowTypeFilter struct {
 17816  	_ struct{} `type:"structure"`
 17817  
 17818  	// Name of the workflow type.
 17819  	//
 17820  	// Name is a required field
 17821  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 17822  
 17823  	// Version of the workflow type.
 17824  	Version *string `locationName:"version" type:"string"`
 17825  }
 17826  
 17827  // String returns the string representation.
 17828  //
 17829  // API parameter values that are decorated as "sensitive" in the API will not
 17830  // be included in the string output. The member name will be present, but the
 17831  // value will be replaced with "sensitive".
 17832  func (s WorkflowTypeFilter) String() string {
 17833  	return awsutil.Prettify(s)
 17834  }
 17835  
 17836  // GoString returns the string representation.
 17837  //
 17838  // API parameter values that are decorated as "sensitive" in the API will not
 17839  // be included in the string output. The member name will be present, but the
 17840  // value will be replaced with "sensitive".
 17841  func (s WorkflowTypeFilter) GoString() string {
 17842  	return s.String()
 17843  }
 17844  
 17845  // Validate inspects the fields of the type to determine if they are valid.
 17846  func (s *WorkflowTypeFilter) Validate() error {
 17847  	invalidParams := request.ErrInvalidParams{Context: "WorkflowTypeFilter"}
 17848  	if s.Name == nil {
 17849  		invalidParams.Add(request.NewErrParamRequired("Name"))
 17850  	}
 17851  	if s.Name != nil && len(*s.Name) < 1 {
 17852  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 17853  	}
 17854  
 17855  	if invalidParams.Len() > 0 {
 17856  		return invalidParams
 17857  	}
 17858  	return nil
 17859  }
 17860  
 17861  // SetName sets the Name field's value.
 17862  func (s *WorkflowTypeFilter) SetName(v string) *WorkflowTypeFilter {
 17863  	s.Name = &v
 17864  	return s
 17865  }
 17866  
 17867  // SetVersion sets the Version field's value.
 17868  func (s *WorkflowTypeFilter) SetVersion(v string) *WorkflowTypeFilter {
 17869  	s.Version = &v
 17870  	return s
 17871  }
 17872  
 17873  // Contains information about a workflow type.
 17874  type WorkflowTypeInfo struct {
 17875  	_ struct{} `type:"structure"`
 17876  
 17877  	// The date when this type was registered.
 17878  	//
 17879  	// CreationDate is a required field
 17880  	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"`
 17881  
 17882  	// If the type is in deprecated state, then it is set to the date when the type
 17883  	// was deprecated.
 17884  	DeprecationDate *time.Time `locationName:"deprecationDate" type:"timestamp"`
 17885  
 17886  	// The description of the type registered through RegisterWorkflowType.
 17887  	Description *string `locationName:"description" type:"string"`
 17888  
 17889  	// The current status of the workflow type.
 17890  	//
 17891  	// Status is a required field
 17892  	Status *string `locationName:"status" type:"string" required:"true" enum:"RegistrationStatus"`
 17893  
 17894  	// The workflow type this information is about.
 17895  	//
 17896  	// WorkflowType is a required field
 17897  	WorkflowType *WorkflowType `locationName:"workflowType" type:"structure" required:"true"`
 17898  }
 17899  
 17900  // String returns the string representation.
 17901  //
 17902  // API parameter values that are decorated as "sensitive" in the API will not
 17903  // be included in the string output. The member name will be present, but the
 17904  // value will be replaced with "sensitive".
 17905  func (s WorkflowTypeInfo) String() string {
 17906  	return awsutil.Prettify(s)
 17907  }
 17908  
 17909  // GoString returns the string representation.
 17910  //
 17911  // API parameter values that are decorated as "sensitive" in the API will not
 17912  // be included in the string output. The member name will be present, but the
 17913  // value will be replaced with "sensitive".
 17914  func (s WorkflowTypeInfo) GoString() string {
 17915  	return s.String()
 17916  }
 17917  
 17918  // SetCreationDate sets the CreationDate field's value.
 17919  func (s *WorkflowTypeInfo) SetCreationDate(v time.Time) *WorkflowTypeInfo {
 17920  	s.CreationDate = &v
 17921  	return s
 17922  }
 17923  
 17924  // SetDeprecationDate sets the DeprecationDate field's value.
 17925  func (s *WorkflowTypeInfo) SetDeprecationDate(v time.Time) *WorkflowTypeInfo {
 17926  	s.DeprecationDate = &v
 17927  	return s
 17928  }
 17929  
 17930  // SetDescription sets the Description field's value.
 17931  func (s *WorkflowTypeInfo) SetDescription(v string) *WorkflowTypeInfo {
 17932  	s.Description = &v
 17933  	return s
 17934  }
 17935  
 17936  // SetStatus sets the Status field's value.
 17937  func (s *WorkflowTypeInfo) SetStatus(v string) *WorkflowTypeInfo {
 17938  	s.Status = &v
 17939  	return s
 17940  }
 17941  
 17942  // SetWorkflowType sets the WorkflowType field's value.
 17943  func (s *WorkflowTypeInfo) SetWorkflowType(v *WorkflowType) *WorkflowTypeInfo {
 17944  	s.WorkflowType = v
 17945  	return s
 17946  }
 17947  
 17948  const (
 17949  	// ActivityTaskTimeoutTypeStartToClose is a ActivityTaskTimeoutType enum value
 17950  	ActivityTaskTimeoutTypeStartToClose = "START_TO_CLOSE"
 17951  
 17952  	// ActivityTaskTimeoutTypeScheduleToStart is a ActivityTaskTimeoutType enum value
 17953  	ActivityTaskTimeoutTypeScheduleToStart = "SCHEDULE_TO_START"
 17954  
 17955  	// ActivityTaskTimeoutTypeScheduleToClose is a ActivityTaskTimeoutType enum value
 17956  	ActivityTaskTimeoutTypeScheduleToClose = "SCHEDULE_TO_CLOSE"
 17957  
 17958  	// ActivityTaskTimeoutTypeHeartbeat is a ActivityTaskTimeoutType enum value
 17959  	ActivityTaskTimeoutTypeHeartbeat = "HEARTBEAT"
 17960  )
 17961  
 17962  // ActivityTaskTimeoutType_Values returns all elements of the ActivityTaskTimeoutType enum
 17963  func ActivityTaskTimeoutType_Values() []string {
 17964  	return []string{
 17965  		ActivityTaskTimeoutTypeStartToClose,
 17966  		ActivityTaskTimeoutTypeScheduleToStart,
 17967  		ActivityTaskTimeoutTypeScheduleToClose,
 17968  		ActivityTaskTimeoutTypeHeartbeat,
 17969  	}
 17970  }
 17971  
 17972  const (
 17973  	// CancelTimerFailedCauseTimerIdUnknown is a CancelTimerFailedCause enum value
 17974  	CancelTimerFailedCauseTimerIdUnknown = "TIMER_ID_UNKNOWN"
 17975  
 17976  	// CancelTimerFailedCauseOperationNotPermitted is a CancelTimerFailedCause enum value
 17977  	CancelTimerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 17978  )
 17979  
 17980  // CancelTimerFailedCause_Values returns all elements of the CancelTimerFailedCause enum
 17981  func CancelTimerFailedCause_Values() []string {
 17982  	return []string{
 17983  		CancelTimerFailedCauseTimerIdUnknown,
 17984  		CancelTimerFailedCauseOperationNotPermitted,
 17985  	}
 17986  }
 17987  
 17988  const (
 17989  	// CancelWorkflowExecutionFailedCauseUnhandledDecision is a CancelWorkflowExecutionFailedCause enum value
 17990  	CancelWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
 17991  
 17992  	// CancelWorkflowExecutionFailedCauseOperationNotPermitted is a CancelWorkflowExecutionFailedCause enum value
 17993  	CancelWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 17994  )
 17995  
 17996  // CancelWorkflowExecutionFailedCause_Values returns all elements of the CancelWorkflowExecutionFailedCause enum
 17997  func CancelWorkflowExecutionFailedCause_Values() []string {
 17998  	return []string{
 17999  		CancelWorkflowExecutionFailedCauseUnhandledDecision,
 18000  		CancelWorkflowExecutionFailedCauseOperationNotPermitted,
 18001  	}
 18002  }
 18003  
 18004  const (
 18005  	// ChildPolicyTerminate is a ChildPolicy enum value
 18006  	ChildPolicyTerminate = "TERMINATE"
 18007  
 18008  	// ChildPolicyRequestCancel is a ChildPolicy enum value
 18009  	ChildPolicyRequestCancel = "REQUEST_CANCEL"
 18010  
 18011  	// ChildPolicyAbandon is a ChildPolicy enum value
 18012  	ChildPolicyAbandon = "ABANDON"
 18013  )
 18014  
 18015  // ChildPolicy_Values returns all elements of the ChildPolicy enum
 18016  func ChildPolicy_Values() []string {
 18017  	return []string{
 18018  		ChildPolicyTerminate,
 18019  		ChildPolicyRequestCancel,
 18020  		ChildPolicyAbandon,
 18021  	}
 18022  }
 18023  
 18024  const (
 18025  	// CloseStatusCompleted is a CloseStatus enum value
 18026  	CloseStatusCompleted = "COMPLETED"
 18027  
 18028  	// CloseStatusFailed is a CloseStatus enum value
 18029  	CloseStatusFailed = "FAILED"
 18030  
 18031  	// CloseStatusCanceled is a CloseStatus enum value
 18032  	CloseStatusCanceled = "CANCELED"
 18033  
 18034  	// CloseStatusTerminated is a CloseStatus enum value
 18035  	CloseStatusTerminated = "TERMINATED"
 18036  
 18037  	// CloseStatusContinuedAsNew is a CloseStatus enum value
 18038  	CloseStatusContinuedAsNew = "CONTINUED_AS_NEW"
 18039  
 18040  	// CloseStatusTimedOut is a CloseStatus enum value
 18041  	CloseStatusTimedOut = "TIMED_OUT"
 18042  )
 18043  
 18044  // CloseStatus_Values returns all elements of the CloseStatus enum
 18045  func CloseStatus_Values() []string {
 18046  	return []string{
 18047  		CloseStatusCompleted,
 18048  		CloseStatusFailed,
 18049  		CloseStatusCanceled,
 18050  		CloseStatusTerminated,
 18051  		CloseStatusContinuedAsNew,
 18052  		CloseStatusTimedOut,
 18053  	}
 18054  }
 18055  
 18056  const (
 18057  	// CompleteWorkflowExecutionFailedCauseUnhandledDecision is a CompleteWorkflowExecutionFailedCause enum value
 18058  	CompleteWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
 18059  
 18060  	// CompleteWorkflowExecutionFailedCauseOperationNotPermitted is a CompleteWorkflowExecutionFailedCause enum value
 18061  	CompleteWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18062  )
 18063  
 18064  // CompleteWorkflowExecutionFailedCause_Values returns all elements of the CompleteWorkflowExecutionFailedCause enum
 18065  func CompleteWorkflowExecutionFailedCause_Values() []string {
 18066  	return []string{
 18067  		CompleteWorkflowExecutionFailedCauseUnhandledDecision,
 18068  		CompleteWorkflowExecutionFailedCauseOperationNotPermitted,
 18069  	}
 18070  }
 18071  
 18072  const (
 18073  	// ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18074  	ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
 18075  
 18076  	// ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18077  	ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated = "WORKFLOW_TYPE_DEPRECATED"
 18078  
 18079  	// ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18080  	ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist = "WORKFLOW_TYPE_DOES_NOT_EXIST"
 18081  
 18082  	// ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18083  	ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined = "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED"
 18084  
 18085  	// ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18086  	ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined = "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED"
 18087  
 18088  	// ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18089  	ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
 18090  
 18091  	// ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18092  	ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined = "DEFAULT_CHILD_POLICY_UNDEFINED"
 18093  
 18094  	// ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18095  	ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded = "CONTINUE_AS_NEW_WORKFLOW_EXECUTION_RATE_EXCEEDED"
 18096  
 18097  	// ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted is a ContinueAsNewWorkflowExecutionFailedCause enum value
 18098  	ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18099  )
 18100  
 18101  // ContinueAsNewWorkflowExecutionFailedCause_Values returns all elements of the ContinueAsNewWorkflowExecutionFailedCause enum
 18102  func ContinueAsNewWorkflowExecutionFailedCause_Values() []string {
 18103  	return []string{
 18104  		ContinueAsNewWorkflowExecutionFailedCauseUnhandledDecision,
 18105  		ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDeprecated,
 18106  		ContinueAsNewWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist,
 18107  		ContinueAsNewWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined,
 18108  		ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined,
 18109  		ContinueAsNewWorkflowExecutionFailedCauseDefaultTaskListUndefined,
 18110  		ContinueAsNewWorkflowExecutionFailedCauseDefaultChildPolicyUndefined,
 18111  		ContinueAsNewWorkflowExecutionFailedCauseContinueAsNewWorkflowExecutionRateExceeded,
 18112  		ContinueAsNewWorkflowExecutionFailedCauseOperationNotPermitted,
 18113  	}
 18114  }
 18115  
 18116  const (
 18117  	// DecisionTaskTimeoutTypeStartToClose is a DecisionTaskTimeoutType enum value
 18118  	DecisionTaskTimeoutTypeStartToClose = "START_TO_CLOSE"
 18119  )
 18120  
 18121  // DecisionTaskTimeoutType_Values returns all elements of the DecisionTaskTimeoutType enum
 18122  func DecisionTaskTimeoutType_Values() []string {
 18123  	return []string{
 18124  		DecisionTaskTimeoutTypeStartToClose,
 18125  	}
 18126  }
 18127  
 18128  const (
 18129  	// DecisionTypeScheduleActivityTask is a DecisionType enum value
 18130  	DecisionTypeScheduleActivityTask = "ScheduleActivityTask"
 18131  
 18132  	// DecisionTypeRequestCancelActivityTask is a DecisionType enum value
 18133  	DecisionTypeRequestCancelActivityTask = "RequestCancelActivityTask"
 18134  
 18135  	// DecisionTypeCompleteWorkflowExecution is a DecisionType enum value
 18136  	DecisionTypeCompleteWorkflowExecution = "CompleteWorkflowExecution"
 18137  
 18138  	// DecisionTypeFailWorkflowExecution is a DecisionType enum value
 18139  	DecisionTypeFailWorkflowExecution = "FailWorkflowExecution"
 18140  
 18141  	// DecisionTypeCancelWorkflowExecution is a DecisionType enum value
 18142  	DecisionTypeCancelWorkflowExecution = "CancelWorkflowExecution"
 18143  
 18144  	// DecisionTypeContinueAsNewWorkflowExecution is a DecisionType enum value
 18145  	DecisionTypeContinueAsNewWorkflowExecution = "ContinueAsNewWorkflowExecution"
 18146  
 18147  	// DecisionTypeRecordMarker is a DecisionType enum value
 18148  	DecisionTypeRecordMarker = "RecordMarker"
 18149  
 18150  	// DecisionTypeStartTimer is a DecisionType enum value
 18151  	DecisionTypeStartTimer = "StartTimer"
 18152  
 18153  	// DecisionTypeCancelTimer is a DecisionType enum value
 18154  	DecisionTypeCancelTimer = "CancelTimer"
 18155  
 18156  	// DecisionTypeSignalExternalWorkflowExecution is a DecisionType enum value
 18157  	DecisionTypeSignalExternalWorkflowExecution = "SignalExternalWorkflowExecution"
 18158  
 18159  	// DecisionTypeRequestCancelExternalWorkflowExecution is a DecisionType enum value
 18160  	DecisionTypeRequestCancelExternalWorkflowExecution = "RequestCancelExternalWorkflowExecution"
 18161  
 18162  	// DecisionTypeStartChildWorkflowExecution is a DecisionType enum value
 18163  	DecisionTypeStartChildWorkflowExecution = "StartChildWorkflowExecution"
 18164  
 18165  	// DecisionTypeScheduleLambdaFunction is a DecisionType enum value
 18166  	DecisionTypeScheduleLambdaFunction = "ScheduleLambdaFunction"
 18167  )
 18168  
 18169  // DecisionType_Values returns all elements of the DecisionType enum
 18170  func DecisionType_Values() []string {
 18171  	return []string{
 18172  		DecisionTypeScheduleActivityTask,
 18173  		DecisionTypeRequestCancelActivityTask,
 18174  		DecisionTypeCompleteWorkflowExecution,
 18175  		DecisionTypeFailWorkflowExecution,
 18176  		DecisionTypeCancelWorkflowExecution,
 18177  		DecisionTypeContinueAsNewWorkflowExecution,
 18178  		DecisionTypeRecordMarker,
 18179  		DecisionTypeStartTimer,
 18180  		DecisionTypeCancelTimer,
 18181  		DecisionTypeSignalExternalWorkflowExecution,
 18182  		DecisionTypeRequestCancelExternalWorkflowExecution,
 18183  		DecisionTypeStartChildWorkflowExecution,
 18184  		DecisionTypeScheduleLambdaFunction,
 18185  	}
 18186  }
 18187  
 18188  const (
 18189  	// EventTypeWorkflowExecutionStarted is a EventType enum value
 18190  	EventTypeWorkflowExecutionStarted = "WorkflowExecutionStarted"
 18191  
 18192  	// EventTypeWorkflowExecutionCancelRequested is a EventType enum value
 18193  	EventTypeWorkflowExecutionCancelRequested = "WorkflowExecutionCancelRequested"
 18194  
 18195  	// EventTypeWorkflowExecutionCompleted is a EventType enum value
 18196  	EventTypeWorkflowExecutionCompleted = "WorkflowExecutionCompleted"
 18197  
 18198  	// EventTypeCompleteWorkflowExecutionFailed is a EventType enum value
 18199  	EventTypeCompleteWorkflowExecutionFailed = "CompleteWorkflowExecutionFailed"
 18200  
 18201  	// EventTypeWorkflowExecutionFailed is a EventType enum value
 18202  	EventTypeWorkflowExecutionFailed = "WorkflowExecutionFailed"
 18203  
 18204  	// EventTypeFailWorkflowExecutionFailed is a EventType enum value
 18205  	EventTypeFailWorkflowExecutionFailed = "FailWorkflowExecutionFailed"
 18206  
 18207  	// EventTypeWorkflowExecutionTimedOut is a EventType enum value
 18208  	EventTypeWorkflowExecutionTimedOut = "WorkflowExecutionTimedOut"
 18209  
 18210  	// EventTypeWorkflowExecutionCanceled is a EventType enum value
 18211  	EventTypeWorkflowExecutionCanceled = "WorkflowExecutionCanceled"
 18212  
 18213  	// EventTypeCancelWorkflowExecutionFailed is a EventType enum value
 18214  	EventTypeCancelWorkflowExecutionFailed = "CancelWorkflowExecutionFailed"
 18215  
 18216  	// EventTypeWorkflowExecutionContinuedAsNew is a EventType enum value
 18217  	EventTypeWorkflowExecutionContinuedAsNew = "WorkflowExecutionContinuedAsNew"
 18218  
 18219  	// EventTypeContinueAsNewWorkflowExecutionFailed is a EventType enum value
 18220  	EventTypeContinueAsNewWorkflowExecutionFailed = "ContinueAsNewWorkflowExecutionFailed"
 18221  
 18222  	// EventTypeWorkflowExecutionTerminated is a EventType enum value
 18223  	EventTypeWorkflowExecutionTerminated = "WorkflowExecutionTerminated"
 18224  
 18225  	// EventTypeDecisionTaskScheduled is a EventType enum value
 18226  	EventTypeDecisionTaskScheduled = "DecisionTaskScheduled"
 18227  
 18228  	// EventTypeDecisionTaskStarted is a EventType enum value
 18229  	EventTypeDecisionTaskStarted = "DecisionTaskStarted"
 18230  
 18231  	// EventTypeDecisionTaskCompleted is a EventType enum value
 18232  	EventTypeDecisionTaskCompleted = "DecisionTaskCompleted"
 18233  
 18234  	// EventTypeDecisionTaskTimedOut is a EventType enum value
 18235  	EventTypeDecisionTaskTimedOut = "DecisionTaskTimedOut"
 18236  
 18237  	// EventTypeActivityTaskScheduled is a EventType enum value
 18238  	EventTypeActivityTaskScheduled = "ActivityTaskScheduled"
 18239  
 18240  	// EventTypeScheduleActivityTaskFailed is a EventType enum value
 18241  	EventTypeScheduleActivityTaskFailed = "ScheduleActivityTaskFailed"
 18242  
 18243  	// EventTypeActivityTaskStarted is a EventType enum value
 18244  	EventTypeActivityTaskStarted = "ActivityTaskStarted"
 18245  
 18246  	// EventTypeActivityTaskCompleted is a EventType enum value
 18247  	EventTypeActivityTaskCompleted = "ActivityTaskCompleted"
 18248  
 18249  	// EventTypeActivityTaskFailed is a EventType enum value
 18250  	EventTypeActivityTaskFailed = "ActivityTaskFailed"
 18251  
 18252  	// EventTypeActivityTaskTimedOut is a EventType enum value
 18253  	EventTypeActivityTaskTimedOut = "ActivityTaskTimedOut"
 18254  
 18255  	// EventTypeActivityTaskCanceled is a EventType enum value
 18256  	EventTypeActivityTaskCanceled = "ActivityTaskCanceled"
 18257  
 18258  	// EventTypeActivityTaskCancelRequested is a EventType enum value
 18259  	EventTypeActivityTaskCancelRequested = "ActivityTaskCancelRequested"
 18260  
 18261  	// EventTypeRequestCancelActivityTaskFailed is a EventType enum value
 18262  	EventTypeRequestCancelActivityTaskFailed = "RequestCancelActivityTaskFailed"
 18263  
 18264  	// EventTypeWorkflowExecutionSignaled is a EventType enum value
 18265  	EventTypeWorkflowExecutionSignaled = "WorkflowExecutionSignaled"
 18266  
 18267  	// EventTypeMarkerRecorded is a EventType enum value
 18268  	EventTypeMarkerRecorded = "MarkerRecorded"
 18269  
 18270  	// EventTypeRecordMarkerFailed is a EventType enum value
 18271  	EventTypeRecordMarkerFailed = "RecordMarkerFailed"
 18272  
 18273  	// EventTypeTimerStarted is a EventType enum value
 18274  	EventTypeTimerStarted = "TimerStarted"
 18275  
 18276  	// EventTypeStartTimerFailed is a EventType enum value
 18277  	EventTypeStartTimerFailed = "StartTimerFailed"
 18278  
 18279  	// EventTypeTimerFired is a EventType enum value
 18280  	EventTypeTimerFired = "TimerFired"
 18281  
 18282  	// EventTypeTimerCanceled is a EventType enum value
 18283  	EventTypeTimerCanceled = "TimerCanceled"
 18284  
 18285  	// EventTypeCancelTimerFailed is a EventType enum value
 18286  	EventTypeCancelTimerFailed = "CancelTimerFailed"
 18287  
 18288  	// EventTypeStartChildWorkflowExecutionInitiated is a EventType enum value
 18289  	EventTypeStartChildWorkflowExecutionInitiated = "StartChildWorkflowExecutionInitiated"
 18290  
 18291  	// EventTypeStartChildWorkflowExecutionFailed is a EventType enum value
 18292  	EventTypeStartChildWorkflowExecutionFailed = "StartChildWorkflowExecutionFailed"
 18293  
 18294  	// EventTypeChildWorkflowExecutionStarted is a EventType enum value
 18295  	EventTypeChildWorkflowExecutionStarted = "ChildWorkflowExecutionStarted"
 18296  
 18297  	// EventTypeChildWorkflowExecutionCompleted is a EventType enum value
 18298  	EventTypeChildWorkflowExecutionCompleted = "ChildWorkflowExecutionCompleted"
 18299  
 18300  	// EventTypeChildWorkflowExecutionFailed is a EventType enum value
 18301  	EventTypeChildWorkflowExecutionFailed = "ChildWorkflowExecutionFailed"
 18302  
 18303  	// EventTypeChildWorkflowExecutionTimedOut is a EventType enum value
 18304  	EventTypeChildWorkflowExecutionTimedOut = "ChildWorkflowExecutionTimedOut"
 18305  
 18306  	// EventTypeChildWorkflowExecutionCanceled is a EventType enum value
 18307  	EventTypeChildWorkflowExecutionCanceled = "ChildWorkflowExecutionCanceled"
 18308  
 18309  	// EventTypeChildWorkflowExecutionTerminated is a EventType enum value
 18310  	EventTypeChildWorkflowExecutionTerminated = "ChildWorkflowExecutionTerminated"
 18311  
 18312  	// EventTypeSignalExternalWorkflowExecutionInitiated is a EventType enum value
 18313  	EventTypeSignalExternalWorkflowExecutionInitiated = "SignalExternalWorkflowExecutionInitiated"
 18314  
 18315  	// EventTypeSignalExternalWorkflowExecutionFailed is a EventType enum value
 18316  	EventTypeSignalExternalWorkflowExecutionFailed = "SignalExternalWorkflowExecutionFailed"
 18317  
 18318  	// EventTypeExternalWorkflowExecutionSignaled is a EventType enum value
 18319  	EventTypeExternalWorkflowExecutionSignaled = "ExternalWorkflowExecutionSignaled"
 18320  
 18321  	// EventTypeRequestCancelExternalWorkflowExecutionInitiated is a EventType enum value
 18322  	EventTypeRequestCancelExternalWorkflowExecutionInitiated = "RequestCancelExternalWorkflowExecutionInitiated"
 18323  
 18324  	// EventTypeRequestCancelExternalWorkflowExecutionFailed is a EventType enum value
 18325  	EventTypeRequestCancelExternalWorkflowExecutionFailed = "RequestCancelExternalWorkflowExecutionFailed"
 18326  
 18327  	// EventTypeExternalWorkflowExecutionCancelRequested is a EventType enum value
 18328  	EventTypeExternalWorkflowExecutionCancelRequested = "ExternalWorkflowExecutionCancelRequested"
 18329  
 18330  	// EventTypeLambdaFunctionScheduled is a EventType enum value
 18331  	EventTypeLambdaFunctionScheduled = "LambdaFunctionScheduled"
 18332  
 18333  	// EventTypeLambdaFunctionStarted is a EventType enum value
 18334  	EventTypeLambdaFunctionStarted = "LambdaFunctionStarted"
 18335  
 18336  	// EventTypeLambdaFunctionCompleted is a EventType enum value
 18337  	EventTypeLambdaFunctionCompleted = "LambdaFunctionCompleted"
 18338  
 18339  	// EventTypeLambdaFunctionFailed is a EventType enum value
 18340  	EventTypeLambdaFunctionFailed = "LambdaFunctionFailed"
 18341  
 18342  	// EventTypeLambdaFunctionTimedOut is a EventType enum value
 18343  	EventTypeLambdaFunctionTimedOut = "LambdaFunctionTimedOut"
 18344  
 18345  	// EventTypeScheduleLambdaFunctionFailed is a EventType enum value
 18346  	EventTypeScheduleLambdaFunctionFailed = "ScheduleLambdaFunctionFailed"
 18347  
 18348  	// EventTypeStartLambdaFunctionFailed is a EventType enum value
 18349  	EventTypeStartLambdaFunctionFailed = "StartLambdaFunctionFailed"
 18350  )
 18351  
 18352  // EventType_Values returns all elements of the EventType enum
 18353  func EventType_Values() []string {
 18354  	return []string{
 18355  		EventTypeWorkflowExecutionStarted,
 18356  		EventTypeWorkflowExecutionCancelRequested,
 18357  		EventTypeWorkflowExecutionCompleted,
 18358  		EventTypeCompleteWorkflowExecutionFailed,
 18359  		EventTypeWorkflowExecutionFailed,
 18360  		EventTypeFailWorkflowExecutionFailed,
 18361  		EventTypeWorkflowExecutionTimedOut,
 18362  		EventTypeWorkflowExecutionCanceled,
 18363  		EventTypeCancelWorkflowExecutionFailed,
 18364  		EventTypeWorkflowExecutionContinuedAsNew,
 18365  		EventTypeContinueAsNewWorkflowExecutionFailed,
 18366  		EventTypeWorkflowExecutionTerminated,
 18367  		EventTypeDecisionTaskScheduled,
 18368  		EventTypeDecisionTaskStarted,
 18369  		EventTypeDecisionTaskCompleted,
 18370  		EventTypeDecisionTaskTimedOut,
 18371  		EventTypeActivityTaskScheduled,
 18372  		EventTypeScheduleActivityTaskFailed,
 18373  		EventTypeActivityTaskStarted,
 18374  		EventTypeActivityTaskCompleted,
 18375  		EventTypeActivityTaskFailed,
 18376  		EventTypeActivityTaskTimedOut,
 18377  		EventTypeActivityTaskCanceled,
 18378  		EventTypeActivityTaskCancelRequested,
 18379  		EventTypeRequestCancelActivityTaskFailed,
 18380  		EventTypeWorkflowExecutionSignaled,
 18381  		EventTypeMarkerRecorded,
 18382  		EventTypeRecordMarkerFailed,
 18383  		EventTypeTimerStarted,
 18384  		EventTypeStartTimerFailed,
 18385  		EventTypeTimerFired,
 18386  		EventTypeTimerCanceled,
 18387  		EventTypeCancelTimerFailed,
 18388  		EventTypeStartChildWorkflowExecutionInitiated,
 18389  		EventTypeStartChildWorkflowExecutionFailed,
 18390  		EventTypeChildWorkflowExecutionStarted,
 18391  		EventTypeChildWorkflowExecutionCompleted,
 18392  		EventTypeChildWorkflowExecutionFailed,
 18393  		EventTypeChildWorkflowExecutionTimedOut,
 18394  		EventTypeChildWorkflowExecutionCanceled,
 18395  		EventTypeChildWorkflowExecutionTerminated,
 18396  		EventTypeSignalExternalWorkflowExecutionInitiated,
 18397  		EventTypeSignalExternalWorkflowExecutionFailed,
 18398  		EventTypeExternalWorkflowExecutionSignaled,
 18399  		EventTypeRequestCancelExternalWorkflowExecutionInitiated,
 18400  		EventTypeRequestCancelExternalWorkflowExecutionFailed,
 18401  		EventTypeExternalWorkflowExecutionCancelRequested,
 18402  		EventTypeLambdaFunctionScheduled,
 18403  		EventTypeLambdaFunctionStarted,
 18404  		EventTypeLambdaFunctionCompleted,
 18405  		EventTypeLambdaFunctionFailed,
 18406  		EventTypeLambdaFunctionTimedOut,
 18407  		EventTypeScheduleLambdaFunctionFailed,
 18408  		EventTypeStartLambdaFunctionFailed,
 18409  	}
 18410  }
 18411  
 18412  const (
 18413  	// ExecutionStatusOpen is a ExecutionStatus enum value
 18414  	ExecutionStatusOpen = "OPEN"
 18415  
 18416  	// ExecutionStatusClosed is a ExecutionStatus enum value
 18417  	ExecutionStatusClosed = "CLOSED"
 18418  )
 18419  
 18420  // ExecutionStatus_Values returns all elements of the ExecutionStatus enum
 18421  func ExecutionStatus_Values() []string {
 18422  	return []string{
 18423  		ExecutionStatusOpen,
 18424  		ExecutionStatusClosed,
 18425  	}
 18426  }
 18427  
 18428  const (
 18429  	// FailWorkflowExecutionFailedCauseUnhandledDecision is a FailWorkflowExecutionFailedCause enum value
 18430  	FailWorkflowExecutionFailedCauseUnhandledDecision = "UNHANDLED_DECISION"
 18431  
 18432  	// FailWorkflowExecutionFailedCauseOperationNotPermitted is a FailWorkflowExecutionFailedCause enum value
 18433  	FailWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18434  )
 18435  
 18436  // FailWorkflowExecutionFailedCause_Values returns all elements of the FailWorkflowExecutionFailedCause enum
 18437  func FailWorkflowExecutionFailedCause_Values() []string {
 18438  	return []string{
 18439  		FailWorkflowExecutionFailedCauseUnhandledDecision,
 18440  		FailWorkflowExecutionFailedCauseOperationNotPermitted,
 18441  	}
 18442  }
 18443  
 18444  const (
 18445  	// LambdaFunctionTimeoutTypeStartToClose is a LambdaFunctionTimeoutType enum value
 18446  	LambdaFunctionTimeoutTypeStartToClose = "START_TO_CLOSE"
 18447  )
 18448  
 18449  // LambdaFunctionTimeoutType_Values returns all elements of the LambdaFunctionTimeoutType enum
 18450  func LambdaFunctionTimeoutType_Values() []string {
 18451  	return []string{
 18452  		LambdaFunctionTimeoutTypeStartToClose,
 18453  	}
 18454  }
 18455  
 18456  const (
 18457  	// RecordMarkerFailedCauseOperationNotPermitted is a RecordMarkerFailedCause enum value
 18458  	RecordMarkerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18459  )
 18460  
 18461  // RecordMarkerFailedCause_Values returns all elements of the RecordMarkerFailedCause enum
 18462  func RecordMarkerFailedCause_Values() []string {
 18463  	return []string{
 18464  		RecordMarkerFailedCauseOperationNotPermitted,
 18465  	}
 18466  }
 18467  
 18468  const (
 18469  	// RegistrationStatusRegistered is a RegistrationStatus enum value
 18470  	RegistrationStatusRegistered = "REGISTERED"
 18471  
 18472  	// RegistrationStatusDeprecated is a RegistrationStatus enum value
 18473  	RegistrationStatusDeprecated = "DEPRECATED"
 18474  )
 18475  
 18476  // RegistrationStatus_Values returns all elements of the RegistrationStatus enum
 18477  func RegistrationStatus_Values() []string {
 18478  	return []string{
 18479  		RegistrationStatusRegistered,
 18480  		RegistrationStatusDeprecated,
 18481  	}
 18482  }
 18483  
 18484  const (
 18485  	// RequestCancelActivityTaskFailedCauseActivityIdUnknown is a RequestCancelActivityTaskFailedCause enum value
 18486  	RequestCancelActivityTaskFailedCauseActivityIdUnknown = "ACTIVITY_ID_UNKNOWN"
 18487  
 18488  	// RequestCancelActivityTaskFailedCauseOperationNotPermitted is a RequestCancelActivityTaskFailedCause enum value
 18489  	RequestCancelActivityTaskFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18490  )
 18491  
 18492  // RequestCancelActivityTaskFailedCause_Values returns all elements of the RequestCancelActivityTaskFailedCause enum
 18493  func RequestCancelActivityTaskFailedCause_Values() []string {
 18494  	return []string{
 18495  		RequestCancelActivityTaskFailedCauseActivityIdUnknown,
 18496  		RequestCancelActivityTaskFailedCauseOperationNotPermitted,
 18497  	}
 18498  }
 18499  
 18500  const (
 18501  	// RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution is a RequestCancelExternalWorkflowExecutionFailedCause enum value
 18502  	RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution = "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
 18503  
 18504  	// RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded is a RequestCancelExternalWorkflowExecutionFailedCause enum value
 18505  	RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded = "REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"
 18506  
 18507  	// RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted is a RequestCancelExternalWorkflowExecutionFailedCause enum value
 18508  	RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18509  )
 18510  
 18511  // RequestCancelExternalWorkflowExecutionFailedCause_Values returns all elements of the RequestCancelExternalWorkflowExecutionFailedCause enum
 18512  func RequestCancelExternalWorkflowExecutionFailedCause_Values() []string {
 18513  	return []string{
 18514  		RequestCancelExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution,
 18515  		RequestCancelExternalWorkflowExecutionFailedCauseRequestCancelExternalWorkflowExecutionRateExceeded,
 18516  		RequestCancelExternalWorkflowExecutionFailedCauseOperationNotPermitted,
 18517  	}
 18518  }
 18519  
 18520  const (
 18521  	// ScheduleActivityTaskFailedCauseActivityTypeDeprecated is a ScheduleActivityTaskFailedCause enum value
 18522  	ScheduleActivityTaskFailedCauseActivityTypeDeprecated = "ACTIVITY_TYPE_DEPRECATED"
 18523  
 18524  	// ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist is a ScheduleActivityTaskFailedCause enum value
 18525  	ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist = "ACTIVITY_TYPE_DOES_NOT_EXIST"
 18526  
 18527  	// ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse is a ScheduleActivityTaskFailedCause enum value
 18528  	ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse = "ACTIVITY_ID_ALREADY_IN_USE"
 18529  
 18530  	// ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded is a ScheduleActivityTaskFailedCause enum value
 18531  	ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded = "OPEN_ACTIVITIES_LIMIT_EXCEEDED"
 18532  
 18533  	// ScheduleActivityTaskFailedCauseActivityCreationRateExceeded is a ScheduleActivityTaskFailedCause enum value
 18534  	ScheduleActivityTaskFailedCauseActivityCreationRateExceeded = "ACTIVITY_CREATION_RATE_EXCEEDED"
 18535  
 18536  	// ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
 18537  	ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined = "DEFAULT_SCHEDULE_TO_CLOSE_TIMEOUT_UNDEFINED"
 18538  
 18539  	// ScheduleActivityTaskFailedCauseDefaultTaskListUndefined is a ScheduleActivityTaskFailedCause enum value
 18540  	ScheduleActivityTaskFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
 18541  
 18542  	// ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
 18543  	ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined = "DEFAULT_SCHEDULE_TO_START_TIMEOUT_UNDEFINED"
 18544  
 18545  	// ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
 18546  	ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined = "DEFAULT_START_TO_CLOSE_TIMEOUT_UNDEFINED"
 18547  
 18548  	// ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined is a ScheduleActivityTaskFailedCause enum value
 18549  	ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined = "DEFAULT_HEARTBEAT_TIMEOUT_UNDEFINED"
 18550  
 18551  	// ScheduleActivityTaskFailedCauseOperationNotPermitted is a ScheduleActivityTaskFailedCause enum value
 18552  	ScheduleActivityTaskFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18553  )
 18554  
 18555  // ScheduleActivityTaskFailedCause_Values returns all elements of the ScheduleActivityTaskFailedCause enum
 18556  func ScheduleActivityTaskFailedCause_Values() []string {
 18557  	return []string{
 18558  		ScheduleActivityTaskFailedCauseActivityTypeDeprecated,
 18559  		ScheduleActivityTaskFailedCauseActivityTypeDoesNotExist,
 18560  		ScheduleActivityTaskFailedCauseActivityIdAlreadyInUse,
 18561  		ScheduleActivityTaskFailedCauseOpenActivitiesLimitExceeded,
 18562  		ScheduleActivityTaskFailedCauseActivityCreationRateExceeded,
 18563  		ScheduleActivityTaskFailedCauseDefaultScheduleToCloseTimeoutUndefined,
 18564  		ScheduleActivityTaskFailedCauseDefaultTaskListUndefined,
 18565  		ScheduleActivityTaskFailedCauseDefaultScheduleToStartTimeoutUndefined,
 18566  		ScheduleActivityTaskFailedCauseDefaultStartToCloseTimeoutUndefined,
 18567  		ScheduleActivityTaskFailedCauseDefaultHeartbeatTimeoutUndefined,
 18568  		ScheduleActivityTaskFailedCauseOperationNotPermitted,
 18569  	}
 18570  }
 18571  
 18572  const (
 18573  	// ScheduleLambdaFunctionFailedCauseIdAlreadyInUse is a ScheduleLambdaFunctionFailedCause enum value
 18574  	ScheduleLambdaFunctionFailedCauseIdAlreadyInUse = "ID_ALREADY_IN_USE"
 18575  
 18576  	// ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded is a ScheduleLambdaFunctionFailedCause enum value
 18577  	ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded = "OPEN_LAMBDA_FUNCTIONS_LIMIT_EXCEEDED"
 18578  
 18579  	// ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded is a ScheduleLambdaFunctionFailedCause enum value
 18580  	ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded = "LAMBDA_FUNCTION_CREATION_RATE_EXCEEDED"
 18581  
 18582  	// ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion is a ScheduleLambdaFunctionFailedCause enum value
 18583  	ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion = "LAMBDA_SERVICE_NOT_AVAILABLE_IN_REGION"
 18584  )
 18585  
 18586  // ScheduleLambdaFunctionFailedCause_Values returns all elements of the ScheduleLambdaFunctionFailedCause enum
 18587  func ScheduleLambdaFunctionFailedCause_Values() []string {
 18588  	return []string{
 18589  		ScheduleLambdaFunctionFailedCauseIdAlreadyInUse,
 18590  		ScheduleLambdaFunctionFailedCauseOpenLambdaFunctionsLimitExceeded,
 18591  		ScheduleLambdaFunctionFailedCauseLambdaFunctionCreationRateExceeded,
 18592  		ScheduleLambdaFunctionFailedCauseLambdaServiceNotAvailableInRegion,
 18593  	}
 18594  }
 18595  
 18596  const (
 18597  	// SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution is a SignalExternalWorkflowExecutionFailedCause enum value
 18598  	SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution = "UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION"
 18599  
 18600  	// SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded is a SignalExternalWorkflowExecutionFailedCause enum value
 18601  	SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded = "SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_RATE_EXCEEDED"
 18602  
 18603  	// SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted is a SignalExternalWorkflowExecutionFailedCause enum value
 18604  	SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18605  )
 18606  
 18607  // SignalExternalWorkflowExecutionFailedCause_Values returns all elements of the SignalExternalWorkflowExecutionFailedCause enum
 18608  func SignalExternalWorkflowExecutionFailedCause_Values() []string {
 18609  	return []string{
 18610  		SignalExternalWorkflowExecutionFailedCauseUnknownExternalWorkflowExecution,
 18611  		SignalExternalWorkflowExecutionFailedCauseSignalExternalWorkflowExecutionRateExceeded,
 18612  		SignalExternalWorkflowExecutionFailedCauseOperationNotPermitted,
 18613  	}
 18614  }
 18615  
 18616  const (
 18617  	// StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist is a StartChildWorkflowExecutionFailedCause enum value
 18618  	StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist = "WORKFLOW_TYPE_DOES_NOT_EXIST"
 18619  
 18620  	// StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated is a StartChildWorkflowExecutionFailedCause enum value
 18621  	StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated = "WORKFLOW_TYPE_DEPRECATED"
 18622  
 18623  	// StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded is a StartChildWorkflowExecutionFailedCause enum value
 18624  	StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded = "OPEN_CHILDREN_LIMIT_EXCEEDED"
 18625  
 18626  	// StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded is a StartChildWorkflowExecutionFailedCause enum value
 18627  	StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded = "OPEN_WORKFLOWS_LIMIT_EXCEEDED"
 18628  
 18629  	// StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded is a StartChildWorkflowExecutionFailedCause enum value
 18630  	StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded = "CHILD_CREATION_RATE_EXCEEDED"
 18631  
 18632  	// StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning is a StartChildWorkflowExecutionFailedCause enum value
 18633  	StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning = "WORKFLOW_ALREADY_RUNNING"
 18634  
 18635  	// StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined is a StartChildWorkflowExecutionFailedCause enum value
 18636  	StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined = "DEFAULT_EXECUTION_START_TO_CLOSE_TIMEOUT_UNDEFINED"
 18637  
 18638  	// StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined is a StartChildWorkflowExecutionFailedCause enum value
 18639  	StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined = "DEFAULT_TASK_LIST_UNDEFINED"
 18640  
 18641  	// StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined is a StartChildWorkflowExecutionFailedCause enum value
 18642  	StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined = "DEFAULT_TASK_START_TO_CLOSE_TIMEOUT_UNDEFINED"
 18643  
 18644  	// StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined is a StartChildWorkflowExecutionFailedCause enum value
 18645  	StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined = "DEFAULT_CHILD_POLICY_UNDEFINED"
 18646  
 18647  	// StartChildWorkflowExecutionFailedCauseOperationNotPermitted is a StartChildWorkflowExecutionFailedCause enum value
 18648  	StartChildWorkflowExecutionFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18649  )
 18650  
 18651  // StartChildWorkflowExecutionFailedCause_Values returns all elements of the StartChildWorkflowExecutionFailedCause enum
 18652  func StartChildWorkflowExecutionFailedCause_Values() []string {
 18653  	return []string{
 18654  		StartChildWorkflowExecutionFailedCauseWorkflowTypeDoesNotExist,
 18655  		StartChildWorkflowExecutionFailedCauseWorkflowTypeDeprecated,
 18656  		StartChildWorkflowExecutionFailedCauseOpenChildrenLimitExceeded,
 18657  		StartChildWorkflowExecutionFailedCauseOpenWorkflowsLimitExceeded,
 18658  		StartChildWorkflowExecutionFailedCauseChildCreationRateExceeded,
 18659  		StartChildWorkflowExecutionFailedCauseWorkflowAlreadyRunning,
 18660  		StartChildWorkflowExecutionFailedCauseDefaultExecutionStartToCloseTimeoutUndefined,
 18661  		StartChildWorkflowExecutionFailedCauseDefaultTaskListUndefined,
 18662  		StartChildWorkflowExecutionFailedCauseDefaultTaskStartToCloseTimeoutUndefined,
 18663  		StartChildWorkflowExecutionFailedCauseDefaultChildPolicyUndefined,
 18664  		StartChildWorkflowExecutionFailedCauseOperationNotPermitted,
 18665  	}
 18666  }
 18667  
 18668  const (
 18669  	// StartLambdaFunctionFailedCauseAssumeRoleFailed is a StartLambdaFunctionFailedCause enum value
 18670  	StartLambdaFunctionFailedCauseAssumeRoleFailed = "ASSUME_ROLE_FAILED"
 18671  )
 18672  
 18673  // StartLambdaFunctionFailedCause_Values returns all elements of the StartLambdaFunctionFailedCause enum
 18674  func StartLambdaFunctionFailedCause_Values() []string {
 18675  	return []string{
 18676  		StartLambdaFunctionFailedCauseAssumeRoleFailed,
 18677  	}
 18678  }
 18679  
 18680  const (
 18681  	// StartTimerFailedCauseTimerIdAlreadyInUse is a StartTimerFailedCause enum value
 18682  	StartTimerFailedCauseTimerIdAlreadyInUse = "TIMER_ID_ALREADY_IN_USE"
 18683  
 18684  	// StartTimerFailedCauseOpenTimersLimitExceeded is a StartTimerFailedCause enum value
 18685  	StartTimerFailedCauseOpenTimersLimitExceeded = "OPEN_TIMERS_LIMIT_EXCEEDED"
 18686  
 18687  	// StartTimerFailedCauseTimerCreationRateExceeded is a StartTimerFailedCause enum value
 18688  	StartTimerFailedCauseTimerCreationRateExceeded = "TIMER_CREATION_RATE_EXCEEDED"
 18689  
 18690  	// StartTimerFailedCauseOperationNotPermitted is a StartTimerFailedCause enum value
 18691  	StartTimerFailedCauseOperationNotPermitted = "OPERATION_NOT_PERMITTED"
 18692  )
 18693  
 18694  // StartTimerFailedCause_Values returns all elements of the StartTimerFailedCause enum
 18695  func StartTimerFailedCause_Values() []string {
 18696  	return []string{
 18697  		StartTimerFailedCauseTimerIdAlreadyInUse,
 18698  		StartTimerFailedCauseOpenTimersLimitExceeded,
 18699  		StartTimerFailedCauseTimerCreationRateExceeded,
 18700  		StartTimerFailedCauseOperationNotPermitted,
 18701  	}
 18702  }
 18703  
 18704  const (
 18705  	// WorkflowExecutionCancelRequestedCauseChildPolicyApplied is a WorkflowExecutionCancelRequestedCause enum value
 18706  	WorkflowExecutionCancelRequestedCauseChildPolicyApplied = "CHILD_POLICY_APPLIED"
 18707  )
 18708  
 18709  // WorkflowExecutionCancelRequestedCause_Values returns all elements of the WorkflowExecutionCancelRequestedCause enum
 18710  func WorkflowExecutionCancelRequestedCause_Values() []string {
 18711  	return []string{
 18712  		WorkflowExecutionCancelRequestedCauseChildPolicyApplied,
 18713  	}
 18714  }
 18715  
 18716  const (
 18717  	// WorkflowExecutionTerminatedCauseChildPolicyApplied is a WorkflowExecutionTerminatedCause enum value
 18718  	WorkflowExecutionTerminatedCauseChildPolicyApplied = "CHILD_POLICY_APPLIED"
 18719  
 18720  	// WorkflowExecutionTerminatedCauseEventLimitExceeded is a WorkflowExecutionTerminatedCause enum value
 18721  	WorkflowExecutionTerminatedCauseEventLimitExceeded = "EVENT_LIMIT_EXCEEDED"
 18722  
 18723  	// WorkflowExecutionTerminatedCauseOperatorInitiated is a WorkflowExecutionTerminatedCause enum value
 18724  	WorkflowExecutionTerminatedCauseOperatorInitiated = "OPERATOR_INITIATED"
 18725  )
 18726  
 18727  // WorkflowExecutionTerminatedCause_Values returns all elements of the WorkflowExecutionTerminatedCause enum
 18728  func WorkflowExecutionTerminatedCause_Values() []string {
 18729  	return []string{
 18730  		WorkflowExecutionTerminatedCauseChildPolicyApplied,
 18731  		WorkflowExecutionTerminatedCauseEventLimitExceeded,
 18732  		WorkflowExecutionTerminatedCauseOperatorInitiated,
 18733  	}
 18734  }
 18735  
 18736  const (
 18737  	// WorkflowExecutionTimeoutTypeStartToClose is a WorkflowExecutionTimeoutType enum value
 18738  	WorkflowExecutionTimeoutTypeStartToClose = "START_TO_CLOSE"
 18739  )
 18740  
 18741  // WorkflowExecutionTimeoutType_Values returns all elements of the WorkflowExecutionTimeoutType enum
 18742  func WorkflowExecutionTimeoutType_Values() []string {
 18743  	return []string{
 18744  		WorkflowExecutionTimeoutTypeStartToClose,
 18745  	}
 18746  }