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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package mturk
     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 opAcceptQualificationRequest = "AcceptQualificationRequest"
    17  
    18  // AcceptQualificationRequestRequest generates a "aws/request.Request" representing the
    19  // client's request for the AcceptQualificationRequest 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 AcceptQualificationRequest for more information on using the AcceptQualificationRequest
    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 AcceptQualificationRequestRequest method.
    34  //    req, resp := client.AcceptQualificationRequestRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/AcceptQualificationRequest
    42  func (c *MTurk) AcceptQualificationRequestRequest(input *AcceptQualificationRequestInput) (req *request.Request, output *AcceptQualificationRequestOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptQualificationRequest,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptQualificationRequestInput{}
    51  	}
    52  
    53  	output = &AcceptQualificationRequestOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AcceptQualificationRequest API operation for Amazon Mechanical Turk.
    60  //
    61  // The AcceptQualificationRequest operation approves a Worker's request for
    62  // a Qualification.
    63  //
    64  // Only the owner of the Qualification type can grant a Qualification request
    65  // for that type.
    66  //
    67  // A successful request for the AcceptQualificationRequest operation returns
    68  // with no errors and an empty body.
    69  //
    70  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    71  // with awserr.Error's Code and Message methods to get detailed information about
    72  // the error.
    73  //
    74  // See the AWS API reference guide for Amazon Mechanical Turk's
    75  // API operation AcceptQualificationRequest for usage and error information.
    76  //
    77  // Returned Error Types:
    78  //   * ServiceFault
    79  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
    80  //   your call again.
    81  //
    82  //   * RequestError
    83  //   Your request is invalid.
    84  //
    85  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/AcceptQualificationRequest
    86  func (c *MTurk) AcceptQualificationRequest(input *AcceptQualificationRequestInput) (*AcceptQualificationRequestOutput, error) {
    87  	req, out := c.AcceptQualificationRequestRequest(input)
    88  	return out, req.Send()
    89  }
    90  
    91  // AcceptQualificationRequestWithContext is the same as AcceptQualificationRequest with the addition of
    92  // the ability to pass a context and additional request options.
    93  //
    94  // See AcceptQualificationRequest for details on how to use this API operation.
    95  //
    96  // The context must be non-nil and will be used for request cancellation. If
    97  // the context is nil a panic will occur. In the future the SDK may create
    98  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    99  // for more information on using Contexts.
   100  func (c *MTurk) AcceptQualificationRequestWithContext(ctx aws.Context, input *AcceptQualificationRequestInput, opts ...request.Option) (*AcceptQualificationRequestOutput, error) {
   101  	req, out := c.AcceptQualificationRequestRequest(input)
   102  	req.SetContext(ctx)
   103  	req.ApplyOptions(opts...)
   104  	return out, req.Send()
   105  }
   106  
   107  const opApproveAssignment = "ApproveAssignment"
   108  
   109  // ApproveAssignmentRequest generates a "aws/request.Request" representing the
   110  // client's request for the ApproveAssignment operation. The "output" return
   111  // value will be populated with the request's response once the request completes
   112  // successfully.
   113  //
   114  // Use "Send" method on the returned Request to send the API call to the service.
   115  // the "output" return value is not valid until after Send returns without error.
   116  //
   117  // See ApproveAssignment for more information on using the ApproveAssignment
   118  // API call, and error handling.
   119  //
   120  // This method is useful when you want to inject custom logic or configuration
   121  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   122  //
   123  //
   124  //    // Example sending a request using the ApproveAssignmentRequest method.
   125  //    req, resp := client.ApproveAssignmentRequest(params)
   126  //
   127  //    err := req.Send()
   128  //    if err == nil { // resp is now filled
   129  //        fmt.Println(resp)
   130  //    }
   131  //
   132  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ApproveAssignment
   133  func (c *MTurk) ApproveAssignmentRequest(input *ApproveAssignmentInput) (req *request.Request, output *ApproveAssignmentOutput) {
   134  	op := &request.Operation{
   135  		Name:       opApproveAssignment,
   136  		HTTPMethod: "POST",
   137  		HTTPPath:   "/",
   138  	}
   139  
   140  	if input == nil {
   141  		input = &ApproveAssignmentInput{}
   142  	}
   143  
   144  	output = &ApproveAssignmentOutput{}
   145  	req = c.newRequest(op, input, output)
   146  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   147  	return
   148  }
   149  
   150  // ApproveAssignment API operation for Amazon Mechanical Turk.
   151  //
   152  // The ApproveAssignment operation approves the results of a completed assignment.
   153  //
   154  // Approving an assignment initiates two payments from the Requester's Amazon.com
   155  // account
   156  //
   157  //    * The Worker who submitted the results is paid the reward specified in
   158  //    the HIT.
   159  //
   160  //    * Amazon Mechanical Turk fees are debited.
   161  //
   162  // If the Requester's account does not have adequate funds for these payments,
   163  // the call to ApproveAssignment returns an exception, and the approval is not
   164  // processed. You can include an optional feedback message with the approval,
   165  // which the Worker can see in the Status section of the web site.
   166  //
   167  // You can also call this operation for assignments that were previous rejected
   168  // and approve them by explicitly overriding the previous rejection. This only
   169  // works on rejected assignments that were submitted within the previous 30
   170  // days and only if the assignment's related HIT has not been deleted.
   171  //
   172  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   173  // with awserr.Error's Code and Message methods to get detailed information about
   174  // the error.
   175  //
   176  // See the AWS API reference guide for Amazon Mechanical Turk's
   177  // API operation ApproveAssignment for usage and error information.
   178  //
   179  // Returned Error Types:
   180  //   * ServiceFault
   181  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   182  //   your call again.
   183  //
   184  //   * RequestError
   185  //   Your request is invalid.
   186  //
   187  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ApproveAssignment
   188  func (c *MTurk) ApproveAssignment(input *ApproveAssignmentInput) (*ApproveAssignmentOutput, error) {
   189  	req, out := c.ApproveAssignmentRequest(input)
   190  	return out, req.Send()
   191  }
   192  
   193  // ApproveAssignmentWithContext is the same as ApproveAssignment with the addition of
   194  // the ability to pass a context and additional request options.
   195  //
   196  // See ApproveAssignment for details on how to use this API operation.
   197  //
   198  // The context must be non-nil and will be used for request cancellation. If
   199  // the context is nil a panic will occur. In the future the SDK may create
   200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   201  // for more information on using Contexts.
   202  func (c *MTurk) ApproveAssignmentWithContext(ctx aws.Context, input *ApproveAssignmentInput, opts ...request.Option) (*ApproveAssignmentOutput, error) {
   203  	req, out := c.ApproveAssignmentRequest(input)
   204  	req.SetContext(ctx)
   205  	req.ApplyOptions(opts...)
   206  	return out, req.Send()
   207  }
   208  
   209  const opAssociateQualificationWithWorker = "AssociateQualificationWithWorker"
   210  
   211  // AssociateQualificationWithWorkerRequest generates a "aws/request.Request" representing the
   212  // client's request for the AssociateQualificationWithWorker operation. The "output" return
   213  // value will be populated with the request's response once the request completes
   214  // successfully.
   215  //
   216  // Use "Send" method on the returned Request to send the API call to the service.
   217  // the "output" return value is not valid until after Send returns without error.
   218  //
   219  // See AssociateQualificationWithWorker for more information on using the AssociateQualificationWithWorker
   220  // API call, and error handling.
   221  //
   222  // This method is useful when you want to inject custom logic or configuration
   223  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   224  //
   225  //
   226  //    // Example sending a request using the AssociateQualificationWithWorkerRequest method.
   227  //    req, resp := client.AssociateQualificationWithWorkerRequest(params)
   228  //
   229  //    err := req.Send()
   230  //    if err == nil { // resp is now filled
   231  //        fmt.Println(resp)
   232  //    }
   233  //
   234  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/AssociateQualificationWithWorker
   235  func (c *MTurk) AssociateQualificationWithWorkerRequest(input *AssociateQualificationWithWorkerInput) (req *request.Request, output *AssociateQualificationWithWorkerOutput) {
   236  	op := &request.Operation{
   237  		Name:       opAssociateQualificationWithWorker,
   238  		HTTPMethod: "POST",
   239  		HTTPPath:   "/",
   240  	}
   241  
   242  	if input == nil {
   243  		input = &AssociateQualificationWithWorkerInput{}
   244  	}
   245  
   246  	output = &AssociateQualificationWithWorkerOutput{}
   247  	req = c.newRequest(op, input, output)
   248  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   249  	return
   250  }
   251  
   252  // AssociateQualificationWithWorker API operation for Amazon Mechanical Turk.
   253  //
   254  // The AssociateQualificationWithWorker operation gives a Worker a Qualification.
   255  // AssociateQualificationWithWorker does not require that the Worker submit
   256  // a Qualification request. It gives the Qualification directly to the Worker.
   257  //
   258  // You can only assign a Qualification of a Qualification type that you created
   259  // (using the CreateQualificationType operation).
   260  //
   261  // Note: AssociateQualificationWithWorker does not affect any pending Qualification
   262  // requests for the Qualification by the Worker. If you assign a Qualification
   263  // to a Worker, then later grant a Qualification request made by the Worker,
   264  // the granting of the request may modify the Qualification score. To resolve
   265  // a pending Qualification request without affecting the Qualification the Worker
   266  // already has, reject the request with the RejectQualificationRequest operation.
   267  //
   268  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   269  // with awserr.Error's Code and Message methods to get detailed information about
   270  // the error.
   271  //
   272  // See the AWS API reference guide for Amazon Mechanical Turk's
   273  // API operation AssociateQualificationWithWorker for usage and error information.
   274  //
   275  // Returned Error Types:
   276  //   * ServiceFault
   277  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   278  //   your call again.
   279  //
   280  //   * RequestError
   281  //   Your request is invalid.
   282  //
   283  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/AssociateQualificationWithWorker
   284  func (c *MTurk) AssociateQualificationWithWorker(input *AssociateQualificationWithWorkerInput) (*AssociateQualificationWithWorkerOutput, error) {
   285  	req, out := c.AssociateQualificationWithWorkerRequest(input)
   286  	return out, req.Send()
   287  }
   288  
   289  // AssociateQualificationWithWorkerWithContext is the same as AssociateQualificationWithWorker with the addition of
   290  // the ability to pass a context and additional request options.
   291  //
   292  // See AssociateQualificationWithWorker for details on how to use this API operation.
   293  //
   294  // The context must be non-nil and will be used for request cancellation. If
   295  // the context is nil a panic will occur. In the future the SDK may create
   296  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   297  // for more information on using Contexts.
   298  func (c *MTurk) AssociateQualificationWithWorkerWithContext(ctx aws.Context, input *AssociateQualificationWithWorkerInput, opts ...request.Option) (*AssociateQualificationWithWorkerOutput, error) {
   299  	req, out := c.AssociateQualificationWithWorkerRequest(input)
   300  	req.SetContext(ctx)
   301  	req.ApplyOptions(opts...)
   302  	return out, req.Send()
   303  }
   304  
   305  const opCreateAdditionalAssignmentsForHIT = "CreateAdditionalAssignmentsForHIT"
   306  
   307  // CreateAdditionalAssignmentsForHITRequest generates a "aws/request.Request" representing the
   308  // client's request for the CreateAdditionalAssignmentsForHIT operation. The "output" return
   309  // value will be populated with the request's response once the request completes
   310  // successfully.
   311  //
   312  // Use "Send" method on the returned Request to send the API call to the service.
   313  // the "output" return value is not valid until after Send returns without error.
   314  //
   315  // See CreateAdditionalAssignmentsForHIT for more information on using the CreateAdditionalAssignmentsForHIT
   316  // API call, and error handling.
   317  //
   318  // This method is useful when you want to inject custom logic or configuration
   319  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   320  //
   321  //
   322  //    // Example sending a request using the CreateAdditionalAssignmentsForHITRequest method.
   323  //    req, resp := client.CreateAdditionalAssignmentsForHITRequest(params)
   324  //
   325  //    err := req.Send()
   326  //    if err == nil { // resp is now filled
   327  //        fmt.Println(resp)
   328  //    }
   329  //
   330  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateAdditionalAssignmentsForHIT
   331  func (c *MTurk) CreateAdditionalAssignmentsForHITRequest(input *CreateAdditionalAssignmentsForHITInput) (req *request.Request, output *CreateAdditionalAssignmentsForHITOutput) {
   332  	op := &request.Operation{
   333  		Name:       opCreateAdditionalAssignmentsForHIT,
   334  		HTTPMethod: "POST",
   335  		HTTPPath:   "/",
   336  	}
   337  
   338  	if input == nil {
   339  		input = &CreateAdditionalAssignmentsForHITInput{}
   340  	}
   341  
   342  	output = &CreateAdditionalAssignmentsForHITOutput{}
   343  	req = c.newRequest(op, input, output)
   344  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   345  	return
   346  }
   347  
   348  // CreateAdditionalAssignmentsForHIT API operation for Amazon Mechanical Turk.
   349  //
   350  // The CreateAdditionalAssignmentsForHIT operation increases the maximum number
   351  // of assignments of an existing HIT.
   352  //
   353  // To extend the maximum number of assignments, specify the number of additional
   354  // assignments.
   355  //
   356  //    * HITs created with fewer than 10 assignments cannot be extended to have
   357  //    10 or more assignments. Attempting to add assignments in a way that brings
   358  //    the total number of assignments for a HIT from fewer than 10 assignments
   359  //    to 10 or more assignments will result in an AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease
   360  //    exception.
   361  //
   362  //    * HITs that were created before July 22, 2015 cannot be extended. Attempting
   363  //    to extend HITs that were created before July 22, 2015 will result in an
   364  //    AWS.MechanicalTurk.HITTooOldForExtension exception.
   365  //
   366  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   367  // with awserr.Error's Code and Message methods to get detailed information about
   368  // the error.
   369  //
   370  // See the AWS API reference guide for Amazon Mechanical Turk's
   371  // API operation CreateAdditionalAssignmentsForHIT for usage and error information.
   372  //
   373  // Returned Error Types:
   374  //   * ServiceFault
   375  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   376  //   your call again.
   377  //
   378  //   * RequestError
   379  //   Your request is invalid.
   380  //
   381  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateAdditionalAssignmentsForHIT
   382  func (c *MTurk) CreateAdditionalAssignmentsForHIT(input *CreateAdditionalAssignmentsForHITInput) (*CreateAdditionalAssignmentsForHITOutput, error) {
   383  	req, out := c.CreateAdditionalAssignmentsForHITRequest(input)
   384  	return out, req.Send()
   385  }
   386  
   387  // CreateAdditionalAssignmentsForHITWithContext is the same as CreateAdditionalAssignmentsForHIT with the addition of
   388  // the ability to pass a context and additional request options.
   389  //
   390  // See CreateAdditionalAssignmentsForHIT for details on how to use this API operation.
   391  //
   392  // The context must be non-nil and will be used for request cancellation. If
   393  // the context is nil a panic will occur. In the future the SDK may create
   394  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   395  // for more information on using Contexts.
   396  func (c *MTurk) CreateAdditionalAssignmentsForHITWithContext(ctx aws.Context, input *CreateAdditionalAssignmentsForHITInput, opts ...request.Option) (*CreateAdditionalAssignmentsForHITOutput, error) {
   397  	req, out := c.CreateAdditionalAssignmentsForHITRequest(input)
   398  	req.SetContext(ctx)
   399  	req.ApplyOptions(opts...)
   400  	return out, req.Send()
   401  }
   402  
   403  const opCreateHIT = "CreateHIT"
   404  
   405  // CreateHITRequest generates a "aws/request.Request" representing the
   406  // client's request for the CreateHIT operation. The "output" return
   407  // value will be populated with the request's response once the request completes
   408  // successfully.
   409  //
   410  // Use "Send" method on the returned Request to send the API call to the service.
   411  // the "output" return value is not valid until after Send returns without error.
   412  //
   413  // See CreateHIT for more information on using the CreateHIT
   414  // API call, and error handling.
   415  //
   416  // This method is useful when you want to inject custom logic or configuration
   417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   418  //
   419  //
   420  //    // Example sending a request using the CreateHITRequest method.
   421  //    req, resp := client.CreateHITRequest(params)
   422  //
   423  //    err := req.Send()
   424  //    if err == nil { // resp is now filled
   425  //        fmt.Println(resp)
   426  //    }
   427  //
   428  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateHIT
   429  func (c *MTurk) CreateHITRequest(input *CreateHITInput) (req *request.Request, output *CreateHITOutput) {
   430  	op := &request.Operation{
   431  		Name:       opCreateHIT,
   432  		HTTPMethod: "POST",
   433  		HTTPPath:   "/",
   434  	}
   435  
   436  	if input == nil {
   437  		input = &CreateHITInput{}
   438  	}
   439  
   440  	output = &CreateHITOutput{}
   441  	req = c.newRequest(op, input, output)
   442  	return
   443  }
   444  
   445  // CreateHIT API operation for Amazon Mechanical Turk.
   446  //
   447  // The CreateHIT operation creates a new Human Intelligence Task (HIT). The
   448  // new HIT is made available for Workers to find and accept on the Amazon Mechanical
   449  // Turk website.
   450  //
   451  // This operation allows you to specify a new HIT by passing in values for the
   452  // properties of the HIT, such as its title, reward amount and number of assignments.
   453  // When you pass these values to CreateHIT, a new HIT is created for you, with
   454  // a new HITTypeID. The HITTypeID can be used to create additional HITs in the
   455  // future without needing to specify common parameters such as the title, description
   456  // and reward amount each time.
   457  //
   458  // An alternative way to create HITs is to first generate a HITTypeID using
   459  // the CreateHITType operation and then call the CreateHITWithHITType operation.
   460  // This is the recommended best practice for Requesters who are creating large
   461  // numbers of HITs.
   462  //
   463  // CreateHIT also supports several ways to provide question data: by providing
   464  // a value for the Question parameter that fully specifies the contents of the
   465  // HIT, or by providing a HitLayoutId and associated HitLayoutParameters.
   466  //
   467  // If a HIT is created with 10 or more maximum assignments, there is an additional
   468  // fee. For more information, see Amazon Mechanical Turk Pricing (https://requester.mturk.com/pricing).
   469  //
   470  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   471  // with awserr.Error's Code and Message methods to get detailed information about
   472  // the error.
   473  //
   474  // See the AWS API reference guide for Amazon Mechanical Turk's
   475  // API operation CreateHIT for usage and error information.
   476  //
   477  // Returned Error Types:
   478  //   * ServiceFault
   479  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   480  //   your call again.
   481  //
   482  //   * RequestError
   483  //   Your request is invalid.
   484  //
   485  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateHIT
   486  func (c *MTurk) CreateHIT(input *CreateHITInput) (*CreateHITOutput, error) {
   487  	req, out := c.CreateHITRequest(input)
   488  	return out, req.Send()
   489  }
   490  
   491  // CreateHITWithContext is the same as CreateHIT with the addition of
   492  // the ability to pass a context and additional request options.
   493  //
   494  // See CreateHIT for details on how to use this API operation.
   495  //
   496  // The context must be non-nil and will be used for request cancellation. If
   497  // the context is nil a panic will occur. In the future the SDK may create
   498  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   499  // for more information on using Contexts.
   500  func (c *MTurk) CreateHITWithContext(ctx aws.Context, input *CreateHITInput, opts ...request.Option) (*CreateHITOutput, error) {
   501  	req, out := c.CreateHITRequest(input)
   502  	req.SetContext(ctx)
   503  	req.ApplyOptions(opts...)
   504  	return out, req.Send()
   505  }
   506  
   507  const opCreateHITType = "CreateHITType"
   508  
   509  // CreateHITTypeRequest generates a "aws/request.Request" representing the
   510  // client's request for the CreateHITType operation. The "output" return
   511  // value will be populated with the request's response once the request completes
   512  // successfully.
   513  //
   514  // Use "Send" method on the returned Request to send the API call to the service.
   515  // the "output" return value is not valid until after Send returns without error.
   516  //
   517  // See CreateHITType for more information on using the CreateHITType
   518  // API call, and error handling.
   519  //
   520  // This method is useful when you want to inject custom logic or configuration
   521  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   522  //
   523  //
   524  //    // Example sending a request using the CreateHITTypeRequest method.
   525  //    req, resp := client.CreateHITTypeRequest(params)
   526  //
   527  //    err := req.Send()
   528  //    if err == nil { // resp is now filled
   529  //        fmt.Println(resp)
   530  //    }
   531  //
   532  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateHITType
   533  func (c *MTurk) CreateHITTypeRequest(input *CreateHITTypeInput) (req *request.Request, output *CreateHITTypeOutput) {
   534  	op := &request.Operation{
   535  		Name:       opCreateHITType,
   536  		HTTPMethod: "POST",
   537  		HTTPPath:   "/",
   538  	}
   539  
   540  	if input == nil {
   541  		input = &CreateHITTypeInput{}
   542  	}
   543  
   544  	output = &CreateHITTypeOutput{}
   545  	req = c.newRequest(op, input, output)
   546  	return
   547  }
   548  
   549  // CreateHITType API operation for Amazon Mechanical Turk.
   550  //
   551  // The CreateHITType operation creates a new HIT type. This operation allows
   552  // you to define a standard set of HIT properties to use when creating HITs.
   553  // If you register a HIT type with values that match an existing HIT type, the
   554  // HIT type ID of the existing type will be returned.
   555  //
   556  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   557  // with awserr.Error's Code and Message methods to get detailed information about
   558  // the error.
   559  //
   560  // See the AWS API reference guide for Amazon Mechanical Turk's
   561  // API operation CreateHITType for usage and error information.
   562  //
   563  // Returned Error Types:
   564  //   * ServiceFault
   565  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   566  //   your call again.
   567  //
   568  //   * RequestError
   569  //   Your request is invalid.
   570  //
   571  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateHITType
   572  func (c *MTurk) CreateHITType(input *CreateHITTypeInput) (*CreateHITTypeOutput, error) {
   573  	req, out := c.CreateHITTypeRequest(input)
   574  	return out, req.Send()
   575  }
   576  
   577  // CreateHITTypeWithContext is the same as CreateHITType with the addition of
   578  // the ability to pass a context and additional request options.
   579  //
   580  // See CreateHITType for details on how to use this API operation.
   581  //
   582  // The context must be non-nil and will be used for request cancellation. If
   583  // the context is nil a panic will occur. In the future the SDK may create
   584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   585  // for more information on using Contexts.
   586  func (c *MTurk) CreateHITTypeWithContext(ctx aws.Context, input *CreateHITTypeInput, opts ...request.Option) (*CreateHITTypeOutput, error) {
   587  	req, out := c.CreateHITTypeRequest(input)
   588  	req.SetContext(ctx)
   589  	req.ApplyOptions(opts...)
   590  	return out, req.Send()
   591  }
   592  
   593  const opCreateHITWithHITType = "CreateHITWithHITType"
   594  
   595  // CreateHITWithHITTypeRequest generates a "aws/request.Request" representing the
   596  // client's request for the CreateHITWithHITType operation. The "output" return
   597  // value will be populated with the request's response once the request completes
   598  // successfully.
   599  //
   600  // Use "Send" method on the returned Request to send the API call to the service.
   601  // the "output" return value is not valid until after Send returns without error.
   602  //
   603  // See CreateHITWithHITType for more information on using the CreateHITWithHITType
   604  // API call, and error handling.
   605  //
   606  // This method is useful when you want to inject custom logic or configuration
   607  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   608  //
   609  //
   610  //    // Example sending a request using the CreateHITWithHITTypeRequest method.
   611  //    req, resp := client.CreateHITWithHITTypeRequest(params)
   612  //
   613  //    err := req.Send()
   614  //    if err == nil { // resp is now filled
   615  //        fmt.Println(resp)
   616  //    }
   617  //
   618  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateHITWithHITType
   619  func (c *MTurk) CreateHITWithHITTypeRequest(input *CreateHITWithHITTypeInput) (req *request.Request, output *CreateHITWithHITTypeOutput) {
   620  	op := &request.Operation{
   621  		Name:       opCreateHITWithHITType,
   622  		HTTPMethod: "POST",
   623  		HTTPPath:   "/",
   624  	}
   625  
   626  	if input == nil {
   627  		input = &CreateHITWithHITTypeInput{}
   628  	}
   629  
   630  	output = &CreateHITWithHITTypeOutput{}
   631  	req = c.newRequest(op, input, output)
   632  	return
   633  }
   634  
   635  // CreateHITWithHITType API operation for Amazon Mechanical Turk.
   636  //
   637  // The CreateHITWithHITType operation creates a new Human Intelligence Task
   638  // (HIT) using an existing HITTypeID generated by the CreateHITType operation.
   639  //
   640  // This is an alternative way to create HITs from the CreateHIT operation. This
   641  // is the recommended best practice for Requesters who are creating large numbers
   642  // of HITs.
   643  //
   644  // CreateHITWithHITType also supports several ways to provide question data:
   645  // by providing a value for the Question parameter that fully specifies the
   646  // contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.
   647  //
   648  // If a HIT is created with 10 or more maximum assignments, there is an additional
   649  // fee. For more information, see Amazon Mechanical Turk Pricing (https://requester.mturk.com/pricing).
   650  //
   651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   652  // with awserr.Error's Code and Message methods to get detailed information about
   653  // the error.
   654  //
   655  // See the AWS API reference guide for Amazon Mechanical Turk's
   656  // API operation CreateHITWithHITType for usage and error information.
   657  //
   658  // Returned Error Types:
   659  //   * ServiceFault
   660  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   661  //   your call again.
   662  //
   663  //   * RequestError
   664  //   Your request is invalid.
   665  //
   666  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateHITWithHITType
   667  func (c *MTurk) CreateHITWithHITType(input *CreateHITWithHITTypeInput) (*CreateHITWithHITTypeOutput, error) {
   668  	req, out := c.CreateHITWithHITTypeRequest(input)
   669  	return out, req.Send()
   670  }
   671  
   672  // CreateHITWithHITTypeWithContext is the same as CreateHITWithHITType with the addition of
   673  // the ability to pass a context and additional request options.
   674  //
   675  // See CreateHITWithHITType for details on how to use this API operation.
   676  //
   677  // The context must be non-nil and will be used for request cancellation. If
   678  // the context is nil a panic will occur. In the future the SDK may create
   679  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   680  // for more information on using Contexts.
   681  func (c *MTurk) CreateHITWithHITTypeWithContext(ctx aws.Context, input *CreateHITWithHITTypeInput, opts ...request.Option) (*CreateHITWithHITTypeOutput, error) {
   682  	req, out := c.CreateHITWithHITTypeRequest(input)
   683  	req.SetContext(ctx)
   684  	req.ApplyOptions(opts...)
   685  	return out, req.Send()
   686  }
   687  
   688  const opCreateQualificationType = "CreateQualificationType"
   689  
   690  // CreateQualificationTypeRequest generates a "aws/request.Request" representing the
   691  // client's request for the CreateQualificationType operation. The "output" return
   692  // value will be populated with the request's response once the request completes
   693  // successfully.
   694  //
   695  // Use "Send" method on the returned Request to send the API call to the service.
   696  // the "output" return value is not valid until after Send returns without error.
   697  //
   698  // See CreateQualificationType for more information on using the CreateQualificationType
   699  // API call, and error handling.
   700  //
   701  // This method is useful when you want to inject custom logic or configuration
   702  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   703  //
   704  //
   705  //    // Example sending a request using the CreateQualificationTypeRequest method.
   706  //    req, resp := client.CreateQualificationTypeRequest(params)
   707  //
   708  //    err := req.Send()
   709  //    if err == nil { // resp is now filled
   710  //        fmt.Println(resp)
   711  //    }
   712  //
   713  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateQualificationType
   714  func (c *MTurk) CreateQualificationTypeRequest(input *CreateQualificationTypeInput) (req *request.Request, output *CreateQualificationTypeOutput) {
   715  	op := &request.Operation{
   716  		Name:       opCreateQualificationType,
   717  		HTTPMethod: "POST",
   718  		HTTPPath:   "/",
   719  	}
   720  
   721  	if input == nil {
   722  		input = &CreateQualificationTypeInput{}
   723  	}
   724  
   725  	output = &CreateQualificationTypeOutput{}
   726  	req = c.newRequest(op, input, output)
   727  	return
   728  }
   729  
   730  // CreateQualificationType API operation for Amazon Mechanical Turk.
   731  //
   732  // The CreateQualificationType operation creates a new Qualification type, which
   733  // is represented by a QualificationType data structure.
   734  //
   735  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   736  // with awserr.Error's Code and Message methods to get detailed information about
   737  // the error.
   738  //
   739  // See the AWS API reference guide for Amazon Mechanical Turk's
   740  // API operation CreateQualificationType for usage and error information.
   741  //
   742  // Returned Error Types:
   743  //   * ServiceFault
   744  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   745  //   your call again.
   746  //
   747  //   * RequestError
   748  //   Your request is invalid.
   749  //
   750  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateQualificationType
   751  func (c *MTurk) CreateQualificationType(input *CreateQualificationTypeInput) (*CreateQualificationTypeOutput, error) {
   752  	req, out := c.CreateQualificationTypeRequest(input)
   753  	return out, req.Send()
   754  }
   755  
   756  // CreateQualificationTypeWithContext is the same as CreateQualificationType with the addition of
   757  // the ability to pass a context and additional request options.
   758  //
   759  // See CreateQualificationType for details on how to use this API operation.
   760  //
   761  // The context must be non-nil and will be used for request cancellation. If
   762  // the context is nil a panic will occur. In the future the SDK may create
   763  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   764  // for more information on using Contexts.
   765  func (c *MTurk) CreateQualificationTypeWithContext(ctx aws.Context, input *CreateQualificationTypeInput, opts ...request.Option) (*CreateQualificationTypeOutput, error) {
   766  	req, out := c.CreateQualificationTypeRequest(input)
   767  	req.SetContext(ctx)
   768  	req.ApplyOptions(opts...)
   769  	return out, req.Send()
   770  }
   771  
   772  const opCreateWorkerBlock = "CreateWorkerBlock"
   773  
   774  // CreateWorkerBlockRequest generates a "aws/request.Request" representing the
   775  // client's request for the CreateWorkerBlock operation. The "output" return
   776  // value will be populated with the request's response once the request completes
   777  // successfully.
   778  //
   779  // Use "Send" method on the returned Request to send the API call to the service.
   780  // the "output" return value is not valid until after Send returns without error.
   781  //
   782  // See CreateWorkerBlock for more information on using the CreateWorkerBlock
   783  // API call, and error handling.
   784  //
   785  // This method is useful when you want to inject custom logic or configuration
   786  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   787  //
   788  //
   789  //    // Example sending a request using the CreateWorkerBlockRequest method.
   790  //    req, resp := client.CreateWorkerBlockRequest(params)
   791  //
   792  //    err := req.Send()
   793  //    if err == nil { // resp is now filled
   794  //        fmt.Println(resp)
   795  //    }
   796  //
   797  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateWorkerBlock
   798  func (c *MTurk) CreateWorkerBlockRequest(input *CreateWorkerBlockInput) (req *request.Request, output *CreateWorkerBlockOutput) {
   799  	op := &request.Operation{
   800  		Name:       opCreateWorkerBlock,
   801  		HTTPMethod: "POST",
   802  		HTTPPath:   "/",
   803  	}
   804  
   805  	if input == nil {
   806  		input = &CreateWorkerBlockInput{}
   807  	}
   808  
   809  	output = &CreateWorkerBlockOutput{}
   810  	req = c.newRequest(op, input, output)
   811  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   812  	return
   813  }
   814  
   815  // CreateWorkerBlock API operation for Amazon Mechanical Turk.
   816  //
   817  // The CreateWorkerBlock operation allows you to prevent a Worker from working
   818  // on your HITs. For example, you can block a Worker who is producing poor quality
   819  // work. You can block up to 100,000 Workers.
   820  //
   821  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   822  // with awserr.Error's Code and Message methods to get detailed information about
   823  // the error.
   824  //
   825  // See the AWS API reference guide for Amazon Mechanical Turk's
   826  // API operation CreateWorkerBlock for usage and error information.
   827  //
   828  // Returned Error Types:
   829  //   * ServiceFault
   830  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   831  //   your call again.
   832  //
   833  //   * RequestError
   834  //   Your request is invalid.
   835  //
   836  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/CreateWorkerBlock
   837  func (c *MTurk) CreateWorkerBlock(input *CreateWorkerBlockInput) (*CreateWorkerBlockOutput, error) {
   838  	req, out := c.CreateWorkerBlockRequest(input)
   839  	return out, req.Send()
   840  }
   841  
   842  // CreateWorkerBlockWithContext is the same as CreateWorkerBlock with the addition of
   843  // the ability to pass a context and additional request options.
   844  //
   845  // See CreateWorkerBlock for details on how to use this API operation.
   846  //
   847  // The context must be non-nil and will be used for request cancellation. If
   848  // the context is nil a panic will occur. In the future the SDK may create
   849  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   850  // for more information on using Contexts.
   851  func (c *MTurk) CreateWorkerBlockWithContext(ctx aws.Context, input *CreateWorkerBlockInput, opts ...request.Option) (*CreateWorkerBlockOutput, error) {
   852  	req, out := c.CreateWorkerBlockRequest(input)
   853  	req.SetContext(ctx)
   854  	req.ApplyOptions(opts...)
   855  	return out, req.Send()
   856  }
   857  
   858  const opDeleteHIT = "DeleteHIT"
   859  
   860  // DeleteHITRequest generates a "aws/request.Request" representing the
   861  // client's request for the DeleteHIT operation. The "output" return
   862  // value will be populated with the request's response once the request completes
   863  // successfully.
   864  //
   865  // Use "Send" method on the returned Request to send the API call to the service.
   866  // the "output" return value is not valid until after Send returns without error.
   867  //
   868  // See DeleteHIT for more information on using the DeleteHIT
   869  // API call, and error handling.
   870  //
   871  // This method is useful when you want to inject custom logic or configuration
   872  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   873  //
   874  //
   875  //    // Example sending a request using the DeleteHITRequest method.
   876  //    req, resp := client.DeleteHITRequest(params)
   877  //
   878  //    err := req.Send()
   879  //    if err == nil { // resp is now filled
   880  //        fmt.Println(resp)
   881  //    }
   882  //
   883  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteHIT
   884  func (c *MTurk) DeleteHITRequest(input *DeleteHITInput) (req *request.Request, output *DeleteHITOutput) {
   885  	op := &request.Operation{
   886  		Name:       opDeleteHIT,
   887  		HTTPMethod: "POST",
   888  		HTTPPath:   "/",
   889  	}
   890  
   891  	if input == nil {
   892  		input = &DeleteHITInput{}
   893  	}
   894  
   895  	output = &DeleteHITOutput{}
   896  	req = c.newRequest(op, input, output)
   897  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   898  	return
   899  }
   900  
   901  // DeleteHIT API operation for Amazon Mechanical Turk.
   902  //
   903  // The DeleteHIT operation is used to delete HIT that is no longer needed. Only
   904  // the Requester who created the HIT can delete it.
   905  //
   906  // You can only dispose of HITs that are in the Reviewable state, with all of
   907  // their submitted assignments already either approved or rejected. If you call
   908  // the DeleteHIT operation on a HIT that is not in the Reviewable state (for
   909  // example, that has not expired, or still has active assignments), or on a
   910  // HIT that is Reviewable but without all of its submitted assignments already
   911  // approved or rejected, the service will return an error.
   912  //
   913  //    * HITs are automatically disposed of after 120 days.
   914  //
   915  //    * After you dispose of a HIT, you can no longer approve the HIT's rejected
   916  //    assignments.
   917  //
   918  //    * Disposed HITs are not returned in results for the ListHITs operation.
   919  //
   920  //    * Disposing HITs can improve the performance of operations such as ListReviewableHITs
   921  //    and ListHITs.
   922  //
   923  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   924  // with awserr.Error's Code and Message methods to get detailed information about
   925  // the error.
   926  //
   927  // See the AWS API reference guide for Amazon Mechanical Turk's
   928  // API operation DeleteHIT for usage and error information.
   929  //
   930  // Returned Error Types:
   931  //   * ServiceFault
   932  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
   933  //   your call again.
   934  //
   935  //   * RequestError
   936  //   Your request is invalid.
   937  //
   938  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteHIT
   939  func (c *MTurk) DeleteHIT(input *DeleteHITInput) (*DeleteHITOutput, error) {
   940  	req, out := c.DeleteHITRequest(input)
   941  	return out, req.Send()
   942  }
   943  
   944  // DeleteHITWithContext is the same as DeleteHIT with the addition of
   945  // the ability to pass a context and additional request options.
   946  //
   947  // See DeleteHIT for details on how to use this API operation.
   948  //
   949  // The context must be non-nil and will be used for request cancellation. If
   950  // the context is nil a panic will occur. In the future the SDK may create
   951  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   952  // for more information on using Contexts.
   953  func (c *MTurk) DeleteHITWithContext(ctx aws.Context, input *DeleteHITInput, opts ...request.Option) (*DeleteHITOutput, error) {
   954  	req, out := c.DeleteHITRequest(input)
   955  	req.SetContext(ctx)
   956  	req.ApplyOptions(opts...)
   957  	return out, req.Send()
   958  }
   959  
   960  const opDeleteQualificationType = "DeleteQualificationType"
   961  
   962  // DeleteQualificationTypeRequest generates a "aws/request.Request" representing the
   963  // client's request for the DeleteQualificationType operation. The "output" return
   964  // value will be populated with the request's response once the request completes
   965  // successfully.
   966  //
   967  // Use "Send" method on the returned Request to send the API call to the service.
   968  // the "output" return value is not valid until after Send returns without error.
   969  //
   970  // See DeleteQualificationType for more information on using the DeleteQualificationType
   971  // API call, and error handling.
   972  //
   973  // This method is useful when you want to inject custom logic or configuration
   974  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   975  //
   976  //
   977  //    // Example sending a request using the DeleteQualificationTypeRequest method.
   978  //    req, resp := client.DeleteQualificationTypeRequest(params)
   979  //
   980  //    err := req.Send()
   981  //    if err == nil { // resp is now filled
   982  //        fmt.Println(resp)
   983  //    }
   984  //
   985  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteQualificationType
   986  func (c *MTurk) DeleteQualificationTypeRequest(input *DeleteQualificationTypeInput) (req *request.Request, output *DeleteQualificationTypeOutput) {
   987  	op := &request.Operation{
   988  		Name:       opDeleteQualificationType,
   989  		HTTPMethod: "POST",
   990  		HTTPPath:   "/",
   991  	}
   992  
   993  	if input == nil {
   994  		input = &DeleteQualificationTypeInput{}
   995  	}
   996  
   997  	output = &DeleteQualificationTypeOutput{}
   998  	req = c.newRequest(op, input, output)
   999  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1000  	return
  1001  }
  1002  
  1003  // DeleteQualificationType API operation for Amazon Mechanical Turk.
  1004  //
  1005  // The DeleteQualificationType deletes a Qualification type and deletes any
  1006  // HIT types that are associated with the Qualification type.
  1007  //
  1008  // This operation does not revoke Qualifications already assigned to Workers
  1009  // because the Qualifications might be needed for active HITs. If there are
  1010  // any pending requests for the Qualification type, Amazon Mechanical Turk rejects
  1011  // those requests. After you delete a Qualification type, you can no longer
  1012  // use it to create HITs or HIT types.
  1013  //
  1014  // DeleteQualificationType must wait for all the HITs that use the deleted Qualification
  1015  // type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType
  1016  // completes and the unique name of the Qualification type is available for
  1017  // reuse with CreateQualificationType.
  1018  //
  1019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1020  // with awserr.Error's Code and Message methods to get detailed information about
  1021  // the error.
  1022  //
  1023  // See the AWS API reference guide for Amazon Mechanical Turk's
  1024  // API operation DeleteQualificationType for usage and error information.
  1025  //
  1026  // Returned Error Types:
  1027  //   * ServiceFault
  1028  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1029  //   your call again.
  1030  //
  1031  //   * RequestError
  1032  //   Your request is invalid.
  1033  //
  1034  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteQualificationType
  1035  func (c *MTurk) DeleteQualificationType(input *DeleteQualificationTypeInput) (*DeleteQualificationTypeOutput, error) {
  1036  	req, out := c.DeleteQualificationTypeRequest(input)
  1037  	return out, req.Send()
  1038  }
  1039  
  1040  // DeleteQualificationTypeWithContext is the same as DeleteQualificationType with the addition of
  1041  // the ability to pass a context and additional request options.
  1042  //
  1043  // See DeleteQualificationType for details on how to use this API operation.
  1044  //
  1045  // The context must be non-nil and will be used for request cancellation. If
  1046  // the context is nil a panic will occur. In the future the SDK may create
  1047  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1048  // for more information on using Contexts.
  1049  func (c *MTurk) DeleteQualificationTypeWithContext(ctx aws.Context, input *DeleteQualificationTypeInput, opts ...request.Option) (*DeleteQualificationTypeOutput, error) {
  1050  	req, out := c.DeleteQualificationTypeRequest(input)
  1051  	req.SetContext(ctx)
  1052  	req.ApplyOptions(opts...)
  1053  	return out, req.Send()
  1054  }
  1055  
  1056  const opDeleteWorkerBlock = "DeleteWorkerBlock"
  1057  
  1058  // DeleteWorkerBlockRequest generates a "aws/request.Request" representing the
  1059  // client's request for the DeleteWorkerBlock operation. The "output" return
  1060  // value will be populated with the request's response once the request completes
  1061  // successfully.
  1062  //
  1063  // Use "Send" method on the returned Request to send the API call to the service.
  1064  // the "output" return value is not valid until after Send returns without error.
  1065  //
  1066  // See DeleteWorkerBlock for more information on using the DeleteWorkerBlock
  1067  // API call, and error handling.
  1068  //
  1069  // This method is useful when you want to inject custom logic or configuration
  1070  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1071  //
  1072  //
  1073  //    // Example sending a request using the DeleteWorkerBlockRequest method.
  1074  //    req, resp := client.DeleteWorkerBlockRequest(params)
  1075  //
  1076  //    err := req.Send()
  1077  //    if err == nil { // resp is now filled
  1078  //        fmt.Println(resp)
  1079  //    }
  1080  //
  1081  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteWorkerBlock
  1082  func (c *MTurk) DeleteWorkerBlockRequest(input *DeleteWorkerBlockInput) (req *request.Request, output *DeleteWorkerBlockOutput) {
  1083  	op := &request.Operation{
  1084  		Name:       opDeleteWorkerBlock,
  1085  		HTTPMethod: "POST",
  1086  		HTTPPath:   "/",
  1087  	}
  1088  
  1089  	if input == nil {
  1090  		input = &DeleteWorkerBlockInput{}
  1091  	}
  1092  
  1093  	output = &DeleteWorkerBlockOutput{}
  1094  	req = c.newRequest(op, input, output)
  1095  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1096  	return
  1097  }
  1098  
  1099  // DeleteWorkerBlock API operation for Amazon Mechanical Turk.
  1100  //
  1101  // The DeleteWorkerBlock operation allows you to reinstate a blocked Worker
  1102  // to work on your HITs. This operation reverses the effects of the CreateWorkerBlock
  1103  // operation. You need the Worker ID to use this operation. If the Worker ID
  1104  // is missing or invalid, this operation fails and returns the message “WorkerId
  1105  // is invalid.” If the specified Worker is not blocked, this operation returns
  1106  // successfully.
  1107  //
  1108  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1109  // with awserr.Error's Code and Message methods to get detailed information about
  1110  // the error.
  1111  //
  1112  // See the AWS API reference guide for Amazon Mechanical Turk's
  1113  // API operation DeleteWorkerBlock for usage and error information.
  1114  //
  1115  // Returned Error Types:
  1116  //   * ServiceFault
  1117  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1118  //   your call again.
  1119  //
  1120  //   * RequestError
  1121  //   Your request is invalid.
  1122  //
  1123  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DeleteWorkerBlock
  1124  func (c *MTurk) DeleteWorkerBlock(input *DeleteWorkerBlockInput) (*DeleteWorkerBlockOutput, error) {
  1125  	req, out := c.DeleteWorkerBlockRequest(input)
  1126  	return out, req.Send()
  1127  }
  1128  
  1129  // DeleteWorkerBlockWithContext is the same as DeleteWorkerBlock with the addition of
  1130  // the ability to pass a context and additional request options.
  1131  //
  1132  // See DeleteWorkerBlock for details on how to use this API operation.
  1133  //
  1134  // The context must be non-nil and will be used for request cancellation. If
  1135  // the context is nil a panic will occur. In the future the SDK may create
  1136  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1137  // for more information on using Contexts.
  1138  func (c *MTurk) DeleteWorkerBlockWithContext(ctx aws.Context, input *DeleteWorkerBlockInput, opts ...request.Option) (*DeleteWorkerBlockOutput, error) {
  1139  	req, out := c.DeleteWorkerBlockRequest(input)
  1140  	req.SetContext(ctx)
  1141  	req.ApplyOptions(opts...)
  1142  	return out, req.Send()
  1143  }
  1144  
  1145  const opDisassociateQualificationFromWorker = "DisassociateQualificationFromWorker"
  1146  
  1147  // DisassociateQualificationFromWorkerRequest generates a "aws/request.Request" representing the
  1148  // client's request for the DisassociateQualificationFromWorker operation. The "output" return
  1149  // value will be populated with the request's response once the request completes
  1150  // successfully.
  1151  //
  1152  // Use "Send" method on the returned Request to send the API call to the service.
  1153  // the "output" return value is not valid until after Send returns without error.
  1154  //
  1155  // See DisassociateQualificationFromWorker for more information on using the DisassociateQualificationFromWorker
  1156  // API call, and error handling.
  1157  //
  1158  // This method is useful when you want to inject custom logic or configuration
  1159  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1160  //
  1161  //
  1162  //    // Example sending a request using the DisassociateQualificationFromWorkerRequest method.
  1163  //    req, resp := client.DisassociateQualificationFromWorkerRequest(params)
  1164  //
  1165  //    err := req.Send()
  1166  //    if err == nil { // resp is now filled
  1167  //        fmt.Println(resp)
  1168  //    }
  1169  //
  1170  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DisassociateQualificationFromWorker
  1171  func (c *MTurk) DisassociateQualificationFromWorkerRequest(input *DisassociateQualificationFromWorkerInput) (req *request.Request, output *DisassociateQualificationFromWorkerOutput) {
  1172  	op := &request.Operation{
  1173  		Name:       opDisassociateQualificationFromWorker,
  1174  		HTTPMethod: "POST",
  1175  		HTTPPath:   "/",
  1176  	}
  1177  
  1178  	if input == nil {
  1179  		input = &DisassociateQualificationFromWorkerInput{}
  1180  	}
  1181  
  1182  	output = &DisassociateQualificationFromWorkerOutput{}
  1183  	req = c.newRequest(op, input, output)
  1184  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1185  	return
  1186  }
  1187  
  1188  // DisassociateQualificationFromWorker API operation for Amazon Mechanical Turk.
  1189  //
  1190  // The DisassociateQualificationFromWorker revokes a previously granted Qualification
  1191  // from a user.
  1192  //
  1193  // You can provide a text message explaining why the Qualification was revoked.
  1194  // The user who had the Qualification can see this message.
  1195  //
  1196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1197  // with awserr.Error's Code and Message methods to get detailed information about
  1198  // the error.
  1199  //
  1200  // See the AWS API reference guide for Amazon Mechanical Turk's
  1201  // API operation DisassociateQualificationFromWorker for usage and error information.
  1202  //
  1203  // Returned Error Types:
  1204  //   * ServiceFault
  1205  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1206  //   your call again.
  1207  //
  1208  //   * RequestError
  1209  //   Your request is invalid.
  1210  //
  1211  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/DisassociateQualificationFromWorker
  1212  func (c *MTurk) DisassociateQualificationFromWorker(input *DisassociateQualificationFromWorkerInput) (*DisassociateQualificationFromWorkerOutput, error) {
  1213  	req, out := c.DisassociateQualificationFromWorkerRequest(input)
  1214  	return out, req.Send()
  1215  }
  1216  
  1217  // DisassociateQualificationFromWorkerWithContext is the same as DisassociateQualificationFromWorker with the addition of
  1218  // the ability to pass a context and additional request options.
  1219  //
  1220  // See DisassociateQualificationFromWorker for details on how to use this API operation.
  1221  //
  1222  // The context must be non-nil and will be used for request cancellation. If
  1223  // the context is nil a panic will occur. In the future the SDK may create
  1224  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1225  // for more information on using Contexts.
  1226  func (c *MTurk) DisassociateQualificationFromWorkerWithContext(ctx aws.Context, input *DisassociateQualificationFromWorkerInput, opts ...request.Option) (*DisassociateQualificationFromWorkerOutput, error) {
  1227  	req, out := c.DisassociateQualificationFromWorkerRequest(input)
  1228  	req.SetContext(ctx)
  1229  	req.ApplyOptions(opts...)
  1230  	return out, req.Send()
  1231  }
  1232  
  1233  const opGetAccountBalance = "GetAccountBalance"
  1234  
  1235  // GetAccountBalanceRequest generates a "aws/request.Request" representing the
  1236  // client's request for the GetAccountBalance operation. The "output" return
  1237  // value will be populated with the request's response once the request completes
  1238  // successfully.
  1239  //
  1240  // Use "Send" method on the returned Request to send the API call to the service.
  1241  // the "output" return value is not valid until after Send returns without error.
  1242  //
  1243  // See GetAccountBalance for more information on using the GetAccountBalance
  1244  // API call, and error handling.
  1245  //
  1246  // This method is useful when you want to inject custom logic or configuration
  1247  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1248  //
  1249  //
  1250  //    // Example sending a request using the GetAccountBalanceRequest method.
  1251  //    req, resp := client.GetAccountBalanceRequest(params)
  1252  //
  1253  //    err := req.Send()
  1254  //    if err == nil { // resp is now filled
  1255  //        fmt.Println(resp)
  1256  //    }
  1257  //
  1258  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetAccountBalance
  1259  func (c *MTurk) GetAccountBalanceRequest(input *GetAccountBalanceInput) (req *request.Request, output *GetAccountBalanceOutput) {
  1260  	op := &request.Operation{
  1261  		Name:       opGetAccountBalance,
  1262  		HTTPMethod: "POST",
  1263  		HTTPPath:   "/",
  1264  	}
  1265  
  1266  	if input == nil {
  1267  		input = &GetAccountBalanceInput{}
  1268  	}
  1269  
  1270  	output = &GetAccountBalanceOutput{}
  1271  	req = c.newRequest(op, input, output)
  1272  	return
  1273  }
  1274  
  1275  // GetAccountBalance API operation for Amazon Mechanical Turk.
  1276  //
  1277  // The GetAccountBalance operation retrieves the Prepaid HITs balance in your
  1278  // Amazon Mechanical Turk account if you are a Prepaid Requester. Alternatively,
  1279  // this operation will retrieve the remaining available AWS Billing usage if
  1280  // you have enabled AWS Billing. Note: If you have enabled AWS Billing and still
  1281  // have a remaining Prepaid HITs balance, this balance can be viewed on the
  1282  // My Account page in the Requester console.
  1283  //
  1284  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1285  // with awserr.Error's Code and Message methods to get detailed information about
  1286  // the error.
  1287  //
  1288  // See the AWS API reference guide for Amazon Mechanical Turk's
  1289  // API operation GetAccountBalance for usage and error information.
  1290  //
  1291  // Returned Error Types:
  1292  //   * ServiceFault
  1293  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1294  //   your call again.
  1295  //
  1296  //   * RequestError
  1297  //   Your request is invalid.
  1298  //
  1299  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetAccountBalance
  1300  func (c *MTurk) GetAccountBalance(input *GetAccountBalanceInput) (*GetAccountBalanceOutput, error) {
  1301  	req, out := c.GetAccountBalanceRequest(input)
  1302  	return out, req.Send()
  1303  }
  1304  
  1305  // GetAccountBalanceWithContext is the same as GetAccountBalance with the addition of
  1306  // the ability to pass a context and additional request options.
  1307  //
  1308  // See GetAccountBalance for details on how to use this API operation.
  1309  //
  1310  // The context must be non-nil and will be used for request cancellation. If
  1311  // the context is nil a panic will occur. In the future the SDK may create
  1312  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1313  // for more information on using Contexts.
  1314  func (c *MTurk) GetAccountBalanceWithContext(ctx aws.Context, input *GetAccountBalanceInput, opts ...request.Option) (*GetAccountBalanceOutput, error) {
  1315  	req, out := c.GetAccountBalanceRequest(input)
  1316  	req.SetContext(ctx)
  1317  	req.ApplyOptions(opts...)
  1318  	return out, req.Send()
  1319  }
  1320  
  1321  const opGetAssignment = "GetAssignment"
  1322  
  1323  // GetAssignmentRequest generates a "aws/request.Request" representing the
  1324  // client's request for the GetAssignment operation. The "output" return
  1325  // value will be populated with the request's response once the request completes
  1326  // successfully.
  1327  //
  1328  // Use "Send" method on the returned Request to send the API call to the service.
  1329  // the "output" return value is not valid until after Send returns without error.
  1330  //
  1331  // See GetAssignment for more information on using the GetAssignment
  1332  // API call, and error handling.
  1333  //
  1334  // This method is useful when you want to inject custom logic or configuration
  1335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1336  //
  1337  //
  1338  //    // Example sending a request using the GetAssignmentRequest method.
  1339  //    req, resp := client.GetAssignmentRequest(params)
  1340  //
  1341  //    err := req.Send()
  1342  //    if err == nil { // resp is now filled
  1343  //        fmt.Println(resp)
  1344  //    }
  1345  //
  1346  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetAssignment
  1347  func (c *MTurk) GetAssignmentRequest(input *GetAssignmentInput) (req *request.Request, output *GetAssignmentOutput) {
  1348  	op := &request.Operation{
  1349  		Name:       opGetAssignment,
  1350  		HTTPMethod: "POST",
  1351  		HTTPPath:   "/",
  1352  	}
  1353  
  1354  	if input == nil {
  1355  		input = &GetAssignmentInput{}
  1356  	}
  1357  
  1358  	output = &GetAssignmentOutput{}
  1359  	req = c.newRequest(op, input, output)
  1360  	return
  1361  }
  1362  
  1363  // GetAssignment API operation for Amazon Mechanical Turk.
  1364  //
  1365  // The GetAssignment operation retrieves the details of the specified Assignment.
  1366  //
  1367  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1368  // with awserr.Error's Code and Message methods to get detailed information about
  1369  // the error.
  1370  //
  1371  // See the AWS API reference guide for Amazon Mechanical Turk's
  1372  // API operation GetAssignment for usage and error information.
  1373  //
  1374  // Returned Error Types:
  1375  //   * ServiceFault
  1376  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1377  //   your call again.
  1378  //
  1379  //   * RequestError
  1380  //   Your request is invalid.
  1381  //
  1382  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetAssignment
  1383  func (c *MTurk) GetAssignment(input *GetAssignmentInput) (*GetAssignmentOutput, error) {
  1384  	req, out := c.GetAssignmentRequest(input)
  1385  	return out, req.Send()
  1386  }
  1387  
  1388  // GetAssignmentWithContext is the same as GetAssignment with the addition of
  1389  // the ability to pass a context and additional request options.
  1390  //
  1391  // See GetAssignment for details on how to use this API operation.
  1392  //
  1393  // The context must be non-nil and will be used for request cancellation. If
  1394  // the context is nil a panic will occur. In the future the SDK may create
  1395  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1396  // for more information on using Contexts.
  1397  func (c *MTurk) GetAssignmentWithContext(ctx aws.Context, input *GetAssignmentInput, opts ...request.Option) (*GetAssignmentOutput, error) {
  1398  	req, out := c.GetAssignmentRequest(input)
  1399  	req.SetContext(ctx)
  1400  	req.ApplyOptions(opts...)
  1401  	return out, req.Send()
  1402  }
  1403  
  1404  const opGetFileUploadURL = "GetFileUploadURL"
  1405  
  1406  // GetFileUploadURLRequest generates a "aws/request.Request" representing the
  1407  // client's request for the GetFileUploadURL operation. The "output" return
  1408  // value will be populated with the request's response once the request completes
  1409  // successfully.
  1410  //
  1411  // Use "Send" method on the returned Request to send the API call to the service.
  1412  // the "output" return value is not valid until after Send returns without error.
  1413  //
  1414  // See GetFileUploadURL for more information on using the GetFileUploadURL
  1415  // API call, and error handling.
  1416  //
  1417  // This method is useful when you want to inject custom logic or configuration
  1418  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1419  //
  1420  //
  1421  //    // Example sending a request using the GetFileUploadURLRequest method.
  1422  //    req, resp := client.GetFileUploadURLRequest(params)
  1423  //
  1424  //    err := req.Send()
  1425  //    if err == nil { // resp is now filled
  1426  //        fmt.Println(resp)
  1427  //    }
  1428  //
  1429  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetFileUploadURL
  1430  func (c *MTurk) GetFileUploadURLRequest(input *GetFileUploadURLInput) (req *request.Request, output *GetFileUploadURLOutput) {
  1431  	op := &request.Operation{
  1432  		Name:       opGetFileUploadURL,
  1433  		HTTPMethod: "POST",
  1434  		HTTPPath:   "/",
  1435  	}
  1436  
  1437  	if input == nil {
  1438  		input = &GetFileUploadURLInput{}
  1439  	}
  1440  
  1441  	output = &GetFileUploadURLOutput{}
  1442  	req = c.newRequest(op, input, output)
  1443  	return
  1444  }
  1445  
  1446  // GetFileUploadURL API operation for Amazon Mechanical Turk.
  1447  //
  1448  // The GetFileUploadURL operation generates and returns a temporary URL. You
  1449  // use the temporary URL to retrieve a file uploaded by a Worker as an answer
  1450  // to a FileUploadAnswer question for a HIT. The temporary URL is generated
  1451  // the instant the GetFileUploadURL operation is called, and is valid for 60
  1452  // seconds. You can get a temporary file upload URL any time until the HIT is
  1453  // disposed. After the HIT is disposed, any uploaded files are deleted, and
  1454  // cannot be retrieved. Pending Deprecation on December 12, 2017. The Answer
  1455  // Specification structure will no longer support the FileUploadAnswer element
  1456  // to be used for the QuestionForm data structure. Instead, we recommend that
  1457  // Requesters who want to create HITs asking Workers to upload files to use
  1458  // Amazon S3.
  1459  //
  1460  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1461  // with awserr.Error's Code and Message methods to get detailed information about
  1462  // the error.
  1463  //
  1464  // See the AWS API reference guide for Amazon Mechanical Turk's
  1465  // API operation GetFileUploadURL for usage and error information.
  1466  //
  1467  // Returned Error Types:
  1468  //   * ServiceFault
  1469  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1470  //   your call again.
  1471  //
  1472  //   * RequestError
  1473  //   Your request is invalid.
  1474  //
  1475  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetFileUploadURL
  1476  func (c *MTurk) GetFileUploadURL(input *GetFileUploadURLInput) (*GetFileUploadURLOutput, error) {
  1477  	req, out := c.GetFileUploadURLRequest(input)
  1478  	return out, req.Send()
  1479  }
  1480  
  1481  // GetFileUploadURLWithContext is the same as GetFileUploadURL with the addition of
  1482  // the ability to pass a context and additional request options.
  1483  //
  1484  // See GetFileUploadURL for details on how to use this API operation.
  1485  //
  1486  // The context must be non-nil and will be used for request cancellation. If
  1487  // the context is nil a panic will occur. In the future the SDK may create
  1488  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1489  // for more information on using Contexts.
  1490  func (c *MTurk) GetFileUploadURLWithContext(ctx aws.Context, input *GetFileUploadURLInput, opts ...request.Option) (*GetFileUploadURLOutput, error) {
  1491  	req, out := c.GetFileUploadURLRequest(input)
  1492  	req.SetContext(ctx)
  1493  	req.ApplyOptions(opts...)
  1494  	return out, req.Send()
  1495  }
  1496  
  1497  const opGetHIT = "GetHIT"
  1498  
  1499  // GetHITRequest generates a "aws/request.Request" representing the
  1500  // client's request for the GetHIT operation. The "output" return
  1501  // value will be populated with the request's response once the request completes
  1502  // successfully.
  1503  //
  1504  // Use "Send" method on the returned Request to send the API call to the service.
  1505  // the "output" return value is not valid until after Send returns without error.
  1506  //
  1507  // See GetHIT for more information on using the GetHIT
  1508  // API call, and error handling.
  1509  //
  1510  // This method is useful when you want to inject custom logic or configuration
  1511  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1512  //
  1513  //
  1514  //    // Example sending a request using the GetHITRequest method.
  1515  //    req, resp := client.GetHITRequest(params)
  1516  //
  1517  //    err := req.Send()
  1518  //    if err == nil { // resp is now filled
  1519  //        fmt.Println(resp)
  1520  //    }
  1521  //
  1522  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetHIT
  1523  func (c *MTurk) GetHITRequest(input *GetHITInput) (req *request.Request, output *GetHITOutput) {
  1524  	op := &request.Operation{
  1525  		Name:       opGetHIT,
  1526  		HTTPMethod: "POST",
  1527  		HTTPPath:   "/",
  1528  	}
  1529  
  1530  	if input == nil {
  1531  		input = &GetHITInput{}
  1532  	}
  1533  
  1534  	output = &GetHITOutput{}
  1535  	req = c.newRequest(op, input, output)
  1536  	return
  1537  }
  1538  
  1539  // GetHIT API operation for Amazon Mechanical Turk.
  1540  //
  1541  // The GetHIT operation retrieves the details of the specified HIT.
  1542  //
  1543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1544  // with awserr.Error's Code and Message methods to get detailed information about
  1545  // the error.
  1546  //
  1547  // See the AWS API reference guide for Amazon Mechanical Turk's
  1548  // API operation GetHIT for usage and error information.
  1549  //
  1550  // Returned Error Types:
  1551  //   * ServiceFault
  1552  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1553  //   your call again.
  1554  //
  1555  //   * RequestError
  1556  //   Your request is invalid.
  1557  //
  1558  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetHIT
  1559  func (c *MTurk) GetHIT(input *GetHITInput) (*GetHITOutput, error) {
  1560  	req, out := c.GetHITRequest(input)
  1561  	return out, req.Send()
  1562  }
  1563  
  1564  // GetHITWithContext is the same as GetHIT with the addition of
  1565  // the ability to pass a context and additional request options.
  1566  //
  1567  // See GetHIT for details on how to use this API operation.
  1568  //
  1569  // The context must be non-nil and will be used for request cancellation. If
  1570  // the context is nil a panic will occur. In the future the SDK may create
  1571  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1572  // for more information on using Contexts.
  1573  func (c *MTurk) GetHITWithContext(ctx aws.Context, input *GetHITInput, opts ...request.Option) (*GetHITOutput, error) {
  1574  	req, out := c.GetHITRequest(input)
  1575  	req.SetContext(ctx)
  1576  	req.ApplyOptions(opts...)
  1577  	return out, req.Send()
  1578  }
  1579  
  1580  const opGetQualificationScore = "GetQualificationScore"
  1581  
  1582  // GetQualificationScoreRequest generates a "aws/request.Request" representing the
  1583  // client's request for the GetQualificationScore operation. The "output" return
  1584  // value will be populated with the request's response once the request completes
  1585  // successfully.
  1586  //
  1587  // Use "Send" method on the returned Request to send the API call to the service.
  1588  // the "output" return value is not valid until after Send returns without error.
  1589  //
  1590  // See GetQualificationScore for more information on using the GetQualificationScore
  1591  // API call, and error handling.
  1592  //
  1593  // This method is useful when you want to inject custom logic or configuration
  1594  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1595  //
  1596  //
  1597  //    // Example sending a request using the GetQualificationScoreRequest method.
  1598  //    req, resp := client.GetQualificationScoreRequest(params)
  1599  //
  1600  //    err := req.Send()
  1601  //    if err == nil { // resp is now filled
  1602  //        fmt.Println(resp)
  1603  //    }
  1604  //
  1605  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetQualificationScore
  1606  func (c *MTurk) GetQualificationScoreRequest(input *GetQualificationScoreInput) (req *request.Request, output *GetQualificationScoreOutput) {
  1607  	op := &request.Operation{
  1608  		Name:       opGetQualificationScore,
  1609  		HTTPMethod: "POST",
  1610  		HTTPPath:   "/",
  1611  	}
  1612  
  1613  	if input == nil {
  1614  		input = &GetQualificationScoreInput{}
  1615  	}
  1616  
  1617  	output = &GetQualificationScoreOutput{}
  1618  	req = c.newRequest(op, input, output)
  1619  	return
  1620  }
  1621  
  1622  // GetQualificationScore API operation for Amazon Mechanical Turk.
  1623  //
  1624  // The GetQualificationScore operation returns the value of a Worker's Qualification
  1625  // for a given Qualification type.
  1626  //
  1627  // To get a Worker's Qualification, you must know the Worker's ID. The Worker's
  1628  // ID is included in the assignment data returned by the ListAssignmentsForHIT
  1629  // operation.
  1630  //
  1631  // Only the owner of a Qualification type can query the value of a Worker's
  1632  // Qualification of that type.
  1633  //
  1634  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1635  // with awserr.Error's Code and Message methods to get detailed information about
  1636  // the error.
  1637  //
  1638  // See the AWS API reference guide for Amazon Mechanical Turk's
  1639  // API operation GetQualificationScore for usage and error information.
  1640  //
  1641  // Returned Error Types:
  1642  //   * ServiceFault
  1643  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1644  //   your call again.
  1645  //
  1646  //   * RequestError
  1647  //   Your request is invalid.
  1648  //
  1649  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetQualificationScore
  1650  func (c *MTurk) GetQualificationScore(input *GetQualificationScoreInput) (*GetQualificationScoreOutput, error) {
  1651  	req, out := c.GetQualificationScoreRequest(input)
  1652  	return out, req.Send()
  1653  }
  1654  
  1655  // GetQualificationScoreWithContext is the same as GetQualificationScore with the addition of
  1656  // the ability to pass a context and additional request options.
  1657  //
  1658  // See GetQualificationScore for details on how to use this API operation.
  1659  //
  1660  // The context must be non-nil and will be used for request cancellation. If
  1661  // the context is nil a panic will occur. In the future the SDK may create
  1662  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1663  // for more information on using Contexts.
  1664  func (c *MTurk) GetQualificationScoreWithContext(ctx aws.Context, input *GetQualificationScoreInput, opts ...request.Option) (*GetQualificationScoreOutput, error) {
  1665  	req, out := c.GetQualificationScoreRequest(input)
  1666  	req.SetContext(ctx)
  1667  	req.ApplyOptions(opts...)
  1668  	return out, req.Send()
  1669  }
  1670  
  1671  const opGetQualificationType = "GetQualificationType"
  1672  
  1673  // GetQualificationTypeRequest generates a "aws/request.Request" representing the
  1674  // client's request for the GetQualificationType operation. The "output" return
  1675  // value will be populated with the request's response once the request completes
  1676  // successfully.
  1677  //
  1678  // Use "Send" method on the returned Request to send the API call to the service.
  1679  // the "output" return value is not valid until after Send returns without error.
  1680  //
  1681  // See GetQualificationType for more information on using the GetQualificationType
  1682  // API call, and error handling.
  1683  //
  1684  // This method is useful when you want to inject custom logic or configuration
  1685  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1686  //
  1687  //
  1688  //    // Example sending a request using the GetQualificationTypeRequest method.
  1689  //    req, resp := client.GetQualificationTypeRequest(params)
  1690  //
  1691  //    err := req.Send()
  1692  //    if err == nil { // resp is now filled
  1693  //        fmt.Println(resp)
  1694  //    }
  1695  //
  1696  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetQualificationType
  1697  func (c *MTurk) GetQualificationTypeRequest(input *GetQualificationTypeInput) (req *request.Request, output *GetQualificationTypeOutput) {
  1698  	op := &request.Operation{
  1699  		Name:       opGetQualificationType,
  1700  		HTTPMethod: "POST",
  1701  		HTTPPath:   "/",
  1702  	}
  1703  
  1704  	if input == nil {
  1705  		input = &GetQualificationTypeInput{}
  1706  	}
  1707  
  1708  	output = &GetQualificationTypeOutput{}
  1709  	req = c.newRequest(op, input, output)
  1710  	return
  1711  }
  1712  
  1713  // GetQualificationType API operation for Amazon Mechanical Turk.
  1714  //
  1715  // The GetQualificationTypeoperation retrieves information about a Qualification
  1716  // type using its ID.
  1717  //
  1718  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1719  // with awserr.Error's Code and Message methods to get detailed information about
  1720  // the error.
  1721  //
  1722  // See the AWS API reference guide for Amazon Mechanical Turk's
  1723  // API operation GetQualificationType for usage and error information.
  1724  //
  1725  // Returned Error Types:
  1726  //   * ServiceFault
  1727  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1728  //   your call again.
  1729  //
  1730  //   * RequestError
  1731  //   Your request is invalid.
  1732  //
  1733  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/GetQualificationType
  1734  func (c *MTurk) GetQualificationType(input *GetQualificationTypeInput) (*GetQualificationTypeOutput, error) {
  1735  	req, out := c.GetQualificationTypeRequest(input)
  1736  	return out, req.Send()
  1737  }
  1738  
  1739  // GetQualificationTypeWithContext is the same as GetQualificationType with the addition of
  1740  // the ability to pass a context and additional request options.
  1741  //
  1742  // See GetQualificationType for details on how to use this API operation.
  1743  //
  1744  // The context must be non-nil and will be used for request cancellation. If
  1745  // the context is nil a panic will occur. In the future the SDK may create
  1746  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1747  // for more information on using Contexts.
  1748  func (c *MTurk) GetQualificationTypeWithContext(ctx aws.Context, input *GetQualificationTypeInput, opts ...request.Option) (*GetQualificationTypeOutput, error) {
  1749  	req, out := c.GetQualificationTypeRequest(input)
  1750  	req.SetContext(ctx)
  1751  	req.ApplyOptions(opts...)
  1752  	return out, req.Send()
  1753  }
  1754  
  1755  const opListAssignmentsForHIT = "ListAssignmentsForHIT"
  1756  
  1757  // ListAssignmentsForHITRequest generates a "aws/request.Request" representing the
  1758  // client's request for the ListAssignmentsForHIT operation. The "output" return
  1759  // value will be populated with the request's response once the request completes
  1760  // successfully.
  1761  //
  1762  // Use "Send" method on the returned Request to send the API call to the service.
  1763  // the "output" return value is not valid until after Send returns without error.
  1764  //
  1765  // See ListAssignmentsForHIT for more information on using the ListAssignmentsForHIT
  1766  // API call, and error handling.
  1767  //
  1768  // This method is useful when you want to inject custom logic or configuration
  1769  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1770  //
  1771  //
  1772  //    // Example sending a request using the ListAssignmentsForHITRequest method.
  1773  //    req, resp := client.ListAssignmentsForHITRequest(params)
  1774  //
  1775  //    err := req.Send()
  1776  //    if err == nil { // resp is now filled
  1777  //        fmt.Println(resp)
  1778  //    }
  1779  //
  1780  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListAssignmentsForHIT
  1781  func (c *MTurk) ListAssignmentsForHITRequest(input *ListAssignmentsForHITInput) (req *request.Request, output *ListAssignmentsForHITOutput) {
  1782  	op := &request.Operation{
  1783  		Name:       opListAssignmentsForHIT,
  1784  		HTTPMethod: "POST",
  1785  		HTTPPath:   "/",
  1786  		Paginator: &request.Paginator{
  1787  			InputTokens:     []string{"NextToken"},
  1788  			OutputTokens:    []string{"NextToken"},
  1789  			LimitToken:      "MaxResults",
  1790  			TruncationToken: "",
  1791  		},
  1792  	}
  1793  
  1794  	if input == nil {
  1795  		input = &ListAssignmentsForHITInput{}
  1796  	}
  1797  
  1798  	output = &ListAssignmentsForHITOutput{}
  1799  	req = c.newRequest(op, input, output)
  1800  	return
  1801  }
  1802  
  1803  // ListAssignmentsForHIT API operation for Amazon Mechanical Turk.
  1804  //
  1805  // The ListAssignmentsForHIT operation retrieves completed assignments for a
  1806  // HIT. You can use this operation to retrieve the results for a HIT.
  1807  //
  1808  // You can get assignments for a HIT at any time, even if the HIT is not yet
  1809  // Reviewable. If a HIT requested multiple assignments, and has received some
  1810  // results but has not yet become Reviewable, you can still retrieve the partial
  1811  // results with this operation.
  1812  //
  1813  // Use the AssignmentStatus parameter to control which set of assignments for
  1814  // a HIT are returned. The ListAssignmentsForHIT operation can return submitted
  1815  // assignments awaiting approval, or it can return assignments that have already
  1816  // been approved or rejected. You can set AssignmentStatus=Approved,Rejected
  1817  // to get assignments that have already been approved and rejected together
  1818  // in one result set.
  1819  //
  1820  // Only the Requester who created the HIT can retrieve the assignments for that
  1821  // HIT.
  1822  //
  1823  // Results are sorted and divided into numbered pages and the operation returns
  1824  // a single page of results. You can use the parameters of the operation to
  1825  // control sorting and pagination.
  1826  //
  1827  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1828  // with awserr.Error's Code and Message methods to get detailed information about
  1829  // the error.
  1830  //
  1831  // See the AWS API reference guide for Amazon Mechanical Turk's
  1832  // API operation ListAssignmentsForHIT for usage and error information.
  1833  //
  1834  // Returned Error Types:
  1835  //   * ServiceFault
  1836  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1837  //   your call again.
  1838  //
  1839  //   * RequestError
  1840  //   Your request is invalid.
  1841  //
  1842  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListAssignmentsForHIT
  1843  func (c *MTurk) ListAssignmentsForHIT(input *ListAssignmentsForHITInput) (*ListAssignmentsForHITOutput, error) {
  1844  	req, out := c.ListAssignmentsForHITRequest(input)
  1845  	return out, req.Send()
  1846  }
  1847  
  1848  // ListAssignmentsForHITWithContext is the same as ListAssignmentsForHIT with the addition of
  1849  // the ability to pass a context and additional request options.
  1850  //
  1851  // See ListAssignmentsForHIT for details on how to use this API operation.
  1852  //
  1853  // The context must be non-nil and will be used for request cancellation. If
  1854  // the context is nil a panic will occur. In the future the SDK may create
  1855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1856  // for more information on using Contexts.
  1857  func (c *MTurk) ListAssignmentsForHITWithContext(ctx aws.Context, input *ListAssignmentsForHITInput, opts ...request.Option) (*ListAssignmentsForHITOutput, error) {
  1858  	req, out := c.ListAssignmentsForHITRequest(input)
  1859  	req.SetContext(ctx)
  1860  	req.ApplyOptions(opts...)
  1861  	return out, req.Send()
  1862  }
  1863  
  1864  // ListAssignmentsForHITPages iterates over the pages of a ListAssignmentsForHIT operation,
  1865  // calling the "fn" function with the response data for each page. To stop
  1866  // iterating, return false from the fn function.
  1867  //
  1868  // See ListAssignmentsForHIT method for more information on how to use this operation.
  1869  //
  1870  // Note: This operation can generate multiple requests to a service.
  1871  //
  1872  //    // Example iterating over at most 3 pages of a ListAssignmentsForHIT operation.
  1873  //    pageNum := 0
  1874  //    err := client.ListAssignmentsForHITPages(params,
  1875  //        func(page *mturk.ListAssignmentsForHITOutput, lastPage bool) bool {
  1876  //            pageNum++
  1877  //            fmt.Println(page)
  1878  //            return pageNum <= 3
  1879  //        })
  1880  //
  1881  func (c *MTurk) ListAssignmentsForHITPages(input *ListAssignmentsForHITInput, fn func(*ListAssignmentsForHITOutput, bool) bool) error {
  1882  	return c.ListAssignmentsForHITPagesWithContext(aws.BackgroundContext(), input, fn)
  1883  }
  1884  
  1885  // ListAssignmentsForHITPagesWithContext same as ListAssignmentsForHITPages except
  1886  // it takes a Context and allows setting request options on the pages.
  1887  //
  1888  // The context must be non-nil and will be used for request cancellation. If
  1889  // the context is nil a panic will occur. In the future the SDK may create
  1890  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1891  // for more information on using Contexts.
  1892  func (c *MTurk) ListAssignmentsForHITPagesWithContext(ctx aws.Context, input *ListAssignmentsForHITInput, fn func(*ListAssignmentsForHITOutput, bool) bool, opts ...request.Option) error {
  1893  	p := request.Pagination{
  1894  		NewRequest: func() (*request.Request, error) {
  1895  			var inCpy *ListAssignmentsForHITInput
  1896  			if input != nil {
  1897  				tmp := *input
  1898  				inCpy = &tmp
  1899  			}
  1900  			req, _ := c.ListAssignmentsForHITRequest(inCpy)
  1901  			req.SetContext(ctx)
  1902  			req.ApplyOptions(opts...)
  1903  			return req, nil
  1904  		},
  1905  	}
  1906  
  1907  	for p.Next() {
  1908  		if !fn(p.Page().(*ListAssignmentsForHITOutput), !p.HasNextPage()) {
  1909  			break
  1910  		}
  1911  	}
  1912  
  1913  	return p.Err()
  1914  }
  1915  
  1916  const opListBonusPayments = "ListBonusPayments"
  1917  
  1918  // ListBonusPaymentsRequest generates a "aws/request.Request" representing the
  1919  // client's request for the ListBonusPayments operation. The "output" return
  1920  // value will be populated with the request's response once the request completes
  1921  // successfully.
  1922  //
  1923  // Use "Send" method on the returned Request to send the API call to the service.
  1924  // the "output" return value is not valid until after Send returns without error.
  1925  //
  1926  // See ListBonusPayments for more information on using the ListBonusPayments
  1927  // API call, and error handling.
  1928  //
  1929  // This method is useful when you want to inject custom logic or configuration
  1930  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1931  //
  1932  //
  1933  //    // Example sending a request using the ListBonusPaymentsRequest method.
  1934  //    req, resp := client.ListBonusPaymentsRequest(params)
  1935  //
  1936  //    err := req.Send()
  1937  //    if err == nil { // resp is now filled
  1938  //        fmt.Println(resp)
  1939  //    }
  1940  //
  1941  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListBonusPayments
  1942  func (c *MTurk) ListBonusPaymentsRequest(input *ListBonusPaymentsInput) (req *request.Request, output *ListBonusPaymentsOutput) {
  1943  	op := &request.Operation{
  1944  		Name:       opListBonusPayments,
  1945  		HTTPMethod: "POST",
  1946  		HTTPPath:   "/",
  1947  		Paginator: &request.Paginator{
  1948  			InputTokens:     []string{"NextToken"},
  1949  			OutputTokens:    []string{"NextToken"},
  1950  			LimitToken:      "MaxResults",
  1951  			TruncationToken: "",
  1952  		},
  1953  	}
  1954  
  1955  	if input == nil {
  1956  		input = &ListBonusPaymentsInput{}
  1957  	}
  1958  
  1959  	output = &ListBonusPaymentsOutput{}
  1960  	req = c.newRequest(op, input, output)
  1961  	return
  1962  }
  1963  
  1964  // ListBonusPayments API operation for Amazon Mechanical Turk.
  1965  //
  1966  // The ListBonusPayments operation retrieves the amounts of bonuses you have
  1967  // paid to Workers for a given HIT or assignment.
  1968  //
  1969  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1970  // with awserr.Error's Code and Message methods to get detailed information about
  1971  // the error.
  1972  //
  1973  // See the AWS API reference guide for Amazon Mechanical Turk's
  1974  // API operation ListBonusPayments for usage and error information.
  1975  //
  1976  // Returned Error Types:
  1977  //   * ServiceFault
  1978  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  1979  //   your call again.
  1980  //
  1981  //   * RequestError
  1982  //   Your request is invalid.
  1983  //
  1984  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListBonusPayments
  1985  func (c *MTurk) ListBonusPayments(input *ListBonusPaymentsInput) (*ListBonusPaymentsOutput, error) {
  1986  	req, out := c.ListBonusPaymentsRequest(input)
  1987  	return out, req.Send()
  1988  }
  1989  
  1990  // ListBonusPaymentsWithContext is the same as ListBonusPayments with the addition of
  1991  // the ability to pass a context and additional request options.
  1992  //
  1993  // See ListBonusPayments for details on how to use this API operation.
  1994  //
  1995  // The context must be non-nil and will be used for request cancellation. If
  1996  // the context is nil a panic will occur. In the future the SDK may create
  1997  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1998  // for more information on using Contexts.
  1999  func (c *MTurk) ListBonusPaymentsWithContext(ctx aws.Context, input *ListBonusPaymentsInput, opts ...request.Option) (*ListBonusPaymentsOutput, error) {
  2000  	req, out := c.ListBonusPaymentsRequest(input)
  2001  	req.SetContext(ctx)
  2002  	req.ApplyOptions(opts...)
  2003  	return out, req.Send()
  2004  }
  2005  
  2006  // ListBonusPaymentsPages iterates over the pages of a ListBonusPayments operation,
  2007  // calling the "fn" function with the response data for each page. To stop
  2008  // iterating, return false from the fn function.
  2009  //
  2010  // See ListBonusPayments method for more information on how to use this operation.
  2011  //
  2012  // Note: This operation can generate multiple requests to a service.
  2013  //
  2014  //    // Example iterating over at most 3 pages of a ListBonusPayments operation.
  2015  //    pageNum := 0
  2016  //    err := client.ListBonusPaymentsPages(params,
  2017  //        func(page *mturk.ListBonusPaymentsOutput, lastPage bool) bool {
  2018  //            pageNum++
  2019  //            fmt.Println(page)
  2020  //            return pageNum <= 3
  2021  //        })
  2022  //
  2023  func (c *MTurk) ListBonusPaymentsPages(input *ListBonusPaymentsInput, fn func(*ListBonusPaymentsOutput, bool) bool) error {
  2024  	return c.ListBonusPaymentsPagesWithContext(aws.BackgroundContext(), input, fn)
  2025  }
  2026  
  2027  // ListBonusPaymentsPagesWithContext same as ListBonusPaymentsPages except
  2028  // it takes a Context and allows setting request options on the pages.
  2029  //
  2030  // The context must be non-nil and will be used for request cancellation. If
  2031  // the context is nil a panic will occur. In the future the SDK may create
  2032  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2033  // for more information on using Contexts.
  2034  func (c *MTurk) ListBonusPaymentsPagesWithContext(ctx aws.Context, input *ListBonusPaymentsInput, fn func(*ListBonusPaymentsOutput, bool) bool, opts ...request.Option) error {
  2035  	p := request.Pagination{
  2036  		NewRequest: func() (*request.Request, error) {
  2037  			var inCpy *ListBonusPaymentsInput
  2038  			if input != nil {
  2039  				tmp := *input
  2040  				inCpy = &tmp
  2041  			}
  2042  			req, _ := c.ListBonusPaymentsRequest(inCpy)
  2043  			req.SetContext(ctx)
  2044  			req.ApplyOptions(opts...)
  2045  			return req, nil
  2046  		},
  2047  	}
  2048  
  2049  	for p.Next() {
  2050  		if !fn(p.Page().(*ListBonusPaymentsOutput), !p.HasNextPage()) {
  2051  			break
  2052  		}
  2053  	}
  2054  
  2055  	return p.Err()
  2056  }
  2057  
  2058  const opListHITs = "ListHITs"
  2059  
  2060  // ListHITsRequest generates a "aws/request.Request" representing the
  2061  // client's request for the ListHITs operation. The "output" return
  2062  // value will be populated with the request's response once the request completes
  2063  // successfully.
  2064  //
  2065  // Use "Send" method on the returned Request to send the API call to the service.
  2066  // the "output" return value is not valid until after Send returns without error.
  2067  //
  2068  // See ListHITs for more information on using the ListHITs
  2069  // API call, and error handling.
  2070  //
  2071  // This method is useful when you want to inject custom logic or configuration
  2072  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2073  //
  2074  //
  2075  //    // Example sending a request using the ListHITsRequest method.
  2076  //    req, resp := client.ListHITsRequest(params)
  2077  //
  2078  //    err := req.Send()
  2079  //    if err == nil { // resp is now filled
  2080  //        fmt.Println(resp)
  2081  //    }
  2082  //
  2083  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListHITs
  2084  func (c *MTurk) ListHITsRequest(input *ListHITsInput) (req *request.Request, output *ListHITsOutput) {
  2085  	op := &request.Operation{
  2086  		Name:       opListHITs,
  2087  		HTTPMethod: "POST",
  2088  		HTTPPath:   "/",
  2089  		Paginator: &request.Paginator{
  2090  			InputTokens:     []string{"NextToken"},
  2091  			OutputTokens:    []string{"NextToken"},
  2092  			LimitToken:      "MaxResults",
  2093  			TruncationToken: "",
  2094  		},
  2095  	}
  2096  
  2097  	if input == nil {
  2098  		input = &ListHITsInput{}
  2099  	}
  2100  
  2101  	output = &ListHITsOutput{}
  2102  	req = c.newRequest(op, input, output)
  2103  	return
  2104  }
  2105  
  2106  // ListHITs API operation for Amazon Mechanical Turk.
  2107  //
  2108  // The ListHITs operation returns all of a Requester's HITs. The operation returns
  2109  // HITs of any status, except for HITs that have been deleted of with the DeleteHIT
  2110  // operation or that have been auto-deleted.
  2111  //
  2112  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2113  // with awserr.Error's Code and Message methods to get detailed information about
  2114  // the error.
  2115  //
  2116  // See the AWS API reference guide for Amazon Mechanical Turk's
  2117  // API operation ListHITs for usage and error information.
  2118  //
  2119  // Returned Error Types:
  2120  //   * ServiceFault
  2121  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2122  //   your call again.
  2123  //
  2124  //   * RequestError
  2125  //   Your request is invalid.
  2126  //
  2127  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListHITs
  2128  func (c *MTurk) ListHITs(input *ListHITsInput) (*ListHITsOutput, error) {
  2129  	req, out := c.ListHITsRequest(input)
  2130  	return out, req.Send()
  2131  }
  2132  
  2133  // ListHITsWithContext is the same as ListHITs with the addition of
  2134  // the ability to pass a context and additional request options.
  2135  //
  2136  // See ListHITs for details on how to use this API operation.
  2137  //
  2138  // The context must be non-nil and will be used for request cancellation. If
  2139  // the context is nil a panic will occur. In the future the SDK may create
  2140  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2141  // for more information on using Contexts.
  2142  func (c *MTurk) ListHITsWithContext(ctx aws.Context, input *ListHITsInput, opts ...request.Option) (*ListHITsOutput, error) {
  2143  	req, out := c.ListHITsRequest(input)
  2144  	req.SetContext(ctx)
  2145  	req.ApplyOptions(opts...)
  2146  	return out, req.Send()
  2147  }
  2148  
  2149  // ListHITsPages iterates over the pages of a ListHITs operation,
  2150  // calling the "fn" function with the response data for each page. To stop
  2151  // iterating, return false from the fn function.
  2152  //
  2153  // See ListHITs method for more information on how to use this operation.
  2154  //
  2155  // Note: This operation can generate multiple requests to a service.
  2156  //
  2157  //    // Example iterating over at most 3 pages of a ListHITs operation.
  2158  //    pageNum := 0
  2159  //    err := client.ListHITsPages(params,
  2160  //        func(page *mturk.ListHITsOutput, lastPage bool) bool {
  2161  //            pageNum++
  2162  //            fmt.Println(page)
  2163  //            return pageNum <= 3
  2164  //        })
  2165  //
  2166  func (c *MTurk) ListHITsPages(input *ListHITsInput, fn func(*ListHITsOutput, bool) bool) error {
  2167  	return c.ListHITsPagesWithContext(aws.BackgroundContext(), input, fn)
  2168  }
  2169  
  2170  // ListHITsPagesWithContext same as ListHITsPages except
  2171  // it takes a Context and allows setting request options on the pages.
  2172  //
  2173  // The context must be non-nil and will be used for request cancellation. If
  2174  // the context is nil a panic will occur. In the future the SDK may create
  2175  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2176  // for more information on using Contexts.
  2177  func (c *MTurk) ListHITsPagesWithContext(ctx aws.Context, input *ListHITsInput, fn func(*ListHITsOutput, bool) bool, opts ...request.Option) error {
  2178  	p := request.Pagination{
  2179  		NewRequest: func() (*request.Request, error) {
  2180  			var inCpy *ListHITsInput
  2181  			if input != nil {
  2182  				tmp := *input
  2183  				inCpy = &tmp
  2184  			}
  2185  			req, _ := c.ListHITsRequest(inCpy)
  2186  			req.SetContext(ctx)
  2187  			req.ApplyOptions(opts...)
  2188  			return req, nil
  2189  		},
  2190  	}
  2191  
  2192  	for p.Next() {
  2193  		if !fn(p.Page().(*ListHITsOutput), !p.HasNextPage()) {
  2194  			break
  2195  		}
  2196  	}
  2197  
  2198  	return p.Err()
  2199  }
  2200  
  2201  const opListHITsForQualificationType = "ListHITsForQualificationType"
  2202  
  2203  // ListHITsForQualificationTypeRequest generates a "aws/request.Request" representing the
  2204  // client's request for the ListHITsForQualificationType operation. The "output" return
  2205  // value will be populated with the request's response once the request completes
  2206  // successfully.
  2207  //
  2208  // Use "Send" method on the returned Request to send the API call to the service.
  2209  // the "output" return value is not valid until after Send returns without error.
  2210  //
  2211  // See ListHITsForQualificationType for more information on using the ListHITsForQualificationType
  2212  // API call, and error handling.
  2213  //
  2214  // This method is useful when you want to inject custom logic or configuration
  2215  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2216  //
  2217  //
  2218  //    // Example sending a request using the ListHITsForQualificationTypeRequest method.
  2219  //    req, resp := client.ListHITsForQualificationTypeRequest(params)
  2220  //
  2221  //    err := req.Send()
  2222  //    if err == nil { // resp is now filled
  2223  //        fmt.Println(resp)
  2224  //    }
  2225  //
  2226  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListHITsForQualificationType
  2227  func (c *MTurk) ListHITsForQualificationTypeRequest(input *ListHITsForQualificationTypeInput) (req *request.Request, output *ListHITsForQualificationTypeOutput) {
  2228  	op := &request.Operation{
  2229  		Name:       opListHITsForQualificationType,
  2230  		HTTPMethod: "POST",
  2231  		HTTPPath:   "/",
  2232  		Paginator: &request.Paginator{
  2233  			InputTokens:     []string{"NextToken"},
  2234  			OutputTokens:    []string{"NextToken"},
  2235  			LimitToken:      "MaxResults",
  2236  			TruncationToken: "",
  2237  		},
  2238  	}
  2239  
  2240  	if input == nil {
  2241  		input = &ListHITsForQualificationTypeInput{}
  2242  	}
  2243  
  2244  	output = &ListHITsForQualificationTypeOutput{}
  2245  	req = c.newRequest(op, input, output)
  2246  	return
  2247  }
  2248  
  2249  // ListHITsForQualificationType API operation for Amazon Mechanical Turk.
  2250  //
  2251  // The ListHITsForQualificationType operation returns the HITs that use the
  2252  // given Qualification type for a Qualification requirement. The operation returns
  2253  // HITs of any status, except for HITs that have been deleted with the DeleteHIT
  2254  // operation or that have been auto-deleted.
  2255  //
  2256  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2257  // with awserr.Error's Code and Message methods to get detailed information about
  2258  // the error.
  2259  //
  2260  // See the AWS API reference guide for Amazon Mechanical Turk's
  2261  // API operation ListHITsForQualificationType for usage and error information.
  2262  //
  2263  // Returned Error Types:
  2264  //   * ServiceFault
  2265  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2266  //   your call again.
  2267  //
  2268  //   * RequestError
  2269  //   Your request is invalid.
  2270  //
  2271  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListHITsForQualificationType
  2272  func (c *MTurk) ListHITsForQualificationType(input *ListHITsForQualificationTypeInput) (*ListHITsForQualificationTypeOutput, error) {
  2273  	req, out := c.ListHITsForQualificationTypeRequest(input)
  2274  	return out, req.Send()
  2275  }
  2276  
  2277  // ListHITsForQualificationTypeWithContext is the same as ListHITsForQualificationType with the addition of
  2278  // the ability to pass a context and additional request options.
  2279  //
  2280  // See ListHITsForQualificationType for details on how to use this API operation.
  2281  //
  2282  // The context must be non-nil and will be used for request cancellation. If
  2283  // the context is nil a panic will occur. In the future the SDK may create
  2284  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2285  // for more information on using Contexts.
  2286  func (c *MTurk) ListHITsForQualificationTypeWithContext(ctx aws.Context, input *ListHITsForQualificationTypeInput, opts ...request.Option) (*ListHITsForQualificationTypeOutput, error) {
  2287  	req, out := c.ListHITsForQualificationTypeRequest(input)
  2288  	req.SetContext(ctx)
  2289  	req.ApplyOptions(opts...)
  2290  	return out, req.Send()
  2291  }
  2292  
  2293  // ListHITsForQualificationTypePages iterates over the pages of a ListHITsForQualificationType operation,
  2294  // calling the "fn" function with the response data for each page. To stop
  2295  // iterating, return false from the fn function.
  2296  //
  2297  // See ListHITsForQualificationType method for more information on how to use this operation.
  2298  //
  2299  // Note: This operation can generate multiple requests to a service.
  2300  //
  2301  //    // Example iterating over at most 3 pages of a ListHITsForQualificationType operation.
  2302  //    pageNum := 0
  2303  //    err := client.ListHITsForQualificationTypePages(params,
  2304  //        func(page *mturk.ListHITsForQualificationTypeOutput, lastPage bool) bool {
  2305  //            pageNum++
  2306  //            fmt.Println(page)
  2307  //            return pageNum <= 3
  2308  //        })
  2309  //
  2310  func (c *MTurk) ListHITsForQualificationTypePages(input *ListHITsForQualificationTypeInput, fn func(*ListHITsForQualificationTypeOutput, bool) bool) error {
  2311  	return c.ListHITsForQualificationTypePagesWithContext(aws.BackgroundContext(), input, fn)
  2312  }
  2313  
  2314  // ListHITsForQualificationTypePagesWithContext same as ListHITsForQualificationTypePages except
  2315  // it takes a Context and allows setting request options on the pages.
  2316  //
  2317  // The context must be non-nil and will be used for request cancellation. If
  2318  // the context is nil a panic will occur. In the future the SDK may create
  2319  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2320  // for more information on using Contexts.
  2321  func (c *MTurk) ListHITsForQualificationTypePagesWithContext(ctx aws.Context, input *ListHITsForQualificationTypeInput, fn func(*ListHITsForQualificationTypeOutput, bool) bool, opts ...request.Option) error {
  2322  	p := request.Pagination{
  2323  		NewRequest: func() (*request.Request, error) {
  2324  			var inCpy *ListHITsForQualificationTypeInput
  2325  			if input != nil {
  2326  				tmp := *input
  2327  				inCpy = &tmp
  2328  			}
  2329  			req, _ := c.ListHITsForQualificationTypeRequest(inCpy)
  2330  			req.SetContext(ctx)
  2331  			req.ApplyOptions(opts...)
  2332  			return req, nil
  2333  		},
  2334  	}
  2335  
  2336  	for p.Next() {
  2337  		if !fn(p.Page().(*ListHITsForQualificationTypeOutput), !p.HasNextPage()) {
  2338  			break
  2339  		}
  2340  	}
  2341  
  2342  	return p.Err()
  2343  }
  2344  
  2345  const opListQualificationRequests = "ListQualificationRequests"
  2346  
  2347  // ListQualificationRequestsRequest generates a "aws/request.Request" representing the
  2348  // client's request for the ListQualificationRequests operation. The "output" return
  2349  // value will be populated with the request's response once the request completes
  2350  // successfully.
  2351  //
  2352  // Use "Send" method on the returned Request to send the API call to the service.
  2353  // the "output" return value is not valid until after Send returns without error.
  2354  //
  2355  // See ListQualificationRequests for more information on using the ListQualificationRequests
  2356  // API call, and error handling.
  2357  //
  2358  // This method is useful when you want to inject custom logic or configuration
  2359  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2360  //
  2361  //
  2362  //    // Example sending a request using the ListQualificationRequestsRequest method.
  2363  //    req, resp := client.ListQualificationRequestsRequest(params)
  2364  //
  2365  //    err := req.Send()
  2366  //    if err == nil { // resp is now filled
  2367  //        fmt.Println(resp)
  2368  //    }
  2369  //
  2370  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListQualificationRequests
  2371  func (c *MTurk) ListQualificationRequestsRequest(input *ListQualificationRequestsInput) (req *request.Request, output *ListQualificationRequestsOutput) {
  2372  	op := &request.Operation{
  2373  		Name:       opListQualificationRequests,
  2374  		HTTPMethod: "POST",
  2375  		HTTPPath:   "/",
  2376  		Paginator: &request.Paginator{
  2377  			InputTokens:     []string{"NextToken"},
  2378  			OutputTokens:    []string{"NextToken"},
  2379  			LimitToken:      "MaxResults",
  2380  			TruncationToken: "",
  2381  		},
  2382  	}
  2383  
  2384  	if input == nil {
  2385  		input = &ListQualificationRequestsInput{}
  2386  	}
  2387  
  2388  	output = &ListQualificationRequestsOutput{}
  2389  	req = c.newRequest(op, input, output)
  2390  	return
  2391  }
  2392  
  2393  // ListQualificationRequests API operation for Amazon Mechanical Turk.
  2394  //
  2395  // The ListQualificationRequests operation retrieves requests for Qualifications
  2396  // of a particular Qualification type. The owner of the Qualification type calls
  2397  // this operation to poll for pending requests, and accepts them using the AcceptQualification
  2398  // operation.
  2399  //
  2400  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2401  // with awserr.Error's Code and Message methods to get detailed information about
  2402  // the error.
  2403  //
  2404  // See the AWS API reference guide for Amazon Mechanical Turk's
  2405  // API operation ListQualificationRequests for usage and error information.
  2406  //
  2407  // Returned Error Types:
  2408  //   * ServiceFault
  2409  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2410  //   your call again.
  2411  //
  2412  //   * RequestError
  2413  //   Your request is invalid.
  2414  //
  2415  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListQualificationRequests
  2416  func (c *MTurk) ListQualificationRequests(input *ListQualificationRequestsInput) (*ListQualificationRequestsOutput, error) {
  2417  	req, out := c.ListQualificationRequestsRequest(input)
  2418  	return out, req.Send()
  2419  }
  2420  
  2421  // ListQualificationRequestsWithContext is the same as ListQualificationRequests with the addition of
  2422  // the ability to pass a context and additional request options.
  2423  //
  2424  // See ListQualificationRequests for details on how to use this API operation.
  2425  //
  2426  // The context must be non-nil and will be used for request cancellation. If
  2427  // the context is nil a panic will occur. In the future the SDK may create
  2428  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2429  // for more information on using Contexts.
  2430  func (c *MTurk) ListQualificationRequestsWithContext(ctx aws.Context, input *ListQualificationRequestsInput, opts ...request.Option) (*ListQualificationRequestsOutput, error) {
  2431  	req, out := c.ListQualificationRequestsRequest(input)
  2432  	req.SetContext(ctx)
  2433  	req.ApplyOptions(opts...)
  2434  	return out, req.Send()
  2435  }
  2436  
  2437  // ListQualificationRequestsPages iterates over the pages of a ListQualificationRequests operation,
  2438  // calling the "fn" function with the response data for each page. To stop
  2439  // iterating, return false from the fn function.
  2440  //
  2441  // See ListQualificationRequests method for more information on how to use this operation.
  2442  //
  2443  // Note: This operation can generate multiple requests to a service.
  2444  //
  2445  //    // Example iterating over at most 3 pages of a ListQualificationRequests operation.
  2446  //    pageNum := 0
  2447  //    err := client.ListQualificationRequestsPages(params,
  2448  //        func(page *mturk.ListQualificationRequestsOutput, lastPage bool) bool {
  2449  //            pageNum++
  2450  //            fmt.Println(page)
  2451  //            return pageNum <= 3
  2452  //        })
  2453  //
  2454  func (c *MTurk) ListQualificationRequestsPages(input *ListQualificationRequestsInput, fn func(*ListQualificationRequestsOutput, bool) bool) error {
  2455  	return c.ListQualificationRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  2456  }
  2457  
  2458  // ListQualificationRequestsPagesWithContext same as ListQualificationRequestsPages except
  2459  // it takes a Context and allows setting request options on the pages.
  2460  //
  2461  // The context must be non-nil and will be used for request cancellation. If
  2462  // the context is nil a panic will occur. In the future the SDK may create
  2463  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2464  // for more information on using Contexts.
  2465  func (c *MTurk) ListQualificationRequestsPagesWithContext(ctx aws.Context, input *ListQualificationRequestsInput, fn func(*ListQualificationRequestsOutput, bool) bool, opts ...request.Option) error {
  2466  	p := request.Pagination{
  2467  		NewRequest: func() (*request.Request, error) {
  2468  			var inCpy *ListQualificationRequestsInput
  2469  			if input != nil {
  2470  				tmp := *input
  2471  				inCpy = &tmp
  2472  			}
  2473  			req, _ := c.ListQualificationRequestsRequest(inCpy)
  2474  			req.SetContext(ctx)
  2475  			req.ApplyOptions(opts...)
  2476  			return req, nil
  2477  		},
  2478  	}
  2479  
  2480  	for p.Next() {
  2481  		if !fn(p.Page().(*ListQualificationRequestsOutput), !p.HasNextPage()) {
  2482  			break
  2483  		}
  2484  	}
  2485  
  2486  	return p.Err()
  2487  }
  2488  
  2489  const opListQualificationTypes = "ListQualificationTypes"
  2490  
  2491  // ListQualificationTypesRequest generates a "aws/request.Request" representing the
  2492  // client's request for the ListQualificationTypes operation. The "output" return
  2493  // value will be populated with the request's response once the request completes
  2494  // successfully.
  2495  //
  2496  // Use "Send" method on the returned Request to send the API call to the service.
  2497  // the "output" return value is not valid until after Send returns without error.
  2498  //
  2499  // See ListQualificationTypes for more information on using the ListQualificationTypes
  2500  // API call, and error handling.
  2501  //
  2502  // This method is useful when you want to inject custom logic or configuration
  2503  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2504  //
  2505  //
  2506  //    // Example sending a request using the ListQualificationTypesRequest method.
  2507  //    req, resp := client.ListQualificationTypesRequest(params)
  2508  //
  2509  //    err := req.Send()
  2510  //    if err == nil { // resp is now filled
  2511  //        fmt.Println(resp)
  2512  //    }
  2513  //
  2514  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListQualificationTypes
  2515  func (c *MTurk) ListQualificationTypesRequest(input *ListQualificationTypesInput) (req *request.Request, output *ListQualificationTypesOutput) {
  2516  	op := &request.Operation{
  2517  		Name:       opListQualificationTypes,
  2518  		HTTPMethod: "POST",
  2519  		HTTPPath:   "/",
  2520  		Paginator: &request.Paginator{
  2521  			InputTokens:     []string{"NextToken"},
  2522  			OutputTokens:    []string{"NextToken"},
  2523  			LimitToken:      "MaxResults",
  2524  			TruncationToken: "",
  2525  		},
  2526  	}
  2527  
  2528  	if input == nil {
  2529  		input = &ListQualificationTypesInput{}
  2530  	}
  2531  
  2532  	output = &ListQualificationTypesOutput{}
  2533  	req = c.newRequest(op, input, output)
  2534  	return
  2535  }
  2536  
  2537  // ListQualificationTypes API operation for Amazon Mechanical Turk.
  2538  //
  2539  // The ListQualificationTypes operation returns a list of Qualification types,
  2540  // filtered by an optional search term.
  2541  //
  2542  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2543  // with awserr.Error's Code and Message methods to get detailed information about
  2544  // the error.
  2545  //
  2546  // See the AWS API reference guide for Amazon Mechanical Turk's
  2547  // API operation ListQualificationTypes for usage and error information.
  2548  //
  2549  // Returned Error Types:
  2550  //   * ServiceFault
  2551  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2552  //   your call again.
  2553  //
  2554  //   * RequestError
  2555  //   Your request is invalid.
  2556  //
  2557  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListQualificationTypes
  2558  func (c *MTurk) ListQualificationTypes(input *ListQualificationTypesInput) (*ListQualificationTypesOutput, error) {
  2559  	req, out := c.ListQualificationTypesRequest(input)
  2560  	return out, req.Send()
  2561  }
  2562  
  2563  // ListQualificationTypesWithContext is the same as ListQualificationTypes with the addition of
  2564  // the ability to pass a context and additional request options.
  2565  //
  2566  // See ListQualificationTypes for details on how to use this API operation.
  2567  //
  2568  // The context must be non-nil and will be used for request cancellation. If
  2569  // the context is nil a panic will occur. In the future the SDK may create
  2570  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2571  // for more information on using Contexts.
  2572  func (c *MTurk) ListQualificationTypesWithContext(ctx aws.Context, input *ListQualificationTypesInput, opts ...request.Option) (*ListQualificationTypesOutput, error) {
  2573  	req, out := c.ListQualificationTypesRequest(input)
  2574  	req.SetContext(ctx)
  2575  	req.ApplyOptions(opts...)
  2576  	return out, req.Send()
  2577  }
  2578  
  2579  // ListQualificationTypesPages iterates over the pages of a ListQualificationTypes operation,
  2580  // calling the "fn" function with the response data for each page. To stop
  2581  // iterating, return false from the fn function.
  2582  //
  2583  // See ListQualificationTypes method for more information on how to use this operation.
  2584  //
  2585  // Note: This operation can generate multiple requests to a service.
  2586  //
  2587  //    // Example iterating over at most 3 pages of a ListQualificationTypes operation.
  2588  //    pageNum := 0
  2589  //    err := client.ListQualificationTypesPages(params,
  2590  //        func(page *mturk.ListQualificationTypesOutput, lastPage bool) bool {
  2591  //            pageNum++
  2592  //            fmt.Println(page)
  2593  //            return pageNum <= 3
  2594  //        })
  2595  //
  2596  func (c *MTurk) ListQualificationTypesPages(input *ListQualificationTypesInput, fn func(*ListQualificationTypesOutput, bool) bool) error {
  2597  	return c.ListQualificationTypesPagesWithContext(aws.BackgroundContext(), input, fn)
  2598  }
  2599  
  2600  // ListQualificationTypesPagesWithContext same as ListQualificationTypesPages except
  2601  // it takes a Context and allows setting request options on the pages.
  2602  //
  2603  // The context must be non-nil and will be used for request cancellation. If
  2604  // the context is nil a panic will occur. In the future the SDK may create
  2605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2606  // for more information on using Contexts.
  2607  func (c *MTurk) ListQualificationTypesPagesWithContext(ctx aws.Context, input *ListQualificationTypesInput, fn func(*ListQualificationTypesOutput, bool) bool, opts ...request.Option) error {
  2608  	p := request.Pagination{
  2609  		NewRequest: func() (*request.Request, error) {
  2610  			var inCpy *ListQualificationTypesInput
  2611  			if input != nil {
  2612  				tmp := *input
  2613  				inCpy = &tmp
  2614  			}
  2615  			req, _ := c.ListQualificationTypesRequest(inCpy)
  2616  			req.SetContext(ctx)
  2617  			req.ApplyOptions(opts...)
  2618  			return req, nil
  2619  		},
  2620  	}
  2621  
  2622  	for p.Next() {
  2623  		if !fn(p.Page().(*ListQualificationTypesOutput), !p.HasNextPage()) {
  2624  			break
  2625  		}
  2626  	}
  2627  
  2628  	return p.Err()
  2629  }
  2630  
  2631  const opListReviewPolicyResultsForHIT = "ListReviewPolicyResultsForHIT"
  2632  
  2633  // ListReviewPolicyResultsForHITRequest generates a "aws/request.Request" representing the
  2634  // client's request for the ListReviewPolicyResultsForHIT operation. The "output" return
  2635  // value will be populated with the request's response once the request completes
  2636  // successfully.
  2637  //
  2638  // Use "Send" method on the returned Request to send the API call to the service.
  2639  // the "output" return value is not valid until after Send returns without error.
  2640  //
  2641  // See ListReviewPolicyResultsForHIT for more information on using the ListReviewPolicyResultsForHIT
  2642  // API call, and error handling.
  2643  //
  2644  // This method is useful when you want to inject custom logic or configuration
  2645  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2646  //
  2647  //
  2648  //    // Example sending a request using the ListReviewPolicyResultsForHITRequest method.
  2649  //    req, resp := client.ListReviewPolicyResultsForHITRequest(params)
  2650  //
  2651  //    err := req.Send()
  2652  //    if err == nil { // resp is now filled
  2653  //        fmt.Println(resp)
  2654  //    }
  2655  //
  2656  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListReviewPolicyResultsForHIT
  2657  func (c *MTurk) ListReviewPolicyResultsForHITRequest(input *ListReviewPolicyResultsForHITInput) (req *request.Request, output *ListReviewPolicyResultsForHITOutput) {
  2658  	op := &request.Operation{
  2659  		Name:       opListReviewPolicyResultsForHIT,
  2660  		HTTPMethod: "POST",
  2661  		HTTPPath:   "/",
  2662  		Paginator: &request.Paginator{
  2663  			InputTokens:     []string{"NextToken"},
  2664  			OutputTokens:    []string{"NextToken"},
  2665  			LimitToken:      "MaxResults",
  2666  			TruncationToken: "",
  2667  		},
  2668  	}
  2669  
  2670  	if input == nil {
  2671  		input = &ListReviewPolicyResultsForHITInput{}
  2672  	}
  2673  
  2674  	output = &ListReviewPolicyResultsForHITOutput{}
  2675  	req = c.newRequest(op, input, output)
  2676  	return
  2677  }
  2678  
  2679  // ListReviewPolicyResultsForHIT API operation for Amazon Mechanical Turk.
  2680  //
  2681  // The ListReviewPolicyResultsForHIT operation retrieves the computed results
  2682  // and the actions taken in the course of executing your Review Policies for
  2683  // a given HIT. For information about how to specify Review Policies when you
  2684  // call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation
  2685  // can return results for both Assignment-level and HIT-level review results.
  2686  //
  2687  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2688  // with awserr.Error's Code and Message methods to get detailed information about
  2689  // the error.
  2690  //
  2691  // See the AWS API reference guide for Amazon Mechanical Turk's
  2692  // API operation ListReviewPolicyResultsForHIT for usage and error information.
  2693  //
  2694  // Returned Error Types:
  2695  //   * ServiceFault
  2696  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2697  //   your call again.
  2698  //
  2699  //   * RequestError
  2700  //   Your request is invalid.
  2701  //
  2702  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListReviewPolicyResultsForHIT
  2703  func (c *MTurk) ListReviewPolicyResultsForHIT(input *ListReviewPolicyResultsForHITInput) (*ListReviewPolicyResultsForHITOutput, error) {
  2704  	req, out := c.ListReviewPolicyResultsForHITRequest(input)
  2705  	return out, req.Send()
  2706  }
  2707  
  2708  // ListReviewPolicyResultsForHITWithContext is the same as ListReviewPolicyResultsForHIT with the addition of
  2709  // the ability to pass a context and additional request options.
  2710  //
  2711  // See ListReviewPolicyResultsForHIT for details on how to use this API operation.
  2712  //
  2713  // The context must be non-nil and will be used for request cancellation. If
  2714  // the context is nil a panic will occur. In the future the SDK may create
  2715  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2716  // for more information on using Contexts.
  2717  func (c *MTurk) ListReviewPolicyResultsForHITWithContext(ctx aws.Context, input *ListReviewPolicyResultsForHITInput, opts ...request.Option) (*ListReviewPolicyResultsForHITOutput, error) {
  2718  	req, out := c.ListReviewPolicyResultsForHITRequest(input)
  2719  	req.SetContext(ctx)
  2720  	req.ApplyOptions(opts...)
  2721  	return out, req.Send()
  2722  }
  2723  
  2724  // ListReviewPolicyResultsForHITPages iterates over the pages of a ListReviewPolicyResultsForHIT operation,
  2725  // calling the "fn" function with the response data for each page. To stop
  2726  // iterating, return false from the fn function.
  2727  //
  2728  // See ListReviewPolicyResultsForHIT method for more information on how to use this operation.
  2729  //
  2730  // Note: This operation can generate multiple requests to a service.
  2731  //
  2732  //    // Example iterating over at most 3 pages of a ListReviewPolicyResultsForHIT operation.
  2733  //    pageNum := 0
  2734  //    err := client.ListReviewPolicyResultsForHITPages(params,
  2735  //        func(page *mturk.ListReviewPolicyResultsForHITOutput, lastPage bool) bool {
  2736  //            pageNum++
  2737  //            fmt.Println(page)
  2738  //            return pageNum <= 3
  2739  //        })
  2740  //
  2741  func (c *MTurk) ListReviewPolicyResultsForHITPages(input *ListReviewPolicyResultsForHITInput, fn func(*ListReviewPolicyResultsForHITOutput, bool) bool) error {
  2742  	return c.ListReviewPolicyResultsForHITPagesWithContext(aws.BackgroundContext(), input, fn)
  2743  }
  2744  
  2745  // ListReviewPolicyResultsForHITPagesWithContext same as ListReviewPolicyResultsForHITPages except
  2746  // it takes a Context and allows setting request options on the pages.
  2747  //
  2748  // The context must be non-nil and will be used for request cancellation. If
  2749  // the context is nil a panic will occur. In the future the SDK may create
  2750  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2751  // for more information on using Contexts.
  2752  func (c *MTurk) ListReviewPolicyResultsForHITPagesWithContext(ctx aws.Context, input *ListReviewPolicyResultsForHITInput, fn func(*ListReviewPolicyResultsForHITOutput, bool) bool, opts ...request.Option) error {
  2753  	p := request.Pagination{
  2754  		NewRequest: func() (*request.Request, error) {
  2755  			var inCpy *ListReviewPolicyResultsForHITInput
  2756  			if input != nil {
  2757  				tmp := *input
  2758  				inCpy = &tmp
  2759  			}
  2760  			req, _ := c.ListReviewPolicyResultsForHITRequest(inCpy)
  2761  			req.SetContext(ctx)
  2762  			req.ApplyOptions(opts...)
  2763  			return req, nil
  2764  		},
  2765  	}
  2766  
  2767  	for p.Next() {
  2768  		if !fn(p.Page().(*ListReviewPolicyResultsForHITOutput), !p.HasNextPage()) {
  2769  			break
  2770  		}
  2771  	}
  2772  
  2773  	return p.Err()
  2774  }
  2775  
  2776  const opListReviewableHITs = "ListReviewableHITs"
  2777  
  2778  // ListReviewableHITsRequest generates a "aws/request.Request" representing the
  2779  // client's request for the ListReviewableHITs operation. The "output" return
  2780  // value will be populated with the request's response once the request completes
  2781  // successfully.
  2782  //
  2783  // Use "Send" method on the returned Request to send the API call to the service.
  2784  // the "output" return value is not valid until after Send returns without error.
  2785  //
  2786  // See ListReviewableHITs for more information on using the ListReviewableHITs
  2787  // API call, and error handling.
  2788  //
  2789  // This method is useful when you want to inject custom logic or configuration
  2790  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2791  //
  2792  //
  2793  //    // Example sending a request using the ListReviewableHITsRequest method.
  2794  //    req, resp := client.ListReviewableHITsRequest(params)
  2795  //
  2796  //    err := req.Send()
  2797  //    if err == nil { // resp is now filled
  2798  //        fmt.Println(resp)
  2799  //    }
  2800  //
  2801  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListReviewableHITs
  2802  func (c *MTurk) ListReviewableHITsRequest(input *ListReviewableHITsInput) (req *request.Request, output *ListReviewableHITsOutput) {
  2803  	op := &request.Operation{
  2804  		Name:       opListReviewableHITs,
  2805  		HTTPMethod: "POST",
  2806  		HTTPPath:   "/",
  2807  		Paginator: &request.Paginator{
  2808  			InputTokens:     []string{"NextToken"},
  2809  			OutputTokens:    []string{"NextToken"},
  2810  			LimitToken:      "MaxResults",
  2811  			TruncationToken: "",
  2812  		},
  2813  	}
  2814  
  2815  	if input == nil {
  2816  		input = &ListReviewableHITsInput{}
  2817  	}
  2818  
  2819  	output = &ListReviewableHITsOutput{}
  2820  	req = c.newRequest(op, input, output)
  2821  	return
  2822  }
  2823  
  2824  // ListReviewableHITs API operation for Amazon Mechanical Turk.
  2825  //
  2826  // The ListReviewableHITs operation retrieves the HITs with Status equal to
  2827  // Reviewable or Status equal to Reviewing that belong to the Requester calling
  2828  // the operation.
  2829  //
  2830  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2831  // with awserr.Error's Code and Message methods to get detailed information about
  2832  // the error.
  2833  //
  2834  // See the AWS API reference guide for Amazon Mechanical Turk's
  2835  // API operation ListReviewableHITs for usage and error information.
  2836  //
  2837  // Returned Error Types:
  2838  //   * ServiceFault
  2839  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2840  //   your call again.
  2841  //
  2842  //   * RequestError
  2843  //   Your request is invalid.
  2844  //
  2845  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListReviewableHITs
  2846  func (c *MTurk) ListReviewableHITs(input *ListReviewableHITsInput) (*ListReviewableHITsOutput, error) {
  2847  	req, out := c.ListReviewableHITsRequest(input)
  2848  	return out, req.Send()
  2849  }
  2850  
  2851  // ListReviewableHITsWithContext is the same as ListReviewableHITs with the addition of
  2852  // the ability to pass a context and additional request options.
  2853  //
  2854  // See ListReviewableHITs for details on how to use this API operation.
  2855  //
  2856  // The context must be non-nil and will be used for request cancellation. If
  2857  // the context is nil a panic will occur. In the future the SDK may create
  2858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2859  // for more information on using Contexts.
  2860  func (c *MTurk) ListReviewableHITsWithContext(ctx aws.Context, input *ListReviewableHITsInput, opts ...request.Option) (*ListReviewableHITsOutput, error) {
  2861  	req, out := c.ListReviewableHITsRequest(input)
  2862  	req.SetContext(ctx)
  2863  	req.ApplyOptions(opts...)
  2864  	return out, req.Send()
  2865  }
  2866  
  2867  // ListReviewableHITsPages iterates over the pages of a ListReviewableHITs operation,
  2868  // calling the "fn" function with the response data for each page. To stop
  2869  // iterating, return false from the fn function.
  2870  //
  2871  // See ListReviewableHITs method for more information on how to use this operation.
  2872  //
  2873  // Note: This operation can generate multiple requests to a service.
  2874  //
  2875  //    // Example iterating over at most 3 pages of a ListReviewableHITs operation.
  2876  //    pageNum := 0
  2877  //    err := client.ListReviewableHITsPages(params,
  2878  //        func(page *mturk.ListReviewableHITsOutput, lastPage bool) bool {
  2879  //            pageNum++
  2880  //            fmt.Println(page)
  2881  //            return pageNum <= 3
  2882  //        })
  2883  //
  2884  func (c *MTurk) ListReviewableHITsPages(input *ListReviewableHITsInput, fn func(*ListReviewableHITsOutput, bool) bool) error {
  2885  	return c.ListReviewableHITsPagesWithContext(aws.BackgroundContext(), input, fn)
  2886  }
  2887  
  2888  // ListReviewableHITsPagesWithContext same as ListReviewableHITsPages except
  2889  // it takes a Context and allows setting request options on the pages.
  2890  //
  2891  // The context must be non-nil and will be used for request cancellation. If
  2892  // the context is nil a panic will occur. In the future the SDK may create
  2893  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2894  // for more information on using Contexts.
  2895  func (c *MTurk) ListReviewableHITsPagesWithContext(ctx aws.Context, input *ListReviewableHITsInput, fn func(*ListReviewableHITsOutput, bool) bool, opts ...request.Option) error {
  2896  	p := request.Pagination{
  2897  		NewRequest: func() (*request.Request, error) {
  2898  			var inCpy *ListReviewableHITsInput
  2899  			if input != nil {
  2900  				tmp := *input
  2901  				inCpy = &tmp
  2902  			}
  2903  			req, _ := c.ListReviewableHITsRequest(inCpy)
  2904  			req.SetContext(ctx)
  2905  			req.ApplyOptions(opts...)
  2906  			return req, nil
  2907  		},
  2908  	}
  2909  
  2910  	for p.Next() {
  2911  		if !fn(p.Page().(*ListReviewableHITsOutput), !p.HasNextPage()) {
  2912  			break
  2913  		}
  2914  	}
  2915  
  2916  	return p.Err()
  2917  }
  2918  
  2919  const opListWorkerBlocks = "ListWorkerBlocks"
  2920  
  2921  // ListWorkerBlocksRequest generates a "aws/request.Request" representing the
  2922  // client's request for the ListWorkerBlocks operation. The "output" return
  2923  // value will be populated with the request's response once the request completes
  2924  // successfully.
  2925  //
  2926  // Use "Send" method on the returned Request to send the API call to the service.
  2927  // the "output" return value is not valid until after Send returns without error.
  2928  //
  2929  // See ListWorkerBlocks for more information on using the ListWorkerBlocks
  2930  // API call, and error handling.
  2931  //
  2932  // This method is useful when you want to inject custom logic or configuration
  2933  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2934  //
  2935  //
  2936  //    // Example sending a request using the ListWorkerBlocksRequest method.
  2937  //    req, resp := client.ListWorkerBlocksRequest(params)
  2938  //
  2939  //    err := req.Send()
  2940  //    if err == nil { // resp is now filled
  2941  //        fmt.Println(resp)
  2942  //    }
  2943  //
  2944  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListWorkerBlocks
  2945  func (c *MTurk) ListWorkerBlocksRequest(input *ListWorkerBlocksInput) (req *request.Request, output *ListWorkerBlocksOutput) {
  2946  	op := &request.Operation{
  2947  		Name:       opListWorkerBlocks,
  2948  		HTTPMethod: "POST",
  2949  		HTTPPath:   "/",
  2950  		Paginator: &request.Paginator{
  2951  			InputTokens:     []string{"NextToken"},
  2952  			OutputTokens:    []string{"NextToken"},
  2953  			LimitToken:      "MaxResults",
  2954  			TruncationToken: "",
  2955  		},
  2956  	}
  2957  
  2958  	if input == nil {
  2959  		input = &ListWorkerBlocksInput{}
  2960  	}
  2961  
  2962  	output = &ListWorkerBlocksOutput{}
  2963  	req = c.newRequest(op, input, output)
  2964  	return
  2965  }
  2966  
  2967  // ListWorkerBlocks API operation for Amazon Mechanical Turk.
  2968  //
  2969  // The ListWorkersBlocks operation retrieves a list of Workers who are blocked
  2970  // from working on your HITs.
  2971  //
  2972  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2973  // with awserr.Error's Code and Message methods to get detailed information about
  2974  // the error.
  2975  //
  2976  // See the AWS API reference guide for Amazon Mechanical Turk's
  2977  // API operation ListWorkerBlocks for usage and error information.
  2978  //
  2979  // Returned Error Types:
  2980  //   * ServiceFault
  2981  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  2982  //   your call again.
  2983  //
  2984  //   * RequestError
  2985  //   Your request is invalid.
  2986  //
  2987  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListWorkerBlocks
  2988  func (c *MTurk) ListWorkerBlocks(input *ListWorkerBlocksInput) (*ListWorkerBlocksOutput, error) {
  2989  	req, out := c.ListWorkerBlocksRequest(input)
  2990  	return out, req.Send()
  2991  }
  2992  
  2993  // ListWorkerBlocksWithContext is the same as ListWorkerBlocks with the addition of
  2994  // the ability to pass a context and additional request options.
  2995  //
  2996  // See ListWorkerBlocks for details on how to use this API operation.
  2997  //
  2998  // The context must be non-nil and will be used for request cancellation. If
  2999  // the context is nil a panic will occur. In the future the SDK may create
  3000  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3001  // for more information on using Contexts.
  3002  func (c *MTurk) ListWorkerBlocksWithContext(ctx aws.Context, input *ListWorkerBlocksInput, opts ...request.Option) (*ListWorkerBlocksOutput, error) {
  3003  	req, out := c.ListWorkerBlocksRequest(input)
  3004  	req.SetContext(ctx)
  3005  	req.ApplyOptions(opts...)
  3006  	return out, req.Send()
  3007  }
  3008  
  3009  // ListWorkerBlocksPages iterates over the pages of a ListWorkerBlocks operation,
  3010  // calling the "fn" function with the response data for each page. To stop
  3011  // iterating, return false from the fn function.
  3012  //
  3013  // See ListWorkerBlocks method for more information on how to use this operation.
  3014  //
  3015  // Note: This operation can generate multiple requests to a service.
  3016  //
  3017  //    // Example iterating over at most 3 pages of a ListWorkerBlocks operation.
  3018  //    pageNum := 0
  3019  //    err := client.ListWorkerBlocksPages(params,
  3020  //        func(page *mturk.ListWorkerBlocksOutput, lastPage bool) bool {
  3021  //            pageNum++
  3022  //            fmt.Println(page)
  3023  //            return pageNum <= 3
  3024  //        })
  3025  //
  3026  func (c *MTurk) ListWorkerBlocksPages(input *ListWorkerBlocksInput, fn func(*ListWorkerBlocksOutput, bool) bool) error {
  3027  	return c.ListWorkerBlocksPagesWithContext(aws.BackgroundContext(), input, fn)
  3028  }
  3029  
  3030  // ListWorkerBlocksPagesWithContext same as ListWorkerBlocksPages except
  3031  // it takes a Context and allows setting request options on the pages.
  3032  //
  3033  // The context must be non-nil and will be used for request cancellation. If
  3034  // the context is nil a panic will occur. In the future the SDK may create
  3035  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3036  // for more information on using Contexts.
  3037  func (c *MTurk) ListWorkerBlocksPagesWithContext(ctx aws.Context, input *ListWorkerBlocksInput, fn func(*ListWorkerBlocksOutput, bool) bool, opts ...request.Option) error {
  3038  	p := request.Pagination{
  3039  		NewRequest: func() (*request.Request, error) {
  3040  			var inCpy *ListWorkerBlocksInput
  3041  			if input != nil {
  3042  				tmp := *input
  3043  				inCpy = &tmp
  3044  			}
  3045  			req, _ := c.ListWorkerBlocksRequest(inCpy)
  3046  			req.SetContext(ctx)
  3047  			req.ApplyOptions(opts...)
  3048  			return req, nil
  3049  		},
  3050  	}
  3051  
  3052  	for p.Next() {
  3053  		if !fn(p.Page().(*ListWorkerBlocksOutput), !p.HasNextPage()) {
  3054  			break
  3055  		}
  3056  	}
  3057  
  3058  	return p.Err()
  3059  }
  3060  
  3061  const opListWorkersWithQualificationType = "ListWorkersWithQualificationType"
  3062  
  3063  // ListWorkersWithQualificationTypeRequest generates a "aws/request.Request" representing the
  3064  // client's request for the ListWorkersWithQualificationType operation. The "output" return
  3065  // value will be populated with the request's response once the request completes
  3066  // successfully.
  3067  //
  3068  // Use "Send" method on the returned Request to send the API call to the service.
  3069  // the "output" return value is not valid until after Send returns without error.
  3070  //
  3071  // See ListWorkersWithQualificationType for more information on using the ListWorkersWithQualificationType
  3072  // API call, and error handling.
  3073  //
  3074  // This method is useful when you want to inject custom logic or configuration
  3075  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3076  //
  3077  //
  3078  //    // Example sending a request using the ListWorkersWithQualificationTypeRequest method.
  3079  //    req, resp := client.ListWorkersWithQualificationTypeRequest(params)
  3080  //
  3081  //    err := req.Send()
  3082  //    if err == nil { // resp is now filled
  3083  //        fmt.Println(resp)
  3084  //    }
  3085  //
  3086  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListWorkersWithQualificationType
  3087  func (c *MTurk) ListWorkersWithQualificationTypeRequest(input *ListWorkersWithQualificationTypeInput) (req *request.Request, output *ListWorkersWithQualificationTypeOutput) {
  3088  	op := &request.Operation{
  3089  		Name:       opListWorkersWithQualificationType,
  3090  		HTTPMethod: "POST",
  3091  		HTTPPath:   "/",
  3092  		Paginator: &request.Paginator{
  3093  			InputTokens:     []string{"NextToken"},
  3094  			OutputTokens:    []string{"NextToken"},
  3095  			LimitToken:      "MaxResults",
  3096  			TruncationToken: "",
  3097  		},
  3098  	}
  3099  
  3100  	if input == nil {
  3101  		input = &ListWorkersWithQualificationTypeInput{}
  3102  	}
  3103  
  3104  	output = &ListWorkersWithQualificationTypeOutput{}
  3105  	req = c.newRequest(op, input, output)
  3106  	return
  3107  }
  3108  
  3109  // ListWorkersWithQualificationType API operation for Amazon Mechanical Turk.
  3110  //
  3111  // The ListWorkersWithQualificationType operation returns all of the Workers
  3112  // that have been associated with a given Qualification type.
  3113  //
  3114  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3115  // with awserr.Error's Code and Message methods to get detailed information about
  3116  // the error.
  3117  //
  3118  // See the AWS API reference guide for Amazon Mechanical Turk's
  3119  // API operation ListWorkersWithQualificationType for usage and error information.
  3120  //
  3121  // Returned Error Types:
  3122  //   * ServiceFault
  3123  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3124  //   your call again.
  3125  //
  3126  //   * RequestError
  3127  //   Your request is invalid.
  3128  //
  3129  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/ListWorkersWithQualificationType
  3130  func (c *MTurk) ListWorkersWithQualificationType(input *ListWorkersWithQualificationTypeInput) (*ListWorkersWithQualificationTypeOutput, error) {
  3131  	req, out := c.ListWorkersWithQualificationTypeRequest(input)
  3132  	return out, req.Send()
  3133  }
  3134  
  3135  // ListWorkersWithQualificationTypeWithContext is the same as ListWorkersWithQualificationType with the addition of
  3136  // the ability to pass a context and additional request options.
  3137  //
  3138  // See ListWorkersWithQualificationType for details on how to use this API operation.
  3139  //
  3140  // The context must be non-nil and will be used for request cancellation. If
  3141  // the context is nil a panic will occur. In the future the SDK may create
  3142  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3143  // for more information on using Contexts.
  3144  func (c *MTurk) ListWorkersWithQualificationTypeWithContext(ctx aws.Context, input *ListWorkersWithQualificationTypeInput, opts ...request.Option) (*ListWorkersWithQualificationTypeOutput, error) {
  3145  	req, out := c.ListWorkersWithQualificationTypeRequest(input)
  3146  	req.SetContext(ctx)
  3147  	req.ApplyOptions(opts...)
  3148  	return out, req.Send()
  3149  }
  3150  
  3151  // ListWorkersWithQualificationTypePages iterates over the pages of a ListWorkersWithQualificationType operation,
  3152  // calling the "fn" function with the response data for each page. To stop
  3153  // iterating, return false from the fn function.
  3154  //
  3155  // See ListWorkersWithQualificationType method for more information on how to use this operation.
  3156  //
  3157  // Note: This operation can generate multiple requests to a service.
  3158  //
  3159  //    // Example iterating over at most 3 pages of a ListWorkersWithQualificationType operation.
  3160  //    pageNum := 0
  3161  //    err := client.ListWorkersWithQualificationTypePages(params,
  3162  //        func(page *mturk.ListWorkersWithQualificationTypeOutput, lastPage bool) bool {
  3163  //            pageNum++
  3164  //            fmt.Println(page)
  3165  //            return pageNum <= 3
  3166  //        })
  3167  //
  3168  func (c *MTurk) ListWorkersWithQualificationTypePages(input *ListWorkersWithQualificationTypeInput, fn func(*ListWorkersWithQualificationTypeOutput, bool) bool) error {
  3169  	return c.ListWorkersWithQualificationTypePagesWithContext(aws.BackgroundContext(), input, fn)
  3170  }
  3171  
  3172  // ListWorkersWithQualificationTypePagesWithContext same as ListWorkersWithQualificationTypePages except
  3173  // it takes a Context and allows setting request options on the pages.
  3174  //
  3175  // The context must be non-nil and will be used for request cancellation. If
  3176  // the context is nil a panic will occur. In the future the SDK may create
  3177  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3178  // for more information on using Contexts.
  3179  func (c *MTurk) ListWorkersWithQualificationTypePagesWithContext(ctx aws.Context, input *ListWorkersWithQualificationTypeInput, fn func(*ListWorkersWithQualificationTypeOutput, bool) bool, opts ...request.Option) error {
  3180  	p := request.Pagination{
  3181  		NewRequest: func() (*request.Request, error) {
  3182  			var inCpy *ListWorkersWithQualificationTypeInput
  3183  			if input != nil {
  3184  				tmp := *input
  3185  				inCpy = &tmp
  3186  			}
  3187  			req, _ := c.ListWorkersWithQualificationTypeRequest(inCpy)
  3188  			req.SetContext(ctx)
  3189  			req.ApplyOptions(opts...)
  3190  			return req, nil
  3191  		},
  3192  	}
  3193  
  3194  	for p.Next() {
  3195  		if !fn(p.Page().(*ListWorkersWithQualificationTypeOutput), !p.HasNextPage()) {
  3196  			break
  3197  		}
  3198  	}
  3199  
  3200  	return p.Err()
  3201  }
  3202  
  3203  const opNotifyWorkers = "NotifyWorkers"
  3204  
  3205  // NotifyWorkersRequest generates a "aws/request.Request" representing the
  3206  // client's request for the NotifyWorkers operation. The "output" return
  3207  // value will be populated with the request's response once the request completes
  3208  // successfully.
  3209  //
  3210  // Use "Send" method on the returned Request to send the API call to the service.
  3211  // the "output" return value is not valid until after Send returns without error.
  3212  //
  3213  // See NotifyWorkers for more information on using the NotifyWorkers
  3214  // API call, and error handling.
  3215  //
  3216  // This method is useful when you want to inject custom logic or configuration
  3217  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3218  //
  3219  //
  3220  //    // Example sending a request using the NotifyWorkersRequest method.
  3221  //    req, resp := client.NotifyWorkersRequest(params)
  3222  //
  3223  //    err := req.Send()
  3224  //    if err == nil { // resp is now filled
  3225  //        fmt.Println(resp)
  3226  //    }
  3227  //
  3228  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/NotifyWorkers
  3229  func (c *MTurk) NotifyWorkersRequest(input *NotifyWorkersInput) (req *request.Request, output *NotifyWorkersOutput) {
  3230  	op := &request.Operation{
  3231  		Name:       opNotifyWorkers,
  3232  		HTTPMethod: "POST",
  3233  		HTTPPath:   "/",
  3234  	}
  3235  
  3236  	if input == nil {
  3237  		input = &NotifyWorkersInput{}
  3238  	}
  3239  
  3240  	output = &NotifyWorkersOutput{}
  3241  	req = c.newRequest(op, input, output)
  3242  	return
  3243  }
  3244  
  3245  // NotifyWorkers API operation for Amazon Mechanical Turk.
  3246  //
  3247  // The NotifyWorkers operation sends an email to one or more Workers that you
  3248  // specify with the Worker ID. You can specify up to 100 Worker IDs to send
  3249  // the same message with a single call to the NotifyWorkers operation. The NotifyWorkers
  3250  // operation will send a notification email to a Worker only if you have previously
  3251  // approved or rejected work from the Worker.
  3252  //
  3253  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3254  // with awserr.Error's Code and Message methods to get detailed information about
  3255  // the error.
  3256  //
  3257  // See the AWS API reference guide for Amazon Mechanical Turk's
  3258  // API operation NotifyWorkers for usage and error information.
  3259  //
  3260  // Returned Error Types:
  3261  //   * ServiceFault
  3262  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3263  //   your call again.
  3264  //
  3265  //   * RequestError
  3266  //   Your request is invalid.
  3267  //
  3268  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/NotifyWorkers
  3269  func (c *MTurk) NotifyWorkers(input *NotifyWorkersInput) (*NotifyWorkersOutput, error) {
  3270  	req, out := c.NotifyWorkersRequest(input)
  3271  	return out, req.Send()
  3272  }
  3273  
  3274  // NotifyWorkersWithContext is the same as NotifyWorkers with the addition of
  3275  // the ability to pass a context and additional request options.
  3276  //
  3277  // See NotifyWorkers for details on how to use this API operation.
  3278  //
  3279  // The context must be non-nil and will be used for request cancellation. If
  3280  // the context is nil a panic will occur. In the future the SDK may create
  3281  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3282  // for more information on using Contexts.
  3283  func (c *MTurk) NotifyWorkersWithContext(ctx aws.Context, input *NotifyWorkersInput, opts ...request.Option) (*NotifyWorkersOutput, error) {
  3284  	req, out := c.NotifyWorkersRequest(input)
  3285  	req.SetContext(ctx)
  3286  	req.ApplyOptions(opts...)
  3287  	return out, req.Send()
  3288  }
  3289  
  3290  const opRejectAssignment = "RejectAssignment"
  3291  
  3292  // RejectAssignmentRequest generates a "aws/request.Request" representing the
  3293  // client's request for the RejectAssignment operation. The "output" return
  3294  // value will be populated with the request's response once the request completes
  3295  // successfully.
  3296  //
  3297  // Use "Send" method on the returned Request to send the API call to the service.
  3298  // the "output" return value is not valid until after Send returns without error.
  3299  //
  3300  // See RejectAssignment for more information on using the RejectAssignment
  3301  // API call, and error handling.
  3302  //
  3303  // This method is useful when you want to inject custom logic or configuration
  3304  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3305  //
  3306  //
  3307  //    // Example sending a request using the RejectAssignmentRequest method.
  3308  //    req, resp := client.RejectAssignmentRequest(params)
  3309  //
  3310  //    err := req.Send()
  3311  //    if err == nil { // resp is now filled
  3312  //        fmt.Println(resp)
  3313  //    }
  3314  //
  3315  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/RejectAssignment
  3316  func (c *MTurk) RejectAssignmentRequest(input *RejectAssignmentInput) (req *request.Request, output *RejectAssignmentOutput) {
  3317  	op := &request.Operation{
  3318  		Name:       opRejectAssignment,
  3319  		HTTPMethod: "POST",
  3320  		HTTPPath:   "/",
  3321  	}
  3322  
  3323  	if input == nil {
  3324  		input = &RejectAssignmentInput{}
  3325  	}
  3326  
  3327  	output = &RejectAssignmentOutput{}
  3328  	req = c.newRequest(op, input, output)
  3329  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3330  	return
  3331  }
  3332  
  3333  // RejectAssignment API operation for Amazon Mechanical Turk.
  3334  //
  3335  // The RejectAssignment operation rejects the results of a completed assignment.
  3336  //
  3337  // You can include an optional feedback message with the rejection, which the
  3338  // Worker can see in the Status section of the web site. When you include a
  3339  // feedback message with the rejection, it helps the Worker understand why the
  3340  // assignment was rejected, and can improve the quality of the results the Worker
  3341  // submits in the future.
  3342  //
  3343  // Only the Requester who created the HIT can reject an assignment for the HIT.
  3344  //
  3345  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3346  // with awserr.Error's Code and Message methods to get detailed information about
  3347  // the error.
  3348  //
  3349  // See the AWS API reference guide for Amazon Mechanical Turk's
  3350  // API operation RejectAssignment for usage and error information.
  3351  //
  3352  // Returned Error Types:
  3353  //   * ServiceFault
  3354  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3355  //   your call again.
  3356  //
  3357  //   * RequestError
  3358  //   Your request is invalid.
  3359  //
  3360  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/RejectAssignment
  3361  func (c *MTurk) RejectAssignment(input *RejectAssignmentInput) (*RejectAssignmentOutput, error) {
  3362  	req, out := c.RejectAssignmentRequest(input)
  3363  	return out, req.Send()
  3364  }
  3365  
  3366  // RejectAssignmentWithContext is the same as RejectAssignment with the addition of
  3367  // the ability to pass a context and additional request options.
  3368  //
  3369  // See RejectAssignment for details on how to use this API operation.
  3370  //
  3371  // The context must be non-nil and will be used for request cancellation. If
  3372  // the context is nil a panic will occur. In the future the SDK may create
  3373  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3374  // for more information on using Contexts.
  3375  func (c *MTurk) RejectAssignmentWithContext(ctx aws.Context, input *RejectAssignmentInput, opts ...request.Option) (*RejectAssignmentOutput, error) {
  3376  	req, out := c.RejectAssignmentRequest(input)
  3377  	req.SetContext(ctx)
  3378  	req.ApplyOptions(opts...)
  3379  	return out, req.Send()
  3380  }
  3381  
  3382  const opRejectQualificationRequest = "RejectQualificationRequest"
  3383  
  3384  // RejectQualificationRequestRequest generates a "aws/request.Request" representing the
  3385  // client's request for the RejectQualificationRequest operation. The "output" return
  3386  // value will be populated with the request's response once the request completes
  3387  // successfully.
  3388  //
  3389  // Use "Send" method on the returned Request to send the API call to the service.
  3390  // the "output" return value is not valid until after Send returns without error.
  3391  //
  3392  // See RejectQualificationRequest for more information on using the RejectQualificationRequest
  3393  // API call, and error handling.
  3394  //
  3395  // This method is useful when you want to inject custom logic or configuration
  3396  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3397  //
  3398  //
  3399  //    // Example sending a request using the RejectQualificationRequestRequest method.
  3400  //    req, resp := client.RejectQualificationRequestRequest(params)
  3401  //
  3402  //    err := req.Send()
  3403  //    if err == nil { // resp is now filled
  3404  //        fmt.Println(resp)
  3405  //    }
  3406  //
  3407  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/RejectQualificationRequest
  3408  func (c *MTurk) RejectQualificationRequestRequest(input *RejectQualificationRequestInput) (req *request.Request, output *RejectQualificationRequestOutput) {
  3409  	op := &request.Operation{
  3410  		Name:       opRejectQualificationRequest,
  3411  		HTTPMethod: "POST",
  3412  		HTTPPath:   "/",
  3413  	}
  3414  
  3415  	if input == nil {
  3416  		input = &RejectQualificationRequestInput{}
  3417  	}
  3418  
  3419  	output = &RejectQualificationRequestOutput{}
  3420  	req = c.newRequest(op, input, output)
  3421  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3422  	return
  3423  }
  3424  
  3425  // RejectQualificationRequest API operation for Amazon Mechanical Turk.
  3426  //
  3427  // The RejectQualificationRequest operation rejects a user's request for a Qualification.
  3428  //
  3429  // You can provide a text message explaining why the request was rejected. The
  3430  // Worker who made the request can see this message.
  3431  //
  3432  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3433  // with awserr.Error's Code and Message methods to get detailed information about
  3434  // the error.
  3435  //
  3436  // See the AWS API reference guide for Amazon Mechanical Turk's
  3437  // API operation RejectQualificationRequest for usage and error information.
  3438  //
  3439  // Returned Error Types:
  3440  //   * ServiceFault
  3441  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3442  //   your call again.
  3443  //
  3444  //   * RequestError
  3445  //   Your request is invalid.
  3446  //
  3447  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/RejectQualificationRequest
  3448  func (c *MTurk) RejectQualificationRequest(input *RejectQualificationRequestInput) (*RejectQualificationRequestOutput, error) {
  3449  	req, out := c.RejectQualificationRequestRequest(input)
  3450  	return out, req.Send()
  3451  }
  3452  
  3453  // RejectQualificationRequestWithContext is the same as RejectQualificationRequest with the addition of
  3454  // the ability to pass a context and additional request options.
  3455  //
  3456  // See RejectQualificationRequest for details on how to use this API operation.
  3457  //
  3458  // The context must be non-nil and will be used for request cancellation. If
  3459  // the context is nil a panic will occur. In the future the SDK may create
  3460  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3461  // for more information on using Contexts.
  3462  func (c *MTurk) RejectQualificationRequestWithContext(ctx aws.Context, input *RejectQualificationRequestInput, opts ...request.Option) (*RejectQualificationRequestOutput, error) {
  3463  	req, out := c.RejectQualificationRequestRequest(input)
  3464  	req.SetContext(ctx)
  3465  	req.ApplyOptions(opts...)
  3466  	return out, req.Send()
  3467  }
  3468  
  3469  const opSendBonus = "SendBonus"
  3470  
  3471  // SendBonusRequest generates a "aws/request.Request" representing the
  3472  // client's request for the SendBonus operation. The "output" return
  3473  // value will be populated with the request's response once the request completes
  3474  // successfully.
  3475  //
  3476  // Use "Send" method on the returned Request to send the API call to the service.
  3477  // the "output" return value is not valid until after Send returns without error.
  3478  //
  3479  // See SendBonus for more information on using the SendBonus
  3480  // API call, and error handling.
  3481  //
  3482  // This method is useful when you want to inject custom logic or configuration
  3483  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3484  //
  3485  //
  3486  //    // Example sending a request using the SendBonusRequest method.
  3487  //    req, resp := client.SendBonusRequest(params)
  3488  //
  3489  //    err := req.Send()
  3490  //    if err == nil { // resp is now filled
  3491  //        fmt.Println(resp)
  3492  //    }
  3493  //
  3494  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/SendBonus
  3495  func (c *MTurk) SendBonusRequest(input *SendBonusInput) (req *request.Request, output *SendBonusOutput) {
  3496  	op := &request.Operation{
  3497  		Name:       opSendBonus,
  3498  		HTTPMethod: "POST",
  3499  		HTTPPath:   "/",
  3500  	}
  3501  
  3502  	if input == nil {
  3503  		input = &SendBonusInput{}
  3504  	}
  3505  
  3506  	output = &SendBonusOutput{}
  3507  	req = c.newRequest(op, input, output)
  3508  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3509  	return
  3510  }
  3511  
  3512  // SendBonus API operation for Amazon Mechanical Turk.
  3513  //
  3514  // The SendBonus operation issues a payment of money from your account to a
  3515  // Worker. This payment happens separately from the reward you pay to the Worker
  3516  // when you approve the Worker's assignment. The SendBonus operation requires
  3517  // the Worker's ID and the assignment ID as parameters to initiate payment of
  3518  // the bonus. You must include a message that explains the reason for the bonus
  3519  // payment, as the Worker may not be expecting the payment. Amazon Mechanical
  3520  // Turk collects a fee for bonus payments, similar to the HIT listing fee. This
  3521  // operation fails if your account does not have enough funds to pay for both
  3522  // the bonus and the fees.
  3523  //
  3524  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3525  // with awserr.Error's Code and Message methods to get detailed information about
  3526  // the error.
  3527  //
  3528  // See the AWS API reference guide for Amazon Mechanical Turk's
  3529  // API operation SendBonus for usage and error information.
  3530  //
  3531  // Returned Error Types:
  3532  //   * ServiceFault
  3533  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3534  //   your call again.
  3535  //
  3536  //   * RequestError
  3537  //   Your request is invalid.
  3538  //
  3539  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/SendBonus
  3540  func (c *MTurk) SendBonus(input *SendBonusInput) (*SendBonusOutput, error) {
  3541  	req, out := c.SendBonusRequest(input)
  3542  	return out, req.Send()
  3543  }
  3544  
  3545  // SendBonusWithContext is the same as SendBonus with the addition of
  3546  // the ability to pass a context and additional request options.
  3547  //
  3548  // See SendBonus for details on how to use this API operation.
  3549  //
  3550  // The context must be non-nil and will be used for request cancellation. If
  3551  // the context is nil a panic will occur. In the future the SDK may create
  3552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3553  // for more information on using Contexts.
  3554  func (c *MTurk) SendBonusWithContext(ctx aws.Context, input *SendBonusInput, opts ...request.Option) (*SendBonusOutput, error) {
  3555  	req, out := c.SendBonusRequest(input)
  3556  	req.SetContext(ctx)
  3557  	req.ApplyOptions(opts...)
  3558  	return out, req.Send()
  3559  }
  3560  
  3561  const opSendTestEventNotification = "SendTestEventNotification"
  3562  
  3563  // SendTestEventNotificationRequest generates a "aws/request.Request" representing the
  3564  // client's request for the SendTestEventNotification operation. The "output" return
  3565  // value will be populated with the request's response once the request completes
  3566  // successfully.
  3567  //
  3568  // Use "Send" method on the returned Request to send the API call to the service.
  3569  // the "output" return value is not valid until after Send returns without error.
  3570  //
  3571  // See SendTestEventNotification for more information on using the SendTestEventNotification
  3572  // API call, and error handling.
  3573  //
  3574  // This method is useful when you want to inject custom logic or configuration
  3575  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3576  //
  3577  //
  3578  //    // Example sending a request using the SendTestEventNotificationRequest method.
  3579  //    req, resp := client.SendTestEventNotificationRequest(params)
  3580  //
  3581  //    err := req.Send()
  3582  //    if err == nil { // resp is now filled
  3583  //        fmt.Println(resp)
  3584  //    }
  3585  //
  3586  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/SendTestEventNotification
  3587  func (c *MTurk) SendTestEventNotificationRequest(input *SendTestEventNotificationInput) (req *request.Request, output *SendTestEventNotificationOutput) {
  3588  	op := &request.Operation{
  3589  		Name:       opSendTestEventNotification,
  3590  		HTTPMethod: "POST",
  3591  		HTTPPath:   "/",
  3592  	}
  3593  
  3594  	if input == nil {
  3595  		input = &SendTestEventNotificationInput{}
  3596  	}
  3597  
  3598  	output = &SendTestEventNotificationOutput{}
  3599  	req = c.newRequest(op, input, output)
  3600  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3601  	return
  3602  }
  3603  
  3604  // SendTestEventNotification API operation for Amazon Mechanical Turk.
  3605  //
  3606  // The SendTestEventNotification operation causes Amazon Mechanical Turk to
  3607  // send a notification message as if a HIT event occurred, according to the
  3608  // provided notification specification. This allows you to test notifications
  3609  // without setting up notifications for a real HIT type and trying to trigger
  3610  // them using the website. When you call this operation, the service attempts
  3611  // to send the test notification immediately.
  3612  //
  3613  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3614  // with awserr.Error's Code and Message methods to get detailed information about
  3615  // the error.
  3616  //
  3617  // See the AWS API reference guide for Amazon Mechanical Turk's
  3618  // API operation SendTestEventNotification for usage and error information.
  3619  //
  3620  // Returned Error Types:
  3621  //   * ServiceFault
  3622  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3623  //   your call again.
  3624  //
  3625  //   * RequestError
  3626  //   Your request is invalid.
  3627  //
  3628  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/SendTestEventNotification
  3629  func (c *MTurk) SendTestEventNotification(input *SendTestEventNotificationInput) (*SendTestEventNotificationOutput, error) {
  3630  	req, out := c.SendTestEventNotificationRequest(input)
  3631  	return out, req.Send()
  3632  }
  3633  
  3634  // SendTestEventNotificationWithContext is the same as SendTestEventNotification with the addition of
  3635  // the ability to pass a context and additional request options.
  3636  //
  3637  // See SendTestEventNotification for details on how to use this API operation.
  3638  //
  3639  // The context must be non-nil and will be used for request cancellation. If
  3640  // the context is nil a panic will occur. In the future the SDK may create
  3641  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3642  // for more information on using Contexts.
  3643  func (c *MTurk) SendTestEventNotificationWithContext(ctx aws.Context, input *SendTestEventNotificationInput, opts ...request.Option) (*SendTestEventNotificationOutput, error) {
  3644  	req, out := c.SendTestEventNotificationRequest(input)
  3645  	req.SetContext(ctx)
  3646  	req.ApplyOptions(opts...)
  3647  	return out, req.Send()
  3648  }
  3649  
  3650  const opUpdateExpirationForHIT = "UpdateExpirationForHIT"
  3651  
  3652  // UpdateExpirationForHITRequest generates a "aws/request.Request" representing the
  3653  // client's request for the UpdateExpirationForHIT operation. The "output" return
  3654  // value will be populated with the request's response once the request completes
  3655  // successfully.
  3656  //
  3657  // Use "Send" method on the returned Request to send the API call to the service.
  3658  // the "output" return value is not valid until after Send returns without error.
  3659  //
  3660  // See UpdateExpirationForHIT for more information on using the UpdateExpirationForHIT
  3661  // API call, and error handling.
  3662  //
  3663  // This method is useful when you want to inject custom logic or configuration
  3664  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3665  //
  3666  //
  3667  //    // Example sending a request using the UpdateExpirationForHITRequest method.
  3668  //    req, resp := client.UpdateExpirationForHITRequest(params)
  3669  //
  3670  //    err := req.Send()
  3671  //    if err == nil { // resp is now filled
  3672  //        fmt.Println(resp)
  3673  //    }
  3674  //
  3675  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateExpirationForHIT
  3676  func (c *MTurk) UpdateExpirationForHITRequest(input *UpdateExpirationForHITInput) (req *request.Request, output *UpdateExpirationForHITOutput) {
  3677  	op := &request.Operation{
  3678  		Name:       opUpdateExpirationForHIT,
  3679  		HTTPMethod: "POST",
  3680  		HTTPPath:   "/",
  3681  	}
  3682  
  3683  	if input == nil {
  3684  		input = &UpdateExpirationForHITInput{}
  3685  	}
  3686  
  3687  	output = &UpdateExpirationForHITOutput{}
  3688  	req = c.newRequest(op, input, output)
  3689  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3690  	return
  3691  }
  3692  
  3693  // UpdateExpirationForHIT API operation for Amazon Mechanical Turk.
  3694  //
  3695  // The UpdateExpirationForHIT operation allows you update the expiration time
  3696  // of a HIT. If you update it to a time in the past, the HIT will be immediately
  3697  // expired.
  3698  //
  3699  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3700  // with awserr.Error's Code and Message methods to get detailed information about
  3701  // the error.
  3702  //
  3703  // See the AWS API reference guide for Amazon Mechanical Turk's
  3704  // API operation UpdateExpirationForHIT for usage and error information.
  3705  //
  3706  // Returned Error Types:
  3707  //   * ServiceFault
  3708  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3709  //   your call again.
  3710  //
  3711  //   * RequestError
  3712  //   Your request is invalid.
  3713  //
  3714  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateExpirationForHIT
  3715  func (c *MTurk) UpdateExpirationForHIT(input *UpdateExpirationForHITInput) (*UpdateExpirationForHITOutput, error) {
  3716  	req, out := c.UpdateExpirationForHITRequest(input)
  3717  	return out, req.Send()
  3718  }
  3719  
  3720  // UpdateExpirationForHITWithContext is the same as UpdateExpirationForHIT with the addition of
  3721  // the ability to pass a context and additional request options.
  3722  //
  3723  // See UpdateExpirationForHIT for details on how to use this API operation.
  3724  //
  3725  // The context must be non-nil and will be used for request cancellation. If
  3726  // the context is nil a panic will occur. In the future the SDK may create
  3727  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3728  // for more information on using Contexts.
  3729  func (c *MTurk) UpdateExpirationForHITWithContext(ctx aws.Context, input *UpdateExpirationForHITInput, opts ...request.Option) (*UpdateExpirationForHITOutput, error) {
  3730  	req, out := c.UpdateExpirationForHITRequest(input)
  3731  	req.SetContext(ctx)
  3732  	req.ApplyOptions(opts...)
  3733  	return out, req.Send()
  3734  }
  3735  
  3736  const opUpdateHITReviewStatus = "UpdateHITReviewStatus"
  3737  
  3738  // UpdateHITReviewStatusRequest generates a "aws/request.Request" representing the
  3739  // client's request for the UpdateHITReviewStatus operation. The "output" return
  3740  // value will be populated with the request's response once the request completes
  3741  // successfully.
  3742  //
  3743  // Use "Send" method on the returned Request to send the API call to the service.
  3744  // the "output" return value is not valid until after Send returns without error.
  3745  //
  3746  // See UpdateHITReviewStatus for more information on using the UpdateHITReviewStatus
  3747  // API call, and error handling.
  3748  //
  3749  // This method is useful when you want to inject custom logic or configuration
  3750  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3751  //
  3752  //
  3753  //    // Example sending a request using the UpdateHITReviewStatusRequest method.
  3754  //    req, resp := client.UpdateHITReviewStatusRequest(params)
  3755  //
  3756  //    err := req.Send()
  3757  //    if err == nil { // resp is now filled
  3758  //        fmt.Println(resp)
  3759  //    }
  3760  //
  3761  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateHITReviewStatus
  3762  func (c *MTurk) UpdateHITReviewStatusRequest(input *UpdateHITReviewStatusInput) (req *request.Request, output *UpdateHITReviewStatusOutput) {
  3763  	op := &request.Operation{
  3764  		Name:       opUpdateHITReviewStatus,
  3765  		HTTPMethod: "POST",
  3766  		HTTPPath:   "/",
  3767  	}
  3768  
  3769  	if input == nil {
  3770  		input = &UpdateHITReviewStatusInput{}
  3771  	}
  3772  
  3773  	output = &UpdateHITReviewStatusOutput{}
  3774  	req = c.newRequest(op, input, output)
  3775  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3776  	return
  3777  }
  3778  
  3779  // UpdateHITReviewStatus API operation for Amazon Mechanical Turk.
  3780  //
  3781  // The UpdateHITReviewStatus operation updates the status of a HIT. If the status
  3782  // is Reviewable, this operation can update the status to Reviewing, or it can
  3783  // revert a Reviewing HIT back to the Reviewable status.
  3784  //
  3785  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3786  // with awserr.Error's Code and Message methods to get detailed information about
  3787  // the error.
  3788  //
  3789  // See the AWS API reference guide for Amazon Mechanical Turk's
  3790  // API operation UpdateHITReviewStatus for usage and error information.
  3791  //
  3792  // Returned Error Types:
  3793  //   * ServiceFault
  3794  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3795  //   your call again.
  3796  //
  3797  //   * RequestError
  3798  //   Your request is invalid.
  3799  //
  3800  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateHITReviewStatus
  3801  func (c *MTurk) UpdateHITReviewStatus(input *UpdateHITReviewStatusInput) (*UpdateHITReviewStatusOutput, error) {
  3802  	req, out := c.UpdateHITReviewStatusRequest(input)
  3803  	return out, req.Send()
  3804  }
  3805  
  3806  // UpdateHITReviewStatusWithContext is the same as UpdateHITReviewStatus with the addition of
  3807  // the ability to pass a context and additional request options.
  3808  //
  3809  // See UpdateHITReviewStatus for details on how to use this API operation.
  3810  //
  3811  // The context must be non-nil and will be used for request cancellation. If
  3812  // the context is nil a panic will occur. In the future the SDK may create
  3813  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3814  // for more information on using Contexts.
  3815  func (c *MTurk) UpdateHITReviewStatusWithContext(ctx aws.Context, input *UpdateHITReviewStatusInput, opts ...request.Option) (*UpdateHITReviewStatusOutput, error) {
  3816  	req, out := c.UpdateHITReviewStatusRequest(input)
  3817  	req.SetContext(ctx)
  3818  	req.ApplyOptions(opts...)
  3819  	return out, req.Send()
  3820  }
  3821  
  3822  const opUpdateHITTypeOfHIT = "UpdateHITTypeOfHIT"
  3823  
  3824  // UpdateHITTypeOfHITRequest generates a "aws/request.Request" representing the
  3825  // client's request for the UpdateHITTypeOfHIT operation. The "output" return
  3826  // value will be populated with the request's response once the request completes
  3827  // successfully.
  3828  //
  3829  // Use "Send" method on the returned Request to send the API call to the service.
  3830  // the "output" return value is not valid until after Send returns without error.
  3831  //
  3832  // See UpdateHITTypeOfHIT for more information on using the UpdateHITTypeOfHIT
  3833  // API call, and error handling.
  3834  //
  3835  // This method is useful when you want to inject custom logic or configuration
  3836  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3837  //
  3838  //
  3839  //    // Example sending a request using the UpdateHITTypeOfHITRequest method.
  3840  //    req, resp := client.UpdateHITTypeOfHITRequest(params)
  3841  //
  3842  //    err := req.Send()
  3843  //    if err == nil { // resp is now filled
  3844  //        fmt.Println(resp)
  3845  //    }
  3846  //
  3847  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateHITTypeOfHIT
  3848  func (c *MTurk) UpdateHITTypeOfHITRequest(input *UpdateHITTypeOfHITInput) (req *request.Request, output *UpdateHITTypeOfHITOutput) {
  3849  	op := &request.Operation{
  3850  		Name:       opUpdateHITTypeOfHIT,
  3851  		HTTPMethod: "POST",
  3852  		HTTPPath:   "/",
  3853  	}
  3854  
  3855  	if input == nil {
  3856  		input = &UpdateHITTypeOfHITInput{}
  3857  	}
  3858  
  3859  	output = &UpdateHITTypeOfHITOutput{}
  3860  	req = c.newRequest(op, input, output)
  3861  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3862  	return
  3863  }
  3864  
  3865  // UpdateHITTypeOfHIT API operation for Amazon Mechanical Turk.
  3866  //
  3867  // The UpdateHITTypeOfHIT operation allows you to change the HITType properties
  3868  // of a HIT. This operation disassociates the HIT from its old HITType properties
  3869  // and associates it with the new HITType properties. The HIT takes on the properties
  3870  // of the new HITType in place of the old ones.
  3871  //
  3872  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3873  // with awserr.Error's Code and Message methods to get detailed information about
  3874  // the error.
  3875  //
  3876  // See the AWS API reference guide for Amazon Mechanical Turk's
  3877  // API operation UpdateHITTypeOfHIT for usage and error information.
  3878  //
  3879  // Returned Error Types:
  3880  //   * ServiceFault
  3881  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3882  //   your call again.
  3883  //
  3884  //   * RequestError
  3885  //   Your request is invalid.
  3886  //
  3887  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateHITTypeOfHIT
  3888  func (c *MTurk) UpdateHITTypeOfHIT(input *UpdateHITTypeOfHITInput) (*UpdateHITTypeOfHITOutput, error) {
  3889  	req, out := c.UpdateHITTypeOfHITRequest(input)
  3890  	return out, req.Send()
  3891  }
  3892  
  3893  // UpdateHITTypeOfHITWithContext is the same as UpdateHITTypeOfHIT with the addition of
  3894  // the ability to pass a context and additional request options.
  3895  //
  3896  // See UpdateHITTypeOfHIT for details on how to use this API operation.
  3897  //
  3898  // The context must be non-nil and will be used for request cancellation. If
  3899  // the context is nil a panic will occur. In the future the SDK may create
  3900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3901  // for more information on using Contexts.
  3902  func (c *MTurk) UpdateHITTypeOfHITWithContext(ctx aws.Context, input *UpdateHITTypeOfHITInput, opts ...request.Option) (*UpdateHITTypeOfHITOutput, error) {
  3903  	req, out := c.UpdateHITTypeOfHITRequest(input)
  3904  	req.SetContext(ctx)
  3905  	req.ApplyOptions(opts...)
  3906  	return out, req.Send()
  3907  }
  3908  
  3909  const opUpdateNotificationSettings = "UpdateNotificationSettings"
  3910  
  3911  // UpdateNotificationSettingsRequest generates a "aws/request.Request" representing the
  3912  // client's request for the UpdateNotificationSettings operation. The "output" return
  3913  // value will be populated with the request's response once the request completes
  3914  // successfully.
  3915  //
  3916  // Use "Send" method on the returned Request to send the API call to the service.
  3917  // the "output" return value is not valid until after Send returns without error.
  3918  //
  3919  // See UpdateNotificationSettings for more information on using the UpdateNotificationSettings
  3920  // API call, and error handling.
  3921  //
  3922  // This method is useful when you want to inject custom logic or configuration
  3923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3924  //
  3925  //
  3926  //    // Example sending a request using the UpdateNotificationSettingsRequest method.
  3927  //    req, resp := client.UpdateNotificationSettingsRequest(params)
  3928  //
  3929  //    err := req.Send()
  3930  //    if err == nil { // resp is now filled
  3931  //        fmt.Println(resp)
  3932  //    }
  3933  //
  3934  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateNotificationSettings
  3935  func (c *MTurk) UpdateNotificationSettingsRequest(input *UpdateNotificationSettingsInput) (req *request.Request, output *UpdateNotificationSettingsOutput) {
  3936  	op := &request.Operation{
  3937  		Name:       opUpdateNotificationSettings,
  3938  		HTTPMethod: "POST",
  3939  		HTTPPath:   "/",
  3940  	}
  3941  
  3942  	if input == nil {
  3943  		input = &UpdateNotificationSettingsInput{}
  3944  	}
  3945  
  3946  	output = &UpdateNotificationSettingsOutput{}
  3947  	req = c.newRequest(op, input, output)
  3948  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3949  	return
  3950  }
  3951  
  3952  // UpdateNotificationSettings API operation for Amazon Mechanical Turk.
  3953  //
  3954  // The UpdateNotificationSettings operation creates, updates, disables or re-enables
  3955  // notifications for a HIT type. If you call the UpdateNotificationSettings
  3956  // operation for a HIT type that already has a notification specification, the
  3957  // operation replaces the old specification with a new one. You can call the
  3958  // UpdateNotificationSettings operation to enable or disable notifications for
  3959  // the HIT type, without having to modify the notification specification itself
  3960  // by providing updates to the Active status without specifying a new notification
  3961  // specification. To change the Active status of a HIT type's notifications,
  3962  // the HIT type must already have a notification specification, or one must
  3963  // be provided in the same call to UpdateNotificationSettings.
  3964  //
  3965  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3966  // with awserr.Error's Code and Message methods to get detailed information about
  3967  // the error.
  3968  //
  3969  // See the AWS API reference guide for Amazon Mechanical Turk's
  3970  // API operation UpdateNotificationSettings for usage and error information.
  3971  //
  3972  // Returned Error Types:
  3973  //   * ServiceFault
  3974  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  3975  //   your call again.
  3976  //
  3977  //   * RequestError
  3978  //   Your request is invalid.
  3979  //
  3980  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateNotificationSettings
  3981  func (c *MTurk) UpdateNotificationSettings(input *UpdateNotificationSettingsInput) (*UpdateNotificationSettingsOutput, error) {
  3982  	req, out := c.UpdateNotificationSettingsRequest(input)
  3983  	return out, req.Send()
  3984  }
  3985  
  3986  // UpdateNotificationSettingsWithContext is the same as UpdateNotificationSettings with the addition of
  3987  // the ability to pass a context and additional request options.
  3988  //
  3989  // See UpdateNotificationSettings for details on how to use this API operation.
  3990  //
  3991  // The context must be non-nil and will be used for request cancellation. If
  3992  // the context is nil a panic will occur. In the future the SDK may create
  3993  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3994  // for more information on using Contexts.
  3995  func (c *MTurk) UpdateNotificationSettingsWithContext(ctx aws.Context, input *UpdateNotificationSettingsInput, opts ...request.Option) (*UpdateNotificationSettingsOutput, error) {
  3996  	req, out := c.UpdateNotificationSettingsRequest(input)
  3997  	req.SetContext(ctx)
  3998  	req.ApplyOptions(opts...)
  3999  	return out, req.Send()
  4000  }
  4001  
  4002  const opUpdateQualificationType = "UpdateQualificationType"
  4003  
  4004  // UpdateQualificationTypeRequest generates a "aws/request.Request" representing the
  4005  // client's request for the UpdateQualificationType operation. The "output" return
  4006  // value will be populated with the request's response once the request completes
  4007  // successfully.
  4008  //
  4009  // Use "Send" method on the returned Request to send the API call to the service.
  4010  // the "output" return value is not valid until after Send returns without error.
  4011  //
  4012  // See UpdateQualificationType for more information on using the UpdateQualificationType
  4013  // API call, and error handling.
  4014  //
  4015  // This method is useful when you want to inject custom logic or configuration
  4016  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4017  //
  4018  //
  4019  //    // Example sending a request using the UpdateQualificationTypeRequest method.
  4020  //    req, resp := client.UpdateQualificationTypeRequest(params)
  4021  //
  4022  //    err := req.Send()
  4023  //    if err == nil { // resp is now filled
  4024  //        fmt.Println(resp)
  4025  //    }
  4026  //
  4027  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateQualificationType
  4028  func (c *MTurk) UpdateQualificationTypeRequest(input *UpdateQualificationTypeInput) (req *request.Request, output *UpdateQualificationTypeOutput) {
  4029  	op := &request.Operation{
  4030  		Name:       opUpdateQualificationType,
  4031  		HTTPMethod: "POST",
  4032  		HTTPPath:   "/",
  4033  	}
  4034  
  4035  	if input == nil {
  4036  		input = &UpdateQualificationTypeInput{}
  4037  	}
  4038  
  4039  	output = &UpdateQualificationTypeOutput{}
  4040  	req = c.newRequest(op, input, output)
  4041  	return
  4042  }
  4043  
  4044  // UpdateQualificationType API operation for Amazon Mechanical Turk.
  4045  //
  4046  // The UpdateQualificationType operation modifies the attributes of an existing
  4047  // Qualification type, which is represented by a QualificationType data structure.
  4048  // Only the owner of a Qualification type can modify its attributes.
  4049  //
  4050  // Most attributes of a Qualification type can be changed after the type has
  4051  // been created. However, the Name and Keywords fields cannot be modified. The
  4052  // RetryDelayInSeconds parameter can be modified or added to change the delay
  4053  // or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.
  4054  //
  4055  // You can use this operation to update the test for a Qualification type. The
  4056  // test is updated based on the values specified for the Test, TestDurationInSeconds
  4057  // and AnswerKey parameters. All three parameters specify the updated test.
  4058  // If you are updating the test for a type, you must specify the Test and TestDurationInSeconds
  4059  // parameters. The AnswerKey parameter is optional; omitting it specifies that
  4060  // the updated test does not have an answer key.
  4061  //
  4062  // If you omit the Test parameter, the test for the Qualification type is unchanged.
  4063  // There is no way to remove a test from a Qualification type that has one.
  4064  // If the type already has a test, you cannot update it to be AutoGranted. If
  4065  // the Qualification type does not have a test and one is provided by an update,
  4066  // the type will henceforth have a test.
  4067  //
  4068  // If you want to update the test duration or answer key for an existing test
  4069  // without changing the questions, you must specify a Test parameter with the
  4070  // original questions, along with the updated values.
  4071  //
  4072  // If you provide an updated Test but no AnswerKey, the new test will not have
  4073  // an answer key. Requests for such Qualifications must be granted manually.
  4074  //
  4075  // You can also update the AutoGranted and AutoGrantedValue attributes of the
  4076  // Qualification type.
  4077  //
  4078  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4079  // with awserr.Error's Code and Message methods to get detailed information about
  4080  // the error.
  4081  //
  4082  // See the AWS API reference guide for Amazon Mechanical Turk's
  4083  // API operation UpdateQualificationType for usage and error information.
  4084  //
  4085  // Returned Error Types:
  4086  //   * ServiceFault
  4087  //   Amazon Mechanical Turk is temporarily unable to process your request. Try
  4088  //   your call again.
  4089  //
  4090  //   * RequestError
  4091  //   Your request is invalid.
  4092  //
  4093  // See also, https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateQualificationType
  4094  func (c *MTurk) UpdateQualificationType(input *UpdateQualificationTypeInput) (*UpdateQualificationTypeOutput, error) {
  4095  	req, out := c.UpdateQualificationTypeRequest(input)
  4096  	return out, req.Send()
  4097  }
  4098  
  4099  // UpdateQualificationTypeWithContext is the same as UpdateQualificationType with the addition of
  4100  // the ability to pass a context and additional request options.
  4101  //
  4102  // See UpdateQualificationType for details on how to use this API operation.
  4103  //
  4104  // The context must be non-nil and will be used for request cancellation. If
  4105  // the context is nil a panic will occur. In the future the SDK may create
  4106  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4107  // for more information on using Contexts.
  4108  func (c *MTurk) UpdateQualificationTypeWithContext(ctx aws.Context, input *UpdateQualificationTypeInput, opts ...request.Option) (*UpdateQualificationTypeOutput, error) {
  4109  	req, out := c.UpdateQualificationTypeRequest(input)
  4110  	req.SetContext(ctx)
  4111  	req.ApplyOptions(opts...)
  4112  	return out, req.Send()
  4113  }
  4114  
  4115  type AcceptQualificationRequestInput struct {
  4116  	_ struct{} `type:"structure"`
  4117  
  4118  	// The value of the Qualification. You can omit this value if you are using
  4119  	// the presence or absence of the Qualification as the basis for a HIT requirement.
  4120  	IntegerValue *int64 `type:"integer"`
  4121  
  4122  	// The ID of the Qualification request, as returned by the GetQualificationRequests
  4123  	// operation.
  4124  	//
  4125  	// QualificationRequestId is a required field
  4126  	QualificationRequestId *string `type:"string" required:"true"`
  4127  }
  4128  
  4129  // String returns the string representation.
  4130  //
  4131  // API parameter values that are decorated as "sensitive" in the API will not
  4132  // be included in the string output. The member name will be present, but the
  4133  // value will be replaced with "sensitive".
  4134  func (s AcceptQualificationRequestInput) String() string {
  4135  	return awsutil.Prettify(s)
  4136  }
  4137  
  4138  // GoString returns the string representation.
  4139  //
  4140  // API parameter values that are decorated as "sensitive" in the API will not
  4141  // be included in the string output. The member name will be present, but the
  4142  // value will be replaced with "sensitive".
  4143  func (s AcceptQualificationRequestInput) GoString() string {
  4144  	return s.String()
  4145  }
  4146  
  4147  // Validate inspects the fields of the type to determine if they are valid.
  4148  func (s *AcceptQualificationRequestInput) Validate() error {
  4149  	invalidParams := request.ErrInvalidParams{Context: "AcceptQualificationRequestInput"}
  4150  	if s.QualificationRequestId == nil {
  4151  		invalidParams.Add(request.NewErrParamRequired("QualificationRequestId"))
  4152  	}
  4153  
  4154  	if invalidParams.Len() > 0 {
  4155  		return invalidParams
  4156  	}
  4157  	return nil
  4158  }
  4159  
  4160  // SetIntegerValue sets the IntegerValue field's value.
  4161  func (s *AcceptQualificationRequestInput) SetIntegerValue(v int64) *AcceptQualificationRequestInput {
  4162  	s.IntegerValue = &v
  4163  	return s
  4164  }
  4165  
  4166  // SetQualificationRequestId sets the QualificationRequestId field's value.
  4167  func (s *AcceptQualificationRequestInput) SetQualificationRequestId(v string) *AcceptQualificationRequestInput {
  4168  	s.QualificationRequestId = &v
  4169  	return s
  4170  }
  4171  
  4172  type AcceptQualificationRequestOutput struct {
  4173  	_ struct{} `type:"structure"`
  4174  }
  4175  
  4176  // String returns the string representation.
  4177  //
  4178  // API parameter values that are decorated as "sensitive" in the API will not
  4179  // be included in the string output. The member name will be present, but the
  4180  // value will be replaced with "sensitive".
  4181  func (s AcceptQualificationRequestOutput) String() string {
  4182  	return awsutil.Prettify(s)
  4183  }
  4184  
  4185  // GoString returns the string representation.
  4186  //
  4187  // API parameter values that are decorated as "sensitive" in the API will not
  4188  // be included in the string output. The member name will be present, but the
  4189  // value will be replaced with "sensitive".
  4190  func (s AcceptQualificationRequestOutput) GoString() string {
  4191  	return s.String()
  4192  }
  4193  
  4194  type ApproveAssignmentInput struct {
  4195  	_ struct{} `type:"structure"`
  4196  
  4197  	// The ID of the assignment. The assignment must correspond to a HIT created
  4198  	// by the Requester.
  4199  	//
  4200  	// AssignmentId is a required field
  4201  	AssignmentId *string `min:"1" type:"string" required:"true"`
  4202  
  4203  	// A flag indicating that an assignment should be approved even if it was previously
  4204  	// rejected. Defaults to False.
  4205  	OverrideRejection *bool `type:"boolean"`
  4206  
  4207  	// A message for the Worker, which the Worker can see in the Status section
  4208  	// of the web site.
  4209  	RequesterFeedback *string `type:"string"`
  4210  }
  4211  
  4212  // String returns the string representation.
  4213  //
  4214  // API parameter values that are decorated as "sensitive" in the API will not
  4215  // be included in the string output. The member name will be present, but the
  4216  // value will be replaced with "sensitive".
  4217  func (s ApproveAssignmentInput) String() string {
  4218  	return awsutil.Prettify(s)
  4219  }
  4220  
  4221  // GoString returns the string representation.
  4222  //
  4223  // API parameter values that are decorated as "sensitive" in the API will not
  4224  // be included in the string output. The member name will be present, but the
  4225  // value will be replaced with "sensitive".
  4226  func (s ApproveAssignmentInput) GoString() string {
  4227  	return s.String()
  4228  }
  4229  
  4230  // Validate inspects the fields of the type to determine if they are valid.
  4231  func (s *ApproveAssignmentInput) Validate() error {
  4232  	invalidParams := request.ErrInvalidParams{Context: "ApproveAssignmentInput"}
  4233  	if s.AssignmentId == nil {
  4234  		invalidParams.Add(request.NewErrParamRequired("AssignmentId"))
  4235  	}
  4236  	if s.AssignmentId != nil && len(*s.AssignmentId) < 1 {
  4237  		invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1))
  4238  	}
  4239  
  4240  	if invalidParams.Len() > 0 {
  4241  		return invalidParams
  4242  	}
  4243  	return nil
  4244  }
  4245  
  4246  // SetAssignmentId sets the AssignmentId field's value.
  4247  func (s *ApproveAssignmentInput) SetAssignmentId(v string) *ApproveAssignmentInput {
  4248  	s.AssignmentId = &v
  4249  	return s
  4250  }
  4251  
  4252  // SetOverrideRejection sets the OverrideRejection field's value.
  4253  func (s *ApproveAssignmentInput) SetOverrideRejection(v bool) *ApproveAssignmentInput {
  4254  	s.OverrideRejection = &v
  4255  	return s
  4256  }
  4257  
  4258  // SetRequesterFeedback sets the RequesterFeedback field's value.
  4259  func (s *ApproveAssignmentInput) SetRequesterFeedback(v string) *ApproveAssignmentInput {
  4260  	s.RequesterFeedback = &v
  4261  	return s
  4262  }
  4263  
  4264  type ApproveAssignmentOutput struct {
  4265  	_ struct{} `type:"structure"`
  4266  }
  4267  
  4268  // String returns the string representation.
  4269  //
  4270  // API parameter values that are decorated as "sensitive" in the API will not
  4271  // be included in the string output. The member name will be present, but the
  4272  // value will be replaced with "sensitive".
  4273  func (s ApproveAssignmentOutput) String() string {
  4274  	return awsutil.Prettify(s)
  4275  }
  4276  
  4277  // GoString returns the string representation.
  4278  //
  4279  // API parameter values that are decorated as "sensitive" in the API will not
  4280  // be included in the string output. The member name will be present, but the
  4281  // value will be replaced with "sensitive".
  4282  func (s ApproveAssignmentOutput) GoString() string {
  4283  	return s.String()
  4284  }
  4285  
  4286  // The Assignment data structure represents a single assignment of a HIT to
  4287  // a Worker. The assignment tracks the Worker's efforts to complete the HIT,
  4288  // and contains the results for later retrieval.
  4289  type Assignment struct {
  4290  	_ struct{} `type:"structure"`
  4291  
  4292  	// The date and time the Worker accepted the assignment.
  4293  	AcceptTime *time.Time `type:"timestamp"`
  4294  
  4295  	// The Worker's answers submitted for the HIT contained in a QuestionFormAnswers
  4296  	// document, if the Worker provides an answer. If the Worker does not provide
  4297  	// any answers, Answer may contain a QuestionFormAnswers document, or Answer
  4298  	// may be empty.
  4299  	Answer *string `type:"string"`
  4300  
  4301  	// If the Worker has submitted results and the Requester has approved the results,
  4302  	// ApprovalTime is the date and time the Requester approved the results. This
  4303  	// value is omitted from the assignment if the Requester has not yet approved
  4304  	// the results.
  4305  	ApprovalTime *time.Time `type:"timestamp"`
  4306  
  4307  	// A unique identifier for the assignment.
  4308  	AssignmentId *string `min:"1" type:"string"`
  4309  
  4310  	// The status of the assignment.
  4311  	AssignmentStatus *string `type:"string" enum:"AssignmentStatus"`
  4312  
  4313  	// If results have been submitted, AutoApprovalTime is the date and time the
  4314  	// results of the assignment results are considered Approved automatically if
  4315  	// they have not already been explicitly approved or rejected by the Requester.
  4316  	// This value is derived from the auto-approval delay specified by the Requester
  4317  	// in the HIT. This value is omitted from the assignment if the Worker has not
  4318  	// yet submitted results.
  4319  	AutoApprovalTime *time.Time `type:"timestamp"`
  4320  
  4321  	// The date and time of the deadline for the assignment. This value is derived
  4322  	// from the deadline specification for the HIT and the date and time the Worker
  4323  	// accepted the HIT.
  4324  	Deadline *time.Time `type:"timestamp"`
  4325  
  4326  	// The ID of the HIT.
  4327  	HITId *string `min:"1" type:"string"`
  4328  
  4329  	// If the Worker has submitted results and the Requester has rejected the results,
  4330  	// RejectionTime is the date and time the Requester rejected the results.
  4331  	RejectionTime *time.Time `type:"timestamp"`
  4332  
  4333  	// The feedback string included with the call to the ApproveAssignment operation
  4334  	// or the RejectAssignment operation, if the Requester approved or rejected
  4335  	// the assignment and specified feedback.
  4336  	RequesterFeedback *string `type:"string"`
  4337  
  4338  	// If the Worker has submitted results, SubmitTime is the date and time the
  4339  	// assignment was submitted. This value is omitted from the assignment if the
  4340  	// Worker has not yet submitted results.
  4341  	SubmitTime *time.Time `type:"timestamp"`
  4342  
  4343  	// The ID of the Worker who accepted the HIT.
  4344  	WorkerId *string `min:"1" type:"string"`
  4345  }
  4346  
  4347  // String returns the string representation.
  4348  //
  4349  // API parameter values that are decorated as "sensitive" in the API will not
  4350  // be included in the string output. The member name will be present, but the
  4351  // value will be replaced with "sensitive".
  4352  func (s Assignment) String() string {
  4353  	return awsutil.Prettify(s)
  4354  }
  4355  
  4356  // GoString returns the string representation.
  4357  //
  4358  // API parameter values that are decorated as "sensitive" in the API will not
  4359  // be included in the string output. The member name will be present, but the
  4360  // value will be replaced with "sensitive".
  4361  func (s Assignment) GoString() string {
  4362  	return s.String()
  4363  }
  4364  
  4365  // SetAcceptTime sets the AcceptTime field's value.
  4366  func (s *Assignment) SetAcceptTime(v time.Time) *Assignment {
  4367  	s.AcceptTime = &v
  4368  	return s
  4369  }
  4370  
  4371  // SetAnswer sets the Answer field's value.
  4372  func (s *Assignment) SetAnswer(v string) *Assignment {
  4373  	s.Answer = &v
  4374  	return s
  4375  }
  4376  
  4377  // SetApprovalTime sets the ApprovalTime field's value.
  4378  func (s *Assignment) SetApprovalTime(v time.Time) *Assignment {
  4379  	s.ApprovalTime = &v
  4380  	return s
  4381  }
  4382  
  4383  // SetAssignmentId sets the AssignmentId field's value.
  4384  func (s *Assignment) SetAssignmentId(v string) *Assignment {
  4385  	s.AssignmentId = &v
  4386  	return s
  4387  }
  4388  
  4389  // SetAssignmentStatus sets the AssignmentStatus field's value.
  4390  func (s *Assignment) SetAssignmentStatus(v string) *Assignment {
  4391  	s.AssignmentStatus = &v
  4392  	return s
  4393  }
  4394  
  4395  // SetAutoApprovalTime sets the AutoApprovalTime field's value.
  4396  func (s *Assignment) SetAutoApprovalTime(v time.Time) *Assignment {
  4397  	s.AutoApprovalTime = &v
  4398  	return s
  4399  }
  4400  
  4401  // SetDeadline sets the Deadline field's value.
  4402  func (s *Assignment) SetDeadline(v time.Time) *Assignment {
  4403  	s.Deadline = &v
  4404  	return s
  4405  }
  4406  
  4407  // SetHITId sets the HITId field's value.
  4408  func (s *Assignment) SetHITId(v string) *Assignment {
  4409  	s.HITId = &v
  4410  	return s
  4411  }
  4412  
  4413  // SetRejectionTime sets the RejectionTime field's value.
  4414  func (s *Assignment) SetRejectionTime(v time.Time) *Assignment {
  4415  	s.RejectionTime = &v
  4416  	return s
  4417  }
  4418  
  4419  // SetRequesterFeedback sets the RequesterFeedback field's value.
  4420  func (s *Assignment) SetRequesterFeedback(v string) *Assignment {
  4421  	s.RequesterFeedback = &v
  4422  	return s
  4423  }
  4424  
  4425  // SetSubmitTime sets the SubmitTime field's value.
  4426  func (s *Assignment) SetSubmitTime(v time.Time) *Assignment {
  4427  	s.SubmitTime = &v
  4428  	return s
  4429  }
  4430  
  4431  // SetWorkerId sets the WorkerId field's value.
  4432  func (s *Assignment) SetWorkerId(v string) *Assignment {
  4433  	s.WorkerId = &v
  4434  	return s
  4435  }
  4436  
  4437  type AssociateQualificationWithWorkerInput struct {
  4438  	_ struct{} `type:"structure"`
  4439  
  4440  	// The value of the Qualification to assign.
  4441  	IntegerValue *int64 `type:"integer"`
  4442  
  4443  	// The ID of the Qualification type to use for the assigned Qualification.
  4444  	//
  4445  	// QualificationTypeId is a required field
  4446  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  4447  
  4448  	// Specifies whether to send a notification email message to the Worker saying
  4449  	// that the qualification was assigned to the Worker. Note: this is true by
  4450  	// default.
  4451  	SendNotification *bool `type:"boolean"`
  4452  
  4453  	// The ID of the Worker to whom the Qualification is being assigned. Worker
  4454  	// IDs are included with submitted HIT assignments and Qualification requests.
  4455  	//
  4456  	// WorkerId is a required field
  4457  	WorkerId *string `min:"1" type:"string" required:"true"`
  4458  }
  4459  
  4460  // String returns the string representation.
  4461  //
  4462  // API parameter values that are decorated as "sensitive" in the API will not
  4463  // be included in the string output. The member name will be present, but the
  4464  // value will be replaced with "sensitive".
  4465  func (s AssociateQualificationWithWorkerInput) String() string {
  4466  	return awsutil.Prettify(s)
  4467  }
  4468  
  4469  // GoString returns the string representation.
  4470  //
  4471  // API parameter values that are decorated as "sensitive" in the API will not
  4472  // be included in the string output. The member name will be present, but the
  4473  // value will be replaced with "sensitive".
  4474  func (s AssociateQualificationWithWorkerInput) GoString() string {
  4475  	return s.String()
  4476  }
  4477  
  4478  // Validate inspects the fields of the type to determine if they are valid.
  4479  func (s *AssociateQualificationWithWorkerInput) Validate() error {
  4480  	invalidParams := request.ErrInvalidParams{Context: "AssociateQualificationWithWorkerInput"}
  4481  	if s.QualificationTypeId == nil {
  4482  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  4483  	}
  4484  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  4485  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  4486  	}
  4487  	if s.WorkerId == nil {
  4488  		invalidParams.Add(request.NewErrParamRequired("WorkerId"))
  4489  	}
  4490  	if s.WorkerId != nil && len(*s.WorkerId) < 1 {
  4491  		invalidParams.Add(request.NewErrParamMinLen("WorkerId", 1))
  4492  	}
  4493  
  4494  	if invalidParams.Len() > 0 {
  4495  		return invalidParams
  4496  	}
  4497  	return nil
  4498  }
  4499  
  4500  // SetIntegerValue sets the IntegerValue field's value.
  4501  func (s *AssociateQualificationWithWorkerInput) SetIntegerValue(v int64) *AssociateQualificationWithWorkerInput {
  4502  	s.IntegerValue = &v
  4503  	return s
  4504  }
  4505  
  4506  // SetQualificationTypeId sets the QualificationTypeId field's value.
  4507  func (s *AssociateQualificationWithWorkerInput) SetQualificationTypeId(v string) *AssociateQualificationWithWorkerInput {
  4508  	s.QualificationTypeId = &v
  4509  	return s
  4510  }
  4511  
  4512  // SetSendNotification sets the SendNotification field's value.
  4513  func (s *AssociateQualificationWithWorkerInput) SetSendNotification(v bool) *AssociateQualificationWithWorkerInput {
  4514  	s.SendNotification = &v
  4515  	return s
  4516  }
  4517  
  4518  // SetWorkerId sets the WorkerId field's value.
  4519  func (s *AssociateQualificationWithWorkerInput) SetWorkerId(v string) *AssociateQualificationWithWorkerInput {
  4520  	s.WorkerId = &v
  4521  	return s
  4522  }
  4523  
  4524  type AssociateQualificationWithWorkerOutput struct {
  4525  	_ struct{} `type:"structure"`
  4526  }
  4527  
  4528  // String returns the string representation.
  4529  //
  4530  // API parameter values that are decorated as "sensitive" in the API will not
  4531  // be included in the string output. The member name will be present, but the
  4532  // value will be replaced with "sensitive".
  4533  func (s AssociateQualificationWithWorkerOutput) String() string {
  4534  	return awsutil.Prettify(s)
  4535  }
  4536  
  4537  // GoString returns the string representation.
  4538  //
  4539  // API parameter values that are decorated as "sensitive" in the API will not
  4540  // be included in the string output. The member name will be present, but the
  4541  // value will be replaced with "sensitive".
  4542  func (s AssociateQualificationWithWorkerOutput) GoString() string {
  4543  	return s.String()
  4544  }
  4545  
  4546  // An object representing a Bonus payment paid to a Worker.
  4547  type BonusPayment struct {
  4548  	_ struct{} `type:"structure"`
  4549  
  4550  	// The ID of the assignment associated with this bonus payment.
  4551  	AssignmentId *string `min:"1" type:"string"`
  4552  
  4553  	// A string representing a currency amount.
  4554  	BonusAmount *string `type:"string"`
  4555  
  4556  	// The date and time of when the bonus was granted.
  4557  	GrantTime *time.Time `type:"timestamp"`
  4558  
  4559  	// The Reason text given when the bonus was granted, if any.
  4560  	Reason *string `type:"string"`
  4561  
  4562  	// The ID of the Worker to whom the bonus was paid.
  4563  	WorkerId *string `min:"1" type:"string"`
  4564  }
  4565  
  4566  // String returns the string representation.
  4567  //
  4568  // API parameter values that are decorated as "sensitive" in the API will not
  4569  // be included in the string output. The member name will be present, but the
  4570  // value will be replaced with "sensitive".
  4571  func (s BonusPayment) String() string {
  4572  	return awsutil.Prettify(s)
  4573  }
  4574  
  4575  // GoString returns the string representation.
  4576  //
  4577  // API parameter values that are decorated as "sensitive" in the API will not
  4578  // be included in the string output. The member name will be present, but the
  4579  // value will be replaced with "sensitive".
  4580  func (s BonusPayment) GoString() string {
  4581  	return s.String()
  4582  }
  4583  
  4584  // SetAssignmentId sets the AssignmentId field's value.
  4585  func (s *BonusPayment) SetAssignmentId(v string) *BonusPayment {
  4586  	s.AssignmentId = &v
  4587  	return s
  4588  }
  4589  
  4590  // SetBonusAmount sets the BonusAmount field's value.
  4591  func (s *BonusPayment) SetBonusAmount(v string) *BonusPayment {
  4592  	s.BonusAmount = &v
  4593  	return s
  4594  }
  4595  
  4596  // SetGrantTime sets the GrantTime field's value.
  4597  func (s *BonusPayment) SetGrantTime(v time.Time) *BonusPayment {
  4598  	s.GrantTime = &v
  4599  	return s
  4600  }
  4601  
  4602  // SetReason sets the Reason field's value.
  4603  func (s *BonusPayment) SetReason(v string) *BonusPayment {
  4604  	s.Reason = &v
  4605  	return s
  4606  }
  4607  
  4608  // SetWorkerId sets the WorkerId field's value.
  4609  func (s *BonusPayment) SetWorkerId(v string) *BonusPayment {
  4610  	s.WorkerId = &v
  4611  	return s
  4612  }
  4613  
  4614  type CreateAdditionalAssignmentsForHITInput struct {
  4615  	_ struct{} `type:"structure"`
  4616  
  4617  	// The ID of the HIT to extend.
  4618  	//
  4619  	// HITId is a required field
  4620  	HITId *string `min:"1" type:"string" required:"true"`
  4621  
  4622  	// The number of additional assignments to request for this HIT.
  4623  	//
  4624  	// NumberOfAdditionalAssignments is a required field
  4625  	NumberOfAdditionalAssignments *int64 `type:"integer" required:"true"`
  4626  
  4627  	// A unique identifier for this request, which allows you to retry the call
  4628  	// on error without extending the HIT multiple times. This is useful in cases
  4629  	// such as network timeouts where it is unclear whether or not the call succeeded
  4630  	// on the server. If the extend HIT already exists in the system from a previous
  4631  	// call using the same UniqueRequestToken, subsequent calls will return an error
  4632  	// with a message containing the request ID.
  4633  	UniqueRequestToken *string `min:"1" type:"string"`
  4634  }
  4635  
  4636  // String returns the string representation.
  4637  //
  4638  // API parameter values that are decorated as "sensitive" in the API will not
  4639  // be included in the string output. The member name will be present, but the
  4640  // value will be replaced with "sensitive".
  4641  func (s CreateAdditionalAssignmentsForHITInput) String() string {
  4642  	return awsutil.Prettify(s)
  4643  }
  4644  
  4645  // GoString returns the string representation.
  4646  //
  4647  // API parameter values that are decorated as "sensitive" in the API will not
  4648  // be included in the string output. The member name will be present, but the
  4649  // value will be replaced with "sensitive".
  4650  func (s CreateAdditionalAssignmentsForHITInput) GoString() string {
  4651  	return s.String()
  4652  }
  4653  
  4654  // Validate inspects the fields of the type to determine if they are valid.
  4655  func (s *CreateAdditionalAssignmentsForHITInput) Validate() error {
  4656  	invalidParams := request.ErrInvalidParams{Context: "CreateAdditionalAssignmentsForHITInput"}
  4657  	if s.HITId == nil {
  4658  		invalidParams.Add(request.NewErrParamRequired("HITId"))
  4659  	}
  4660  	if s.HITId != nil && len(*s.HITId) < 1 {
  4661  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  4662  	}
  4663  	if s.NumberOfAdditionalAssignments == nil {
  4664  		invalidParams.Add(request.NewErrParamRequired("NumberOfAdditionalAssignments"))
  4665  	}
  4666  	if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 {
  4667  		invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1))
  4668  	}
  4669  
  4670  	if invalidParams.Len() > 0 {
  4671  		return invalidParams
  4672  	}
  4673  	return nil
  4674  }
  4675  
  4676  // SetHITId sets the HITId field's value.
  4677  func (s *CreateAdditionalAssignmentsForHITInput) SetHITId(v string) *CreateAdditionalAssignmentsForHITInput {
  4678  	s.HITId = &v
  4679  	return s
  4680  }
  4681  
  4682  // SetNumberOfAdditionalAssignments sets the NumberOfAdditionalAssignments field's value.
  4683  func (s *CreateAdditionalAssignmentsForHITInput) SetNumberOfAdditionalAssignments(v int64) *CreateAdditionalAssignmentsForHITInput {
  4684  	s.NumberOfAdditionalAssignments = &v
  4685  	return s
  4686  }
  4687  
  4688  // SetUniqueRequestToken sets the UniqueRequestToken field's value.
  4689  func (s *CreateAdditionalAssignmentsForHITInput) SetUniqueRequestToken(v string) *CreateAdditionalAssignmentsForHITInput {
  4690  	s.UniqueRequestToken = &v
  4691  	return s
  4692  }
  4693  
  4694  type CreateAdditionalAssignmentsForHITOutput struct {
  4695  	_ struct{} `type:"structure"`
  4696  }
  4697  
  4698  // String returns the string representation.
  4699  //
  4700  // API parameter values that are decorated as "sensitive" in the API will not
  4701  // be included in the string output. The member name will be present, but the
  4702  // value will be replaced with "sensitive".
  4703  func (s CreateAdditionalAssignmentsForHITOutput) String() string {
  4704  	return awsutil.Prettify(s)
  4705  }
  4706  
  4707  // GoString returns the string representation.
  4708  //
  4709  // API parameter values that are decorated as "sensitive" in the API will not
  4710  // be included in the string output. The member name will be present, but the
  4711  // value will be replaced with "sensitive".
  4712  func (s CreateAdditionalAssignmentsForHITOutput) GoString() string {
  4713  	return s.String()
  4714  }
  4715  
  4716  type CreateHITInput struct {
  4717  	_ struct{} `type:"structure"`
  4718  
  4719  	// The amount of time, in seconds, that a Worker has to complete the HIT after
  4720  	// accepting it. If a Worker does not complete the assignment within the specified
  4721  	// duration, the assignment is considered abandoned. If the HIT is still active
  4722  	// (that is, its lifetime has not elapsed), the assignment becomes available
  4723  	// for other users to find and accept.
  4724  	//
  4725  	// AssignmentDurationInSeconds is a required field
  4726  	AssignmentDurationInSeconds *int64 `type:"long" required:"true"`
  4727  
  4728  	// The Assignment-level Review Policy applies to the assignments under the HIT.
  4729  	// You can specify for Mechanical Turk to take various actions based on the
  4730  	// policy.
  4731  	AssignmentReviewPolicy *ReviewPolicy `type:"structure"`
  4732  
  4733  	// The number of seconds after an assignment for the HIT has been submitted,
  4734  	// after which the assignment is considered Approved automatically unless the
  4735  	// Requester explicitly rejects it.
  4736  	AutoApprovalDelayInSeconds *int64 `type:"long"`
  4737  
  4738  	// A general description of the HIT. A description includes detailed information
  4739  	// about the kind of task the HIT contains. On the Amazon Mechanical Turk web
  4740  	// site, the HIT description appears in the expanded view of search results,
  4741  	// and in the HIT and assignment screens. A good description gives the user
  4742  	// enough information to evaluate the HIT before accepting it.
  4743  	//
  4744  	// Description is a required field
  4745  	Description *string `type:"string" required:"true"`
  4746  
  4747  	// The HITLayoutId allows you to use a pre-existing HIT design with placeholder
  4748  	// values and create an additional HIT by providing those values as HITLayoutParameters.
  4749  	//
  4750  	// Constraints: Either a Question parameter or a HITLayoutId parameter must
  4751  	// be provided.
  4752  	HITLayoutId *string `min:"1" type:"string"`
  4753  
  4754  	// If the HITLayoutId is provided, any placeholder values must be filled in
  4755  	// with values using the HITLayoutParameter structure. For more information,
  4756  	// see HITLayout.
  4757  	HITLayoutParameters []*HITLayoutParameter `type:"list"`
  4758  
  4759  	// The HIT-level Review Policy applies to the HIT. You can specify for Mechanical
  4760  	// Turk to take various actions based on the policy.
  4761  	HITReviewPolicy *ReviewPolicy `type:"structure"`
  4762  
  4763  	// One or more words or phrases that describe the HIT, separated by commas.
  4764  	// These words are used in searches to find HITs.
  4765  	Keywords *string `type:"string"`
  4766  
  4767  	// An amount of time, in seconds, after which the HIT is no longer available
  4768  	// for users to accept. After the lifetime of the HIT elapses, the HIT no longer
  4769  	// appears in HIT searches, even if not all of the assignments for the HIT have
  4770  	// been accepted.
  4771  	//
  4772  	// LifetimeInSeconds is a required field
  4773  	LifetimeInSeconds *int64 `type:"long" required:"true"`
  4774  
  4775  	// The number of times the HIT can be accepted and completed before the HIT
  4776  	// becomes unavailable.
  4777  	MaxAssignments *int64 `type:"integer"`
  4778  
  4779  	// Conditions that a Worker's Qualifications must meet in order to accept the
  4780  	// HIT. A HIT can have between zero and ten Qualification requirements. All
  4781  	// requirements must be met in order for a Worker to accept the HIT. Additionally,
  4782  	// other actions can be restricted using the ActionsGuarded field on each QualificationRequirement
  4783  	// structure.
  4784  	QualificationRequirements []*QualificationRequirement `type:"list"`
  4785  
  4786  	// The data the person completing the HIT uses to produce the results.
  4787  	//
  4788  	// Constraints: Must be a QuestionForm data structure, an ExternalQuestion data
  4789  	// structure, or an HTMLQuestion data structure. The XML question data must
  4790  	// not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.
  4791  	//
  4792  	// Either a Question parameter or a HITLayoutId parameter must be provided.
  4793  	Question *string `type:"string"`
  4794  
  4795  	// An arbitrary data field. The RequesterAnnotation parameter lets your application
  4796  	// attach arbitrary data to the HIT for tracking purposes. For example, this
  4797  	// parameter could be an identifier internal to the Requester's application
  4798  	// that corresponds with the HIT.
  4799  	//
  4800  	// The RequesterAnnotation parameter for a HIT is only visible to the Requester
  4801  	// who created the HIT. It is not shown to the Worker, or any other Requester.
  4802  	//
  4803  	// The RequesterAnnotation parameter may be different for each HIT you submit.
  4804  	// It does not affect how your HITs are grouped.
  4805  	RequesterAnnotation *string `type:"string"`
  4806  
  4807  	// The amount of money the Requester will pay a Worker for successfully completing
  4808  	// the HIT.
  4809  	//
  4810  	// Reward is a required field
  4811  	Reward *string `type:"string" required:"true"`
  4812  
  4813  	// The title of the HIT. A title should be short and descriptive about the kind
  4814  	// of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT
  4815  	// title appears in search results, and everywhere the HIT is mentioned.
  4816  	//
  4817  	// Title is a required field
  4818  	Title *string `type:"string" required:"true"`
  4819  
  4820  	// A unique identifier for this request which allows you to retry the call on
  4821  	// error without creating duplicate HITs. This is useful in cases such as network
  4822  	// timeouts where it is unclear whether or not the call succeeded on the server.
  4823  	// If the HIT already exists in the system from a previous call using the same
  4824  	// UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists
  4825  	// error with a message containing the HITId.
  4826  	//
  4827  	// Note: It is your responsibility to ensure uniqueness of the token. The unique
  4828  	// token expires after 24 hours. Subsequent calls using the same UniqueRequestToken
  4829  	// made after the 24 hour limit could create duplicate HITs.
  4830  	UniqueRequestToken *string `min:"1" type:"string"`
  4831  }
  4832  
  4833  // String returns the string representation.
  4834  //
  4835  // API parameter values that are decorated as "sensitive" in the API will not
  4836  // be included in the string output. The member name will be present, but the
  4837  // value will be replaced with "sensitive".
  4838  func (s CreateHITInput) String() string {
  4839  	return awsutil.Prettify(s)
  4840  }
  4841  
  4842  // GoString returns the string representation.
  4843  //
  4844  // API parameter values that are decorated as "sensitive" in the API will not
  4845  // be included in the string output. The member name will be present, but the
  4846  // value will be replaced with "sensitive".
  4847  func (s CreateHITInput) GoString() string {
  4848  	return s.String()
  4849  }
  4850  
  4851  // Validate inspects the fields of the type to determine if they are valid.
  4852  func (s *CreateHITInput) Validate() error {
  4853  	invalidParams := request.ErrInvalidParams{Context: "CreateHITInput"}
  4854  	if s.AssignmentDurationInSeconds == nil {
  4855  		invalidParams.Add(request.NewErrParamRequired("AssignmentDurationInSeconds"))
  4856  	}
  4857  	if s.Description == nil {
  4858  		invalidParams.Add(request.NewErrParamRequired("Description"))
  4859  	}
  4860  	if s.HITLayoutId != nil && len(*s.HITLayoutId) < 1 {
  4861  		invalidParams.Add(request.NewErrParamMinLen("HITLayoutId", 1))
  4862  	}
  4863  	if s.LifetimeInSeconds == nil {
  4864  		invalidParams.Add(request.NewErrParamRequired("LifetimeInSeconds"))
  4865  	}
  4866  	if s.Reward == nil {
  4867  		invalidParams.Add(request.NewErrParamRequired("Reward"))
  4868  	}
  4869  	if s.Title == nil {
  4870  		invalidParams.Add(request.NewErrParamRequired("Title"))
  4871  	}
  4872  	if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 {
  4873  		invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1))
  4874  	}
  4875  	if s.AssignmentReviewPolicy != nil {
  4876  		if err := s.AssignmentReviewPolicy.Validate(); err != nil {
  4877  			invalidParams.AddNested("AssignmentReviewPolicy", err.(request.ErrInvalidParams))
  4878  		}
  4879  	}
  4880  	if s.HITLayoutParameters != nil {
  4881  		for i, v := range s.HITLayoutParameters {
  4882  			if v == nil {
  4883  				continue
  4884  			}
  4885  			if err := v.Validate(); err != nil {
  4886  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HITLayoutParameters", i), err.(request.ErrInvalidParams))
  4887  			}
  4888  		}
  4889  	}
  4890  	if s.HITReviewPolicy != nil {
  4891  		if err := s.HITReviewPolicy.Validate(); err != nil {
  4892  			invalidParams.AddNested("HITReviewPolicy", err.(request.ErrInvalidParams))
  4893  		}
  4894  	}
  4895  	if s.QualificationRequirements != nil {
  4896  		for i, v := range s.QualificationRequirements {
  4897  			if v == nil {
  4898  				continue
  4899  			}
  4900  			if err := v.Validate(); err != nil {
  4901  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QualificationRequirements", i), err.(request.ErrInvalidParams))
  4902  			}
  4903  		}
  4904  	}
  4905  
  4906  	if invalidParams.Len() > 0 {
  4907  		return invalidParams
  4908  	}
  4909  	return nil
  4910  }
  4911  
  4912  // SetAssignmentDurationInSeconds sets the AssignmentDurationInSeconds field's value.
  4913  func (s *CreateHITInput) SetAssignmentDurationInSeconds(v int64) *CreateHITInput {
  4914  	s.AssignmentDurationInSeconds = &v
  4915  	return s
  4916  }
  4917  
  4918  // SetAssignmentReviewPolicy sets the AssignmentReviewPolicy field's value.
  4919  func (s *CreateHITInput) SetAssignmentReviewPolicy(v *ReviewPolicy) *CreateHITInput {
  4920  	s.AssignmentReviewPolicy = v
  4921  	return s
  4922  }
  4923  
  4924  // SetAutoApprovalDelayInSeconds sets the AutoApprovalDelayInSeconds field's value.
  4925  func (s *CreateHITInput) SetAutoApprovalDelayInSeconds(v int64) *CreateHITInput {
  4926  	s.AutoApprovalDelayInSeconds = &v
  4927  	return s
  4928  }
  4929  
  4930  // SetDescription sets the Description field's value.
  4931  func (s *CreateHITInput) SetDescription(v string) *CreateHITInput {
  4932  	s.Description = &v
  4933  	return s
  4934  }
  4935  
  4936  // SetHITLayoutId sets the HITLayoutId field's value.
  4937  func (s *CreateHITInput) SetHITLayoutId(v string) *CreateHITInput {
  4938  	s.HITLayoutId = &v
  4939  	return s
  4940  }
  4941  
  4942  // SetHITLayoutParameters sets the HITLayoutParameters field's value.
  4943  func (s *CreateHITInput) SetHITLayoutParameters(v []*HITLayoutParameter) *CreateHITInput {
  4944  	s.HITLayoutParameters = v
  4945  	return s
  4946  }
  4947  
  4948  // SetHITReviewPolicy sets the HITReviewPolicy field's value.
  4949  func (s *CreateHITInput) SetHITReviewPolicy(v *ReviewPolicy) *CreateHITInput {
  4950  	s.HITReviewPolicy = v
  4951  	return s
  4952  }
  4953  
  4954  // SetKeywords sets the Keywords field's value.
  4955  func (s *CreateHITInput) SetKeywords(v string) *CreateHITInput {
  4956  	s.Keywords = &v
  4957  	return s
  4958  }
  4959  
  4960  // SetLifetimeInSeconds sets the LifetimeInSeconds field's value.
  4961  func (s *CreateHITInput) SetLifetimeInSeconds(v int64) *CreateHITInput {
  4962  	s.LifetimeInSeconds = &v
  4963  	return s
  4964  }
  4965  
  4966  // SetMaxAssignments sets the MaxAssignments field's value.
  4967  func (s *CreateHITInput) SetMaxAssignments(v int64) *CreateHITInput {
  4968  	s.MaxAssignments = &v
  4969  	return s
  4970  }
  4971  
  4972  // SetQualificationRequirements sets the QualificationRequirements field's value.
  4973  func (s *CreateHITInput) SetQualificationRequirements(v []*QualificationRequirement) *CreateHITInput {
  4974  	s.QualificationRequirements = v
  4975  	return s
  4976  }
  4977  
  4978  // SetQuestion sets the Question field's value.
  4979  func (s *CreateHITInput) SetQuestion(v string) *CreateHITInput {
  4980  	s.Question = &v
  4981  	return s
  4982  }
  4983  
  4984  // SetRequesterAnnotation sets the RequesterAnnotation field's value.
  4985  func (s *CreateHITInput) SetRequesterAnnotation(v string) *CreateHITInput {
  4986  	s.RequesterAnnotation = &v
  4987  	return s
  4988  }
  4989  
  4990  // SetReward sets the Reward field's value.
  4991  func (s *CreateHITInput) SetReward(v string) *CreateHITInput {
  4992  	s.Reward = &v
  4993  	return s
  4994  }
  4995  
  4996  // SetTitle sets the Title field's value.
  4997  func (s *CreateHITInput) SetTitle(v string) *CreateHITInput {
  4998  	s.Title = &v
  4999  	return s
  5000  }
  5001  
  5002  // SetUniqueRequestToken sets the UniqueRequestToken field's value.
  5003  func (s *CreateHITInput) SetUniqueRequestToken(v string) *CreateHITInput {
  5004  	s.UniqueRequestToken = &v
  5005  	return s
  5006  }
  5007  
  5008  type CreateHITOutput struct {
  5009  	_ struct{} `type:"structure"`
  5010  
  5011  	// Contains the newly created HIT data. For a description of the HIT data structure
  5012  	// as it appears in responses, see the HIT Data Structure documentation.
  5013  	HIT *HIT `type:"structure"`
  5014  }
  5015  
  5016  // String returns the string representation.
  5017  //
  5018  // API parameter values that are decorated as "sensitive" in the API will not
  5019  // be included in the string output. The member name will be present, but the
  5020  // value will be replaced with "sensitive".
  5021  func (s CreateHITOutput) String() string {
  5022  	return awsutil.Prettify(s)
  5023  }
  5024  
  5025  // GoString returns the string representation.
  5026  //
  5027  // API parameter values that are decorated as "sensitive" in the API will not
  5028  // be included in the string output. The member name will be present, but the
  5029  // value will be replaced with "sensitive".
  5030  func (s CreateHITOutput) GoString() string {
  5031  	return s.String()
  5032  }
  5033  
  5034  // SetHIT sets the HIT field's value.
  5035  func (s *CreateHITOutput) SetHIT(v *HIT) *CreateHITOutput {
  5036  	s.HIT = v
  5037  	return s
  5038  }
  5039  
  5040  type CreateHITTypeInput struct {
  5041  	_ struct{} `type:"structure"`
  5042  
  5043  	// The amount of time, in seconds, that a Worker has to complete the HIT after
  5044  	// accepting it. If a Worker does not complete the assignment within the specified
  5045  	// duration, the assignment is considered abandoned. If the HIT is still active
  5046  	// (that is, its lifetime has not elapsed), the assignment becomes available
  5047  	// for other users to find and accept.
  5048  	//
  5049  	// AssignmentDurationInSeconds is a required field
  5050  	AssignmentDurationInSeconds *int64 `type:"long" required:"true"`
  5051  
  5052  	// The number of seconds after an assignment for the HIT has been submitted,
  5053  	// after which the assignment is considered Approved automatically unless the
  5054  	// Requester explicitly rejects it.
  5055  	AutoApprovalDelayInSeconds *int64 `type:"long"`
  5056  
  5057  	// A general description of the HIT. A description includes detailed information
  5058  	// about the kind of task the HIT contains. On the Amazon Mechanical Turk web
  5059  	// site, the HIT description appears in the expanded view of search results,
  5060  	// and in the HIT and assignment screens. A good description gives the user
  5061  	// enough information to evaluate the HIT before accepting it.
  5062  	//
  5063  	// Description is a required field
  5064  	Description *string `type:"string" required:"true"`
  5065  
  5066  	// One or more words or phrases that describe the HIT, separated by commas.
  5067  	// These words are used in searches to find HITs.
  5068  	Keywords *string `type:"string"`
  5069  
  5070  	// Conditions that a Worker's Qualifications must meet in order to accept the
  5071  	// HIT. A HIT can have between zero and ten Qualification requirements. All
  5072  	// requirements must be met in order for a Worker to accept the HIT. Additionally,
  5073  	// other actions can be restricted using the ActionsGuarded field on each QualificationRequirement
  5074  	// structure.
  5075  	QualificationRequirements []*QualificationRequirement `type:"list"`
  5076  
  5077  	// The amount of money the Requester will pay a Worker for successfully completing
  5078  	// the HIT.
  5079  	//
  5080  	// Reward is a required field
  5081  	Reward *string `type:"string" required:"true"`
  5082  
  5083  	// The title of the HIT. A title should be short and descriptive about the kind
  5084  	// of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT
  5085  	// title appears in search results, and everywhere the HIT is mentioned.
  5086  	//
  5087  	// Title is a required field
  5088  	Title *string `type:"string" required:"true"`
  5089  }
  5090  
  5091  // String returns the string representation.
  5092  //
  5093  // API parameter values that are decorated as "sensitive" in the API will not
  5094  // be included in the string output. The member name will be present, but the
  5095  // value will be replaced with "sensitive".
  5096  func (s CreateHITTypeInput) String() string {
  5097  	return awsutil.Prettify(s)
  5098  }
  5099  
  5100  // GoString returns the string representation.
  5101  //
  5102  // API parameter values that are decorated as "sensitive" in the API will not
  5103  // be included in the string output. The member name will be present, but the
  5104  // value will be replaced with "sensitive".
  5105  func (s CreateHITTypeInput) GoString() string {
  5106  	return s.String()
  5107  }
  5108  
  5109  // Validate inspects the fields of the type to determine if they are valid.
  5110  func (s *CreateHITTypeInput) Validate() error {
  5111  	invalidParams := request.ErrInvalidParams{Context: "CreateHITTypeInput"}
  5112  	if s.AssignmentDurationInSeconds == nil {
  5113  		invalidParams.Add(request.NewErrParamRequired("AssignmentDurationInSeconds"))
  5114  	}
  5115  	if s.Description == nil {
  5116  		invalidParams.Add(request.NewErrParamRequired("Description"))
  5117  	}
  5118  	if s.Reward == nil {
  5119  		invalidParams.Add(request.NewErrParamRequired("Reward"))
  5120  	}
  5121  	if s.Title == nil {
  5122  		invalidParams.Add(request.NewErrParamRequired("Title"))
  5123  	}
  5124  	if s.QualificationRequirements != nil {
  5125  		for i, v := range s.QualificationRequirements {
  5126  			if v == nil {
  5127  				continue
  5128  			}
  5129  			if err := v.Validate(); err != nil {
  5130  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QualificationRequirements", i), err.(request.ErrInvalidParams))
  5131  			}
  5132  		}
  5133  	}
  5134  
  5135  	if invalidParams.Len() > 0 {
  5136  		return invalidParams
  5137  	}
  5138  	return nil
  5139  }
  5140  
  5141  // SetAssignmentDurationInSeconds sets the AssignmentDurationInSeconds field's value.
  5142  func (s *CreateHITTypeInput) SetAssignmentDurationInSeconds(v int64) *CreateHITTypeInput {
  5143  	s.AssignmentDurationInSeconds = &v
  5144  	return s
  5145  }
  5146  
  5147  // SetAutoApprovalDelayInSeconds sets the AutoApprovalDelayInSeconds field's value.
  5148  func (s *CreateHITTypeInput) SetAutoApprovalDelayInSeconds(v int64) *CreateHITTypeInput {
  5149  	s.AutoApprovalDelayInSeconds = &v
  5150  	return s
  5151  }
  5152  
  5153  // SetDescription sets the Description field's value.
  5154  func (s *CreateHITTypeInput) SetDescription(v string) *CreateHITTypeInput {
  5155  	s.Description = &v
  5156  	return s
  5157  }
  5158  
  5159  // SetKeywords sets the Keywords field's value.
  5160  func (s *CreateHITTypeInput) SetKeywords(v string) *CreateHITTypeInput {
  5161  	s.Keywords = &v
  5162  	return s
  5163  }
  5164  
  5165  // SetQualificationRequirements sets the QualificationRequirements field's value.
  5166  func (s *CreateHITTypeInput) SetQualificationRequirements(v []*QualificationRequirement) *CreateHITTypeInput {
  5167  	s.QualificationRequirements = v
  5168  	return s
  5169  }
  5170  
  5171  // SetReward sets the Reward field's value.
  5172  func (s *CreateHITTypeInput) SetReward(v string) *CreateHITTypeInput {
  5173  	s.Reward = &v
  5174  	return s
  5175  }
  5176  
  5177  // SetTitle sets the Title field's value.
  5178  func (s *CreateHITTypeInput) SetTitle(v string) *CreateHITTypeInput {
  5179  	s.Title = &v
  5180  	return s
  5181  }
  5182  
  5183  type CreateHITTypeOutput struct {
  5184  	_ struct{} `type:"structure"`
  5185  
  5186  	// The ID of the newly registered HIT type.
  5187  	HITTypeId *string `min:"1" type:"string"`
  5188  }
  5189  
  5190  // String returns the string representation.
  5191  //
  5192  // API parameter values that are decorated as "sensitive" in the API will not
  5193  // be included in the string output. The member name will be present, but the
  5194  // value will be replaced with "sensitive".
  5195  func (s CreateHITTypeOutput) String() string {
  5196  	return awsutil.Prettify(s)
  5197  }
  5198  
  5199  // GoString returns the string representation.
  5200  //
  5201  // API parameter values that are decorated as "sensitive" in the API will not
  5202  // be included in the string output. The member name will be present, but the
  5203  // value will be replaced with "sensitive".
  5204  func (s CreateHITTypeOutput) GoString() string {
  5205  	return s.String()
  5206  }
  5207  
  5208  // SetHITTypeId sets the HITTypeId field's value.
  5209  func (s *CreateHITTypeOutput) SetHITTypeId(v string) *CreateHITTypeOutput {
  5210  	s.HITTypeId = &v
  5211  	return s
  5212  }
  5213  
  5214  type CreateHITWithHITTypeInput struct {
  5215  	_ struct{} `type:"structure"`
  5216  
  5217  	// The Assignment-level Review Policy applies to the assignments under the HIT.
  5218  	// You can specify for Mechanical Turk to take various actions based on the
  5219  	// policy.
  5220  	AssignmentReviewPolicy *ReviewPolicy `type:"structure"`
  5221  
  5222  	// The HITLayoutId allows you to use a pre-existing HIT design with placeholder
  5223  	// values and create an additional HIT by providing those values as HITLayoutParameters.
  5224  	//
  5225  	// Constraints: Either a Question parameter or a HITLayoutId parameter must
  5226  	// be provided.
  5227  	HITLayoutId *string `min:"1" type:"string"`
  5228  
  5229  	// If the HITLayoutId is provided, any placeholder values must be filled in
  5230  	// with values using the HITLayoutParameter structure. For more information,
  5231  	// see HITLayout.
  5232  	HITLayoutParameters []*HITLayoutParameter `type:"list"`
  5233  
  5234  	// The HIT-level Review Policy applies to the HIT. You can specify for Mechanical
  5235  	// Turk to take various actions based on the policy.
  5236  	HITReviewPolicy *ReviewPolicy `type:"structure"`
  5237  
  5238  	// The HIT type ID you want to create this HIT with.
  5239  	//
  5240  	// HITTypeId is a required field
  5241  	HITTypeId *string `min:"1" type:"string" required:"true"`
  5242  
  5243  	// An amount of time, in seconds, after which the HIT is no longer available
  5244  	// for users to accept. After the lifetime of the HIT elapses, the HIT no longer
  5245  	// appears in HIT searches, even if not all of the assignments for the HIT have
  5246  	// been accepted.
  5247  	//
  5248  	// LifetimeInSeconds is a required field
  5249  	LifetimeInSeconds *int64 `type:"long" required:"true"`
  5250  
  5251  	// The number of times the HIT can be accepted and completed before the HIT
  5252  	// becomes unavailable.
  5253  	MaxAssignments *int64 `type:"integer"`
  5254  
  5255  	// The data the person completing the HIT uses to produce the results.
  5256  	//
  5257  	// Constraints: Must be a QuestionForm data structure, an ExternalQuestion data
  5258  	// structure, or an HTMLQuestion data structure. The XML question data must
  5259  	// not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.
  5260  	//
  5261  	// Either a Question parameter or a HITLayoutId parameter must be provided.
  5262  	Question *string `type:"string"`
  5263  
  5264  	// An arbitrary data field. The RequesterAnnotation parameter lets your application
  5265  	// attach arbitrary data to the HIT for tracking purposes. For example, this
  5266  	// parameter could be an identifier internal to the Requester's application
  5267  	// that corresponds with the HIT.
  5268  	//
  5269  	// The RequesterAnnotation parameter for a HIT is only visible to the Requester
  5270  	// who created the HIT. It is not shown to the Worker, or any other Requester.
  5271  	//
  5272  	// The RequesterAnnotation parameter may be different for each HIT you submit.
  5273  	// It does not affect how your HITs are grouped.
  5274  	RequesterAnnotation *string `type:"string"`
  5275  
  5276  	// A unique identifier for this request which allows you to retry the call on
  5277  	// error without creating duplicate HITs. This is useful in cases such as network
  5278  	// timeouts where it is unclear whether or not the call succeeded on the server.
  5279  	// If the HIT already exists in the system from a previous call using the same
  5280  	// UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists
  5281  	// error with a message containing the HITId.
  5282  	//
  5283  	// Note: It is your responsibility to ensure uniqueness of the token. The unique
  5284  	// token expires after 24 hours. Subsequent calls using the same UniqueRequestToken
  5285  	// made after the 24 hour limit could create duplicate HITs.
  5286  	UniqueRequestToken *string `min:"1" type:"string"`
  5287  }
  5288  
  5289  // String returns the string representation.
  5290  //
  5291  // API parameter values that are decorated as "sensitive" in the API will not
  5292  // be included in the string output. The member name will be present, but the
  5293  // value will be replaced with "sensitive".
  5294  func (s CreateHITWithHITTypeInput) String() string {
  5295  	return awsutil.Prettify(s)
  5296  }
  5297  
  5298  // GoString returns the string representation.
  5299  //
  5300  // API parameter values that are decorated as "sensitive" in the API will not
  5301  // be included in the string output. The member name will be present, but the
  5302  // value will be replaced with "sensitive".
  5303  func (s CreateHITWithHITTypeInput) GoString() string {
  5304  	return s.String()
  5305  }
  5306  
  5307  // Validate inspects the fields of the type to determine if they are valid.
  5308  func (s *CreateHITWithHITTypeInput) Validate() error {
  5309  	invalidParams := request.ErrInvalidParams{Context: "CreateHITWithHITTypeInput"}
  5310  	if s.HITLayoutId != nil && len(*s.HITLayoutId) < 1 {
  5311  		invalidParams.Add(request.NewErrParamMinLen("HITLayoutId", 1))
  5312  	}
  5313  	if s.HITTypeId == nil {
  5314  		invalidParams.Add(request.NewErrParamRequired("HITTypeId"))
  5315  	}
  5316  	if s.HITTypeId != nil && len(*s.HITTypeId) < 1 {
  5317  		invalidParams.Add(request.NewErrParamMinLen("HITTypeId", 1))
  5318  	}
  5319  	if s.LifetimeInSeconds == nil {
  5320  		invalidParams.Add(request.NewErrParamRequired("LifetimeInSeconds"))
  5321  	}
  5322  	if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 {
  5323  		invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1))
  5324  	}
  5325  	if s.AssignmentReviewPolicy != nil {
  5326  		if err := s.AssignmentReviewPolicy.Validate(); err != nil {
  5327  			invalidParams.AddNested("AssignmentReviewPolicy", err.(request.ErrInvalidParams))
  5328  		}
  5329  	}
  5330  	if s.HITLayoutParameters != nil {
  5331  		for i, v := range s.HITLayoutParameters {
  5332  			if v == nil {
  5333  				continue
  5334  			}
  5335  			if err := v.Validate(); err != nil {
  5336  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "HITLayoutParameters", i), err.(request.ErrInvalidParams))
  5337  			}
  5338  		}
  5339  	}
  5340  	if s.HITReviewPolicy != nil {
  5341  		if err := s.HITReviewPolicy.Validate(); err != nil {
  5342  			invalidParams.AddNested("HITReviewPolicy", err.(request.ErrInvalidParams))
  5343  		}
  5344  	}
  5345  
  5346  	if invalidParams.Len() > 0 {
  5347  		return invalidParams
  5348  	}
  5349  	return nil
  5350  }
  5351  
  5352  // SetAssignmentReviewPolicy sets the AssignmentReviewPolicy field's value.
  5353  func (s *CreateHITWithHITTypeInput) SetAssignmentReviewPolicy(v *ReviewPolicy) *CreateHITWithHITTypeInput {
  5354  	s.AssignmentReviewPolicy = v
  5355  	return s
  5356  }
  5357  
  5358  // SetHITLayoutId sets the HITLayoutId field's value.
  5359  func (s *CreateHITWithHITTypeInput) SetHITLayoutId(v string) *CreateHITWithHITTypeInput {
  5360  	s.HITLayoutId = &v
  5361  	return s
  5362  }
  5363  
  5364  // SetHITLayoutParameters sets the HITLayoutParameters field's value.
  5365  func (s *CreateHITWithHITTypeInput) SetHITLayoutParameters(v []*HITLayoutParameter) *CreateHITWithHITTypeInput {
  5366  	s.HITLayoutParameters = v
  5367  	return s
  5368  }
  5369  
  5370  // SetHITReviewPolicy sets the HITReviewPolicy field's value.
  5371  func (s *CreateHITWithHITTypeInput) SetHITReviewPolicy(v *ReviewPolicy) *CreateHITWithHITTypeInput {
  5372  	s.HITReviewPolicy = v
  5373  	return s
  5374  }
  5375  
  5376  // SetHITTypeId sets the HITTypeId field's value.
  5377  func (s *CreateHITWithHITTypeInput) SetHITTypeId(v string) *CreateHITWithHITTypeInput {
  5378  	s.HITTypeId = &v
  5379  	return s
  5380  }
  5381  
  5382  // SetLifetimeInSeconds sets the LifetimeInSeconds field's value.
  5383  func (s *CreateHITWithHITTypeInput) SetLifetimeInSeconds(v int64) *CreateHITWithHITTypeInput {
  5384  	s.LifetimeInSeconds = &v
  5385  	return s
  5386  }
  5387  
  5388  // SetMaxAssignments sets the MaxAssignments field's value.
  5389  func (s *CreateHITWithHITTypeInput) SetMaxAssignments(v int64) *CreateHITWithHITTypeInput {
  5390  	s.MaxAssignments = &v
  5391  	return s
  5392  }
  5393  
  5394  // SetQuestion sets the Question field's value.
  5395  func (s *CreateHITWithHITTypeInput) SetQuestion(v string) *CreateHITWithHITTypeInput {
  5396  	s.Question = &v
  5397  	return s
  5398  }
  5399  
  5400  // SetRequesterAnnotation sets the RequesterAnnotation field's value.
  5401  func (s *CreateHITWithHITTypeInput) SetRequesterAnnotation(v string) *CreateHITWithHITTypeInput {
  5402  	s.RequesterAnnotation = &v
  5403  	return s
  5404  }
  5405  
  5406  // SetUniqueRequestToken sets the UniqueRequestToken field's value.
  5407  func (s *CreateHITWithHITTypeInput) SetUniqueRequestToken(v string) *CreateHITWithHITTypeInput {
  5408  	s.UniqueRequestToken = &v
  5409  	return s
  5410  }
  5411  
  5412  type CreateHITWithHITTypeOutput struct {
  5413  	_ struct{} `type:"structure"`
  5414  
  5415  	// Contains the newly created HIT data. For a description of the HIT data structure
  5416  	// as it appears in responses, see the HIT Data Structure documentation.
  5417  	HIT *HIT `type:"structure"`
  5418  }
  5419  
  5420  // String returns the string representation.
  5421  //
  5422  // API parameter values that are decorated as "sensitive" in the API will not
  5423  // be included in the string output. The member name will be present, but the
  5424  // value will be replaced with "sensitive".
  5425  func (s CreateHITWithHITTypeOutput) String() string {
  5426  	return awsutil.Prettify(s)
  5427  }
  5428  
  5429  // GoString returns the string representation.
  5430  //
  5431  // API parameter values that are decorated as "sensitive" in the API will not
  5432  // be included in the string output. The member name will be present, but the
  5433  // value will be replaced with "sensitive".
  5434  func (s CreateHITWithHITTypeOutput) GoString() string {
  5435  	return s.String()
  5436  }
  5437  
  5438  // SetHIT sets the HIT field's value.
  5439  func (s *CreateHITWithHITTypeOutput) SetHIT(v *HIT) *CreateHITWithHITTypeOutput {
  5440  	s.HIT = v
  5441  	return s
  5442  }
  5443  
  5444  type CreateQualificationTypeInput struct {
  5445  	_ struct{} `type:"structure"`
  5446  
  5447  	// The answers to the Qualification test specified in the Test parameter, in
  5448  	// the form of an AnswerKey data structure.
  5449  	//
  5450  	// Constraints: Must not be longer than 65535 bytes.
  5451  	//
  5452  	// Constraints: None. If not specified, you must process Qualification requests
  5453  	// manually.
  5454  	AnswerKey *string `type:"string"`
  5455  
  5456  	// Specifies whether requests for the Qualification type are granted immediately,
  5457  	// without prompting the Worker with a Qualification test.
  5458  	//
  5459  	// Constraints: If the Test parameter is specified, this parameter cannot be
  5460  	// true.
  5461  	AutoGranted *bool `type:"boolean"`
  5462  
  5463  	// The Qualification value to use for automatically granted Qualifications.
  5464  	// This parameter is used only if the AutoGranted parameter is true.
  5465  	AutoGrantedValue *int64 `type:"integer"`
  5466  
  5467  	// A long description for the Qualification type. On the Amazon Mechanical Turk
  5468  	// website, the long description is displayed when a Worker examines a Qualification
  5469  	// type.
  5470  	//
  5471  	// Description is a required field
  5472  	Description *string `type:"string" required:"true"`
  5473  
  5474  	// One or more words or phrases that describe the Qualification type, separated
  5475  	// by commas. The keywords of a type make the type easier to find during a search.
  5476  	Keywords *string `type:"string"`
  5477  
  5478  	// The name you give to the Qualification type. The type name is used to represent
  5479  	// the Qualification to Workers, and to find the type using a Qualification
  5480  	// type search. It must be unique across all of your Qualification types.
  5481  	//
  5482  	// Name is a required field
  5483  	Name *string `type:"string" required:"true"`
  5484  
  5485  	// The initial status of the Qualification type.
  5486  	//
  5487  	// Constraints: Valid values are: Active | Inactive
  5488  	//
  5489  	// QualificationTypeStatus is a required field
  5490  	QualificationTypeStatus *string `type:"string" required:"true" enum:"QualificationTypeStatus"`
  5491  
  5492  	// The number of seconds that a Worker must wait after requesting a Qualification
  5493  	// of the Qualification type before the worker can retry the Qualification request.
  5494  	//
  5495  	// Constraints: None. If not specified, retries are disabled and Workers can
  5496  	// request a Qualification of this type only once, even if the Worker has not
  5497  	// been granted the Qualification. It is not possible to disable retries for
  5498  	// a Qualification type after it has been created with retries enabled. If you
  5499  	// want to disable retries, you must delete existing retry-enabled Qualification
  5500  	// type and then create a new Qualification type with retries disabled.
  5501  	RetryDelayInSeconds *int64 `type:"long"`
  5502  
  5503  	// The questions for the Qualification test a Worker must answer correctly to
  5504  	// obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds
  5505  	// must also be specified.
  5506  	//
  5507  	// Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm
  5508  	// data structure. This parameter cannot be specified if AutoGranted is true.
  5509  	//
  5510  	// Constraints: None. If not specified, the Worker may request the Qualification
  5511  	// without answering any questions.
  5512  	Test *string `type:"string"`
  5513  
  5514  	// The number of seconds the Worker has to complete the Qualification test,
  5515  	// starting from the time the Worker requests the Qualification.
  5516  	TestDurationInSeconds *int64 `type:"long"`
  5517  }
  5518  
  5519  // String returns the string representation.
  5520  //
  5521  // API parameter values that are decorated as "sensitive" in the API will not
  5522  // be included in the string output. The member name will be present, but the
  5523  // value will be replaced with "sensitive".
  5524  func (s CreateQualificationTypeInput) String() string {
  5525  	return awsutil.Prettify(s)
  5526  }
  5527  
  5528  // GoString returns the string representation.
  5529  //
  5530  // API parameter values that are decorated as "sensitive" in the API will not
  5531  // be included in the string output. The member name will be present, but the
  5532  // value will be replaced with "sensitive".
  5533  func (s CreateQualificationTypeInput) GoString() string {
  5534  	return s.String()
  5535  }
  5536  
  5537  // Validate inspects the fields of the type to determine if they are valid.
  5538  func (s *CreateQualificationTypeInput) Validate() error {
  5539  	invalidParams := request.ErrInvalidParams{Context: "CreateQualificationTypeInput"}
  5540  	if s.Description == nil {
  5541  		invalidParams.Add(request.NewErrParamRequired("Description"))
  5542  	}
  5543  	if s.Name == nil {
  5544  		invalidParams.Add(request.NewErrParamRequired("Name"))
  5545  	}
  5546  	if s.QualificationTypeStatus == nil {
  5547  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeStatus"))
  5548  	}
  5549  
  5550  	if invalidParams.Len() > 0 {
  5551  		return invalidParams
  5552  	}
  5553  	return nil
  5554  }
  5555  
  5556  // SetAnswerKey sets the AnswerKey field's value.
  5557  func (s *CreateQualificationTypeInput) SetAnswerKey(v string) *CreateQualificationTypeInput {
  5558  	s.AnswerKey = &v
  5559  	return s
  5560  }
  5561  
  5562  // SetAutoGranted sets the AutoGranted field's value.
  5563  func (s *CreateQualificationTypeInput) SetAutoGranted(v bool) *CreateQualificationTypeInput {
  5564  	s.AutoGranted = &v
  5565  	return s
  5566  }
  5567  
  5568  // SetAutoGrantedValue sets the AutoGrantedValue field's value.
  5569  func (s *CreateQualificationTypeInput) SetAutoGrantedValue(v int64) *CreateQualificationTypeInput {
  5570  	s.AutoGrantedValue = &v
  5571  	return s
  5572  }
  5573  
  5574  // SetDescription sets the Description field's value.
  5575  func (s *CreateQualificationTypeInput) SetDescription(v string) *CreateQualificationTypeInput {
  5576  	s.Description = &v
  5577  	return s
  5578  }
  5579  
  5580  // SetKeywords sets the Keywords field's value.
  5581  func (s *CreateQualificationTypeInput) SetKeywords(v string) *CreateQualificationTypeInput {
  5582  	s.Keywords = &v
  5583  	return s
  5584  }
  5585  
  5586  // SetName sets the Name field's value.
  5587  func (s *CreateQualificationTypeInput) SetName(v string) *CreateQualificationTypeInput {
  5588  	s.Name = &v
  5589  	return s
  5590  }
  5591  
  5592  // SetQualificationTypeStatus sets the QualificationTypeStatus field's value.
  5593  func (s *CreateQualificationTypeInput) SetQualificationTypeStatus(v string) *CreateQualificationTypeInput {
  5594  	s.QualificationTypeStatus = &v
  5595  	return s
  5596  }
  5597  
  5598  // SetRetryDelayInSeconds sets the RetryDelayInSeconds field's value.
  5599  func (s *CreateQualificationTypeInput) SetRetryDelayInSeconds(v int64) *CreateQualificationTypeInput {
  5600  	s.RetryDelayInSeconds = &v
  5601  	return s
  5602  }
  5603  
  5604  // SetTest sets the Test field's value.
  5605  func (s *CreateQualificationTypeInput) SetTest(v string) *CreateQualificationTypeInput {
  5606  	s.Test = &v
  5607  	return s
  5608  }
  5609  
  5610  // SetTestDurationInSeconds sets the TestDurationInSeconds field's value.
  5611  func (s *CreateQualificationTypeInput) SetTestDurationInSeconds(v int64) *CreateQualificationTypeInput {
  5612  	s.TestDurationInSeconds = &v
  5613  	return s
  5614  }
  5615  
  5616  type CreateQualificationTypeOutput struct {
  5617  	_ struct{} `type:"structure"`
  5618  
  5619  	// The created Qualification type, returned as a QualificationType data structure.
  5620  	QualificationType *QualificationType `type:"structure"`
  5621  }
  5622  
  5623  // String 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 CreateQualificationTypeOutput) String() string {
  5629  	return awsutil.Prettify(s)
  5630  }
  5631  
  5632  // GoString returns the string representation.
  5633  //
  5634  // API parameter values that are decorated as "sensitive" in the API will not
  5635  // be included in the string output. The member name will be present, but the
  5636  // value will be replaced with "sensitive".
  5637  func (s CreateQualificationTypeOutput) GoString() string {
  5638  	return s.String()
  5639  }
  5640  
  5641  // SetQualificationType sets the QualificationType field's value.
  5642  func (s *CreateQualificationTypeOutput) SetQualificationType(v *QualificationType) *CreateQualificationTypeOutput {
  5643  	s.QualificationType = v
  5644  	return s
  5645  }
  5646  
  5647  type CreateWorkerBlockInput struct {
  5648  	_ struct{} `type:"structure"`
  5649  
  5650  	// A message explaining the reason for blocking the Worker. This parameter enables
  5651  	// you to keep track of your Workers. The Worker does not see this message.
  5652  	//
  5653  	// Reason is a required field
  5654  	Reason *string `type:"string" required:"true"`
  5655  
  5656  	// The ID of the Worker to block.
  5657  	//
  5658  	// WorkerId is a required field
  5659  	WorkerId *string `min:"1" type:"string" required:"true"`
  5660  }
  5661  
  5662  // String returns the string representation.
  5663  //
  5664  // API parameter values that are decorated as "sensitive" in the API will not
  5665  // be included in the string output. The member name will be present, but the
  5666  // value will be replaced with "sensitive".
  5667  func (s CreateWorkerBlockInput) String() string {
  5668  	return awsutil.Prettify(s)
  5669  }
  5670  
  5671  // GoString returns the string representation.
  5672  //
  5673  // API parameter values that are decorated as "sensitive" in the API will not
  5674  // be included in the string output. The member name will be present, but the
  5675  // value will be replaced with "sensitive".
  5676  func (s CreateWorkerBlockInput) GoString() string {
  5677  	return s.String()
  5678  }
  5679  
  5680  // Validate inspects the fields of the type to determine if they are valid.
  5681  func (s *CreateWorkerBlockInput) Validate() error {
  5682  	invalidParams := request.ErrInvalidParams{Context: "CreateWorkerBlockInput"}
  5683  	if s.Reason == nil {
  5684  		invalidParams.Add(request.NewErrParamRequired("Reason"))
  5685  	}
  5686  	if s.WorkerId == nil {
  5687  		invalidParams.Add(request.NewErrParamRequired("WorkerId"))
  5688  	}
  5689  	if s.WorkerId != nil && len(*s.WorkerId) < 1 {
  5690  		invalidParams.Add(request.NewErrParamMinLen("WorkerId", 1))
  5691  	}
  5692  
  5693  	if invalidParams.Len() > 0 {
  5694  		return invalidParams
  5695  	}
  5696  	return nil
  5697  }
  5698  
  5699  // SetReason sets the Reason field's value.
  5700  func (s *CreateWorkerBlockInput) SetReason(v string) *CreateWorkerBlockInput {
  5701  	s.Reason = &v
  5702  	return s
  5703  }
  5704  
  5705  // SetWorkerId sets the WorkerId field's value.
  5706  func (s *CreateWorkerBlockInput) SetWorkerId(v string) *CreateWorkerBlockInput {
  5707  	s.WorkerId = &v
  5708  	return s
  5709  }
  5710  
  5711  type CreateWorkerBlockOutput struct {
  5712  	_ struct{} `type:"structure"`
  5713  }
  5714  
  5715  // String returns the string representation.
  5716  //
  5717  // API parameter values that are decorated as "sensitive" in the API will not
  5718  // be included in the string output. The member name will be present, but the
  5719  // value will be replaced with "sensitive".
  5720  func (s CreateWorkerBlockOutput) String() string {
  5721  	return awsutil.Prettify(s)
  5722  }
  5723  
  5724  // GoString returns the string representation.
  5725  //
  5726  // API parameter values that are decorated as "sensitive" in the API will not
  5727  // be included in the string output. The member name will be present, but the
  5728  // value will be replaced with "sensitive".
  5729  func (s CreateWorkerBlockOutput) GoString() string {
  5730  	return s.String()
  5731  }
  5732  
  5733  type DeleteHITInput struct {
  5734  	_ struct{} `type:"structure"`
  5735  
  5736  	// The ID of the HIT to be deleted.
  5737  	//
  5738  	// HITId is a required field
  5739  	HITId *string `min:"1" type:"string" required:"true"`
  5740  }
  5741  
  5742  // String returns the string representation.
  5743  //
  5744  // API parameter values that are decorated as "sensitive" in the API will not
  5745  // be included in the string output. The member name will be present, but the
  5746  // value will be replaced with "sensitive".
  5747  func (s DeleteHITInput) String() string {
  5748  	return awsutil.Prettify(s)
  5749  }
  5750  
  5751  // GoString returns the string representation.
  5752  //
  5753  // API parameter values that are decorated as "sensitive" in the API will not
  5754  // be included in the string output. The member name will be present, but the
  5755  // value will be replaced with "sensitive".
  5756  func (s DeleteHITInput) GoString() string {
  5757  	return s.String()
  5758  }
  5759  
  5760  // Validate inspects the fields of the type to determine if they are valid.
  5761  func (s *DeleteHITInput) Validate() error {
  5762  	invalidParams := request.ErrInvalidParams{Context: "DeleteHITInput"}
  5763  	if s.HITId == nil {
  5764  		invalidParams.Add(request.NewErrParamRequired("HITId"))
  5765  	}
  5766  	if s.HITId != nil && len(*s.HITId) < 1 {
  5767  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  5768  	}
  5769  
  5770  	if invalidParams.Len() > 0 {
  5771  		return invalidParams
  5772  	}
  5773  	return nil
  5774  }
  5775  
  5776  // SetHITId sets the HITId field's value.
  5777  func (s *DeleteHITInput) SetHITId(v string) *DeleteHITInput {
  5778  	s.HITId = &v
  5779  	return s
  5780  }
  5781  
  5782  type DeleteHITOutput struct {
  5783  	_ struct{} `type:"structure"`
  5784  }
  5785  
  5786  // String returns the string representation.
  5787  //
  5788  // API parameter values that are decorated as "sensitive" in the API will not
  5789  // be included in the string output. The member name will be present, but the
  5790  // value will be replaced with "sensitive".
  5791  func (s DeleteHITOutput) String() string {
  5792  	return awsutil.Prettify(s)
  5793  }
  5794  
  5795  // GoString returns the string representation.
  5796  //
  5797  // API parameter values that are decorated as "sensitive" in the API will not
  5798  // be included in the string output. The member name will be present, but the
  5799  // value will be replaced with "sensitive".
  5800  func (s DeleteHITOutput) GoString() string {
  5801  	return s.String()
  5802  }
  5803  
  5804  type DeleteQualificationTypeInput struct {
  5805  	_ struct{} `type:"structure"`
  5806  
  5807  	// The ID of the QualificationType to dispose.
  5808  	//
  5809  	// QualificationTypeId is a required field
  5810  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  5811  }
  5812  
  5813  // String returns the string representation.
  5814  //
  5815  // API parameter values that are decorated as "sensitive" in the API will not
  5816  // be included in the string output. The member name will be present, but the
  5817  // value will be replaced with "sensitive".
  5818  func (s DeleteQualificationTypeInput) String() string {
  5819  	return awsutil.Prettify(s)
  5820  }
  5821  
  5822  // GoString returns the string representation.
  5823  //
  5824  // API parameter values that are decorated as "sensitive" in the API will not
  5825  // be included in the string output. The member name will be present, but the
  5826  // value will be replaced with "sensitive".
  5827  func (s DeleteQualificationTypeInput) GoString() string {
  5828  	return s.String()
  5829  }
  5830  
  5831  // Validate inspects the fields of the type to determine if they are valid.
  5832  func (s *DeleteQualificationTypeInput) Validate() error {
  5833  	invalidParams := request.ErrInvalidParams{Context: "DeleteQualificationTypeInput"}
  5834  	if s.QualificationTypeId == nil {
  5835  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  5836  	}
  5837  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  5838  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  5839  	}
  5840  
  5841  	if invalidParams.Len() > 0 {
  5842  		return invalidParams
  5843  	}
  5844  	return nil
  5845  }
  5846  
  5847  // SetQualificationTypeId sets the QualificationTypeId field's value.
  5848  func (s *DeleteQualificationTypeInput) SetQualificationTypeId(v string) *DeleteQualificationTypeInput {
  5849  	s.QualificationTypeId = &v
  5850  	return s
  5851  }
  5852  
  5853  type DeleteQualificationTypeOutput struct {
  5854  	_ struct{} `type:"structure"`
  5855  }
  5856  
  5857  // String returns the string representation.
  5858  //
  5859  // API parameter values that are decorated as "sensitive" in the API will not
  5860  // be included in the string output. The member name will be present, but the
  5861  // value will be replaced with "sensitive".
  5862  func (s DeleteQualificationTypeOutput) String() string {
  5863  	return awsutil.Prettify(s)
  5864  }
  5865  
  5866  // GoString returns the string representation.
  5867  //
  5868  // API parameter values that are decorated as "sensitive" in the API will not
  5869  // be included in the string output. The member name will be present, but the
  5870  // value will be replaced with "sensitive".
  5871  func (s DeleteQualificationTypeOutput) GoString() string {
  5872  	return s.String()
  5873  }
  5874  
  5875  type DeleteWorkerBlockInput struct {
  5876  	_ struct{} `type:"structure"`
  5877  
  5878  	// A message that explains the reason for unblocking the Worker. The Worker
  5879  	// does not see this message.
  5880  	Reason *string `type:"string"`
  5881  
  5882  	// The ID of the Worker to unblock.
  5883  	//
  5884  	// WorkerId is a required field
  5885  	WorkerId *string `min:"1" type:"string" required:"true"`
  5886  }
  5887  
  5888  // String returns the string representation.
  5889  //
  5890  // API parameter values that are decorated as "sensitive" in the API will not
  5891  // be included in the string output. The member name will be present, but the
  5892  // value will be replaced with "sensitive".
  5893  func (s DeleteWorkerBlockInput) String() string {
  5894  	return awsutil.Prettify(s)
  5895  }
  5896  
  5897  // GoString returns the string representation.
  5898  //
  5899  // API parameter values that are decorated as "sensitive" in the API will not
  5900  // be included in the string output. The member name will be present, but the
  5901  // value will be replaced with "sensitive".
  5902  func (s DeleteWorkerBlockInput) GoString() string {
  5903  	return s.String()
  5904  }
  5905  
  5906  // Validate inspects the fields of the type to determine if they are valid.
  5907  func (s *DeleteWorkerBlockInput) Validate() error {
  5908  	invalidParams := request.ErrInvalidParams{Context: "DeleteWorkerBlockInput"}
  5909  	if s.WorkerId == nil {
  5910  		invalidParams.Add(request.NewErrParamRequired("WorkerId"))
  5911  	}
  5912  	if s.WorkerId != nil && len(*s.WorkerId) < 1 {
  5913  		invalidParams.Add(request.NewErrParamMinLen("WorkerId", 1))
  5914  	}
  5915  
  5916  	if invalidParams.Len() > 0 {
  5917  		return invalidParams
  5918  	}
  5919  	return nil
  5920  }
  5921  
  5922  // SetReason sets the Reason field's value.
  5923  func (s *DeleteWorkerBlockInput) SetReason(v string) *DeleteWorkerBlockInput {
  5924  	s.Reason = &v
  5925  	return s
  5926  }
  5927  
  5928  // SetWorkerId sets the WorkerId field's value.
  5929  func (s *DeleteWorkerBlockInput) SetWorkerId(v string) *DeleteWorkerBlockInput {
  5930  	s.WorkerId = &v
  5931  	return s
  5932  }
  5933  
  5934  type DeleteWorkerBlockOutput struct {
  5935  	_ struct{} `type:"structure"`
  5936  }
  5937  
  5938  // String returns the string representation.
  5939  //
  5940  // API parameter values that are decorated as "sensitive" in the API will not
  5941  // be included in the string output. The member name will be present, but the
  5942  // value will be replaced with "sensitive".
  5943  func (s DeleteWorkerBlockOutput) String() string {
  5944  	return awsutil.Prettify(s)
  5945  }
  5946  
  5947  // GoString returns the string representation.
  5948  //
  5949  // API parameter values that are decorated as "sensitive" in the API will not
  5950  // be included in the string output. The member name will be present, but the
  5951  // value will be replaced with "sensitive".
  5952  func (s DeleteWorkerBlockOutput) GoString() string {
  5953  	return s.String()
  5954  }
  5955  
  5956  type DisassociateQualificationFromWorkerInput struct {
  5957  	_ struct{} `type:"structure"`
  5958  
  5959  	// The ID of the Qualification type of the Qualification to be revoked.
  5960  	//
  5961  	// QualificationTypeId is a required field
  5962  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  5963  
  5964  	// A text message that explains why the Qualification was revoked. The user
  5965  	// who had the Qualification sees this message.
  5966  	Reason *string `type:"string"`
  5967  
  5968  	// The ID of the Worker who possesses the Qualification to be revoked.
  5969  	//
  5970  	// WorkerId is a required field
  5971  	WorkerId *string `min:"1" type:"string" required:"true"`
  5972  }
  5973  
  5974  // String returns the string representation.
  5975  //
  5976  // API parameter values that are decorated as "sensitive" in the API will not
  5977  // be included in the string output. The member name will be present, but the
  5978  // value will be replaced with "sensitive".
  5979  func (s DisassociateQualificationFromWorkerInput) String() string {
  5980  	return awsutil.Prettify(s)
  5981  }
  5982  
  5983  // GoString returns the string representation.
  5984  //
  5985  // API parameter values that are decorated as "sensitive" in the API will not
  5986  // be included in the string output. The member name will be present, but the
  5987  // value will be replaced with "sensitive".
  5988  func (s DisassociateQualificationFromWorkerInput) GoString() string {
  5989  	return s.String()
  5990  }
  5991  
  5992  // Validate inspects the fields of the type to determine if they are valid.
  5993  func (s *DisassociateQualificationFromWorkerInput) Validate() error {
  5994  	invalidParams := request.ErrInvalidParams{Context: "DisassociateQualificationFromWorkerInput"}
  5995  	if s.QualificationTypeId == nil {
  5996  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  5997  	}
  5998  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  5999  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  6000  	}
  6001  	if s.WorkerId == nil {
  6002  		invalidParams.Add(request.NewErrParamRequired("WorkerId"))
  6003  	}
  6004  	if s.WorkerId != nil && len(*s.WorkerId) < 1 {
  6005  		invalidParams.Add(request.NewErrParamMinLen("WorkerId", 1))
  6006  	}
  6007  
  6008  	if invalidParams.Len() > 0 {
  6009  		return invalidParams
  6010  	}
  6011  	return nil
  6012  }
  6013  
  6014  // SetQualificationTypeId sets the QualificationTypeId field's value.
  6015  func (s *DisassociateQualificationFromWorkerInput) SetQualificationTypeId(v string) *DisassociateQualificationFromWorkerInput {
  6016  	s.QualificationTypeId = &v
  6017  	return s
  6018  }
  6019  
  6020  // SetReason sets the Reason field's value.
  6021  func (s *DisassociateQualificationFromWorkerInput) SetReason(v string) *DisassociateQualificationFromWorkerInput {
  6022  	s.Reason = &v
  6023  	return s
  6024  }
  6025  
  6026  // SetWorkerId sets the WorkerId field's value.
  6027  func (s *DisassociateQualificationFromWorkerInput) SetWorkerId(v string) *DisassociateQualificationFromWorkerInput {
  6028  	s.WorkerId = &v
  6029  	return s
  6030  }
  6031  
  6032  type DisassociateQualificationFromWorkerOutput struct {
  6033  	_ struct{} `type:"structure"`
  6034  }
  6035  
  6036  // String returns the string representation.
  6037  //
  6038  // API parameter values that are decorated as "sensitive" in the API will not
  6039  // be included in the string output. The member name will be present, but the
  6040  // value will be replaced with "sensitive".
  6041  func (s DisassociateQualificationFromWorkerOutput) String() string {
  6042  	return awsutil.Prettify(s)
  6043  }
  6044  
  6045  // GoString returns the string representation.
  6046  //
  6047  // API parameter values that are decorated as "sensitive" in the API will not
  6048  // be included in the string output. The member name will be present, but the
  6049  // value will be replaced with "sensitive".
  6050  func (s DisassociateQualificationFromWorkerOutput) GoString() string {
  6051  	return s.String()
  6052  }
  6053  
  6054  type GetAccountBalanceInput struct {
  6055  	_ struct{} `type:"structure"`
  6056  }
  6057  
  6058  // String returns the string representation.
  6059  //
  6060  // API parameter values that are decorated as "sensitive" in the API will not
  6061  // be included in the string output. The member name will be present, but the
  6062  // value will be replaced with "sensitive".
  6063  func (s GetAccountBalanceInput) String() string {
  6064  	return awsutil.Prettify(s)
  6065  }
  6066  
  6067  // GoString returns the string representation.
  6068  //
  6069  // API parameter values that are decorated as "sensitive" in the API will not
  6070  // be included in the string output. The member name will be present, but the
  6071  // value will be replaced with "sensitive".
  6072  func (s GetAccountBalanceInput) GoString() string {
  6073  	return s.String()
  6074  }
  6075  
  6076  type GetAccountBalanceOutput struct {
  6077  	_ struct{} `type:"structure"`
  6078  
  6079  	// A string representing a currency amount.
  6080  	AvailableBalance *string `type:"string"`
  6081  
  6082  	// A string representing a currency amount.
  6083  	OnHoldBalance *string `type:"string"`
  6084  }
  6085  
  6086  // String returns the string representation.
  6087  //
  6088  // API parameter values that are decorated as "sensitive" in the API will not
  6089  // be included in the string output. The member name will be present, but the
  6090  // value will be replaced with "sensitive".
  6091  func (s GetAccountBalanceOutput) String() string {
  6092  	return awsutil.Prettify(s)
  6093  }
  6094  
  6095  // GoString returns the string representation.
  6096  //
  6097  // API parameter values that are decorated as "sensitive" in the API will not
  6098  // be included in the string output. The member name will be present, but the
  6099  // value will be replaced with "sensitive".
  6100  func (s GetAccountBalanceOutput) GoString() string {
  6101  	return s.String()
  6102  }
  6103  
  6104  // SetAvailableBalance sets the AvailableBalance field's value.
  6105  func (s *GetAccountBalanceOutput) SetAvailableBalance(v string) *GetAccountBalanceOutput {
  6106  	s.AvailableBalance = &v
  6107  	return s
  6108  }
  6109  
  6110  // SetOnHoldBalance sets the OnHoldBalance field's value.
  6111  func (s *GetAccountBalanceOutput) SetOnHoldBalance(v string) *GetAccountBalanceOutput {
  6112  	s.OnHoldBalance = &v
  6113  	return s
  6114  }
  6115  
  6116  type GetAssignmentInput struct {
  6117  	_ struct{} `type:"structure"`
  6118  
  6119  	// The ID of the Assignment to be retrieved.
  6120  	//
  6121  	// AssignmentId is a required field
  6122  	AssignmentId *string `min:"1" type:"string" required:"true"`
  6123  }
  6124  
  6125  // String returns the string representation.
  6126  //
  6127  // API parameter values that are decorated as "sensitive" in the API will not
  6128  // be included in the string output. The member name will be present, but the
  6129  // value will be replaced with "sensitive".
  6130  func (s GetAssignmentInput) String() string {
  6131  	return awsutil.Prettify(s)
  6132  }
  6133  
  6134  // GoString returns the string representation.
  6135  //
  6136  // API parameter values that are decorated as "sensitive" in the API will not
  6137  // be included in the string output. The member name will be present, but the
  6138  // value will be replaced with "sensitive".
  6139  func (s GetAssignmentInput) GoString() string {
  6140  	return s.String()
  6141  }
  6142  
  6143  // Validate inspects the fields of the type to determine if they are valid.
  6144  func (s *GetAssignmentInput) Validate() error {
  6145  	invalidParams := request.ErrInvalidParams{Context: "GetAssignmentInput"}
  6146  	if s.AssignmentId == nil {
  6147  		invalidParams.Add(request.NewErrParamRequired("AssignmentId"))
  6148  	}
  6149  	if s.AssignmentId != nil && len(*s.AssignmentId) < 1 {
  6150  		invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1))
  6151  	}
  6152  
  6153  	if invalidParams.Len() > 0 {
  6154  		return invalidParams
  6155  	}
  6156  	return nil
  6157  }
  6158  
  6159  // SetAssignmentId sets the AssignmentId field's value.
  6160  func (s *GetAssignmentInput) SetAssignmentId(v string) *GetAssignmentInput {
  6161  	s.AssignmentId = &v
  6162  	return s
  6163  }
  6164  
  6165  type GetAssignmentOutput struct {
  6166  	_ struct{} `type:"structure"`
  6167  
  6168  	// The assignment. The response includes one Assignment element.
  6169  	Assignment *Assignment `type:"structure"`
  6170  
  6171  	// The HIT associated with this assignment. The response includes one HIT element.
  6172  	HIT *HIT `type:"structure"`
  6173  }
  6174  
  6175  // String returns the string representation.
  6176  //
  6177  // API parameter values that are decorated as "sensitive" in the API will not
  6178  // be included in the string output. The member name will be present, but the
  6179  // value will be replaced with "sensitive".
  6180  func (s GetAssignmentOutput) String() string {
  6181  	return awsutil.Prettify(s)
  6182  }
  6183  
  6184  // GoString returns the string representation.
  6185  //
  6186  // API parameter values that are decorated as "sensitive" in the API will not
  6187  // be included in the string output. The member name will be present, but the
  6188  // value will be replaced with "sensitive".
  6189  func (s GetAssignmentOutput) GoString() string {
  6190  	return s.String()
  6191  }
  6192  
  6193  // SetAssignment sets the Assignment field's value.
  6194  func (s *GetAssignmentOutput) SetAssignment(v *Assignment) *GetAssignmentOutput {
  6195  	s.Assignment = v
  6196  	return s
  6197  }
  6198  
  6199  // SetHIT sets the HIT field's value.
  6200  func (s *GetAssignmentOutput) SetHIT(v *HIT) *GetAssignmentOutput {
  6201  	s.HIT = v
  6202  	return s
  6203  }
  6204  
  6205  type GetFileUploadURLInput struct {
  6206  	_ struct{} `type:"structure"`
  6207  
  6208  	// The ID of the assignment that contains the question with a FileUploadAnswer.
  6209  	//
  6210  	// AssignmentId is a required field
  6211  	AssignmentId *string `min:"1" type:"string" required:"true"`
  6212  
  6213  	// The identifier of the question with a FileUploadAnswer, as specified in the
  6214  	// QuestionForm of the HIT.
  6215  	//
  6216  	// QuestionIdentifier is a required field
  6217  	QuestionIdentifier *string `type:"string" required:"true"`
  6218  }
  6219  
  6220  // String returns the string representation.
  6221  //
  6222  // API parameter values that are decorated as "sensitive" in the API will not
  6223  // be included in the string output. The member name will be present, but the
  6224  // value will be replaced with "sensitive".
  6225  func (s GetFileUploadURLInput) String() string {
  6226  	return awsutil.Prettify(s)
  6227  }
  6228  
  6229  // GoString returns the string representation.
  6230  //
  6231  // API parameter values that are decorated as "sensitive" in the API will not
  6232  // be included in the string output. The member name will be present, but the
  6233  // value will be replaced with "sensitive".
  6234  func (s GetFileUploadURLInput) GoString() string {
  6235  	return s.String()
  6236  }
  6237  
  6238  // Validate inspects the fields of the type to determine if they are valid.
  6239  func (s *GetFileUploadURLInput) Validate() error {
  6240  	invalidParams := request.ErrInvalidParams{Context: "GetFileUploadURLInput"}
  6241  	if s.AssignmentId == nil {
  6242  		invalidParams.Add(request.NewErrParamRequired("AssignmentId"))
  6243  	}
  6244  	if s.AssignmentId != nil && len(*s.AssignmentId) < 1 {
  6245  		invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1))
  6246  	}
  6247  	if s.QuestionIdentifier == nil {
  6248  		invalidParams.Add(request.NewErrParamRequired("QuestionIdentifier"))
  6249  	}
  6250  
  6251  	if invalidParams.Len() > 0 {
  6252  		return invalidParams
  6253  	}
  6254  	return nil
  6255  }
  6256  
  6257  // SetAssignmentId sets the AssignmentId field's value.
  6258  func (s *GetFileUploadURLInput) SetAssignmentId(v string) *GetFileUploadURLInput {
  6259  	s.AssignmentId = &v
  6260  	return s
  6261  }
  6262  
  6263  // SetQuestionIdentifier sets the QuestionIdentifier field's value.
  6264  func (s *GetFileUploadURLInput) SetQuestionIdentifier(v string) *GetFileUploadURLInput {
  6265  	s.QuestionIdentifier = &v
  6266  	return s
  6267  }
  6268  
  6269  type GetFileUploadURLOutput struct {
  6270  	_ struct{} `type:"structure"`
  6271  
  6272  	// A temporary URL for the file that the Worker uploaded for the answer.
  6273  	FileUploadURL *string `type:"string"`
  6274  }
  6275  
  6276  // String returns the string representation.
  6277  //
  6278  // API parameter values that are decorated as "sensitive" in the API will not
  6279  // be included in the string output. The member name will be present, but the
  6280  // value will be replaced with "sensitive".
  6281  func (s GetFileUploadURLOutput) String() string {
  6282  	return awsutil.Prettify(s)
  6283  }
  6284  
  6285  // GoString returns the string representation.
  6286  //
  6287  // API parameter values that are decorated as "sensitive" in the API will not
  6288  // be included in the string output. The member name will be present, but the
  6289  // value will be replaced with "sensitive".
  6290  func (s GetFileUploadURLOutput) GoString() string {
  6291  	return s.String()
  6292  }
  6293  
  6294  // SetFileUploadURL sets the FileUploadURL field's value.
  6295  func (s *GetFileUploadURLOutput) SetFileUploadURL(v string) *GetFileUploadURLOutput {
  6296  	s.FileUploadURL = &v
  6297  	return s
  6298  }
  6299  
  6300  type GetHITInput struct {
  6301  	_ struct{} `type:"structure"`
  6302  
  6303  	// The ID of the HIT to be retrieved.
  6304  	//
  6305  	// HITId is a required field
  6306  	HITId *string `min:"1" type:"string" required:"true"`
  6307  }
  6308  
  6309  // String returns the string representation.
  6310  //
  6311  // API parameter values that are decorated as "sensitive" in the API will not
  6312  // be included in the string output. The member name will be present, but the
  6313  // value will be replaced with "sensitive".
  6314  func (s GetHITInput) String() string {
  6315  	return awsutil.Prettify(s)
  6316  }
  6317  
  6318  // GoString returns the string representation.
  6319  //
  6320  // API parameter values that are decorated as "sensitive" in the API will not
  6321  // be included in the string output. The member name will be present, but the
  6322  // value will be replaced with "sensitive".
  6323  func (s GetHITInput) GoString() string {
  6324  	return s.String()
  6325  }
  6326  
  6327  // Validate inspects the fields of the type to determine if they are valid.
  6328  func (s *GetHITInput) Validate() error {
  6329  	invalidParams := request.ErrInvalidParams{Context: "GetHITInput"}
  6330  	if s.HITId == nil {
  6331  		invalidParams.Add(request.NewErrParamRequired("HITId"))
  6332  	}
  6333  	if s.HITId != nil && len(*s.HITId) < 1 {
  6334  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  6335  	}
  6336  
  6337  	if invalidParams.Len() > 0 {
  6338  		return invalidParams
  6339  	}
  6340  	return nil
  6341  }
  6342  
  6343  // SetHITId sets the HITId field's value.
  6344  func (s *GetHITInput) SetHITId(v string) *GetHITInput {
  6345  	s.HITId = &v
  6346  	return s
  6347  }
  6348  
  6349  type GetHITOutput struct {
  6350  	_ struct{} `type:"structure"`
  6351  
  6352  	// Contains the requested HIT data.
  6353  	HIT *HIT `type:"structure"`
  6354  }
  6355  
  6356  // String returns the string representation.
  6357  //
  6358  // API parameter values that are decorated as "sensitive" in the API will not
  6359  // be included in the string output. The member name will be present, but the
  6360  // value will be replaced with "sensitive".
  6361  func (s GetHITOutput) String() string {
  6362  	return awsutil.Prettify(s)
  6363  }
  6364  
  6365  // GoString returns the string representation.
  6366  //
  6367  // API parameter values that are decorated as "sensitive" in the API will not
  6368  // be included in the string output. The member name will be present, but the
  6369  // value will be replaced with "sensitive".
  6370  func (s GetHITOutput) GoString() string {
  6371  	return s.String()
  6372  }
  6373  
  6374  // SetHIT sets the HIT field's value.
  6375  func (s *GetHITOutput) SetHIT(v *HIT) *GetHITOutput {
  6376  	s.HIT = v
  6377  	return s
  6378  }
  6379  
  6380  type GetQualificationScoreInput struct {
  6381  	_ struct{} `type:"structure"`
  6382  
  6383  	// The ID of the QualificationType.
  6384  	//
  6385  	// QualificationTypeId is a required field
  6386  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  6387  
  6388  	// The ID of the Worker whose Qualification is being updated.
  6389  	//
  6390  	// WorkerId is a required field
  6391  	WorkerId *string `min:"1" type:"string" required:"true"`
  6392  }
  6393  
  6394  // String returns the string representation.
  6395  //
  6396  // API parameter values that are decorated as "sensitive" in the API will not
  6397  // be included in the string output. The member name will be present, but the
  6398  // value will be replaced with "sensitive".
  6399  func (s GetQualificationScoreInput) String() string {
  6400  	return awsutil.Prettify(s)
  6401  }
  6402  
  6403  // GoString returns the string representation.
  6404  //
  6405  // API parameter values that are decorated as "sensitive" in the API will not
  6406  // be included in the string output. The member name will be present, but the
  6407  // value will be replaced with "sensitive".
  6408  func (s GetQualificationScoreInput) GoString() string {
  6409  	return s.String()
  6410  }
  6411  
  6412  // Validate inspects the fields of the type to determine if they are valid.
  6413  func (s *GetQualificationScoreInput) Validate() error {
  6414  	invalidParams := request.ErrInvalidParams{Context: "GetQualificationScoreInput"}
  6415  	if s.QualificationTypeId == nil {
  6416  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  6417  	}
  6418  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  6419  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  6420  	}
  6421  	if s.WorkerId == nil {
  6422  		invalidParams.Add(request.NewErrParamRequired("WorkerId"))
  6423  	}
  6424  	if s.WorkerId != nil && len(*s.WorkerId) < 1 {
  6425  		invalidParams.Add(request.NewErrParamMinLen("WorkerId", 1))
  6426  	}
  6427  
  6428  	if invalidParams.Len() > 0 {
  6429  		return invalidParams
  6430  	}
  6431  	return nil
  6432  }
  6433  
  6434  // SetQualificationTypeId sets the QualificationTypeId field's value.
  6435  func (s *GetQualificationScoreInput) SetQualificationTypeId(v string) *GetQualificationScoreInput {
  6436  	s.QualificationTypeId = &v
  6437  	return s
  6438  }
  6439  
  6440  // SetWorkerId sets the WorkerId field's value.
  6441  func (s *GetQualificationScoreInput) SetWorkerId(v string) *GetQualificationScoreInput {
  6442  	s.WorkerId = &v
  6443  	return s
  6444  }
  6445  
  6446  type GetQualificationScoreOutput struct {
  6447  	_ struct{} `type:"structure"`
  6448  
  6449  	// The Qualification data structure of the Qualification assigned to a user,
  6450  	// including the Qualification type and the value (score).
  6451  	Qualification *Qualification `type:"structure"`
  6452  }
  6453  
  6454  // String returns the string representation.
  6455  //
  6456  // API parameter values that are decorated as "sensitive" in the API will not
  6457  // be included in the string output. The member name will be present, but the
  6458  // value will be replaced with "sensitive".
  6459  func (s GetQualificationScoreOutput) String() string {
  6460  	return awsutil.Prettify(s)
  6461  }
  6462  
  6463  // GoString returns the string representation.
  6464  //
  6465  // API parameter values that are decorated as "sensitive" in the API will not
  6466  // be included in the string output. The member name will be present, but the
  6467  // value will be replaced with "sensitive".
  6468  func (s GetQualificationScoreOutput) GoString() string {
  6469  	return s.String()
  6470  }
  6471  
  6472  // SetQualification sets the Qualification field's value.
  6473  func (s *GetQualificationScoreOutput) SetQualification(v *Qualification) *GetQualificationScoreOutput {
  6474  	s.Qualification = v
  6475  	return s
  6476  }
  6477  
  6478  type GetQualificationTypeInput struct {
  6479  	_ struct{} `type:"structure"`
  6480  
  6481  	// The ID of the QualificationType.
  6482  	//
  6483  	// QualificationTypeId is a required field
  6484  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  6485  }
  6486  
  6487  // String returns the string representation.
  6488  //
  6489  // API parameter values that are decorated as "sensitive" in the API will not
  6490  // be included in the string output. The member name will be present, but the
  6491  // value will be replaced with "sensitive".
  6492  func (s GetQualificationTypeInput) String() string {
  6493  	return awsutil.Prettify(s)
  6494  }
  6495  
  6496  // GoString returns the string representation.
  6497  //
  6498  // API parameter values that are decorated as "sensitive" in the API will not
  6499  // be included in the string output. The member name will be present, but the
  6500  // value will be replaced with "sensitive".
  6501  func (s GetQualificationTypeInput) GoString() string {
  6502  	return s.String()
  6503  }
  6504  
  6505  // Validate inspects the fields of the type to determine if they are valid.
  6506  func (s *GetQualificationTypeInput) Validate() error {
  6507  	invalidParams := request.ErrInvalidParams{Context: "GetQualificationTypeInput"}
  6508  	if s.QualificationTypeId == nil {
  6509  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  6510  	}
  6511  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  6512  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  6513  	}
  6514  
  6515  	if invalidParams.Len() > 0 {
  6516  		return invalidParams
  6517  	}
  6518  	return nil
  6519  }
  6520  
  6521  // SetQualificationTypeId sets the QualificationTypeId field's value.
  6522  func (s *GetQualificationTypeInput) SetQualificationTypeId(v string) *GetQualificationTypeInput {
  6523  	s.QualificationTypeId = &v
  6524  	return s
  6525  }
  6526  
  6527  type GetQualificationTypeOutput struct {
  6528  	_ struct{} `type:"structure"`
  6529  
  6530  	// The returned Qualification Type
  6531  	QualificationType *QualificationType `type:"structure"`
  6532  }
  6533  
  6534  // String returns the string representation.
  6535  //
  6536  // API parameter values that are decorated as "sensitive" in the API will not
  6537  // be included in the string output. The member name will be present, but the
  6538  // value will be replaced with "sensitive".
  6539  func (s GetQualificationTypeOutput) String() string {
  6540  	return awsutil.Prettify(s)
  6541  }
  6542  
  6543  // GoString returns the string representation.
  6544  //
  6545  // API parameter values that are decorated as "sensitive" in the API will not
  6546  // be included in the string output. The member name will be present, but the
  6547  // value will be replaced with "sensitive".
  6548  func (s GetQualificationTypeOutput) GoString() string {
  6549  	return s.String()
  6550  }
  6551  
  6552  // SetQualificationType sets the QualificationType field's value.
  6553  func (s *GetQualificationTypeOutput) SetQualificationType(v *QualificationType) *GetQualificationTypeOutput {
  6554  	s.QualificationType = v
  6555  	return s
  6556  }
  6557  
  6558  // The HIT data structure represents a single HIT, including all the information
  6559  // necessary for a Worker to accept and complete the HIT.
  6560  type HIT struct {
  6561  	_ struct{} `type:"structure"`
  6562  
  6563  	// The length of time, in seconds, that a Worker has to complete the HIT after
  6564  	// accepting it.
  6565  	AssignmentDurationInSeconds *int64 `type:"long"`
  6566  
  6567  	// The amount of time, in seconds, after the Worker submits an assignment for
  6568  	// the HIT that the results are automatically approved by Amazon Mechanical
  6569  	// Turk. This is the amount of time the Requester has to reject an assignment
  6570  	// submitted by a Worker before the assignment is auto-approved and the Worker
  6571  	// is paid.
  6572  	AutoApprovalDelayInSeconds *int64 `type:"long"`
  6573  
  6574  	// The date and time the HIT was created.
  6575  	CreationTime *time.Time `type:"timestamp"`
  6576  
  6577  	// A general description of the HIT.
  6578  	Description *string `type:"string"`
  6579  
  6580  	// The date and time the HIT expires.
  6581  	Expiration *time.Time `type:"timestamp"`
  6582  
  6583  	// The ID of the HIT Group of this HIT.
  6584  	HITGroupId *string `min:"1" type:"string"`
  6585  
  6586  	// A unique identifier for the HIT.
  6587  	HITId *string `min:"1" type:"string"`
  6588  
  6589  	// The ID of the HIT Layout of this HIT.
  6590  	HITLayoutId *string `min:"1" type:"string"`
  6591  
  6592  	// Indicates the review status of the HIT. Valid Values are NotReviewed | MarkedForReview
  6593  	// | ReviewedAppropriate | ReviewedInappropriate.
  6594  	HITReviewStatus *string `type:"string" enum:"HITReviewStatus"`
  6595  
  6596  	// The status of the HIT and its assignments. Valid Values are Assignable |
  6597  	// Unassignable | Reviewable | Reviewing | Disposed.
  6598  	HITStatus *string `type:"string" enum:"HITStatus"`
  6599  
  6600  	// The ID of the HIT type of this HIT
  6601  	HITTypeId *string `min:"1" type:"string"`
  6602  
  6603  	// One or more words or phrases that describe the HIT, separated by commas.
  6604  	// Search terms similar to the keywords of a HIT are more likely to have the
  6605  	// HIT in the search results.
  6606  	Keywords *string `type:"string"`
  6607  
  6608  	// The number of times the HIT can be accepted and completed before the HIT
  6609  	// becomes unavailable.
  6610  	MaxAssignments *int64 `type:"integer"`
  6611  
  6612  	// The number of assignments for this HIT that are available for Workers to
  6613  	// accept.
  6614  	NumberOfAssignmentsAvailable *int64 `type:"integer"`
  6615  
  6616  	// The number of assignments for this HIT that have been approved or rejected.
  6617  	NumberOfAssignmentsCompleted *int64 `type:"integer"`
  6618  
  6619  	// The number of assignments for this HIT that are being previewed or have been
  6620  	// accepted by Workers, but have not yet been submitted, returned, or abandoned.
  6621  	NumberOfAssignmentsPending *int64 `type:"integer"`
  6622  
  6623  	// Conditions that a Worker's Qualifications must meet in order to accept the
  6624  	// HIT. A HIT can have between zero and ten Qualification requirements. All
  6625  	// requirements must be met in order for a Worker to accept the HIT. Additionally,
  6626  	// other actions can be restricted using the ActionsGuarded field on each QualificationRequirement
  6627  	// structure.
  6628  	QualificationRequirements []*QualificationRequirement `type:"list"`
  6629  
  6630  	// The data the Worker completing the HIT uses produce the results. This is
  6631  	// either either a QuestionForm, HTMLQuestion or an ExternalQuestion data structure.
  6632  	Question *string `type:"string"`
  6633  
  6634  	// An arbitrary data field the Requester who created the HIT can use. This field
  6635  	// is visible only to the creator of the HIT.
  6636  	RequesterAnnotation *string `type:"string"`
  6637  
  6638  	// A string representing a currency amount.
  6639  	Reward *string `type:"string"`
  6640  
  6641  	// The title of the HIT.
  6642  	Title *string `type:"string"`
  6643  }
  6644  
  6645  // String returns the string representation.
  6646  //
  6647  // API parameter values that are decorated as "sensitive" in the API will not
  6648  // be included in the string output. The member name will be present, but the
  6649  // value will be replaced with "sensitive".
  6650  func (s HIT) String() string {
  6651  	return awsutil.Prettify(s)
  6652  }
  6653  
  6654  // GoString returns the string representation.
  6655  //
  6656  // API parameter values that are decorated as "sensitive" in the API will not
  6657  // be included in the string output. The member name will be present, but the
  6658  // value will be replaced with "sensitive".
  6659  func (s HIT) GoString() string {
  6660  	return s.String()
  6661  }
  6662  
  6663  // SetAssignmentDurationInSeconds sets the AssignmentDurationInSeconds field's value.
  6664  func (s *HIT) SetAssignmentDurationInSeconds(v int64) *HIT {
  6665  	s.AssignmentDurationInSeconds = &v
  6666  	return s
  6667  }
  6668  
  6669  // SetAutoApprovalDelayInSeconds sets the AutoApprovalDelayInSeconds field's value.
  6670  func (s *HIT) SetAutoApprovalDelayInSeconds(v int64) *HIT {
  6671  	s.AutoApprovalDelayInSeconds = &v
  6672  	return s
  6673  }
  6674  
  6675  // SetCreationTime sets the CreationTime field's value.
  6676  func (s *HIT) SetCreationTime(v time.Time) *HIT {
  6677  	s.CreationTime = &v
  6678  	return s
  6679  }
  6680  
  6681  // SetDescription sets the Description field's value.
  6682  func (s *HIT) SetDescription(v string) *HIT {
  6683  	s.Description = &v
  6684  	return s
  6685  }
  6686  
  6687  // SetExpiration sets the Expiration field's value.
  6688  func (s *HIT) SetExpiration(v time.Time) *HIT {
  6689  	s.Expiration = &v
  6690  	return s
  6691  }
  6692  
  6693  // SetHITGroupId sets the HITGroupId field's value.
  6694  func (s *HIT) SetHITGroupId(v string) *HIT {
  6695  	s.HITGroupId = &v
  6696  	return s
  6697  }
  6698  
  6699  // SetHITId sets the HITId field's value.
  6700  func (s *HIT) SetHITId(v string) *HIT {
  6701  	s.HITId = &v
  6702  	return s
  6703  }
  6704  
  6705  // SetHITLayoutId sets the HITLayoutId field's value.
  6706  func (s *HIT) SetHITLayoutId(v string) *HIT {
  6707  	s.HITLayoutId = &v
  6708  	return s
  6709  }
  6710  
  6711  // SetHITReviewStatus sets the HITReviewStatus field's value.
  6712  func (s *HIT) SetHITReviewStatus(v string) *HIT {
  6713  	s.HITReviewStatus = &v
  6714  	return s
  6715  }
  6716  
  6717  // SetHITStatus sets the HITStatus field's value.
  6718  func (s *HIT) SetHITStatus(v string) *HIT {
  6719  	s.HITStatus = &v
  6720  	return s
  6721  }
  6722  
  6723  // SetHITTypeId sets the HITTypeId field's value.
  6724  func (s *HIT) SetHITTypeId(v string) *HIT {
  6725  	s.HITTypeId = &v
  6726  	return s
  6727  }
  6728  
  6729  // SetKeywords sets the Keywords field's value.
  6730  func (s *HIT) SetKeywords(v string) *HIT {
  6731  	s.Keywords = &v
  6732  	return s
  6733  }
  6734  
  6735  // SetMaxAssignments sets the MaxAssignments field's value.
  6736  func (s *HIT) SetMaxAssignments(v int64) *HIT {
  6737  	s.MaxAssignments = &v
  6738  	return s
  6739  }
  6740  
  6741  // SetNumberOfAssignmentsAvailable sets the NumberOfAssignmentsAvailable field's value.
  6742  func (s *HIT) SetNumberOfAssignmentsAvailable(v int64) *HIT {
  6743  	s.NumberOfAssignmentsAvailable = &v
  6744  	return s
  6745  }
  6746  
  6747  // SetNumberOfAssignmentsCompleted sets the NumberOfAssignmentsCompleted field's value.
  6748  func (s *HIT) SetNumberOfAssignmentsCompleted(v int64) *HIT {
  6749  	s.NumberOfAssignmentsCompleted = &v
  6750  	return s
  6751  }
  6752  
  6753  // SetNumberOfAssignmentsPending sets the NumberOfAssignmentsPending field's value.
  6754  func (s *HIT) SetNumberOfAssignmentsPending(v int64) *HIT {
  6755  	s.NumberOfAssignmentsPending = &v
  6756  	return s
  6757  }
  6758  
  6759  // SetQualificationRequirements sets the QualificationRequirements field's value.
  6760  func (s *HIT) SetQualificationRequirements(v []*QualificationRequirement) *HIT {
  6761  	s.QualificationRequirements = v
  6762  	return s
  6763  }
  6764  
  6765  // SetQuestion sets the Question field's value.
  6766  func (s *HIT) SetQuestion(v string) *HIT {
  6767  	s.Question = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetRequesterAnnotation sets the RequesterAnnotation field's value.
  6772  func (s *HIT) SetRequesterAnnotation(v string) *HIT {
  6773  	s.RequesterAnnotation = &v
  6774  	return s
  6775  }
  6776  
  6777  // SetReward sets the Reward field's value.
  6778  func (s *HIT) SetReward(v string) *HIT {
  6779  	s.Reward = &v
  6780  	return s
  6781  }
  6782  
  6783  // SetTitle sets the Title field's value.
  6784  func (s *HIT) SetTitle(v string) *HIT {
  6785  	s.Title = &v
  6786  	return s
  6787  }
  6788  
  6789  // The HITLayoutParameter data structure defines parameter values used with
  6790  // a HITLayout. A HITLayout is a reusable Amazon Mechanical Turk project template
  6791  // used to provide Human Intelligence Task (HIT) question data for CreateHIT.
  6792  type HITLayoutParameter struct {
  6793  	_ struct{} `type:"structure"`
  6794  
  6795  	// The name of the parameter in the HITLayout.
  6796  	//
  6797  	// Name is a required field
  6798  	Name *string `type:"string" required:"true"`
  6799  
  6800  	// The value substituted for the parameter referenced in the HITLayout.
  6801  	//
  6802  	// Value is a required field
  6803  	Value *string `type:"string" required:"true"`
  6804  }
  6805  
  6806  // String returns the string representation.
  6807  //
  6808  // API parameter values that are decorated as "sensitive" in the API will not
  6809  // be included in the string output. The member name will be present, but the
  6810  // value will be replaced with "sensitive".
  6811  func (s HITLayoutParameter) String() string {
  6812  	return awsutil.Prettify(s)
  6813  }
  6814  
  6815  // GoString returns the string representation.
  6816  //
  6817  // API parameter values that are decorated as "sensitive" in the API will not
  6818  // be included in the string output. The member name will be present, but the
  6819  // value will be replaced with "sensitive".
  6820  func (s HITLayoutParameter) GoString() string {
  6821  	return s.String()
  6822  }
  6823  
  6824  // Validate inspects the fields of the type to determine if they are valid.
  6825  func (s *HITLayoutParameter) Validate() error {
  6826  	invalidParams := request.ErrInvalidParams{Context: "HITLayoutParameter"}
  6827  	if s.Name == nil {
  6828  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6829  	}
  6830  	if s.Value == nil {
  6831  		invalidParams.Add(request.NewErrParamRequired("Value"))
  6832  	}
  6833  
  6834  	if invalidParams.Len() > 0 {
  6835  		return invalidParams
  6836  	}
  6837  	return nil
  6838  }
  6839  
  6840  // SetName sets the Name field's value.
  6841  func (s *HITLayoutParameter) SetName(v string) *HITLayoutParameter {
  6842  	s.Name = &v
  6843  	return s
  6844  }
  6845  
  6846  // SetValue sets the Value field's value.
  6847  func (s *HITLayoutParameter) SetValue(v string) *HITLayoutParameter {
  6848  	s.Value = &v
  6849  	return s
  6850  }
  6851  
  6852  type ListAssignmentsForHITInput struct {
  6853  	_ struct{} `type:"structure"`
  6854  
  6855  	// The status of the assignments to return: Submitted | Approved | Rejected
  6856  	AssignmentStatuses []*string `type:"list"`
  6857  
  6858  	// The ID of the HIT.
  6859  	//
  6860  	// HITId is a required field
  6861  	HITId *string `min:"1" type:"string" required:"true"`
  6862  
  6863  	MaxResults *int64 `min:"1" type:"integer"`
  6864  
  6865  	// Pagination token
  6866  	NextToken *string `min:"1" type:"string"`
  6867  }
  6868  
  6869  // String returns the string representation.
  6870  //
  6871  // API parameter values that are decorated as "sensitive" in the API will not
  6872  // be included in the string output. The member name will be present, but the
  6873  // value will be replaced with "sensitive".
  6874  func (s ListAssignmentsForHITInput) String() string {
  6875  	return awsutil.Prettify(s)
  6876  }
  6877  
  6878  // GoString returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s ListAssignmentsForHITInput) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  // Validate inspects the fields of the type to determine if they are valid.
  6888  func (s *ListAssignmentsForHITInput) Validate() error {
  6889  	invalidParams := request.ErrInvalidParams{Context: "ListAssignmentsForHITInput"}
  6890  	if s.HITId == nil {
  6891  		invalidParams.Add(request.NewErrParamRequired("HITId"))
  6892  	}
  6893  	if s.HITId != nil && len(*s.HITId) < 1 {
  6894  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  6895  	}
  6896  	if s.MaxResults != nil && *s.MaxResults < 1 {
  6897  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  6898  	}
  6899  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6900  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6901  	}
  6902  
  6903  	if invalidParams.Len() > 0 {
  6904  		return invalidParams
  6905  	}
  6906  	return nil
  6907  }
  6908  
  6909  // SetAssignmentStatuses sets the AssignmentStatuses field's value.
  6910  func (s *ListAssignmentsForHITInput) SetAssignmentStatuses(v []*string) *ListAssignmentsForHITInput {
  6911  	s.AssignmentStatuses = v
  6912  	return s
  6913  }
  6914  
  6915  // SetHITId sets the HITId field's value.
  6916  func (s *ListAssignmentsForHITInput) SetHITId(v string) *ListAssignmentsForHITInput {
  6917  	s.HITId = &v
  6918  	return s
  6919  }
  6920  
  6921  // SetMaxResults sets the MaxResults field's value.
  6922  func (s *ListAssignmentsForHITInput) SetMaxResults(v int64) *ListAssignmentsForHITInput {
  6923  	s.MaxResults = &v
  6924  	return s
  6925  }
  6926  
  6927  // SetNextToken sets the NextToken field's value.
  6928  func (s *ListAssignmentsForHITInput) SetNextToken(v string) *ListAssignmentsForHITInput {
  6929  	s.NextToken = &v
  6930  	return s
  6931  }
  6932  
  6933  type ListAssignmentsForHITOutput struct {
  6934  	_ struct{} `type:"structure"`
  6935  
  6936  	// The collection of Assignment data structures returned by this call.
  6937  	Assignments []*Assignment `type:"list"`
  6938  
  6939  	// If the previous response was incomplete (because there is more data to retrieve),
  6940  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  6941  	// use this pagination token to retrieve the next set of results.
  6942  	NextToken *string `min:"1" type:"string"`
  6943  
  6944  	// The number of assignments on the page in the filtered results list, equivalent
  6945  	// to the number of assignments returned by this call.
  6946  	NumResults *int64 `type:"integer"`
  6947  }
  6948  
  6949  // String returns the string representation.
  6950  //
  6951  // API parameter values that are decorated as "sensitive" in the API will not
  6952  // be included in the string output. The member name will be present, but the
  6953  // value will be replaced with "sensitive".
  6954  func (s ListAssignmentsForHITOutput) String() string {
  6955  	return awsutil.Prettify(s)
  6956  }
  6957  
  6958  // GoString returns the string representation.
  6959  //
  6960  // API parameter values that are decorated as "sensitive" in the API will not
  6961  // be included in the string output. The member name will be present, but the
  6962  // value will be replaced with "sensitive".
  6963  func (s ListAssignmentsForHITOutput) GoString() string {
  6964  	return s.String()
  6965  }
  6966  
  6967  // SetAssignments sets the Assignments field's value.
  6968  func (s *ListAssignmentsForHITOutput) SetAssignments(v []*Assignment) *ListAssignmentsForHITOutput {
  6969  	s.Assignments = v
  6970  	return s
  6971  }
  6972  
  6973  // SetNextToken sets the NextToken field's value.
  6974  func (s *ListAssignmentsForHITOutput) SetNextToken(v string) *ListAssignmentsForHITOutput {
  6975  	s.NextToken = &v
  6976  	return s
  6977  }
  6978  
  6979  // SetNumResults sets the NumResults field's value.
  6980  func (s *ListAssignmentsForHITOutput) SetNumResults(v int64) *ListAssignmentsForHITOutput {
  6981  	s.NumResults = &v
  6982  	return s
  6983  }
  6984  
  6985  type ListBonusPaymentsInput struct {
  6986  	_ struct{} `type:"structure"`
  6987  
  6988  	// The ID of the assignment associated with the bonus payments to retrieve.
  6989  	// If specified, only bonus payments for the given assignment are returned.
  6990  	// Either the HITId parameter or the AssignmentId parameter must be specified
  6991  	AssignmentId *string `min:"1" type:"string"`
  6992  
  6993  	// The ID of the HIT associated with the bonus payments to retrieve. If not
  6994  	// specified, all bonus payments for all assignments for the given HIT are returned.
  6995  	// Either the HITId parameter or the AssignmentId parameter must be specified
  6996  	HITId *string `min:"1" type:"string"`
  6997  
  6998  	MaxResults *int64 `min:"1" type:"integer"`
  6999  
  7000  	// Pagination token
  7001  	NextToken *string `min:"1" type:"string"`
  7002  }
  7003  
  7004  // String returns the string representation.
  7005  //
  7006  // API parameter values that are decorated as "sensitive" in the API will not
  7007  // be included in the string output. The member name will be present, but the
  7008  // value will be replaced with "sensitive".
  7009  func (s ListBonusPaymentsInput) String() string {
  7010  	return awsutil.Prettify(s)
  7011  }
  7012  
  7013  // GoString returns the string representation.
  7014  //
  7015  // API parameter values that are decorated as "sensitive" in the API will not
  7016  // be included in the string output. The member name will be present, but the
  7017  // value will be replaced with "sensitive".
  7018  func (s ListBonusPaymentsInput) GoString() string {
  7019  	return s.String()
  7020  }
  7021  
  7022  // Validate inspects the fields of the type to determine if they are valid.
  7023  func (s *ListBonusPaymentsInput) Validate() error {
  7024  	invalidParams := request.ErrInvalidParams{Context: "ListBonusPaymentsInput"}
  7025  	if s.AssignmentId != nil && len(*s.AssignmentId) < 1 {
  7026  		invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1))
  7027  	}
  7028  	if s.HITId != nil && len(*s.HITId) < 1 {
  7029  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  7030  	}
  7031  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7032  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7033  	}
  7034  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7035  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7036  	}
  7037  
  7038  	if invalidParams.Len() > 0 {
  7039  		return invalidParams
  7040  	}
  7041  	return nil
  7042  }
  7043  
  7044  // SetAssignmentId sets the AssignmentId field's value.
  7045  func (s *ListBonusPaymentsInput) SetAssignmentId(v string) *ListBonusPaymentsInput {
  7046  	s.AssignmentId = &v
  7047  	return s
  7048  }
  7049  
  7050  // SetHITId sets the HITId field's value.
  7051  func (s *ListBonusPaymentsInput) SetHITId(v string) *ListBonusPaymentsInput {
  7052  	s.HITId = &v
  7053  	return s
  7054  }
  7055  
  7056  // SetMaxResults sets the MaxResults field's value.
  7057  func (s *ListBonusPaymentsInput) SetMaxResults(v int64) *ListBonusPaymentsInput {
  7058  	s.MaxResults = &v
  7059  	return s
  7060  }
  7061  
  7062  // SetNextToken sets the NextToken field's value.
  7063  func (s *ListBonusPaymentsInput) SetNextToken(v string) *ListBonusPaymentsInput {
  7064  	s.NextToken = &v
  7065  	return s
  7066  }
  7067  
  7068  type ListBonusPaymentsOutput struct {
  7069  	_ struct{} `type:"structure"`
  7070  
  7071  	// A successful request to the ListBonusPayments operation returns a list of
  7072  	// BonusPayment objects.
  7073  	BonusPayments []*BonusPayment `type:"list"`
  7074  
  7075  	// If the previous response was incomplete (because there is more data to retrieve),
  7076  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7077  	// use this pagination token to retrieve the next set of results.
  7078  	NextToken *string `min:"1" type:"string"`
  7079  
  7080  	// The number of bonus payments on this page in the filtered results list, equivalent
  7081  	// to the number of bonus payments being returned by this call.
  7082  	NumResults *int64 `type:"integer"`
  7083  }
  7084  
  7085  // String returns the string representation.
  7086  //
  7087  // API parameter values that are decorated as "sensitive" in the API will not
  7088  // be included in the string output. The member name will be present, but the
  7089  // value will be replaced with "sensitive".
  7090  func (s ListBonusPaymentsOutput) String() string {
  7091  	return awsutil.Prettify(s)
  7092  }
  7093  
  7094  // GoString returns the string representation.
  7095  //
  7096  // API parameter values that are decorated as "sensitive" in the API will not
  7097  // be included in the string output. The member name will be present, but the
  7098  // value will be replaced with "sensitive".
  7099  func (s ListBonusPaymentsOutput) GoString() string {
  7100  	return s.String()
  7101  }
  7102  
  7103  // SetBonusPayments sets the BonusPayments field's value.
  7104  func (s *ListBonusPaymentsOutput) SetBonusPayments(v []*BonusPayment) *ListBonusPaymentsOutput {
  7105  	s.BonusPayments = v
  7106  	return s
  7107  }
  7108  
  7109  // SetNextToken sets the NextToken field's value.
  7110  func (s *ListBonusPaymentsOutput) SetNextToken(v string) *ListBonusPaymentsOutput {
  7111  	s.NextToken = &v
  7112  	return s
  7113  }
  7114  
  7115  // SetNumResults sets the NumResults field's value.
  7116  func (s *ListBonusPaymentsOutput) SetNumResults(v int64) *ListBonusPaymentsOutput {
  7117  	s.NumResults = &v
  7118  	return s
  7119  }
  7120  
  7121  type ListHITsForQualificationTypeInput struct {
  7122  	_ struct{} `type:"structure"`
  7123  
  7124  	// Limit the number of results returned.
  7125  	MaxResults *int64 `min:"1" type:"integer"`
  7126  
  7127  	// Pagination Token
  7128  	NextToken *string `min:"1" type:"string"`
  7129  
  7130  	// The ID of the Qualification type to use when querying HITs.
  7131  	//
  7132  	// QualificationTypeId is a required field
  7133  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  7134  }
  7135  
  7136  // String returns the string representation.
  7137  //
  7138  // API parameter values that are decorated as "sensitive" in the API will not
  7139  // be included in the string output. The member name will be present, but the
  7140  // value will be replaced with "sensitive".
  7141  func (s ListHITsForQualificationTypeInput) String() string {
  7142  	return awsutil.Prettify(s)
  7143  }
  7144  
  7145  // GoString returns the string representation.
  7146  //
  7147  // API parameter values that are decorated as "sensitive" in the API will not
  7148  // be included in the string output. The member name will be present, but the
  7149  // value will be replaced with "sensitive".
  7150  func (s ListHITsForQualificationTypeInput) GoString() string {
  7151  	return s.String()
  7152  }
  7153  
  7154  // Validate inspects the fields of the type to determine if they are valid.
  7155  func (s *ListHITsForQualificationTypeInput) Validate() error {
  7156  	invalidParams := request.ErrInvalidParams{Context: "ListHITsForQualificationTypeInput"}
  7157  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7158  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7159  	}
  7160  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7161  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7162  	}
  7163  	if s.QualificationTypeId == nil {
  7164  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  7165  	}
  7166  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  7167  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  7168  	}
  7169  
  7170  	if invalidParams.Len() > 0 {
  7171  		return invalidParams
  7172  	}
  7173  	return nil
  7174  }
  7175  
  7176  // SetMaxResults sets the MaxResults field's value.
  7177  func (s *ListHITsForQualificationTypeInput) SetMaxResults(v int64) *ListHITsForQualificationTypeInput {
  7178  	s.MaxResults = &v
  7179  	return s
  7180  }
  7181  
  7182  // SetNextToken sets the NextToken field's value.
  7183  func (s *ListHITsForQualificationTypeInput) SetNextToken(v string) *ListHITsForQualificationTypeInput {
  7184  	s.NextToken = &v
  7185  	return s
  7186  }
  7187  
  7188  // SetQualificationTypeId sets the QualificationTypeId field's value.
  7189  func (s *ListHITsForQualificationTypeInput) SetQualificationTypeId(v string) *ListHITsForQualificationTypeInput {
  7190  	s.QualificationTypeId = &v
  7191  	return s
  7192  }
  7193  
  7194  type ListHITsForQualificationTypeOutput struct {
  7195  	_ struct{} `type:"structure"`
  7196  
  7197  	// The list of HIT elements returned by the query.
  7198  	HITs []*HIT `type:"list"`
  7199  
  7200  	// If the previous response was incomplete (because there is more data to retrieve),
  7201  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7202  	// use this pagination token to retrieve the next set of results.
  7203  	NextToken *string `min:"1" type:"string"`
  7204  
  7205  	// The number of HITs on this page in the filtered results list, equivalent
  7206  	// to the number of HITs being returned by this call.
  7207  	NumResults *int64 `type:"integer"`
  7208  }
  7209  
  7210  // String returns the string representation.
  7211  //
  7212  // API parameter values that are decorated as "sensitive" in the API will not
  7213  // be included in the string output. The member name will be present, but the
  7214  // value will be replaced with "sensitive".
  7215  func (s ListHITsForQualificationTypeOutput) String() string {
  7216  	return awsutil.Prettify(s)
  7217  }
  7218  
  7219  // GoString returns the string representation.
  7220  //
  7221  // API parameter values that are decorated as "sensitive" in the API will not
  7222  // be included in the string output. The member name will be present, but the
  7223  // value will be replaced with "sensitive".
  7224  func (s ListHITsForQualificationTypeOutput) GoString() string {
  7225  	return s.String()
  7226  }
  7227  
  7228  // SetHITs sets the HITs field's value.
  7229  func (s *ListHITsForQualificationTypeOutput) SetHITs(v []*HIT) *ListHITsForQualificationTypeOutput {
  7230  	s.HITs = v
  7231  	return s
  7232  }
  7233  
  7234  // SetNextToken sets the NextToken field's value.
  7235  func (s *ListHITsForQualificationTypeOutput) SetNextToken(v string) *ListHITsForQualificationTypeOutput {
  7236  	s.NextToken = &v
  7237  	return s
  7238  }
  7239  
  7240  // SetNumResults sets the NumResults field's value.
  7241  func (s *ListHITsForQualificationTypeOutput) SetNumResults(v int64) *ListHITsForQualificationTypeOutput {
  7242  	s.NumResults = &v
  7243  	return s
  7244  }
  7245  
  7246  type ListHITsInput struct {
  7247  	_ struct{} `type:"structure"`
  7248  
  7249  	MaxResults *int64 `min:"1" type:"integer"`
  7250  
  7251  	// Pagination token
  7252  	NextToken *string `min:"1" type:"string"`
  7253  }
  7254  
  7255  // String returns the string representation.
  7256  //
  7257  // API parameter values that are decorated as "sensitive" in the API will not
  7258  // be included in the string output. The member name will be present, but the
  7259  // value will be replaced with "sensitive".
  7260  func (s ListHITsInput) String() string {
  7261  	return awsutil.Prettify(s)
  7262  }
  7263  
  7264  // GoString 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 ListHITsInput) GoString() string {
  7270  	return s.String()
  7271  }
  7272  
  7273  // Validate inspects the fields of the type to determine if they are valid.
  7274  func (s *ListHITsInput) Validate() error {
  7275  	invalidParams := request.ErrInvalidParams{Context: "ListHITsInput"}
  7276  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7277  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7278  	}
  7279  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7280  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7281  	}
  7282  
  7283  	if invalidParams.Len() > 0 {
  7284  		return invalidParams
  7285  	}
  7286  	return nil
  7287  }
  7288  
  7289  // SetMaxResults sets the MaxResults field's value.
  7290  func (s *ListHITsInput) SetMaxResults(v int64) *ListHITsInput {
  7291  	s.MaxResults = &v
  7292  	return s
  7293  }
  7294  
  7295  // SetNextToken sets the NextToken field's value.
  7296  func (s *ListHITsInput) SetNextToken(v string) *ListHITsInput {
  7297  	s.NextToken = &v
  7298  	return s
  7299  }
  7300  
  7301  type ListHITsOutput struct {
  7302  	_ struct{} `type:"structure"`
  7303  
  7304  	// The list of HIT elements returned by the query.
  7305  	HITs []*HIT `type:"list"`
  7306  
  7307  	// If the previous response was incomplete (because there is more data to retrieve),
  7308  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7309  	// use this pagination token to retrieve the next set of results.
  7310  	NextToken *string `min:"1" type:"string"`
  7311  
  7312  	// The number of HITs on this page in the filtered results list, equivalent
  7313  	// to the number of HITs being returned by this call.
  7314  	NumResults *int64 `type:"integer"`
  7315  }
  7316  
  7317  // String returns the string representation.
  7318  //
  7319  // API parameter values that are decorated as "sensitive" in the API will not
  7320  // be included in the string output. The member name will be present, but the
  7321  // value will be replaced with "sensitive".
  7322  func (s ListHITsOutput) String() string {
  7323  	return awsutil.Prettify(s)
  7324  }
  7325  
  7326  // GoString returns the string representation.
  7327  //
  7328  // API parameter values that are decorated as "sensitive" in the API will not
  7329  // be included in the string output. The member name will be present, but the
  7330  // value will be replaced with "sensitive".
  7331  func (s ListHITsOutput) GoString() string {
  7332  	return s.String()
  7333  }
  7334  
  7335  // SetHITs sets the HITs field's value.
  7336  func (s *ListHITsOutput) SetHITs(v []*HIT) *ListHITsOutput {
  7337  	s.HITs = v
  7338  	return s
  7339  }
  7340  
  7341  // SetNextToken sets the NextToken field's value.
  7342  func (s *ListHITsOutput) SetNextToken(v string) *ListHITsOutput {
  7343  	s.NextToken = &v
  7344  	return s
  7345  }
  7346  
  7347  // SetNumResults sets the NumResults field's value.
  7348  func (s *ListHITsOutput) SetNumResults(v int64) *ListHITsOutput {
  7349  	s.NumResults = &v
  7350  	return s
  7351  }
  7352  
  7353  type ListQualificationRequestsInput struct {
  7354  	_ struct{} `type:"structure"`
  7355  
  7356  	// The maximum number of results to return in a single call.
  7357  	MaxResults *int64 `min:"1" type:"integer"`
  7358  
  7359  	// If the previous response was incomplete (because there is more data to retrieve),
  7360  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7361  	// use this pagination token to retrieve the next set of results.
  7362  	NextToken *string `min:"1" type:"string"`
  7363  
  7364  	// The ID of the QualificationType.
  7365  	QualificationTypeId *string `min:"1" type:"string"`
  7366  }
  7367  
  7368  // String returns the string representation.
  7369  //
  7370  // API parameter values that are decorated as "sensitive" in the API will not
  7371  // be included in the string output. The member name will be present, but the
  7372  // value will be replaced with "sensitive".
  7373  func (s ListQualificationRequestsInput) String() string {
  7374  	return awsutil.Prettify(s)
  7375  }
  7376  
  7377  // GoString returns the string representation.
  7378  //
  7379  // API parameter values that are decorated as "sensitive" in the API will not
  7380  // be included in the string output. The member name will be present, but the
  7381  // value will be replaced with "sensitive".
  7382  func (s ListQualificationRequestsInput) GoString() string {
  7383  	return s.String()
  7384  }
  7385  
  7386  // Validate inspects the fields of the type to determine if they are valid.
  7387  func (s *ListQualificationRequestsInput) Validate() error {
  7388  	invalidParams := request.ErrInvalidParams{Context: "ListQualificationRequestsInput"}
  7389  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7390  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7391  	}
  7392  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7393  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7394  	}
  7395  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  7396  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  7397  	}
  7398  
  7399  	if invalidParams.Len() > 0 {
  7400  		return invalidParams
  7401  	}
  7402  	return nil
  7403  }
  7404  
  7405  // SetMaxResults sets the MaxResults field's value.
  7406  func (s *ListQualificationRequestsInput) SetMaxResults(v int64) *ListQualificationRequestsInput {
  7407  	s.MaxResults = &v
  7408  	return s
  7409  }
  7410  
  7411  // SetNextToken sets the NextToken field's value.
  7412  func (s *ListQualificationRequestsInput) SetNextToken(v string) *ListQualificationRequestsInput {
  7413  	s.NextToken = &v
  7414  	return s
  7415  }
  7416  
  7417  // SetQualificationTypeId sets the QualificationTypeId field's value.
  7418  func (s *ListQualificationRequestsInput) SetQualificationTypeId(v string) *ListQualificationRequestsInput {
  7419  	s.QualificationTypeId = &v
  7420  	return s
  7421  }
  7422  
  7423  type ListQualificationRequestsOutput struct {
  7424  	_ struct{} `type:"structure"`
  7425  
  7426  	// If the previous response was incomplete (because there is more data to retrieve),
  7427  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7428  	// use this pagination token to retrieve the next set of results.
  7429  	NextToken *string `min:"1" type:"string"`
  7430  
  7431  	// The number of Qualification requests on this page in the filtered results
  7432  	// list, equivalent to the number of Qualification requests being returned by
  7433  	// this call.
  7434  	NumResults *int64 `type:"integer"`
  7435  
  7436  	// The Qualification request. The response includes one QualificationRequest
  7437  	// element for each Qualification request returned by the query.
  7438  	QualificationRequests []*QualificationRequest `type:"list"`
  7439  }
  7440  
  7441  // String returns the string representation.
  7442  //
  7443  // API parameter values that are decorated as "sensitive" in the API will not
  7444  // be included in the string output. The member name will be present, but the
  7445  // value will be replaced with "sensitive".
  7446  func (s ListQualificationRequestsOutput) String() string {
  7447  	return awsutil.Prettify(s)
  7448  }
  7449  
  7450  // GoString returns the string representation.
  7451  //
  7452  // API parameter values that are decorated as "sensitive" in the API will not
  7453  // be included in the string output. The member name will be present, but the
  7454  // value will be replaced with "sensitive".
  7455  func (s ListQualificationRequestsOutput) GoString() string {
  7456  	return s.String()
  7457  }
  7458  
  7459  // SetNextToken sets the NextToken field's value.
  7460  func (s *ListQualificationRequestsOutput) SetNextToken(v string) *ListQualificationRequestsOutput {
  7461  	s.NextToken = &v
  7462  	return s
  7463  }
  7464  
  7465  // SetNumResults sets the NumResults field's value.
  7466  func (s *ListQualificationRequestsOutput) SetNumResults(v int64) *ListQualificationRequestsOutput {
  7467  	s.NumResults = &v
  7468  	return s
  7469  }
  7470  
  7471  // SetQualificationRequests sets the QualificationRequests field's value.
  7472  func (s *ListQualificationRequestsOutput) SetQualificationRequests(v []*QualificationRequest) *ListQualificationRequestsOutput {
  7473  	s.QualificationRequests = v
  7474  	return s
  7475  }
  7476  
  7477  type ListQualificationTypesInput struct {
  7478  	_ struct{} `type:"structure"`
  7479  
  7480  	// The maximum number of results to return in a single call.
  7481  	MaxResults *int64 `min:"1" type:"integer"`
  7482  
  7483  	// Specifies that only Qualification types that the Requester created are returned.
  7484  	// If false, the operation returns all Qualification types.
  7485  	MustBeOwnedByCaller *bool `type:"boolean"`
  7486  
  7487  	// Specifies that only Qualification types that a user can request through the
  7488  	// Amazon Mechanical Turk web site, such as by taking a Qualification test,
  7489  	// are returned as results of the search. Some Qualification types, such as
  7490  	// those assigned automatically by the system, cannot be requested directly
  7491  	// by users. If false, all Qualification types, including those managed by the
  7492  	// system, are considered. Valid values are True | False.
  7493  	//
  7494  	// MustBeRequestable is a required field
  7495  	MustBeRequestable *bool `type:"boolean" required:"true"`
  7496  
  7497  	// If the previous response was incomplete (because there is more data to retrieve),
  7498  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7499  	// use this pagination token to retrieve the next set of results.
  7500  	NextToken *string `min:"1" type:"string"`
  7501  
  7502  	// A text query against all of the searchable attributes of Qualification types.
  7503  	Query *string `type:"string"`
  7504  }
  7505  
  7506  // String returns the string representation.
  7507  //
  7508  // API parameter values that are decorated as "sensitive" in the API will not
  7509  // be included in the string output. The member name will be present, but the
  7510  // value will be replaced with "sensitive".
  7511  func (s ListQualificationTypesInput) String() string {
  7512  	return awsutil.Prettify(s)
  7513  }
  7514  
  7515  // GoString returns the string representation.
  7516  //
  7517  // API parameter values that are decorated as "sensitive" in the API will not
  7518  // be included in the string output. The member name will be present, but the
  7519  // value will be replaced with "sensitive".
  7520  func (s ListQualificationTypesInput) GoString() string {
  7521  	return s.String()
  7522  }
  7523  
  7524  // Validate inspects the fields of the type to determine if they are valid.
  7525  func (s *ListQualificationTypesInput) Validate() error {
  7526  	invalidParams := request.ErrInvalidParams{Context: "ListQualificationTypesInput"}
  7527  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7528  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7529  	}
  7530  	if s.MustBeRequestable == nil {
  7531  		invalidParams.Add(request.NewErrParamRequired("MustBeRequestable"))
  7532  	}
  7533  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7534  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7535  	}
  7536  
  7537  	if invalidParams.Len() > 0 {
  7538  		return invalidParams
  7539  	}
  7540  	return nil
  7541  }
  7542  
  7543  // SetMaxResults sets the MaxResults field's value.
  7544  func (s *ListQualificationTypesInput) SetMaxResults(v int64) *ListQualificationTypesInput {
  7545  	s.MaxResults = &v
  7546  	return s
  7547  }
  7548  
  7549  // SetMustBeOwnedByCaller sets the MustBeOwnedByCaller field's value.
  7550  func (s *ListQualificationTypesInput) SetMustBeOwnedByCaller(v bool) *ListQualificationTypesInput {
  7551  	s.MustBeOwnedByCaller = &v
  7552  	return s
  7553  }
  7554  
  7555  // SetMustBeRequestable sets the MustBeRequestable field's value.
  7556  func (s *ListQualificationTypesInput) SetMustBeRequestable(v bool) *ListQualificationTypesInput {
  7557  	s.MustBeRequestable = &v
  7558  	return s
  7559  }
  7560  
  7561  // SetNextToken sets the NextToken field's value.
  7562  func (s *ListQualificationTypesInput) SetNextToken(v string) *ListQualificationTypesInput {
  7563  	s.NextToken = &v
  7564  	return s
  7565  }
  7566  
  7567  // SetQuery sets the Query field's value.
  7568  func (s *ListQualificationTypesInput) SetQuery(v string) *ListQualificationTypesInput {
  7569  	s.Query = &v
  7570  	return s
  7571  }
  7572  
  7573  type ListQualificationTypesOutput struct {
  7574  	_ struct{} `type:"structure"`
  7575  
  7576  	// If the previous response was incomplete (because there is more data to retrieve),
  7577  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7578  	// use this pagination token to retrieve the next set of results.
  7579  	NextToken *string `min:"1" type:"string"`
  7580  
  7581  	// The number of Qualification types on this page in the filtered results list,
  7582  	// equivalent to the number of types this operation returns.
  7583  	NumResults *int64 `type:"integer"`
  7584  
  7585  	// The list of QualificationType elements returned by the query.
  7586  	QualificationTypes []*QualificationType `type:"list"`
  7587  }
  7588  
  7589  // String returns the string representation.
  7590  //
  7591  // API parameter values that are decorated as "sensitive" in the API will not
  7592  // be included in the string output. The member name will be present, but the
  7593  // value will be replaced with "sensitive".
  7594  func (s ListQualificationTypesOutput) String() string {
  7595  	return awsutil.Prettify(s)
  7596  }
  7597  
  7598  // GoString returns the string representation.
  7599  //
  7600  // API parameter values that are decorated as "sensitive" in the API will not
  7601  // be included in the string output. The member name will be present, but the
  7602  // value will be replaced with "sensitive".
  7603  func (s ListQualificationTypesOutput) GoString() string {
  7604  	return s.String()
  7605  }
  7606  
  7607  // SetNextToken sets the NextToken field's value.
  7608  func (s *ListQualificationTypesOutput) SetNextToken(v string) *ListQualificationTypesOutput {
  7609  	s.NextToken = &v
  7610  	return s
  7611  }
  7612  
  7613  // SetNumResults sets the NumResults field's value.
  7614  func (s *ListQualificationTypesOutput) SetNumResults(v int64) *ListQualificationTypesOutput {
  7615  	s.NumResults = &v
  7616  	return s
  7617  }
  7618  
  7619  // SetQualificationTypes sets the QualificationTypes field's value.
  7620  func (s *ListQualificationTypesOutput) SetQualificationTypes(v []*QualificationType) *ListQualificationTypesOutput {
  7621  	s.QualificationTypes = v
  7622  	return s
  7623  }
  7624  
  7625  type ListReviewPolicyResultsForHITInput struct {
  7626  	_ struct{} `type:"structure"`
  7627  
  7628  	// The unique identifier of the HIT to retrieve review results for.
  7629  	//
  7630  	// HITId is a required field
  7631  	HITId *string `min:"1" type:"string" required:"true"`
  7632  
  7633  	// Limit the number of results returned.
  7634  	MaxResults *int64 `min:"1" type:"integer"`
  7635  
  7636  	// Pagination token
  7637  	NextToken *string `min:"1" type:"string"`
  7638  
  7639  	// The Policy Level(s) to retrieve review results for - HIT or Assignment. If
  7640  	// omitted, the default behavior is to retrieve all data for both policy levels.
  7641  	// For a list of all the described policies, see Review Policies.
  7642  	PolicyLevels []*string `type:"list"`
  7643  
  7644  	// Specify if the operation should retrieve a list of the actions taken executing
  7645  	// the Review Policies and their outcomes.
  7646  	RetrieveActions *bool `type:"boolean"`
  7647  
  7648  	// Specify if the operation should retrieve a list of the results computed by
  7649  	// the Review Policies.
  7650  	RetrieveResults *bool `type:"boolean"`
  7651  }
  7652  
  7653  // String returns the string representation.
  7654  //
  7655  // API parameter values that are decorated as "sensitive" in the API will not
  7656  // be included in the string output. The member name will be present, but the
  7657  // value will be replaced with "sensitive".
  7658  func (s ListReviewPolicyResultsForHITInput) String() string {
  7659  	return awsutil.Prettify(s)
  7660  }
  7661  
  7662  // GoString returns the string representation.
  7663  //
  7664  // API parameter values that are decorated as "sensitive" in the API will not
  7665  // be included in the string output. The member name will be present, but the
  7666  // value will be replaced with "sensitive".
  7667  func (s ListReviewPolicyResultsForHITInput) GoString() string {
  7668  	return s.String()
  7669  }
  7670  
  7671  // Validate inspects the fields of the type to determine if they are valid.
  7672  func (s *ListReviewPolicyResultsForHITInput) Validate() error {
  7673  	invalidParams := request.ErrInvalidParams{Context: "ListReviewPolicyResultsForHITInput"}
  7674  	if s.HITId == nil {
  7675  		invalidParams.Add(request.NewErrParamRequired("HITId"))
  7676  	}
  7677  	if s.HITId != nil && len(*s.HITId) < 1 {
  7678  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  7679  	}
  7680  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7681  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7682  	}
  7683  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7684  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7685  	}
  7686  
  7687  	if invalidParams.Len() > 0 {
  7688  		return invalidParams
  7689  	}
  7690  	return nil
  7691  }
  7692  
  7693  // SetHITId sets the HITId field's value.
  7694  func (s *ListReviewPolicyResultsForHITInput) SetHITId(v string) *ListReviewPolicyResultsForHITInput {
  7695  	s.HITId = &v
  7696  	return s
  7697  }
  7698  
  7699  // SetMaxResults sets the MaxResults field's value.
  7700  func (s *ListReviewPolicyResultsForHITInput) SetMaxResults(v int64) *ListReviewPolicyResultsForHITInput {
  7701  	s.MaxResults = &v
  7702  	return s
  7703  }
  7704  
  7705  // SetNextToken sets the NextToken field's value.
  7706  func (s *ListReviewPolicyResultsForHITInput) SetNextToken(v string) *ListReviewPolicyResultsForHITInput {
  7707  	s.NextToken = &v
  7708  	return s
  7709  }
  7710  
  7711  // SetPolicyLevels sets the PolicyLevels field's value.
  7712  func (s *ListReviewPolicyResultsForHITInput) SetPolicyLevels(v []*string) *ListReviewPolicyResultsForHITInput {
  7713  	s.PolicyLevels = v
  7714  	return s
  7715  }
  7716  
  7717  // SetRetrieveActions sets the RetrieveActions field's value.
  7718  func (s *ListReviewPolicyResultsForHITInput) SetRetrieveActions(v bool) *ListReviewPolicyResultsForHITInput {
  7719  	s.RetrieveActions = &v
  7720  	return s
  7721  }
  7722  
  7723  // SetRetrieveResults sets the RetrieveResults field's value.
  7724  func (s *ListReviewPolicyResultsForHITInput) SetRetrieveResults(v bool) *ListReviewPolicyResultsForHITInput {
  7725  	s.RetrieveResults = &v
  7726  	return s
  7727  }
  7728  
  7729  type ListReviewPolicyResultsForHITOutput struct {
  7730  	_ struct{} `type:"structure"`
  7731  
  7732  	// The name of the Assignment-level Review Policy. This contains only the PolicyName
  7733  	// element.
  7734  	AssignmentReviewPolicy *ReviewPolicy `type:"structure"`
  7735  
  7736  	// Contains both ReviewResult and ReviewAction elements for an Assignment.
  7737  	AssignmentReviewReport *ReviewReport `type:"structure"`
  7738  
  7739  	// The HITId of the HIT for which results have been returned.
  7740  	HITId *string `min:"1" type:"string"`
  7741  
  7742  	// The name of the HIT-level Review Policy. This contains only the PolicyName
  7743  	// element.
  7744  	HITReviewPolicy *ReviewPolicy `type:"structure"`
  7745  
  7746  	// Contains both ReviewResult and ReviewAction elements for a particular HIT.
  7747  	HITReviewReport *ReviewReport `type:"structure"`
  7748  
  7749  	// If the previous response was incomplete (because there is more data to retrieve),
  7750  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7751  	// use this pagination token to retrieve the next set of results.
  7752  	NextToken *string `min:"1" type:"string"`
  7753  }
  7754  
  7755  // String 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 ListReviewPolicyResultsForHITOutput) String() string {
  7761  	return awsutil.Prettify(s)
  7762  }
  7763  
  7764  // GoString returns the string representation.
  7765  //
  7766  // API parameter values that are decorated as "sensitive" in the API will not
  7767  // be included in the string output. The member name will be present, but the
  7768  // value will be replaced with "sensitive".
  7769  func (s ListReviewPolicyResultsForHITOutput) GoString() string {
  7770  	return s.String()
  7771  }
  7772  
  7773  // SetAssignmentReviewPolicy sets the AssignmentReviewPolicy field's value.
  7774  func (s *ListReviewPolicyResultsForHITOutput) SetAssignmentReviewPolicy(v *ReviewPolicy) *ListReviewPolicyResultsForHITOutput {
  7775  	s.AssignmentReviewPolicy = v
  7776  	return s
  7777  }
  7778  
  7779  // SetAssignmentReviewReport sets the AssignmentReviewReport field's value.
  7780  func (s *ListReviewPolicyResultsForHITOutput) SetAssignmentReviewReport(v *ReviewReport) *ListReviewPolicyResultsForHITOutput {
  7781  	s.AssignmentReviewReport = v
  7782  	return s
  7783  }
  7784  
  7785  // SetHITId sets the HITId field's value.
  7786  func (s *ListReviewPolicyResultsForHITOutput) SetHITId(v string) *ListReviewPolicyResultsForHITOutput {
  7787  	s.HITId = &v
  7788  	return s
  7789  }
  7790  
  7791  // SetHITReviewPolicy sets the HITReviewPolicy field's value.
  7792  func (s *ListReviewPolicyResultsForHITOutput) SetHITReviewPolicy(v *ReviewPolicy) *ListReviewPolicyResultsForHITOutput {
  7793  	s.HITReviewPolicy = v
  7794  	return s
  7795  }
  7796  
  7797  // SetHITReviewReport sets the HITReviewReport field's value.
  7798  func (s *ListReviewPolicyResultsForHITOutput) SetHITReviewReport(v *ReviewReport) *ListReviewPolicyResultsForHITOutput {
  7799  	s.HITReviewReport = v
  7800  	return s
  7801  }
  7802  
  7803  // SetNextToken sets the NextToken field's value.
  7804  func (s *ListReviewPolicyResultsForHITOutput) SetNextToken(v string) *ListReviewPolicyResultsForHITOutput {
  7805  	s.NextToken = &v
  7806  	return s
  7807  }
  7808  
  7809  type ListReviewableHITsInput struct {
  7810  	_ struct{} `type:"structure"`
  7811  
  7812  	// The ID of the HIT type of the HITs to consider for the query. If not specified,
  7813  	// all HITs for the Reviewer are considered
  7814  	HITTypeId *string `min:"1" type:"string"`
  7815  
  7816  	// Limit the number of results returned.
  7817  	MaxResults *int64 `min:"1" type:"integer"`
  7818  
  7819  	// Pagination Token
  7820  	NextToken *string `min:"1" type:"string"`
  7821  
  7822  	// Can be either Reviewable or Reviewing. Reviewable is the default value.
  7823  	Status *string `type:"string" enum:"ReviewableHITStatus"`
  7824  }
  7825  
  7826  // String returns the string representation.
  7827  //
  7828  // API parameter values that are decorated as "sensitive" in the API will not
  7829  // be included in the string output. The member name will be present, but the
  7830  // value will be replaced with "sensitive".
  7831  func (s ListReviewableHITsInput) String() string {
  7832  	return awsutil.Prettify(s)
  7833  }
  7834  
  7835  // GoString returns the string representation.
  7836  //
  7837  // API parameter values that are decorated as "sensitive" in the API will not
  7838  // be included in the string output. The member name will be present, but the
  7839  // value will be replaced with "sensitive".
  7840  func (s ListReviewableHITsInput) GoString() string {
  7841  	return s.String()
  7842  }
  7843  
  7844  // Validate inspects the fields of the type to determine if they are valid.
  7845  func (s *ListReviewableHITsInput) Validate() error {
  7846  	invalidParams := request.ErrInvalidParams{Context: "ListReviewableHITsInput"}
  7847  	if s.HITTypeId != nil && len(*s.HITTypeId) < 1 {
  7848  		invalidParams.Add(request.NewErrParamMinLen("HITTypeId", 1))
  7849  	}
  7850  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7851  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7852  	}
  7853  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7854  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7855  	}
  7856  
  7857  	if invalidParams.Len() > 0 {
  7858  		return invalidParams
  7859  	}
  7860  	return nil
  7861  }
  7862  
  7863  // SetHITTypeId sets the HITTypeId field's value.
  7864  func (s *ListReviewableHITsInput) SetHITTypeId(v string) *ListReviewableHITsInput {
  7865  	s.HITTypeId = &v
  7866  	return s
  7867  }
  7868  
  7869  // SetMaxResults sets the MaxResults field's value.
  7870  func (s *ListReviewableHITsInput) SetMaxResults(v int64) *ListReviewableHITsInput {
  7871  	s.MaxResults = &v
  7872  	return s
  7873  }
  7874  
  7875  // SetNextToken sets the NextToken field's value.
  7876  func (s *ListReviewableHITsInput) SetNextToken(v string) *ListReviewableHITsInput {
  7877  	s.NextToken = &v
  7878  	return s
  7879  }
  7880  
  7881  // SetStatus sets the Status field's value.
  7882  func (s *ListReviewableHITsInput) SetStatus(v string) *ListReviewableHITsInput {
  7883  	s.Status = &v
  7884  	return s
  7885  }
  7886  
  7887  type ListReviewableHITsOutput struct {
  7888  	_ struct{} `type:"structure"`
  7889  
  7890  	// The list of HIT elements returned by the query.
  7891  	HITs []*HIT `type:"list"`
  7892  
  7893  	// If the previous response was incomplete (because there is more data to retrieve),
  7894  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7895  	// use this pagination token to retrieve the next set of results.
  7896  	NextToken *string `min:"1" type:"string"`
  7897  
  7898  	// The number of HITs on this page in the filtered results list, equivalent
  7899  	// to the number of HITs being returned by this call.
  7900  	NumResults *int64 `type:"integer"`
  7901  }
  7902  
  7903  // String returns the string representation.
  7904  //
  7905  // API parameter values that are decorated as "sensitive" in the API will not
  7906  // be included in the string output. The member name will be present, but the
  7907  // value will be replaced with "sensitive".
  7908  func (s ListReviewableHITsOutput) String() string {
  7909  	return awsutil.Prettify(s)
  7910  }
  7911  
  7912  // GoString returns the string representation.
  7913  //
  7914  // API parameter values that are decorated as "sensitive" in the API will not
  7915  // be included in the string output. The member name will be present, but the
  7916  // value will be replaced with "sensitive".
  7917  func (s ListReviewableHITsOutput) GoString() string {
  7918  	return s.String()
  7919  }
  7920  
  7921  // SetHITs sets the HITs field's value.
  7922  func (s *ListReviewableHITsOutput) SetHITs(v []*HIT) *ListReviewableHITsOutput {
  7923  	s.HITs = v
  7924  	return s
  7925  }
  7926  
  7927  // SetNextToken sets the NextToken field's value.
  7928  func (s *ListReviewableHITsOutput) SetNextToken(v string) *ListReviewableHITsOutput {
  7929  	s.NextToken = &v
  7930  	return s
  7931  }
  7932  
  7933  // SetNumResults sets the NumResults field's value.
  7934  func (s *ListReviewableHITsOutput) SetNumResults(v int64) *ListReviewableHITsOutput {
  7935  	s.NumResults = &v
  7936  	return s
  7937  }
  7938  
  7939  type ListWorkerBlocksInput struct {
  7940  	_ struct{} `type:"structure"`
  7941  
  7942  	MaxResults *int64 `min:"1" type:"integer"`
  7943  
  7944  	// Pagination token
  7945  	NextToken *string `min:"1" type:"string"`
  7946  }
  7947  
  7948  // String returns the string representation.
  7949  //
  7950  // API parameter values that are decorated as "sensitive" in the API will not
  7951  // be included in the string output. The member name will be present, but the
  7952  // value will be replaced with "sensitive".
  7953  func (s ListWorkerBlocksInput) String() string {
  7954  	return awsutil.Prettify(s)
  7955  }
  7956  
  7957  // GoString returns the string representation.
  7958  //
  7959  // API parameter values that are decorated as "sensitive" in the API will not
  7960  // be included in the string output. The member name will be present, but the
  7961  // value will be replaced with "sensitive".
  7962  func (s ListWorkerBlocksInput) GoString() string {
  7963  	return s.String()
  7964  }
  7965  
  7966  // Validate inspects the fields of the type to determine if they are valid.
  7967  func (s *ListWorkerBlocksInput) Validate() error {
  7968  	invalidParams := request.ErrInvalidParams{Context: "ListWorkerBlocksInput"}
  7969  	if s.MaxResults != nil && *s.MaxResults < 1 {
  7970  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  7971  	}
  7972  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  7973  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  7974  	}
  7975  
  7976  	if invalidParams.Len() > 0 {
  7977  		return invalidParams
  7978  	}
  7979  	return nil
  7980  }
  7981  
  7982  // SetMaxResults sets the MaxResults field's value.
  7983  func (s *ListWorkerBlocksInput) SetMaxResults(v int64) *ListWorkerBlocksInput {
  7984  	s.MaxResults = &v
  7985  	return s
  7986  }
  7987  
  7988  // SetNextToken sets the NextToken field's value.
  7989  func (s *ListWorkerBlocksInput) SetNextToken(v string) *ListWorkerBlocksInput {
  7990  	s.NextToken = &v
  7991  	return s
  7992  }
  7993  
  7994  type ListWorkerBlocksOutput struct {
  7995  	_ struct{} `type:"structure"`
  7996  
  7997  	// If the previous response was incomplete (because there is more data to retrieve),
  7998  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  7999  	// use this pagination token to retrieve the next set of results.
  8000  	NextToken *string `min:"1" type:"string"`
  8001  
  8002  	// The number of assignments on the page in the filtered results list, equivalent
  8003  	// to the number of assignments returned by this call.
  8004  	NumResults *int64 `type:"integer"`
  8005  
  8006  	// The list of WorkerBlocks, containing the collection of Worker IDs and reasons
  8007  	// for blocking.
  8008  	WorkerBlocks []*WorkerBlock `type:"list"`
  8009  }
  8010  
  8011  // String returns the string representation.
  8012  //
  8013  // API parameter values that are decorated as "sensitive" in the API will not
  8014  // be included in the string output. The member name will be present, but the
  8015  // value will be replaced with "sensitive".
  8016  func (s ListWorkerBlocksOutput) String() string {
  8017  	return awsutil.Prettify(s)
  8018  }
  8019  
  8020  // GoString returns the string representation.
  8021  //
  8022  // API parameter values that are decorated as "sensitive" in the API will not
  8023  // be included in the string output. The member name will be present, but the
  8024  // value will be replaced with "sensitive".
  8025  func (s ListWorkerBlocksOutput) GoString() string {
  8026  	return s.String()
  8027  }
  8028  
  8029  // SetNextToken sets the NextToken field's value.
  8030  func (s *ListWorkerBlocksOutput) SetNextToken(v string) *ListWorkerBlocksOutput {
  8031  	s.NextToken = &v
  8032  	return s
  8033  }
  8034  
  8035  // SetNumResults sets the NumResults field's value.
  8036  func (s *ListWorkerBlocksOutput) SetNumResults(v int64) *ListWorkerBlocksOutput {
  8037  	s.NumResults = &v
  8038  	return s
  8039  }
  8040  
  8041  // SetWorkerBlocks sets the WorkerBlocks field's value.
  8042  func (s *ListWorkerBlocksOutput) SetWorkerBlocks(v []*WorkerBlock) *ListWorkerBlocksOutput {
  8043  	s.WorkerBlocks = v
  8044  	return s
  8045  }
  8046  
  8047  type ListWorkersWithQualificationTypeInput struct {
  8048  	_ struct{} `type:"structure"`
  8049  
  8050  	// Limit the number of results returned.
  8051  	MaxResults *int64 `min:"1" type:"integer"`
  8052  
  8053  	// Pagination Token
  8054  	NextToken *string `min:"1" type:"string"`
  8055  
  8056  	// The ID of the Qualification type of the Qualifications to return.
  8057  	//
  8058  	// QualificationTypeId is a required field
  8059  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
  8060  
  8061  	// The status of the Qualifications to return. Can be Granted | Revoked.
  8062  	Status *string `type:"string" enum:"QualificationStatus"`
  8063  }
  8064  
  8065  // String returns the string representation.
  8066  //
  8067  // API parameter values that are decorated as "sensitive" in the API will not
  8068  // be included in the string output. The member name will be present, but the
  8069  // value will be replaced with "sensitive".
  8070  func (s ListWorkersWithQualificationTypeInput) String() string {
  8071  	return awsutil.Prettify(s)
  8072  }
  8073  
  8074  // GoString returns the string representation.
  8075  //
  8076  // API parameter values that are decorated as "sensitive" in the API will not
  8077  // be included in the string output. The member name will be present, but the
  8078  // value will be replaced with "sensitive".
  8079  func (s ListWorkersWithQualificationTypeInput) GoString() string {
  8080  	return s.String()
  8081  }
  8082  
  8083  // Validate inspects the fields of the type to determine if they are valid.
  8084  func (s *ListWorkersWithQualificationTypeInput) Validate() error {
  8085  	invalidParams := request.ErrInvalidParams{Context: "ListWorkersWithQualificationTypeInput"}
  8086  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8087  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8088  	}
  8089  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  8090  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  8091  	}
  8092  	if s.QualificationTypeId == nil {
  8093  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  8094  	}
  8095  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
  8096  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
  8097  	}
  8098  
  8099  	if invalidParams.Len() > 0 {
  8100  		return invalidParams
  8101  	}
  8102  	return nil
  8103  }
  8104  
  8105  // SetMaxResults sets the MaxResults field's value.
  8106  func (s *ListWorkersWithQualificationTypeInput) SetMaxResults(v int64) *ListWorkersWithQualificationTypeInput {
  8107  	s.MaxResults = &v
  8108  	return s
  8109  }
  8110  
  8111  // SetNextToken sets the NextToken field's value.
  8112  func (s *ListWorkersWithQualificationTypeInput) SetNextToken(v string) *ListWorkersWithQualificationTypeInput {
  8113  	s.NextToken = &v
  8114  	return s
  8115  }
  8116  
  8117  // SetQualificationTypeId sets the QualificationTypeId field's value.
  8118  func (s *ListWorkersWithQualificationTypeInput) SetQualificationTypeId(v string) *ListWorkersWithQualificationTypeInput {
  8119  	s.QualificationTypeId = &v
  8120  	return s
  8121  }
  8122  
  8123  // SetStatus sets the Status field's value.
  8124  func (s *ListWorkersWithQualificationTypeInput) SetStatus(v string) *ListWorkersWithQualificationTypeInput {
  8125  	s.Status = &v
  8126  	return s
  8127  }
  8128  
  8129  type ListWorkersWithQualificationTypeOutput struct {
  8130  	_ struct{} `type:"structure"`
  8131  
  8132  	// If the previous response was incomplete (because there is more data to retrieve),
  8133  	// Amazon Mechanical Turk returns a pagination token in the response. You can
  8134  	// use this pagination token to retrieve the next set of results.
  8135  	NextToken *string `min:"1" type:"string"`
  8136  
  8137  	// The number of Qualifications on this page in the filtered results list, equivalent
  8138  	// to the number of Qualifications being returned by this call.
  8139  	NumResults *int64 `type:"integer"`
  8140  
  8141  	// The list of Qualification elements returned by this call.
  8142  	Qualifications []*Qualification `type:"list"`
  8143  }
  8144  
  8145  // String returns the string representation.
  8146  //
  8147  // API parameter values that are decorated as "sensitive" in the API will not
  8148  // be included in the string output. The member name will be present, but the
  8149  // value will be replaced with "sensitive".
  8150  func (s ListWorkersWithQualificationTypeOutput) String() string {
  8151  	return awsutil.Prettify(s)
  8152  }
  8153  
  8154  // GoString returns the string representation.
  8155  //
  8156  // API parameter values that are decorated as "sensitive" in the API will not
  8157  // be included in the string output. The member name will be present, but the
  8158  // value will be replaced with "sensitive".
  8159  func (s ListWorkersWithQualificationTypeOutput) GoString() string {
  8160  	return s.String()
  8161  }
  8162  
  8163  // SetNextToken sets the NextToken field's value.
  8164  func (s *ListWorkersWithQualificationTypeOutput) SetNextToken(v string) *ListWorkersWithQualificationTypeOutput {
  8165  	s.NextToken = &v
  8166  	return s
  8167  }
  8168  
  8169  // SetNumResults sets the NumResults field's value.
  8170  func (s *ListWorkersWithQualificationTypeOutput) SetNumResults(v int64) *ListWorkersWithQualificationTypeOutput {
  8171  	s.NumResults = &v
  8172  	return s
  8173  }
  8174  
  8175  // SetQualifications sets the Qualifications field's value.
  8176  func (s *ListWorkersWithQualificationTypeOutput) SetQualifications(v []*Qualification) *ListWorkersWithQualificationTypeOutput {
  8177  	s.Qualifications = v
  8178  	return s
  8179  }
  8180  
  8181  // The Locale data structure represents a geographical region or location.
  8182  type Locale struct {
  8183  	_ struct{} `type:"structure"`
  8184  
  8185  	// The country of the locale. Must be a valid ISO 3166 country code. For example,
  8186  	// the code US refers to the United States of America.
  8187  	//
  8188  	// Country is a required field
  8189  	Country *string `min:"2" type:"string" required:"true"`
  8190  
  8191  	// The state or subdivision of the locale. A valid ISO 3166-2 subdivision code.
  8192  	// For example, the code WA refers to the state of Washington.
  8193  	Subdivision *string `min:"2" type:"string"`
  8194  }
  8195  
  8196  // String returns the string representation.
  8197  //
  8198  // API parameter values that are decorated as "sensitive" in the API will not
  8199  // be included in the string output. The member name will be present, but the
  8200  // value will be replaced with "sensitive".
  8201  func (s Locale) String() string {
  8202  	return awsutil.Prettify(s)
  8203  }
  8204  
  8205  // GoString returns the string representation.
  8206  //
  8207  // API parameter values that are decorated as "sensitive" in the API will not
  8208  // be included in the string output. The member name will be present, but the
  8209  // value will be replaced with "sensitive".
  8210  func (s Locale) GoString() string {
  8211  	return s.String()
  8212  }
  8213  
  8214  // Validate inspects the fields of the type to determine if they are valid.
  8215  func (s *Locale) Validate() error {
  8216  	invalidParams := request.ErrInvalidParams{Context: "Locale"}
  8217  	if s.Country == nil {
  8218  		invalidParams.Add(request.NewErrParamRequired("Country"))
  8219  	}
  8220  	if s.Country != nil && len(*s.Country) < 2 {
  8221  		invalidParams.Add(request.NewErrParamMinLen("Country", 2))
  8222  	}
  8223  	if s.Subdivision != nil && len(*s.Subdivision) < 2 {
  8224  		invalidParams.Add(request.NewErrParamMinLen("Subdivision", 2))
  8225  	}
  8226  
  8227  	if invalidParams.Len() > 0 {
  8228  		return invalidParams
  8229  	}
  8230  	return nil
  8231  }
  8232  
  8233  // SetCountry sets the Country field's value.
  8234  func (s *Locale) SetCountry(v string) *Locale {
  8235  	s.Country = &v
  8236  	return s
  8237  }
  8238  
  8239  // SetSubdivision sets the Subdivision field's value.
  8240  func (s *Locale) SetSubdivision(v string) *Locale {
  8241  	s.Subdivision = &v
  8242  	return s
  8243  }
  8244  
  8245  // The NotificationSpecification data structure describes a HIT event notification
  8246  // for a HIT type.
  8247  type NotificationSpecification struct {
  8248  	_ struct{} `type:"structure"`
  8249  
  8250  	// The target for notification messages. The Destination’s format is determined
  8251  	// by the specified Transport:
  8252  	//
  8253  	//    * When Transport is Email, the Destination is your email address.
  8254  	//
  8255  	//    * When Transport is SQS, the Destination is your queue URL.
  8256  	//
  8257  	//    * When Transport is SNS, the Destination is the ARN of your topic.
  8258  	//
  8259  	// Destination is a required field
  8260  	Destination *string `type:"string" required:"true"`
  8261  
  8262  	// The list of events that should cause notifications to be sent. Valid Values:
  8263  	// AssignmentAccepted | AssignmentAbandoned | AssignmentReturned | AssignmentSubmitted
  8264  	// | AssignmentRejected | AssignmentApproved | HITCreated | HITExtended | HITDisposed
  8265  	// | HITReviewable | HITExpired | Ping. The Ping event is only valid for the
  8266  	// SendTestEventNotification operation.
  8267  	//
  8268  	// EventTypes is a required field
  8269  	EventTypes []*string `type:"list" required:"true"`
  8270  
  8271  	// The method Amazon Mechanical Turk uses to send the notification. Valid Values:
  8272  	// Email | SQS | SNS.
  8273  	//
  8274  	// Transport is a required field
  8275  	Transport *string `type:"string" required:"true" enum:"NotificationTransport"`
  8276  
  8277  	// The version of the Notification API to use. Valid value is 2006-05-05.
  8278  	//
  8279  	// Version is a required field
  8280  	Version *string `type:"string" required:"true"`
  8281  }
  8282  
  8283  // String returns the string representation.
  8284  //
  8285  // API parameter values that are decorated as "sensitive" in the API will not
  8286  // be included in the string output. The member name will be present, but the
  8287  // value will be replaced with "sensitive".
  8288  func (s NotificationSpecification) String() string {
  8289  	return awsutil.Prettify(s)
  8290  }
  8291  
  8292  // GoString returns the string representation.
  8293  //
  8294  // API parameter values that are decorated as "sensitive" in the API will not
  8295  // be included in the string output. The member name will be present, but the
  8296  // value will be replaced with "sensitive".
  8297  func (s NotificationSpecification) GoString() string {
  8298  	return s.String()
  8299  }
  8300  
  8301  // Validate inspects the fields of the type to determine if they are valid.
  8302  func (s *NotificationSpecification) Validate() error {
  8303  	invalidParams := request.ErrInvalidParams{Context: "NotificationSpecification"}
  8304  	if s.Destination == nil {
  8305  		invalidParams.Add(request.NewErrParamRequired("Destination"))
  8306  	}
  8307  	if s.EventTypes == nil {
  8308  		invalidParams.Add(request.NewErrParamRequired("EventTypes"))
  8309  	}
  8310  	if s.Transport == nil {
  8311  		invalidParams.Add(request.NewErrParamRequired("Transport"))
  8312  	}
  8313  	if s.Version == nil {
  8314  		invalidParams.Add(request.NewErrParamRequired("Version"))
  8315  	}
  8316  
  8317  	if invalidParams.Len() > 0 {
  8318  		return invalidParams
  8319  	}
  8320  	return nil
  8321  }
  8322  
  8323  // SetDestination sets the Destination field's value.
  8324  func (s *NotificationSpecification) SetDestination(v string) *NotificationSpecification {
  8325  	s.Destination = &v
  8326  	return s
  8327  }
  8328  
  8329  // SetEventTypes sets the EventTypes field's value.
  8330  func (s *NotificationSpecification) SetEventTypes(v []*string) *NotificationSpecification {
  8331  	s.EventTypes = v
  8332  	return s
  8333  }
  8334  
  8335  // SetTransport sets the Transport field's value.
  8336  func (s *NotificationSpecification) SetTransport(v string) *NotificationSpecification {
  8337  	s.Transport = &v
  8338  	return s
  8339  }
  8340  
  8341  // SetVersion sets the Version field's value.
  8342  func (s *NotificationSpecification) SetVersion(v string) *NotificationSpecification {
  8343  	s.Version = &v
  8344  	return s
  8345  }
  8346  
  8347  // When MTurk encounters an issue with notifying the Workers you specified,
  8348  // it returns back this object with failure details.
  8349  type NotifyWorkersFailureStatus struct {
  8350  	_ struct{} `type:"structure"`
  8351  
  8352  	// Encoded value for the failure type.
  8353  	NotifyWorkersFailureCode *string `type:"string" enum:"NotifyWorkersFailureCode"`
  8354  
  8355  	// A message detailing the reason the Worker could not be notified.
  8356  	NotifyWorkersFailureMessage *string `type:"string"`
  8357  
  8358  	// The ID of the Worker.
  8359  	WorkerId *string `min:"1" type:"string"`
  8360  }
  8361  
  8362  // String returns the string representation.
  8363  //
  8364  // API parameter values that are decorated as "sensitive" in the API will not
  8365  // be included in the string output. The member name will be present, but the
  8366  // value will be replaced with "sensitive".
  8367  func (s NotifyWorkersFailureStatus) String() string {
  8368  	return awsutil.Prettify(s)
  8369  }
  8370  
  8371  // GoString returns the string representation.
  8372  //
  8373  // API parameter values that are decorated as "sensitive" in the API will not
  8374  // be included in the string output. The member name will be present, but the
  8375  // value will be replaced with "sensitive".
  8376  func (s NotifyWorkersFailureStatus) GoString() string {
  8377  	return s.String()
  8378  }
  8379  
  8380  // SetNotifyWorkersFailureCode sets the NotifyWorkersFailureCode field's value.
  8381  func (s *NotifyWorkersFailureStatus) SetNotifyWorkersFailureCode(v string) *NotifyWorkersFailureStatus {
  8382  	s.NotifyWorkersFailureCode = &v
  8383  	return s
  8384  }
  8385  
  8386  // SetNotifyWorkersFailureMessage sets the NotifyWorkersFailureMessage field's value.
  8387  func (s *NotifyWorkersFailureStatus) SetNotifyWorkersFailureMessage(v string) *NotifyWorkersFailureStatus {
  8388  	s.NotifyWorkersFailureMessage = &v
  8389  	return s
  8390  }
  8391  
  8392  // SetWorkerId sets the WorkerId field's value.
  8393  func (s *NotifyWorkersFailureStatus) SetWorkerId(v string) *NotifyWorkersFailureStatus {
  8394  	s.WorkerId = &v
  8395  	return s
  8396  }
  8397  
  8398  type NotifyWorkersInput struct {
  8399  	_ struct{} `type:"structure"`
  8400  
  8401  	// The text of the email message to send. Can include up to 4,096 characters
  8402  	//
  8403  	// MessageText is a required field
  8404  	MessageText *string `type:"string" required:"true"`
  8405  
  8406  	// The subject line of the email message to send. Can include up to 200 characters.
  8407  	//
  8408  	// Subject is a required field
  8409  	Subject *string `type:"string" required:"true"`
  8410  
  8411  	// A list of Worker IDs you wish to notify. You can notify upto 100 Workers
  8412  	// at a time.
  8413  	//
  8414  	// WorkerIds is a required field
  8415  	WorkerIds []*string `type:"list" required:"true"`
  8416  }
  8417  
  8418  // String returns the string representation.
  8419  //
  8420  // API parameter values that are decorated as "sensitive" in the API will not
  8421  // be included in the string output. The member name will be present, but the
  8422  // value will be replaced with "sensitive".
  8423  func (s NotifyWorkersInput) String() string {
  8424  	return awsutil.Prettify(s)
  8425  }
  8426  
  8427  // GoString returns the string representation.
  8428  //
  8429  // API parameter values that are decorated as "sensitive" in the API will not
  8430  // be included in the string output. The member name will be present, but the
  8431  // value will be replaced with "sensitive".
  8432  func (s NotifyWorkersInput) GoString() string {
  8433  	return s.String()
  8434  }
  8435  
  8436  // Validate inspects the fields of the type to determine if they are valid.
  8437  func (s *NotifyWorkersInput) Validate() error {
  8438  	invalidParams := request.ErrInvalidParams{Context: "NotifyWorkersInput"}
  8439  	if s.MessageText == nil {
  8440  		invalidParams.Add(request.NewErrParamRequired("MessageText"))
  8441  	}
  8442  	if s.Subject == nil {
  8443  		invalidParams.Add(request.NewErrParamRequired("Subject"))
  8444  	}
  8445  	if s.WorkerIds == nil {
  8446  		invalidParams.Add(request.NewErrParamRequired("WorkerIds"))
  8447  	}
  8448  
  8449  	if invalidParams.Len() > 0 {
  8450  		return invalidParams
  8451  	}
  8452  	return nil
  8453  }
  8454  
  8455  // SetMessageText sets the MessageText field's value.
  8456  func (s *NotifyWorkersInput) SetMessageText(v string) *NotifyWorkersInput {
  8457  	s.MessageText = &v
  8458  	return s
  8459  }
  8460  
  8461  // SetSubject sets the Subject field's value.
  8462  func (s *NotifyWorkersInput) SetSubject(v string) *NotifyWorkersInput {
  8463  	s.Subject = &v
  8464  	return s
  8465  }
  8466  
  8467  // SetWorkerIds sets the WorkerIds field's value.
  8468  func (s *NotifyWorkersInput) SetWorkerIds(v []*string) *NotifyWorkersInput {
  8469  	s.WorkerIds = v
  8470  	return s
  8471  }
  8472  
  8473  type NotifyWorkersOutput struct {
  8474  	_ struct{} `type:"structure"`
  8475  
  8476  	// When MTurk sends notifications to the list of Workers, it returns back any
  8477  	// failures it encounters in this list of NotifyWorkersFailureStatus objects.
  8478  	NotifyWorkersFailureStatuses []*NotifyWorkersFailureStatus `type:"list"`
  8479  }
  8480  
  8481  // String returns the string representation.
  8482  //
  8483  // API parameter values that are decorated as "sensitive" in the API will not
  8484  // be included in the string output. The member name will be present, but the
  8485  // value will be replaced with "sensitive".
  8486  func (s NotifyWorkersOutput) String() string {
  8487  	return awsutil.Prettify(s)
  8488  }
  8489  
  8490  // GoString returns the string representation.
  8491  //
  8492  // API parameter values that are decorated as "sensitive" in the API will not
  8493  // be included in the string output. The member name will be present, but the
  8494  // value will be replaced with "sensitive".
  8495  func (s NotifyWorkersOutput) GoString() string {
  8496  	return s.String()
  8497  }
  8498  
  8499  // SetNotifyWorkersFailureStatuses sets the NotifyWorkersFailureStatuses field's value.
  8500  func (s *NotifyWorkersOutput) SetNotifyWorkersFailureStatuses(v []*NotifyWorkersFailureStatus) *NotifyWorkersOutput {
  8501  	s.NotifyWorkersFailureStatuses = v
  8502  	return s
  8503  }
  8504  
  8505  // This data structure is the data type for the AnswerKey parameter of the ScoreMyKnownAnswers/2011-09-01
  8506  // Review Policy.
  8507  type ParameterMapEntry struct {
  8508  	_ struct{} `type:"structure"`
  8509  
  8510  	// The QuestionID from the HIT that is used to identify which question requires
  8511  	// Mechanical Turk to score as part of the ScoreMyKnownAnswers/2011-09-01 Review
  8512  	// Policy.
  8513  	Key *string `type:"string"`
  8514  
  8515  	// The list of answers to the question specified in the MapEntry Key element.
  8516  	// The Worker must match all values in order for the answer to be scored correctly.
  8517  	Values []*string `type:"list"`
  8518  }
  8519  
  8520  // String returns the string representation.
  8521  //
  8522  // API parameter values that are decorated as "sensitive" in the API will not
  8523  // be included in the string output. The member name will be present, but the
  8524  // value will be replaced with "sensitive".
  8525  func (s ParameterMapEntry) String() string {
  8526  	return awsutil.Prettify(s)
  8527  }
  8528  
  8529  // GoString returns the string representation.
  8530  //
  8531  // API parameter values that are decorated as "sensitive" in the API will not
  8532  // be included in the string output. The member name will be present, but the
  8533  // value will be replaced with "sensitive".
  8534  func (s ParameterMapEntry) GoString() string {
  8535  	return s.String()
  8536  }
  8537  
  8538  // SetKey sets the Key field's value.
  8539  func (s *ParameterMapEntry) SetKey(v string) *ParameterMapEntry {
  8540  	s.Key = &v
  8541  	return s
  8542  }
  8543  
  8544  // SetValues sets the Values field's value.
  8545  func (s *ParameterMapEntry) SetValues(v []*string) *ParameterMapEntry {
  8546  	s.Values = v
  8547  	return s
  8548  }
  8549  
  8550  // Name of the parameter from the Review policy.
  8551  type PolicyParameter struct {
  8552  	_ struct{} `type:"structure"`
  8553  
  8554  	// Name of the parameter from the list of Review Polices.
  8555  	Key *string `type:"string"`
  8556  
  8557  	// List of ParameterMapEntry objects.
  8558  	MapEntries []*ParameterMapEntry `type:"list"`
  8559  
  8560  	// The list of values of the Parameter
  8561  	Values []*string `type:"list"`
  8562  }
  8563  
  8564  // String returns the string representation.
  8565  //
  8566  // API parameter values that are decorated as "sensitive" in the API will not
  8567  // be included in the string output. The member name will be present, but the
  8568  // value will be replaced with "sensitive".
  8569  func (s PolicyParameter) String() string {
  8570  	return awsutil.Prettify(s)
  8571  }
  8572  
  8573  // GoString returns the string representation.
  8574  //
  8575  // API parameter values that are decorated as "sensitive" in the API will not
  8576  // be included in the string output. The member name will be present, but the
  8577  // value will be replaced with "sensitive".
  8578  func (s PolicyParameter) GoString() string {
  8579  	return s.String()
  8580  }
  8581  
  8582  // SetKey sets the Key field's value.
  8583  func (s *PolicyParameter) SetKey(v string) *PolicyParameter {
  8584  	s.Key = &v
  8585  	return s
  8586  }
  8587  
  8588  // SetMapEntries sets the MapEntries field's value.
  8589  func (s *PolicyParameter) SetMapEntries(v []*ParameterMapEntry) *PolicyParameter {
  8590  	s.MapEntries = v
  8591  	return s
  8592  }
  8593  
  8594  // SetValues sets the Values field's value.
  8595  func (s *PolicyParameter) SetValues(v []*string) *PolicyParameter {
  8596  	s.Values = v
  8597  	return s
  8598  }
  8599  
  8600  // The Qualification data structure represents a Qualification assigned to a
  8601  // user, including the Qualification type and the value (score).
  8602  type Qualification struct {
  8603  	_ struct{} `type:"structure"`
  8604  
  8605  	// The date and time the Qualification was granted to the Worker. If the Worker's
  8606  	// Qualification was revoked, and then re-granted based on a new Qualification
  8607  	// request, GrantTime is the date and time of the last call to the AcceptQualificationRequest
  8608  	// operation.
  8609  	GrantTime *time.Time `type:"timestamp"`
  8610  
  8611  	// The value (score) of the Qualification, if the Qualification has an integer
  8612  	// value.
  8613  	IntegerValue *int64 `type:"integer"`
  8614  
  8615  	// The Locale data structure represents a geographical region or location.
  8616  	LocaleValue *Locale `type:"structure"`
  8617  
  8618  	// The ID of the Qualification type for the Qualification.
  8619  	QualificationTypeId *string `min:"1" type:"string"`
  8620  
  8621  	// The status of the Qualification. Valid values are Granted | Revoked.
  8622  	Status *string `type:"string" enum:"QualificationStatus"`
  8623  
  8624  	// The ID of the Worker who possesses the Qualification.
  8625  	WorkerId *string `min:"1" type:"string"`
  8626  }
  8627  
  8628  // String returns the string representation.
  8629  //
  8630  // API parameter values that are decorated as "sensitive" in the API will not
  8631  // be included in the string output. The member name will be present, but the
  8632  // value will be replaced with "sensitive".
  8633  func (s Qualification) String() string {
  8634  	return awsutil.Prettify(s)
  8635  }
  8636  
  8637  // GoString returns the string representation.
  8638  //
  8639  // API parameter values that are decorated as "sensitive" in the API will not
  8640  // be included in the string output. The member name will be present, but the
  8641  // value will be replaced with "sensitive".
  8642  func (s Qualification) GoString() string {
  8643  	return s.String()
  8644  }
  8645  
  8646  // SetGrantTime sets the GrantTime field's value.
  8647  func (s *Qualification) SetGrantTime(v time.Time) *Qualification {
  8648  	s.GrantTime = &v
  8649  	return s
  8650  }
  8651  
  8652  // SetIntegerValue sets the IntegerValue field's value.
  8653  func (s *Qualification) SetIntegerValue(v int64) *Qualification {
  8654  	s.IntegerValue = &v
  8655  	return s
  8656  }
  8657  
  8658  // SetLocaleValue sets the LocaleValue field's value.
  8659  func (s *Qualification) SetLocaleValue(v *Locale) *Qualification {
  8660  	s.LocaleValue = v
  8661  	return s
  8662  }
  8663  
  8664  // SetQualificationTypeId sets the QualificationTypeId field's value.
  8665  func (s *Qualification) SetQualificationTypeId(v string) *Qualification {
  8666  	s.QualificationTypeId = &v
  8667  	return s
  8668  }
  8669  
  8670  // SetStatus sets the Status field's value.
  8671  func (s *Qualification) SetStatus(v string) *Qualification {
  8672  	s.Status = &v
  8673  	return s
  8674  }
  8675  
  8676  // SetWorkerId sets the WorkerId field's value.
  8677  func (s *Qualification) SetWorkerId(v string) *Qualification {
  8678  	s.WorkerId = &v
  8679  	return s
  8680  }
  8681  
  8682  // The QualificationRequest data structure represents a request a Worker has
  8683  // made for a Qualification.
  8684  type QualificationRequest struct {
  8685  	_ struct{} `type:"structure"`
  8686  
  8687  	// The Worker's answers for the Qualification type's test contained in a QuestionFormAnswers
  8688  	// document, if the type has a test and the Worker has submitted answers. If
  8689  	// the Worker does not provide any answers, Answer may be empty.
  8690  	Answer *string `type:"string"`
  8691  
  8692  	// The ID of the Qualification request, a unique identifier generated when the
  8693  	// request was submitted.
  8694  	QualificationRequestId *string `type:"string"`
  8695  
  8696  	// The ID of the Qualification type the Worker is requesting, as returned by
  8697  	// the CreateQualificationType operation.
  8698  	QualificationTypeId *string `min:"1" type:"string"`
  8699  
  8700  	// The date and time the Qualification request had a status of Submitted. This
  8701  	// is either the time the Worker submitted answers for a Qualification test,
  8702  	// or the time the Worker requested the Qualification if the Qualification type
  8703  	// does not have a test.
  8704  	SubmitTime *time.Time `type:"timestamp"`
  8705  
  8706  	// The contents of the Qualification test that was presented to the Worker,
  8707  	// if the type has a test and the Worker has submitted answers. This value is
  8708  	// identical to the QuestionForm associated with the Qualification type at the
  8709  	// time the Worker requests the Qualification.
  8710  	Test *string `type:"string"`
  8711  
  8712  	// The ID of the Worker requesting the Qualification.
  8713  	WorkerId *string `min:"1" type:"string"`
  8714  }
  8715  
  8716  // String returns the string representation.
  8717  //
  8718  // API parameter values that are decorated as "sensitive" in the API will not
  8719  // be included in the string output. The member name will be present, but the
  8720  // value will be replaced with "sensitive".
  8721  func (s QualificationRequest) String() string {
  8722  	return awsutil.Prettify(s)
  8723  }
  8724  
  8725  // GoString returns the string representation.
  8726  //
  8727  // API parameter values that are decorated as "sensitive" in the API will not
  8728  // be included in the string output. The member name will be present, but the
  8729  // value will be replaced with "sensitive".
  8730  func (s QualificationRequest) GoString() string {
  8731  	return s.String()
  8732  }
  8733  
  8734  // SetAnswer sets the Answer field's value.
  8735  func (s *QualificationRequest) SetAnswer(v string) *QualificationRequest {
  8736  	s.Answer = &v
  8737  	return s
  8738  }
  8739  
  8740  // SetQualificationRequestId sets the QualificationRequestId field's value.
  8741  func (s *QualificationRequest) SetQualificationRequestId(v string) *QualificationRequest {
  8742  	s.QualificationRequestId = &v
  8743  	return s
  8744  }
  8745  
  8746  // SetQualificationTypeId sets the QualificationTypeId field's value.
  8747  func (s *QualificationRequest) SetQualificationTypeId(v string) *QualificationRequest {
  8748  	s.QualificationTypeId = &v
  8749  	return s
  8750  }
  8751  
  8752  // SetSubmitTime sets the SubmitTime field's value.
  8753  func (s *QualificationRequest) SetSubmitTime(v time.Time) *QualificationRequest {
  8754  	s.SubmitTime = &v
  8755  	return s
  8756  }
  8757  
  8758  // SetTest sets the Test field's value.
  8759  func (s *QualificationRequest) SetTest(v string) *QualificationRequest {
  8760  	s.Test = &v
  8761  	return s
  8762  }
  8763  
  8764  // SetWorkerId sets the WorkerId field's value.
  8765  func (s *QualificationRequest) SetWorkerId(v string) *QualificationRequest {
  8766  	s.WorkerId = &v
  8767  	return s
  8768  }
  8769  
  8770  // The QualificationRequirement data structure describes a Qualification that
  8771  // a Worker must have before the Worker is allowed to accept a HIT. A requirement
  8772  // may optionally state that a Worker must have the Qualification in order to
  8773  // preview the HIT, or see the HIT in search results.
  8774  type QualificationRequirement struct {
  8775  	_ struct{} `type:"structure"`
  8776  
  8777  	// Setting this attribute prevents Workers whose Qualifications do not meet
  8778  	// this QualificationRequirement from taking the specified action. Valid arguments
  8779  	// include "Accept" (Worker cannot accept the HIT, but can preview the HIT and
  8780  	// see it in their search results), "PreviewAndAccept" (Worker cannot accept
  8781  	// or preview the HIT, but can see the HIT in their search results), and "DiscoverPreviewAndAccept"
  8782  	// (Worker cannot accept, preview, or see the HIT in their search results).
  8783  	// It's possible for you to create a HIT with multiple QualificationRequirements
  8784  	// (which can have different values for the ActionGuarded attribute). In this
  8785  	// case, the Worker is only permitted to perform an action when they have met
  8786  	// all QualificationRequirements guarding the action. The actions in the order
  8787  	// of least restrictive to most restrictive are Discover, Preview and Accept.
  8788  	// For example, if a Worker meets all QualificationRequirements that are set
  8789  	// to DiscoverPreviewAndAccept, but do not meet all requirements that are set
  8790  	// with PreviewAndAccept, then the Worker will be able to Discover, i.e. see
  8791  	// the HIT in their search result, but will not be able to Preview or Accept
  8792  	// the HIT. ActionsGuarded should not be used in combination with the RequiredToPreview
  8793  	// field.
  8794  	ActionsGuarded *string `type:"string" enum:"HITAccessActions"`
  8795  
  8796  	// The kind of comparison to make against a Qualification's value. You can compare
  8797  	// a Qualification's value to an IntegerValue to see if it is LessThan, LessThanOrEqualTo,
  8798  	// GreaterThan, GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue.
  8799  	// You can compare it to a LocaleValue to see if it is EqualTo, or NotEqualTo
  8800  	// the LocaleValue. You can check to see if the value is In or NotIn a set of
  8801  	// IntegerValue or LocaleValue values. Lastly, a Qualification requirement can
  8802  	// also test if a Qualification Exists or DoesNotExist in the user's profile,
  8803  	// regardless of its value.
  8804  	//
  8805  	// Comparator is a required field
  8806  	Comparator *string `type:"string" required:"true" enum:"Comparator"`
  8807  
  8808  	// The integer value to compare against the Qualification's value. IntegerValue
  8809  	// must not be present if Comparator is Exists or DoesNotExist. IntegerValue
  8810  	// can only be used if the Qualification type has an integer value; it cannot
  8811  	// be used with the Worker_Locale QualificationType ID. When performing a set
  8812  	// comparison by using the In or the NotIn comparator, you can use up to 15
  8813  	// IntegerValue elements in a QualificationRequirement data structure.
  8814  	IntegerValues []*int64 `type:"list"`
  8815  
  8816  	// The locale value to compare against the Qualification's value. The local
  8817  	// value must be a valid ISO 3166 country code or supports ISO 3166-2 subdivisions.
  8818  	// LocaleValue can only be used with a Worker_Locale QualificationType ID. LocaleValue
  8819  	// can only be used with the EqualTo, NotEqualTo, In, and NotIn comparators.
  8820  	// You must only use a single LocaleValue element when using the EqualTo or
  8821  	// NotEqualTo comparators. When performing a set comparison by using the In
  8822  	// or the NotIn comparator, you can use up to 30 LocaleValue elements in a QualificationRequirement
  8823  	// data structure.
  8824  	LocaleValues []*Locale `type:"list"`
  8825  
  8826  	// The ID of the Qualification type for the requirement.
  8827  	//
  8828  	// QualificationTypeId is a required field
  8829  	QualificationTypeId *string `type:"string" required:"true"`
  8830  
  8831  	// DEPRECATED: Use the ActionsGuarded field instead. If RequiredToPreview is
  8832  	// true, the question data for the HIT will not be shown when a Worker whose
  8833  	// Qualifications do not meet this requirement tries to preview the HIT. That
  8834  	// is, a Worker's Qualifications must meet all of the requirements for which
  8835  	// RequiredToPreview is true in order to preview the HIT. If a Worker meets
  8836  	// all of the requirements where RequiredToPreview is true (or if there are
  8837  	// no such requirements), but does not meet all of the requirements for the
  8838  	// HIT, the Worker will be allowed to preview the HIT's question data, but will
  8839  	// not be allowed to accept and complete the HIT. The default is false. This
  8840  	// should not be used in combination with the ActionsGuarded field.
  8841  	//
  8842  	// Deprecated: RequiredToPreview has been deprecated
  8843  	RequiredToPreview *bool `deprecated:"true" type:"boolean"`
  8844  }
  8845  
  8846  // String returns the string representation.
  8847  //
  8848  // API parameter values that are decorated as "sensitive" in the API will not
  8849  // be included in the string output. The member name will be present, but the
  8850  // value will be replaced with "sensitive".
  8851  func (s QualificationRequirement) String() string {
  8852  	return awsutil.Prettify(s)
  8853  }
  8854  
  8855  // GoString returns the string representation.
  8856  //
  8857  // API parameter values that are decorated as "sensitive" in the API will not
  8858  // be included in the string output. The member name will be present, but the
  8859  // value will be replaced with "sensitive".
  8860  func (s QualificationRequirement) GoString() string {
  8861  	return s.String()
  8862  }
  8863  
  8864  // Validate inspects the fields of the type to determine if they are valid.
  8865  func (s *QualificationRequirement) Validate() error {
  8866  	invalidParams := request.ErrInvalidParams{Context: "QualificationRequirement"}
  8867  	if s.Comparator == nil {
  8868  		invalidParams.Add(request.NewErrParamRequired("Comparator"))
  8869  	}
  8870  	if s.QualificationTypeId == nil {
  8871  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
  8872  	}
  8873  	if s.LocaleValues != nil {
  8874  		for i, v := range s.LocaleValues {
  8875  			if v == nil {
  8876  				continue
  8877  			}
  8878  			if err := v.Validate(); err != nil {
  8879  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LocaleValues", i), err.(request.ErrInvalidParams))
  8880  			}
  8881  		}
  8882  	}
  8883  
  8884  	if invalidParams.Len() > 0 {
  8885  		return invalidParams
  8886  	}
  8887  	return nil
  8888  }
  8889  
  8890  // SetActionsGuarded sets the ActionsGuarded field's value.
  8891  func (s *QualificationRequirement) SetActionsGuarded(v string) *QualificationRequirement {
  8892  	s.ActionsGuarded = &v
  8893  	return s
  8894  }
  8895  
  8896  // SetComparator sets the Comparator field's value.
  8897  func (s *QualificationRequirement) SetComparator(v string) *QualificationRequirement {
  8898  	s.Comparator = &v
  8899  	return s
  8900  }
  8901  
  8902  // SetIntegerValues sets the IntegerValues field's value.
  8903  func (s *QualificationRequirement) SetIntegerValues(v []*int64) *QualificationRequirement {
  8904  	s.IntegerValues = v
  8905  	return s
  8906  }
  8907  
  8908  // SetLocaleValues sets the LocaleValues field's value.
  8909  func (s *QualificationRequirement) SetLocaleValues(v []*Locale) *QualificationRequirement {
  8910  	s.LocaleValues = v
  8911  	return s
  8912  }
  8913  
  8914  // SetQualificationTypeId sets the QualificationTypeId field's value.
  8915  func (s *QualificationRequirement) SetQualificationTypeId(v string) *QualificationRequirement {
  8916  	s.QualificationTypeId = &v
  8917  	return s
  8918  }
  8919  
  8920  // SetRequiredToPreview sets the RequiredToPreview field's value.
  8921  func (s *QualificationRequirement) SetRequiredToPreview(v bool) *QualificationRequirement {
  8922  	s.RequiredToPreview = &v
  8923  	return s
  8924  }
  8925  
  8926  // The QualificationType data structure represents a Qualification type, a description
  8927  // of a property of a Worker that must match the requirements of a HIT for the
  8928  // Worker to be able to accept the HIT. The type also describes how a Worker
  8929  // can obtain a Qualification of that type, such as through a Qualification
  8930  // test.
  8931  type QualificationType struct {
  8932  	_ struct{} `type:"structure"`
  8933  
  8934  	// The answers to the Qualification test specified in the Test parameter.
  8935  	AnswerKey *string `type:"string"`
  8936  
  8937  	// Specifies that requests for the Qualification type are granted immediately,
  8938  	// without prompting the Worker with a Qualification test. Valid values are
  8939  	// True | False.
  8940  	AutoGranted *bool `type:"boolean"`
  8941  
  8942  	// The Qualification integer value to use for automatically granted Qualifications,
  8943  	// if AutoGranted is true. This is 1 by default.
  8944  	AutoGrantedValue *int64 `type:"integer"`
  8945  
  8946  	// The date and time the Qualification type was created.
  8947  	CreationTime *time.Time `type:"timestamp"`
  8948  
  8949  	// A long description for the Qualification type.
  8950  	Description *string `type:"string"`
  8951  
  8952  	// Specifies whether the Qualification type is one that a user can request through
  8953  	// the Amazon Mechanical Turk web site, such as by taking a Qualification test.
  8954  	// This value is False for Qualifications assigned automatically by the system.
  8955  	// Valid values are True | False.
  8956  	IsRequestable *bool `type:"boolean"`
  8957  
  8958  	// One or more words or phrases that describe theQualification type, separated
  8959  	// by commas. The Keywords make the type easier to find using a search.
  8960  	Keywords *string `type:"string"`
  8961  
  8962  	// The name of the Qualification type. The type name is used to identify the
  8963  	// type, and to find the type using a Qualification type search.
  8964  	Name *string `type:"string"`
  8965  
  8966  	// A unique identifier for the Qualification type. A Qualification type is given
  8967  	// a Qualification type ID when you call the CreateQualificationType operation.
  8968  	QualificationTypeId *string `min:"1" type:"string"`
  8969  
  8970  	// The status of the Qualification type. A Qualification type's status determines
  8971  	// if users can apply to receive a Qualification of this type, and if HITs can
  8972  	// be created with requirements based on this type. Valid values are Active
  8973  	// | Inactive.
  8974  	QualificationTypeStatus *string `type:"string" enum:"QualificationTypeStatus"`
  8975  
  8976  	// The amount of time, in seconds, Workers must wait after taking the Qualification
  8977  	// test before they can take it again. Workers can take a Qualification test
  8978  	// multiple times if they were not granted the Qualification from a previous
  8979  	// attempt, or if the test offers a gradient score and they want a better score.
  8980  	// If not specified, retries are disabled and Workers can request a Qualification
  8981  	// only once.
  8982  	RetryDelayInSeconds *int64 `type:"long"`
  8983  
  8984  	// The questions for a Qualification test associated with this Qualification
  8985  	// type that a user can take to obtain a Qualification of this type. This parameter
  8986  	// must be specified if AnswerKey is present. A Qualification type cannot have
  8987  	// both a specified Test parameter and an AutoGranted value of true.
  8988  	Test *string `type:"string"`
  8989  
  8990  	// The amount of time, in seconds, given to a Worker to complete the Qualification
  8991  	// test, beginning from the time the Worker requests the Qualification.
  8992  	TestDurationInSeconds *int64 `type:"long"`
  8993  }
  8994  
  8995  // String returns the string representation.
  8996  //
  8997  // API parameter values that are decorated as "sensitive" in the API will not
  8998  // be included in the string output. The member name will be present, but the
  8999  // value will be replaced with "sensitive".
  9000  func (s QualificationType) String() string {
  9001  	return awsutil.Prettify(s)
  9002  }
  9003  
  9004  // GoString returns the string representation.
  9005  //
  9006  // API parameter values that are decorated as "sensitive" in the API will not
  9007  // be included in the string output. The member name will be present, but the
  9008  // value will be replaced with "sensitive".
  9009  func (s QualificationType) GoString() string {
  9010  	return s.String()
  9011  }
  9012  
  9013  // SetAnswerKey sets the AnswerKey field's value.
  9014  func (s *QualificationType) SetAnswerKey(v string) *QualificationType {
  9015  	s.AnswerKey = &v
  9016  	return s
  9017  }
  9018  
  9019  // SetAutoGranted sets the AutoGranted field's value.
  9020  func (s *QualificationType) SetAutoGranted(v bool) *QualificationType {
  9021  	s.AutoGranted = &v
  9022  	return s
  9023  }
  9024  
  9025  // SetAutoGrantedValue sets the AutoGrantedValue field's value.
  9026  func (s *QualificationType) SetAutoGrantedValue(v int64) *QualificationType {
  9027  	s.AutoGrantedValue = &v
  9028  	return s
  9029  }
  9030  
  9031  // SetCreationTime sets the CreationTime field's value.
  9032  func (s *QualificationType) SetCreationTime(v time.Time) *QualificationType {
  9033  	s.CreationTime = &v
  9034  	return s
  9035  }
  9036  
  9037  // SetDescription sets the Description field's value.
  9038  func (s *QualificationType) SetDescription(v string) *QualificationType {
  9039  	s.Description = &v
  9040  	return s
  9041  }
  9042  
  9043  // SetIsRequestable sets the IsRequestable field's value.
  9044  func (s *QualificationType) SetIsRequestable(v bool) *QualificationType {
  9045  	s.IsRequestable = &v
  9046  	return s
  9047  }
  9048  
  9049  // SetKeywords sets the Keywords field's value.
  9050  func (s *QualificationType) SetKeywords(v string) *QualificationType {
  9051  	s.Keywords = &v
  9052  	return s
  9053  }
  9054  
  9055  // SetName sets the Name field's value.
  9056  func (s *QualificationType) SetName(v string) *QualificationType {
  9057  	s.Name = &v
  9058  	return s
  9059  }
  9060  
  9061  // SetQualificationTypeId sets the QualificationTypeId field's value.
  9062  func (s *QualificationType) SetQualificationTypeId(v string) *QualificationType {
  9063  	s.QualificationTypeId = &v
  9064  	return s
  9065  }
  9066  
  9067  // SetQualificationTypeStatus sets the QualificationTypeStatus field's value.
  9068  func (s *QualificationType) SetQualificationTypeStatus(v string) *QualificationType {
  9069  	s.QualificationTypeStatus = &v
  9070  	return s
  9071  }
  9072  
  9073  // SetRetryDelayInSeconds sets the RetryDelayInSeconds field's value.
  9074  func (s *QualificationType) SetRetryDelayInSeconds(v int64) *QualificationType {
  9075  	s.RetryDelayInSeconds = &v
  9076  	return s
  9077  }
  9078  
  9079  // SetTest sets the Test field's value.
  9080  func (s *QualificationType) SetTest(v string) *QualificationType {
  9081  	s.Test = &v
  9082  	return s
  9083  }
  9084  
  9085  // SetTestDurationInSeconds sets the TestDurationInSeconds field's value.
  9086  func (s *QualificationType) SetTestDurationInSeconds(v int64) *QualificationType {
  9087  	s.TestDurationInSeconds = &v
  9088  	return s
  9089  }
  9090  
  9091  type RejectAssignmentInput struct {
  9092  	_ struct{} `type:"structure"`
  9093  
  9094  	// The ID of the assignment. The assignment must correspond to a HIT created
  9095  	// by the Requester.
  9096  	//
  9097  	// AssignmentId is a required field
  9098  	AssignmentId *string `min:"1" type:"string" required:"true"`
  9099  
  9100  	// A message for the Worker, which the Worker can see in the Status section
  9101  	// of the web site.
  9102  	//
  9103  	// RequesterFeedback is a required field
  9104  	RequesterFeedback *string `type:"string" required:"true"`
  9105  }
  9106  
  9107  // String returns the string representation.
  9108  //
  9109  // API parameter values that are decorated as "sensitive" in the API will not
  9110  // be included in the string output. The member name will be present, but the
  9111  // value will be replaced with "sensitive".
  9112  func (s RejectAssignmentInput) String() string {
  9113  	return awsutil.Prettify(s)
  9114  }
  9115  
  9116  // GoString returns the string representation.
  9117  //
  9118  // API parameter values that are decorated as "sensitive" in the API will not
  9119  // be included in the string output. The member name will be present, but the
  9120  // value will be replaced with "sensitive".
  9121  func (s RejectAssignmentInput) GoString() string {
  9122  	return s.String()
  9123  }
  9124  
  9125  // Validate inspects the fields of the type to determine if they are valid.
  9126  func (s *RejectAssignmentInput) Validate() error {
  9127  	invalidParams := request.ErrInvalidParams{Context: "RejectAssignmentInput"}
  9128  	if s.AssignmentId == nil {
  9129  		invalidParams.Add(request.NewErrParamRequired("AssignmentId"))
  9130  	}
  9131  	if s.AssignmentId != nil && len(*s.AssignmentId) < 1 {
  9132  		invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1))
  9133  	}
  9134  	if s.RequesterFeedback == nil {
  9135  		invalidParams.Add(request.NewErrParamRequired("RequesterFeedback"))
  9136  	}
  9137  
  9138  	if invalidParams.Len() > 0 {
  9139  		return invalidParams
  9140  	}
  9141  	return nil
  9142  }
  9143  
  9144  // SetAssignmentId sets the AssignmentId field's value.
  9145  func (s *RejectAssignmentInput) SetAssignmentId(v string) *RejectAssignmentInput {
  9146  	s.AssignmentId = &v
  9147  	return s
  9148  }
  9149  
  9150  // SetRequesterFeedback sets the RequesterFeedback field's value.
  9151  func (s *RejectAssignmentInput) SetRequesterFeedback(v string) *RejectAssignmentInput {
  9152  	s.RequesterFeedback = &v
  9153  	return s
  9154  }
  9155  
  9156  type RejectAssignmentOutput struct {
  9157  	_ struct{} `type:"structure"`
  9158  }
  9159  
  9160  // String returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s RejectAssignmentOutput) String() string {
  9166  	return awsutil.Prettify(s)
  9167  }
  9168  
  9169  // GoString returns the string representation.
  9170  //
  9171  // API parameter values that are decorated as "sensitive" in the API will not
  9172  // be included in the string output. The member name will be present, but the
  9173  // value will be replaced with "sensitive".
  9174  func (s RejectAssignmentOutput) GoString() string {
  9175  	return s.String()
  9176  }
  9177  
  9178  type RejectQualificationRequestInput struct {
  9179  	_ struct{} `type:"structure"`
  9180  
  9181  	// The ID of the Qualification request, as returned by the ListQualificationRequests
  9182  	// operation.
  9183  	//
  9184  	// QualificationRequestId is a required field
  9185  	QualificationRequestId *string `type:"string" required:"true"`
  9186  
  9187  	// A text message explaining why the request was rejected, to be shown to the
  9188  	// Worker who made the request.
  9189  	Reason *string `type:"string"`
  9190  }
  9191  
  9192  // String returns the string representation.
  9193  //
  9194  // API parameter values that are decorated as "sensitive" in the API will not
  9195  // be included in the string output. The member name will be present, but the
  9196  // value will be replaced with "sensitive".
  9197  func (s RejectQualificationRequestInput) String() string {
  9198  	return awsutil.Prettify(s)
  9199  }
  9200  
  9201  // GoString returns the string representation.
  9202  //
  9203  // API parameter values that are decorated as "sensitive" in the API will not
  9204  // be included in the string output. The member name will be present, but the
  9205  // value will be replaced with "sensitive".
  9206  func (s RejectQualificationRequestInput) GoString() string {
  9207  	return s.String()
  9208  }
  9209  
  9210  // Validate inspects the fields of the type to determine if they are valid.
  9211  func (s *RejectQualificationRequestInput) Validate() error {
  9212  	invalidParams := request.ErrInvalidParams{Context: "RejectQualificationRequestInput"}
  9213  	if s.QualificationRequestId == nil {
  9214  		invalidParams.Add(request.NewErrParamRequired("QualificationRequestId"))
  9215  	}
  9216  
  9217  	if invalidParams.Len() > 0 {
  9218  		return invalidParams
  9219  	}
  9220  	return nil
  9221  }
  9222  
  9223  // SetQualificationRequestId sets the QualificationRequestId field's value.
  9224  func (s *RejectQualificationRequestInput) SetQualificationRequestId(v string) *RejectQualificationRequestInput {
  9225  	s.QualificationRequestId = &v
  9226  	return s
  9227  }
  9228  
  9229  // SetReason sets the Reason field's value.
  9230  func (s *RejectQualificationRequestInput) SetReason(v string) *RejectQualificationRequestInput {
  9231  	s.Reason = &v
  9232  	return s
  9233  }
  9234  
  9235  type RejectQualificationRequestOutput struct {
  9236  	_ struct{} `type:"structure"`
  9237  }
  9238  
  9239  // String returns the string representation.
  9240  //
  9241  // API parameter values that are decorated as "sensitive" in the API will not
  9242  // be included in the string output. The member name will be present, but the
  9243  // value will be replaced with "sensitive".
  9244  func (s RejectQualificationRequestOutput) String() string {
  9245  	return awsutil.Prettify(s)
  9246  }
  9247  
  9248  // GoString returns the string representation.
  9249  //
  9250  // API parameter values that are decorated as "sensitive" in the API will not
  9251  // be included in the string output. The member name will be present, but the
  9252  // value will be replaced with "sensitive".
  9253  func (s RejectQualificationRequestOutput) GoString() string {
  9254  	return s.String()
  9255  }
  9256  
  9257  // Your request is invalid.
  9258  type RequestError struct {
  9259  	_            struct{}                  `type:"structure"`
  9260  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9261  
  9262  	Message_ *string `locationName:"Message" type:"string"`
  9263  
  9264  	TurkErrorCode *string `type:"string"`
  9265  }
  9266  
  9267  // String returns the string representation.
  9268  //
  9269  // API parameter values that are decorated as "sensitive" in the API will not
  9270  // be included in the string output. The member name will be present, but the
  9271  // value will be replaced with "sensitive".
  9272  func (s RequestError) String() string {
  9273  	return awsutil.Prettify(s)
  9274  }
  9275  
  9276  // GoString returns the string representation.
  9277  //
  9278  // API parameter values that are decorated as "sensitive" in the API will not
  9279  // be included in the string output. The member name will be present, but the
  9280  // value will be replaced with "sensitive".
  9281  func (s RequestError) GoString() string {
  9282  	return s.String()
  9283  }
  9284  
  9285  func newErrorRequestError(v protocol.ResponseMetadata) error {
  9286  	return &RequestError{
  9287  		RespMetadata: v,
  9288  	}
  9289  }
  9290  
  9291  // Code returns the exception type name.
  9292  func (s *RequestError) Code() string {
  9293  	return "RequestError"
  9294  }
  9295  
  9296  // Message returns the exception's message.
  9297  func (s *RequestError) Message() string {
  9298  	if s.Message_ != nil {
  9299  		return *s.Message_
  9300  	}
  9301  	return ""
  9302  }
  9303  
  9304  // OrigErr always returns nil, satisfies awserr.Error interface.
  9305  func (s *RequestError) OrigErr() error {
  9306  	return nil
  9307  }
  9308  
  9309  func (s *RequestError) Error() string {
  9310  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9311  }
  9312  
  9313  // Status code returns the HTTP status code for the request's response error.
  9314  func (s *RequestError) StatusCode() int {
  9315  	return s.RespMetadata.StatusCode
  9316  }
  9317  
  9318  // RequestID returns the service's response RequestID for request.
  9319  func (s *RequestError) RequestID() string {
  9320  	return s.RespMetadata.RequestID
  9321  }
  9322  
  9323  // Both the AssignmentReviewReport and the HITReviewReport elements contains
  9324  // the ReviewActionDetail data structure. This structure is returned multiple
  9325  // times for each action specified in the Review Policy.
  9326  type ReviewActionDetail struct {
  9327  	_ struct{} `type:"structure"`
  9328  
  9329  	// The unique identifier for the action.
  9330  	ActionId *string `min:"1" type:"string"`
  9331  
  9332  	// The nature of the action itself. The Review Policy is responsible for examining
  9333  	// the HIT and Assignments, emitting results, and deciding which other actions
  9334  	// will be necessary.
  9335  	ActionName *string `type:"string"`
  9336  
  9337  	// The date when the action was completed.
  9338  	CompleteTime *time.Time `type:"timestamp"`
  9339  
  9340  	// Present only when the Results have a FAILED Status.
  9341  	ErrorCode *string `type:"string"`
  9342  
  9343  	// A description of the outcome of the review.
  9344  	Result *string `type:"string"`
  9345  
  9346  	// The current disposition of the action: INTENDED, SUCCEEDED, FAILED, or CANCELLED.
  9347  	Status *string `type:"string" enum:"ReviewActionStatus"`
  9348  
  9349  	// The specific HITId or AssignmentID targeted by the action.
  9350  	TargetId *string `min:"1" type:"string"`
  9351  
  9352  	// The type of object in TargetId.
  9353  	TargetType *string `type:"string"`
  9354  }
  9355  
  9356  // String returns the string representation.
  9357  //
  9358  // API parameter values that are decorated as "sensitive" in the API will not
  9359  // be included in the string output. The member name will be present, but the
  9360  // value will be replaced with "sensitive".
  9361  func (s ReviewActionDetail) String() string {
  9362  	return awsutil.Prettify(s)
  9363  }
  9364  
  9365  // GoString returns the string representation.
  9366  //
  9367  // API parameter values that are decorated as "sensitive" in the API will not
  9368  // be included in the string output. The member name will be present, but the
  9369  // value will be replaced with "sensitive".
  9370  func (s ReviewActionDetail) GoString() string {
  9371  	return s.String()
  9372  }
  9373  
  9374  // SetActionId sets the ActionId field's value.
  9375  func (s *ReviewActionDetail) SetActionId(v string) *ReviewActionDetail {
  9376  	s.ActionId = &v
  9377  	return s
  9378  }
  9379  
  9380  // SetActionName sets the ActionName field's value.
  9381  func (s *ReviewActionDetail) SetActionName(v string) *ReviewActionDetail {
  9382  	s.ActionName = &v
  9383  	return s
  9384  }
  9385  
  9386  // SetCompleteTime sets the CompleteTime field's value.
  9387  func (s *ReviewActionDetail) SetCompleteTime(v time.Time) *ReviewActionDetail {
  9388  	s.CompleteTime = &v
  9389  	return s
  9390  }
  9391  
  9392  // SetErrorCode sets the ErrorCode field's value.
  9393  func (s *ReviewActionDetail) SetErrorCode(v string) *ReviewActionDetail {
  9394  	s.ErrorCode = &v
  9395  	return s
  9396  }
  9397  
  9398  // SetResult sets the Result field's value.
  9399  func (s *ReviewActionDetail) SetResult(v string) *ReviewActionDetail {
  9400  	s.Result = &v
  9401  	return s
  9402  }
  9403  
  9404  // SetStatus sets the Status field's value.
  9405  func (s *ReviewActionDetail) SetStatus(v string) *ReviewActionDetail {
  9406  	s.Status = &v
  9407  	return s
  9408  }
  9409  
  9410  // SetTargetId sets the TargetId field's value.
  9411  func (s *ReviewActionDetail) SetTargetId(v string) *ReviewActionDetail {
  9412  	s.TargetId = &v
  9413  	return s
  9414  }
  9415  
  9416  // SetTargetType sets the TargetType field's value.
  9417  func (s *ReviewActionDetail) SetTargetType(v string) *ReviewActionDetail {
  9418  	s.TargetType = &v
  9419  	return s
  9420  }
  9421  
  9422  // HIT Review Policy data structures represent HIT review policies, which you
  9423  // specify when you create a HIT.
  9424  type ReviewPolicy struct {
  9425  	_ struct{} `type:"structure"`
  9426  
  9427  	// Name of the parameter from the Review policy.
  9428  	Parameters []*PolicyParameter `type:"list"`
  9429  
  9430  	// Name of a Review Policy: SimplePlurality/2011-09-01 or ScoreMyKnownAnswers/2011-09-01
  9431  	//
  9432  	// PolicyName is a required field
  9433  	PolicyName *string `type:"string" required:"true"`
  9434  }
  9435  
  9436  // String returns the string representation.
  9437  //
  9438  // API parameter values that are decorated as "sensitive" in the API will not
  9439  // be included in the string output. The member name will be present, but the
  9440  // value will be replaced with "sensitive".
  9441  func (s ReviewPolicy) String() string {
  9442  	return awsutil.Prettify(s)
  9443  }
  9444  
  9445  // GoString returns the string representation.
  9446  //
  9447  // API parameter values that are decorated as "sensitive" in the API will not
  9448  // be included in the string output. The member name will be present, but the
  9449  // value will be replaced with "sensitive".
  9450  func (s ReviewPolicy) GoString() string {
  9451  	return s.String()
  9452  }
  9453  
  9454  // Validate inspects the fields of the type to determine if they are valid.
  9455  func (s *ReviewPolicy) Validate() error {
  9456  	invalidParams := request.ErrInvalidParams{Context: "ReviewPolicy"}
  9457  	if s.PolicyName == nil {
  9458  		invalidParams.Add(request.NewErrParamRequired("PolicyName"))
  9459  	}
  9460  
  9461  	if invalidParams.Len() > 0 {
  9462  		return invalidParams
  9463  	}
  9464  	return nil
  9465  }
  9466  
  9467  // SetParameters sets the Parameters field's value.
  9468  func (s *ReviewPolicy) SetParameters(v []*PolicyParameter) *ReviewPolicy {
  9469  	s.Parameters = v
  9470  	return s
  9471  }
  9472  
  9473  // SetPolicyName sets the PolicyName field's value.
  9474  func (s *ReviewPolicy) SetPolicyName(v string) *ReviewPolicy {
  9475  	s.PolicyName = &v
  9476  	return s
  9477  }
  9478  
  9479  // Contains both ReviewResult and ReviewAction elements for a particular HIT.
  9480  type ReviewReport struct {
  9481  	_ struct{} `type:"structure"`
  9482  
  9483  	// A list of ReviewAction objects for each action specified in the Review Policy.
  9484  	ReviewActions []*ReviewActionDetail `type:"list"`
  9485  
  9486  	// A list of ReviewResults objects for each action specified in the Review Policy.
  9487  	ReviewResults []*ReviewResultDetail `type:"list"`
  9488  }
  9489  
  9490  // String returns the string representation.
  9491  //
  9492  // API parameter values that are decorated as "sensitive" in the API will not
  9493  // be included in the string output. The member name will be present, but the
  9494  // value will be replaced with "sensitive".
  9495  func (s ReviewReport) String() string {
  9496  	return awsutil.Prettify(s)
  9497  }
  9498  
  9499  // GoString returns the string representation.
  9500  //
  9501  // API parameter values that are decorated as "sensitive" in the API will not
  9502  // be included in the string output. The member name will be present, but the
  9503  // value will be replaced with "sensitive".
  9504  func (s ReviewReport) GoString() string {
  9505  	return s.String()
  9506  }
  9507  
  9508  // SetReviewActions sets the ReviewActions field's value.
  9509  func (s *ReviewReport) SetReviewActions(v []*ReviewActionDetail) *ReviewReport {
  9510  	s.ReviewActions = v
  9511  	return s
  9512  }
  9513  
  9514  // SetReviewResults sets the ReviewResults field's value.
  9515  func (s *ReviewReport) SetReviewResults(v []*ReviewResultDetail) *ReviewReport {
  9516  	s.ReviewResults = v
  9517  	return s
  9518  }
  9519  
  9520  // This data structure is returned multiple times for each result specified
  9521  // in the Review Policy.
  9522  type ReviewResultDetail struct {
  9523  	_ struct{} `type:"structure"`
  9524  
  9525  	// A unique identifier of the Review action result.
  9526  	ActionId *string `min:"1" type:"string"`
  9527  
  9528  	// Key identifies the particular piece of reviewed information.
  9529  	Key *string `type:"string"`
  9530  
  9531  	// Specifies the QuestionId the result is describing. Depending on whether the
  9532  	// TargetType is a HIT or Assignment this results could specify multiple values.
  9533  	// If TargetType is HIT and QuestionId is absent, then the result describes
  9534  	// results of the HIT, including the HIT agreement score. If ObjectType is Assignment
  9535  	// and QuestionId is absent, then the result describes the Worker's performance
  9536  	// on the HIT.
  9537  	QuestionId *string `min:"1" type:"string"`
  9538  
  9539  	// The HITID or AssignmentId about which this result was taken. Note that HIT-level
  9540  	// Review Policies will often emit results about both the HIT itself and its
  9541  	// Assignments, while Assignment-level review policies generally only emit results
  9542  	// about the Assignment itself.
  9543  	SubjectId *string `min:"1" type:"string"`
  9544  
  9545  	// The type of the object from the SubjectId field.
  9546  	SubjectType *string `type:"string"`
  9547  
  9548  	// The values of Key provided by the review policies you have selected.
  9549  	Value *string `type:"string"`
  9550  }
  9551  
  9552  // String returns the string representation.
  9553  //
  9554  // API parameter values that are decorated as "sensitive" in the API will not
  9555  // be included in the string output. The member name will be present, but the
  9556  // value will be replaced with "sensitive".
  9557  func (s ReviewResultDetail) String() string {
  9558  	return awsutil.Prettify(s)
  9559  }
  9560  
  9561  // GoString returns the string representation.
  9562  //
  9563  // API parameter values that are decorated as "sensitive" in the API will not
  9564  // be included in the string output. The member name will be present, but the
  9565  // value will be replaced with "sensitive".
  9566  func (s ReviewResultDetail) GoString() string {
  9567  	return s.String()
  9568  }
  9569  
  9570  // SetActionId sets the ActionId field's value.
  9571  func (s *ReviewResultDetail) SetActionId(v string) *ReviewResultDetail {
  9572  	s.ActionId = &v
  9573  	return s
  9574  }
  9575  
  9576  // SetKey sets the Key field's value.
  9577  func (s *ReviewResultDetail) SetKey(v string) *ReviewResultDetail {
  9578  	s.Key = &v
  9579  	return s
  9580  }
  9581  
  9582  // SetQuestionId sets the QuestionId field's value.
  9583  func (s *ReviewResultDetail) SetQuestionId(v string) *ReviewResultDetail {
  9584  	s.QuestionId = &v
  9585  	return s
  9586  }
  9587  
  9588  // SetSubjectId sets the SubjectId field's value.
  9589  func (s *ReviewResultDetail) SetSubjectId(v string) *ReviewResultDetail {
  9590  	s.SubjectId = &v
  9591  	return s
  9592  }
  9593  
  9594  // SetSubjectType sets the SubjectType field's value.
  9595  func (s *ReviewResultDetail) SetSubjectType(v string) *ReviewResultDetail {
  9596  	s.SubjectType = &v
  9597  	return s
  9598  }
  9599  
  9600  // SetValue sets the Value field's value.
  9601  func (s *ReviewResultDetail) SetValue(v string) *ReviewResultDetail {
  9602  	s.Value = &v
  9603  	return s
  9604  }
  9605  
  9606  type SendBonusInput struct {
  9607  	_ struct{} `type:"structure"`
  9608  
  9609  	// The ID of the assignment for which this bonus is paid.
  9610  	//
  9611  	// AssignmentId is a required field
  9612  	AssignmentId *string `min:"1" type:"string" required:"true"`
  9613  
  9614  	// The Bonus amount is a US Dollar amount specified using a string (for example,
  9615  	// "5" represents $5.00 USD and "101.42" represents $101.42 USD). Do not include
  9616  	// currency symbols or currency codes.
  9617  	//
  9618  	// BonusAmount is a required field
  9619  	BonusAmount *string `type:"string" required:"true"`
  9620  
  9621  	// A message that explains the reason for the bonus payment. The Worker receiving
  9622  	// the bonus can see this message.
  9623  	//
  9624  	// Reason is a required field
  9625  	Reason *string `type:"string" required:"true"`
  9626  
  9627  	// A unique identifier for this request, which allows you to retry the call
  9628  	// on error without granting multiple bonuses. This is useful in cases such
  9629  	// as network timeouts where it is unclear whether or not the call succeeded
  9630  	// on the server. If the bonus already exists in the system from a previous
  9631  	// call using the same UniqueRequestToken, subsequent calls will return an error
  9632  	// with a message containing the request ID.
  9633  	UniqueRequestToken *string `min:"1" type:"string"`
  9634  
  9635  	// The ID of the Worker being paid the bonus.
  9636  	//
  9637  	// WorkerId is a required field
  9638  	WorkerId *string `min:"1" type:"string" required:"true"`
  9639  }
  9640  
  9641  // String returns the string representation.
  9642  //
  9643  // API parameter values that are decorated as "sensitive" in the API will not
  9644  // be included in the string output. The member name will be present, but the
  9645  // value will be replaced with "sensitive".
  9646  func (s SendBonusInput) String() string {
  9647  	return awsutil.Prettify(s)
  9648  }
  9649  
  9650  // GoString returns the string representation.
  9651  //
  9652  // API parameter values that are decorated as "sensitive" in the API will not
  9653  // be included in the string output. The member name will be present, but the
  9654  // value will be replaced with "sensitive".
  9655  func (s SendBonusInput) GoString() string {
  9656  	return s.String()
  9657  }
  9658  
  9659  // Validate inspects the fields of the type to determine if they are valid.
  9660  func (s *SendBonusInput) Validate() error {
  9661  	invalidParams := request.ErrInvalidParams{Context: "SendBonusInput"}
  9662  	if s.AssignmentId == nil {
  9663  		invalidParams.Add(request.NewErrParamRequired("AssignmentId"))
  9664  	}
  9665  	if s.AssignmentId != nil && len(*s.AssignmentId) < 1 {
  9666  		invalidParams.Add(request.NewErrParamMinLen("AssignmentId", 1))
  9667  	}
  9668  	if s.BonusAmount == nil {
  9669  		invalidParams.Add(request.NewErrParamRequired("BonusAmount"))
  9670  	}
  9671  	if s.Reason == nil {
  9672  		invalidParams.Add(request.NewErrParamRequired("Reason"))
  9673  	}
  9674  	if s.UniqueRequestToken != nil && len(*s.UniqueRequestToken) < 1 {
  9675  		invalidParams.Add(request.NewErrParamMinLen("UniqueRequestToken", 1))
  9676  	}
  9677  	if s.WorkerId == nil {
  9678  		invalidParams.Add(request.NewErrParamRequired("WorkerId"))
  9679  	}
  9680  	if s.WorkerId != nil && len(*s.WorkerId) < 1 {
  9681  		invalidParams.Add(request.NewErrParamMinLen("WorkerId", 1))
  9682  	}
  9683  
  9684  	if invalidParams.Len() > 0 {
  9685  		return invalidParams
  9686  	}
  9687  	return nil
  9688  }
  9689  
  9690  // SetAssignmentId sets the AssignmentId field's value.
  9691  func (s *SendBonusInput) SetAssignmentId(v string) *SendBonusInput {
  9692  	s.AssignmentId = &v
  9693  	return s
  9694  }
  9695  
  9696  // SetBonusAmount sets the BonusAmount field's value.
  9697  func (s *SendBonusInput) SetBonusAmount(v string) *SendBonusInput {
  9698  	s.BonusAmount = &v
  9699  	return s
  9700  }
  9701  
  9702  // SetReason sets the Reason field's value.
  9703  func (s *SendBonusInput) SetReason(v string) *SendBonusInput {
  9704  	s.Reason = &v
  9705  	return s
  9706  }
  9707  
  9708  // SetUniqueRequestToken sets the UniqueRequestToken field's value.
  9709  func (s *SendBonusInput) SetUniqueRequestToken(v string) *SendBonusInput {
  9710  	s.UniqueRequestToken = &v
  9711  	return s
  9712  }
  9713  
  9714  // SetWorkerId sets the WorkerId field's value.
  9715  func (s *SendBonusInput) SetWorkerId(v string) *SendBonusInput {
  9716  	s.WorkerId = &v
  9717  	return s
  9718  }
  9719  
  9720  type SendBonusOutput struct {
  9721  	_ struct{} `type:"structure"`
  9722  }
  9723  
  9724  // String returns the string representation.
  9725  //
  9726  // API parameter values that are decorated as "sensitive" in the API will not
  9727  // be included in the string output. The member name will be present, but the
  9728  // value will be replaced with "sensitive".
  9729  func (s SendBonusOutput) String() string {
  9730  	return awsutil.Prettify(s)
  9731  }
  9732  
  9733  // GoString returns the string representation.
  9734  //
  9735  // API parameter values that are decorated as "sensitive" in the API will not
  9736  // be included in the string output. The member name will be present, but the
  9737  // value will be replaced with "sensitive".
  9738  func (s SendBonusOutput) GoString() string {
  9739  	return s.String()
  9740  }
  9741  
  9742  type SendTestEventNotificationInput struct {
  9743  	_ struct{} `type:"structure"`
  9744  
  9745  	// The notification specification to test. This value is identical to the value
  9746  	// you would provide to the UpdateNotificationSettings operation when you establish
  9747  	// the notification specification for a HIT type.
  9748  	//
  9749  	// Notification is a required field
  9750  	Notification *NotificationSpecification `type:"structure" required:"true"`
  9751  
  9752  	// The event to simulate to test the notification specification. This event
  9753  	// is included in the test message even if the notification specification does
  9754  	// not include the event type. The notification specification does not filter
  9755  	// out the test event.
  9756  	//
  9757  	// TestEventType is a required field
  9758  	TestEventType *string `type:"string" required:"true" enum:"EventType"`
  9759  }
  9760  
  9761  // String returns the string representation.
  9762  //
  9763  // API parameter values that are decorated as "sensitive" in the API will not
  9764  // be included in the string output. The member name will be present, but the
  9765  // value will be replaced with "sensitive".
  9766  func (s SendTestEventNotificationInput) String() string {
  9767  	return awsutil.Prettify(s)
  9768  }
  9769  
  9770  // GoString returns the string representation.
  9771  //
  9772  // API parameter values that are decorated as "sensitive" in the API will not
  9773  // be included in the string output. The member name will be present, but the
  9774  // value will be replaced with "sensitive".
  9775  func (s SendTestEventNotificationInput) GoString() string {
  9776  	return s.String()
  9777  }
  9778  
  9779  // Validate inspects the fields of the type to determine if they are valid.
  9780  func (s *SendTestEventNotificationInput) Validate() error {
  9781  	invalidParams := request.ErrInvalidParams{Context: "SendTestEventNotificationInput"}
  9782  	if s.Notification == nil {
  9783  		invalidParams.Add(request.NewErrParamRequired("Notification"))
  9784  	}
  9785  	if s.TestEventType == nil {
  9786  		invalidParams.Add(request.NewErrParamRequired("TestEventType"))
  9787  	}
  9788  	if s.Notification != nil {
  9789  		if err := s.Notification.Validate(); err != nil {
  9790  			invalidParams.AddNested("Notification", err.(request.ErrInvalidParams))
  9791  		}
  9792  	}
  9793  
  9794  	if invalidParams.Len() > 0 {
  9795  		return invalidParams
  9796  	}
  9797  	return nil
  9798  }
  9799  
  9800  // SetNotification sets the Notification field's value.
  9801  func (s *SendTestEventNotificationInput) SetNotification(v *NotificationSpecification) *SendTestEventNotificationInput {
  9802  	s.Notification = v
  9803  	return s
  9804  }
  9805  
  9806  // SetTestEventType sets the TestEventType field's value.
  9807  func (s *SendTestEventNotificationInput) SetTestEventType(v string) *SendTestEventNotificationInput {
  9808  	s.TestEventType = &v
  9809  	return s
  9810  }
  9811  
  9812  type SendTestEventNotificationOutput struct {
  9813  	_ struct{} `type:"structure"`
  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 SendTestEventNotificationOutput) 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 SendTestEventNotificationOutput) GoString() string {
  9831  	return s.String()
  9832  }
  9833  
  9834  // Amazon Mechanical Turk is temporarily unable to process your request. Try
  9835  // your call again.
  9836  type ServiceFault struct {
  9837  	_            struct{}                  `type:"structure"`
  9838  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9839  
  9840  	Message_ *string `locationName:"Message" type:"string"`
  9841  
  9842  	TurkErrorCode *string `type:"string"`
  9843  }
  9844  
  9845  // String returns the string representation.
  9846  //
  9847  // API parameter values that are decorated as "sensitive" in the API will not
  9848  // be included in the string output. The member name will be present, but the
  9849  // value will be replaced with "sensitive".
  9850  func (s ServiceFault) String() string {
  9851  	return awsutil.Prettify(s)
  9852  }
  9853  
  9854  // GoString returns the string representation.
  9855  //
  9856  // API parameter values that are decorated as "sensitive" in the API will not
  9857  // be included in the string output. The member name will be present, but the
  9858  // value will be replaced with "sensitive".
  9859  func (s ServiceFault) GoString() string {
  9860  	return s.String()
  9861  }
  9862  
  9863  func newErrorServiceFault(v protocol.ResponseMetadata) error {
  9864  	return &ServiceFault{
  9865  		RespMetadata: v,
  9866  	}
  9867  }
  9868  
  9869  // Code returns the exception type name.
  9870  func (s *ServiceFault) Code() string {
  9871  	return "ServiceFault"
  9872  }
  9873  
  9874  // Message returns the exception's message.
  9875  func (s *ServiceFault) Message() string {
  9876  	if s.Message_ != nil {
  9877  		return *s.Message_
  9878  	}
  9879  	return ""
  9880  }
  9881  
  9882  // OrigErr always returns nil, satisfies awserr.Error interface.
  9883  func (s *ServiceFault) OrigErr() error {
  9884  	return nil
  9885  }
  9886  
  9887  func (s *ServiceFault) Error() string {
  9888  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  9889  }
  9890  
  9891  // Status code returns the HTTP status code for the request's response error.
  9892  func (s *ServiceFault) StatusCode() int {
  9893  	return s.RespMetadata.StatusCode
  9894  }
  9895  
  9896  // RequestID returns the service's response RequestID for request.
  9897  func (s *ServiceFault) RequestID() string {
  9898  	return s.RespMetadata.RequestID
  9899  }
  9900  
  9901  type UpdateExpirationForHITInput struct {
  9902  	_ struct{} `type:"structure"`
  9903  
  9904  	// The date and time at which you want the HIT to expire
  9905  	//
  9906  	// ExpireAt is a required field
  9907  	ExpireAt *time.Time `type:"timestamp" required:"true"`
  9908  
  9909  	// The HIT to update.
  9910  	//
  9911  	// HITId is a required field
  9912  	HITId *string `min:"1" type:"string" required:"true"`
  9913  }
  9914  
  9915  // String returns the string representation.
  9916  //
  9917  // API parameter values that are decorated as "sensitive" in the API will not
  9918  // be included in the string output. The member name will be present, but the
  9919  // value will be replaced with "sensitive".
  9920  func (s UpdateExpirationForHITInput) String() string {
  9921  	return awsutil.Prettify(s)
  9922  }
  9923  
  9924  // GoString returns the string representation.
  9925  //
  9926  // API parameter values that are decorated as "sensitive" in the API will not
  9927  // be included in the string output. The member name will be present, but the
  9928  // value will be replaced with "sensitive".
  9929  func (s UpdateExpirationForHITInput) GoString() string {
  9930  	return s.String()
  9931  }
  9932  
  9933  // Validate inspects the fields of the type to determine if they are valid.
  9934  func (s *UpdateExpirationForHITInput) Validate() error {
  9935  	invalidParams := request.ErrInvalidParams{Context: "UpdateExpirationForHITInput"}
  9936  	if s.ExpireAt == nil {
  9937  		invalidParams.Add(request.NewErrParamRequired("ExpireAt"))
  9938  	}
  9939  	if s.HITId == nil {
  9940  		invalidParams.Add(request.NewErrParamRequired("HITId"))
  9941  	}
  9942  	if s.HITId != nil && len(*s.HITId) < 1 {
  9943  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
  9944  	}
  9945  
  9946  	if invalidParams.Len() > 0 {
  9947  		return invalidParams
  9948  	}
  9949  	return nil
  9950  }
  9951  
  9952  // SetExpireAt sets the ExpireAt field's value.
  9953  func (s *UpdateExpirationForHITInput) SetExpireAt(v time.Time) *UpdateExpirationForHITInput {
  9954  	s.ExpireAt = &v
  9955  	return s
  9956  }
  9957  
  9958  // SetHITId sets the HITId field's value.
  9959  func (s *UpdateExpirationForHITInput) SetHITId(v string) *UpdateExpirationForHITInput {
  9960  	s.HITId = &v
  9961  	return s
  9962  }
  9963  
  9964  type UpdateExpirationForHITOutput struct {
  9965  	_ struct{} `type:"structure"`
  9966  }
  9967  
  9968  // String returns the string representation.
  9969  //
  9970  // API parameter values that are decorated as "sensitive" in the API will not
  9971  // be included in the string output. The member name will be present, but the
  9972  // value will be replaced with "sensitive".
  9973  func (s UpdateExpirationForHITOutput) String() string {
  9974  	return awsutil.Prettify(s)
  9975  }
  9976  
  9977  // GoString returns the string representation.
  9978  //
  9979  // API parameter values that are decorated as "sensitive" in the API will not
  9980  // be included in the string output. The member name will be present, but the
  9981  // value will be replaced with "sensitive".
  9982  func (s UpdateExpirationForHITOutput) GoString() string {
  9983  	return s.String()
  9984  }
  9985  
  9986  type UpdateHITReviewStatusInput struct {
  9987  	_ struct{} `type:"structure"`
  9988  
  9989  	// The ID of the HIT to update.
  9990  	//
  9991  	// HITId is a required field
  9992  	HITId *string `min:"1" type:"string" required:"true"`
  9993  
  9994  	// Specifies how to update the HIT status. Default is False.
  9995  	//
  9996  	//    * Setting this to false will only transition a HIT from Reviewable to
  9997  	//    Reviewing
  9998  	//
  9999  	//    * Setting this to true will only transition a HIT from Reviewing to Reviewable
 10000  	Revert *bool `type:"boolean"`
 10001  }
 10002  
 10003  // String returns the string representation.
 10004  //
 10005  // API parameter values that are decorated as "sensitive" in the API will not
 10006  // be included in the string output. The member name will be present, but the
 10007  // value will be replaced with "sensitive".
 10008  func (s UpdateHITReviewStatusInput) String() string {
 10009  	return awsutil.Prettify(s)
 10010  }
 10011  
 10012  // GoString returns the string representation.
 10013  //
 10014  // API parameter values that are decorated as "sensitive" in the API will not
 10015  // be included in the string output. The member name will be present, but the
 10016  // value will be replaced with "sensitive".
 10017  func (s UpdateHITReviewStatusInput) GoString() string {
 10018  	return s.String()
 10019  }
 10020  
 10021  // Validate inspects the fields of the type to determine if they are valid.
 10022  func (s *UpdateHITReviewStatusInput) Validate() error {
 10023  	invalidParams := request.ErrInvalidParams{Context: "UpdateHITReviewStatusInput"}
 10024  	if s.HITId == nil {
 10025  		invalidParams.Add(request.NewErrParamRequired("HITId"))
 10026  	}
 10027  	if s.HITId != nil && len(*s.HITId) < 1 {
 10028  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
 10029  	}
 10030  
 10031  	if invalidParams.Len() > 0 {
 10032  		return invalidParams
 10033  	}
 10034  	return nil
 10035  }
 10036  
 10037  // SetHITId sets the HITId field's value.
 10038  func (s *UpdateHITReviewStatusInput) SetHITId(v string) *UpdateHITReviewStatusInput {
 10039  	s.HITId = &v
 10040  	return s
 10041  }
 10042  
 10043  // SetRevert sets the Revert field's value.
 10044  func (s *UpdateHITReviewStatusInput) SetRevert(v bool) *UpdateHITReviewStatusInput {
 10045  	s.Revert = &v
 10046  	return s
 10047  }
 10048  
 10049  type UpdateHITReviewStatusOutput struct {
 10050  	_ struct{} `type:"structure"`
 10051  }
 10052  
 10053  // String returns the string representation.
 10054  //
 10055  // API parameter values that are decorated as "sensitive" in the API will not
 10056  // be included in the string output. The member name will be present, but the
 10057  // value will be replaced with "sensitive".
 10058  func (s UpdateHITReviewStatusOutput) String() string {
 10059  	return awsutil.Prettify(s)
 10060  }
 10061  
 10062  // GoString returns the string representation.
 10063  //
 10064  // API parameter values that are decorated as "sensitive" in the API will not
 10065  // be included in the string output. The member name will be present, but the
 10066  // value will be replaced with "sensitive".
 10067  func (s UpdateHITReviewStatusOutput) GoString() string {
 10068  	return s.String()
 10069  }
 10070  
 10071  type UpdateHITTypeOfHITInput struct {
 10072  	_ struct{} `type:"structure"`
 10073  
 10074  	// The HIT to update.
 10075  	//
 10076  	// HITId is a required field
 10077  	HITId *string `min:"1" type:"string" required:"true"`
 10078  
 10079  	// The ID of the new HIT type.
 10080  	//
 10081  	// HITTypeId is a required field
 10082  	HITTypeId *string `min:"1" type:"string" required:"true"`
 10083  }
 10084  
 10085  // String returns the string representation.
 10086  //
 10087  // API parameter values that are decorated as "sensitive" in the API will not
 10088  // be included in the string output. The member name will be present, but the
 10089  // value will be replaced with "sensitive".
 10090  func (s UpdateHITTypeOfHITInput) String() string {
 10091  	return awsutil.Prettify(s)
 10092  }
 10093  
 10094  // GoString returns the string representation.
 10095  //
 10096  // API parameter values that are decorated as "sensitive" in the API will not
 10097  // be included in the string output. The member name will be present, but the
 10098  // value will be replaced with "sensitive".
 10099  func (s UpdateHITTypeOfHITInput) GoString() string {
 10100  	return s.String()
 10101  }
 10102  
 10103  // Validate inspects the fields of the type to determine if they are valid.
 10104  func (s *UpdateHITTypeOfHITInput) Validate() error {
 10105  	invalidParams := request.ErrInvalidParams{Context: "UpdateHITTypeOfHITInput"}
 10106  	if s.HITId == nil {
 10107  		invalidParams.Add(request.NewErrParamRequired("HITId"))
 10108  	}
 10109  	if s.HITId != nil && len(*s.HITId) < 1 {
 10110  		invalidParams.Add(request.NewErrParamMinLen("HITId", 1))
 10111  	}
 10112  	if s.HITTypeId == nil {
 10113  		invalidParams.Add(request.NewErrParamRequired("HITTypeId"))
 10114  	}
 10115  	if s.HITTypeId != nil && len(*s.HITTypeId) < 1 {
 10116  		invalidParams.Add(request.NewErrParamMinLen("HITTypeId", 1))
 10117  	}
 10118  
 10119  	if invalidParams.Len() > 0 {
 10120  		return invalidParams
 10121  	}
 10122  	return nil
 10123  }
 10124  
 10125  // SetHITId sets the HITId field's value.
 10126  func (s *UpdateHITTypeOfHITInput) SetHITId(v string) *UpdateHITTypeOfHITInput {
 10127  	s.HITId = &v
 10128  	return s
 10129  }
 10130  
 10131  // SetHITTypeId sets the HITTypeId field's value.
 10132  func (s *UpdateHITTypeOfHITInput) SetHITTypeId(v string) *UpdateHITTypeOfHITInput {
 10133  	s.HITTypeId = &v
 10134  	return s
 10135  }
 10136  
 10137  type UpdateHITTypeOfHITOutput struct {
 10138  	_ struct{} `type:"structure"`
 10139  }
 10140  
 10141  // String returns the string representation.
 10142  //
 10143  // API parameter values that are decorated as "sensitive" in the API will not
 10144  // be included in the string output. The member name will be present, but the
 10145  // value will be replaced with "sensitive".
 10146  func (s UpdateHITTypeOfHITOutput) String() string {
 10147  	return awsutil.Prettify(s)
 10148  }
 10149  
 10150  // GoString returns the string representation.
 10151  //
 10152  // API parameter values that are decorated as "sensitive" in the API will not
 10153  // be included in the string output. The member name will be present, but the
 10154  // value will be replaced with "sensitive".
 10155  func (s UpdateHITTypeOfHITOutput) GoString() string {
 10156  	return s.String()
 10157  }
 10158  
 10159  type UpdateNotificationSettingsInput struct {
 10160  	_ struct{} `type:"structure"`
 10161  
 10162  	// Specifies whether notifications are sent for HITs of this HIT type, according
 10163  	// to the notification specification. You must specify either the Notification
 10164  	// parameter or the Active parameter for the call to UpdateNotificationSettings
 10165  	// to succeed.
 10166  	Active *bool `type:"boolean"`
 10167  
 10168  	// The ID of the HIT type whose notification specification is being updated.
 10169  	//
 10170  	// HITTypeId is a required field
 10171  	HITTypeId *string `min:"1" type:"string" required:"true"`
 10172  
 10173  	// The notification specification for the HIT type.
 10174  	Notification *NotificationSpecification `type:"structure"`
 10175  }
 10176  
 10177  // String returns the string representation.
 10178  //
 10179  // API parameter values that are decorated as "sensitive" in the API will not
 10180  // be included in the string output. The member name will be present, but the
 10181  // value will be replaced with "sensitive".
 10182  func (s UpdateNotificationSettingsInput) String() string {
 10183  	return awsutil.Prettify(s)
 10184  }
 10185  
 10186  // GoString returns the string representation.
 10187  //
 10188  // API parameter values that are decorated as "sensitive" in the API will not
 10189  // be included in the string output. The member name will be present, but the
 10190  // value will be replaced with "sensitive".
 10191  func (s UpdateNotificationSettingsInput) GoString() string {
 10192  	return s.String()
 10193  }
 10194  
 10195  // Validate inspects the fields of the type to determine if they are valid.
 10196  func (s *UpdateNotificationSettingsInput) Validate() error {
 10197  	invalidParams := request.ErrInvalidParams{Context: "UpdateNotificationSettingsInput"}
 10198  	if s.HITTypeId == nil {
 10199  		invalidParams.Add(request.NewErrParamRequired("HITTypeId"))
 10200  	}
 10201  	if s.HITTypeId != nil && len(*s.HITTypeId) < 1 {
 10202  		invalidParams.Add(request.NewErrParamMinLen("HITTypeId", 1))
 10203  	}
 10204  	if s.Notification != nil {
 10205  		if err := s.Notification.Validate(); err != nil {
 10206  			invalidParams.AddNested("Notification", err.(request.ErrInvalidParams))
 10207  		}
 10208  	}
 10209  
 10210  	if invalidParams.Len() > 0 {
 10211  		return invalidParams
 10212  	}
 10213  	return nil
 10214  }
 10215  
 10216  // SetActive sets the Active field's value.
 10217  func (s *UpdateNotificationSettingsInput) SetActive(v bool) *UpdateNotificationSettingsInput {
 10218  	s.Active = &v
 10219  	return s
 10220  }
 10221  
 10222  // SetHITTypeId sets the HITTypeId field's value.
 10223  func (s *UpdateNotificationSettingsInput) SetHITTypeId(v string) *UpdateNotificationSettingsInput {
 10224  	s.HITTypeId = &v
 10225  	return s
 10226  }
 10227  
 10228  // SetNotification sets the Notification field's value.
 10229  func (s *UpdateNotificationSettingsInput) SetNotification(v *NotificationSpecification) *UpdateNotificationSettingsInput {
 10230  	s.Notification = v
 10231  	return s
 10232  }
 10233  
 10234  type UpdateNotificationSettingsOutput struct {
 10235  	_ struct{} `type:"structure"`
 10236  }
 10237  
 10238  // String returns the string representation.
 10239  //
 10240  // API parameter values that are decorated as "sensitive" in the API will not
 10241  // be included in the string output. The member name will be present, but the
 10242  // value will be replaced with "sensitive".
 10243  func (s UpdateNotificationSettingsOutput) String() string {
 10244  	return awsutil.Prettify(s)
 10245  }
 10246  
 10247  // GoString returns the string representation.
 10248  //
 10249  // API parameter values that are decorated as "sensitive" in the API will not
 10250  // be included in the string output. The member name will be present, but the
 10251  // value will be replaced with "sensitive".
 10252  func (s UpdateNotificationSettingsOutput) GoString() string {
 10253  	return s.String()
 10254  }
 10255  
 10256  type UpdateQualificationTypeInput struct {
 10257  	_ struct{} `type:"structure"`
 10258  
 10259  	// The answers to the Qualification test specified in the Test parameter, in
 10260  	// the form of an AnswerKey data structure.
 10261  	AnswerKey *string `type:"string"`
 10262  
 10263  	// Specifies whether requests for the Qualification type are granted immediately,
 10264  	// without prompting the Worker with a Qualification test.
 10265  	//
 10266  	// Constraints: If the Test parameter is specified, this parameter cannot be
 10267  	// true.
 10268  	AutoGranted *bool `type:"boolean"`
 10269  
 10270  	// The Qualification value to use for automatically granted Qualifications.
 10271  	// This parameter is used only if the AutoGranted parameter is true.
 10272  	AutoGrantedValue *int64 `type:"integer"`
 10273  
 10274  	// The new description of the Qualification type.
 10275  	Description *string `type:"string"`
 10276  
 10277  	// The ID of the Qualification type to update.
 10278  	//
 10279  	// QualificationTypeId is a required field
 10280  	QualificationTypeId *string `min:"1" type:"string" required:"true"`
 10281  
 10282  	// The new status of the Qualification type - Active | Inactive
 10283  	QualificationTypeStatus *string `type:"string" enum:"QualificationTypeStatus"`
 10284  
 10285  	// The amount of time, in seconds, that Workers must wait after requesting a
 10286  	// Qualification of the specified Qualification type before they can retry the
 10287  	// Qualification request. It is not possible to disable retries for a Qualification
 10288  	// type after it has been created with retries enabled. If you want to disable
 10289  	// retries, you must dispose of the existing retry-enabled Qualification type
 10290  	// using DisposeQualificationType and then create a new Qualification type with
 10291  	// retries disabled using CreateQualificationType.
 10292  	RetryDelayInSeconds *int64 `type:"long"`
 10293  
 10294  	// The questions for the Qualification test a Worker must answer correctly to
 10295  	// obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds
 10296  	// must also be specified.
 10297  	//
 10298  	// Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm
 10299  	// data structure. This parameter cannot be specified if AutoGranted is true.
 10300  	//
 10301  	// Constraints: None. If not specified, the Worker may request the Qualification
 10302  	// without answering any questions.
 10303  	Test *string `type:"string"`
 10304  
 10305  	// The number of seconds the Worker has to complete the Qualification test,
 10306  	// starting from the time the Worker requests the Qualification.
 10307  	TestDurationInSeconds *int64 `type:"long"`
 10308  }
 10309  
 10310  // String returns the string representation.
 10311  //
 10312  // API parameter values that are decorated as "sensitive" in the API will not
 10313  // be included in the string output. The member name will be present, but the
 10314  // value will be replaced with "sensitive".
 10315  func (s UpdateQualificationTypeInput) String() string {
 10316  	return awsutil.Prettify(s)
 10317  }
 10318  
 10319  // GoString returns the string representation.
 10320  //
 10321  // API parameter values that are decorated as "sensitive" in the API will not
 10322  // be included in the string output. The member name will be present, but the
 10323  // value will be replaced with "sensitive".
 10324  func (s UpdateQualificationTypeInput) GoString() string {
 10325  	return s.String()
 10326  }
 10327  
 10328  // Validate inspects the fields of the type to determine if they are valid.
 10329  func (s *UpdateQualificationTypeInput) Validate() error {
 10330  	invalidParams := request.ErrInvalidParams{Context: "UpdateQualificationTypeInput"}
 10331  	if s.QualificationTypeId == nil {
 10332  		invalidParams.Add(request.NewErrParamRequired("QualificationTypeId"))
 10333  	}
 10334  	if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 {
 10335  		invalidParams.Add(request.NewErrParamMinLen("QualificationTypeId", 1))
 10336  	}
 10337  
 10338  	if invalidParams.Len() > 0 {
 10339  		return invalidParams
 10340  	}
 10341  	return nil
 10342  }
 10343  
 10344  // SetAnswerKey sets the AnswerKey field's value.
 10345  func (s *UpdateQualificationTypeInput) SetAnswerKey(v string) *UpdateQualificationTypeInput {
 10346  	s.AnswerKey = &v
 10347  	return s
 10348  }
 10349  
 10350  // SetAutoGranted sets the AutoGranted field's value.
 10351  func (s *UpdateQualificationTypeInput) SetAutoGranted(v bool) *UpdateQualificationTypeInput {
 10352  	s.AutoGranted = &v
 10353  	return s
 10354  }
 10355  
 10356  // SetAutoGrantedValue sets the AutoGrantedValue field's value.
 10357  func (s *UpdateQualificationTypeInput) SetAutoGrantedValue(v int64) *UpdateQualificationTypeInput {
 10358  	s.AutoGrantedValue = &v
 10359  	return s
 10360  }
 10361  
 10362  // SetDescription sets the Description field's value.
 10363  func (s *UpdateQualificationTypeInput) SetDescription(v string) *UpdateQualificationTypeInput {
 10364  	s.Description = &v
 10365  	return s
 10366  }
 10367  
 10368  // SetQualificationTypeId sets the QualificationTypeId field's value.
 10369  func (s *UpdateQualificationTypeInput) SetQualificationTypeId(v string) *UpdateQualificationTypeInput {
 10370  	s.QualificationTypeId = &v
 10371  	return s
 10372  }
 10373  
 10374  // SetQualificationTypeStatus sets the QualificationTypeStatus field's value.
 10375  func (s *UpdateQualificationTypeInput) SetQualificationTypeStatus(v string) *UpdateQualificationTypeInput {
 10376  	s.QualificationTypeStatus = &v
 10377  	return s
 10378  }
 10379  
 10380  // SetRetryDelayInSeconds sets the RetryDelayInSeconds field's value.
 10381  func (s *UpdateQualificationTypeInput) SetRetryDelayInSeconds(v int64) *UpdateQualificationTypeInput {
 10382  	s.RetryDelayInSeconds = &v
 10383  	return s
 10384  }
 10385  
 10386  // SetTest sets the Test field's value.
 10387  func (s *UpdateQualificationTypeInput) SetTest(v string) *UpdateQualificationTypeInput {
 10388  	s.Test = &v
 10389  	return s
 10390  }
 10391  
 10392  // SetTestDurationInSeconds sets the TestDurationInSeconds field's value.
 10393  func (s *UpdateQualificationTypeInput) SetTestDurationInSeconds(v int64) *UpdateQualificationTypeInput {
 10394  	s.TestDurationInSeconds = &v
 10395  	return s
 10396  }
 10397  
 10398  type UpdateQualificationTypeOutput struct {
 10399  	_ struct{} `type:"structure"`
 10400  
 10401  	// Contains a QualificationType data structure.
 10402  	QualificationType *QualificationType `type:"structure"`
 10403  }
 10404  
 10405  // String returns the string representation.
 10406  //
 10407  // API parameter values that are decorated as "sensitive" in the API will not
 10408  // be included in the string output. The member name will be present, but the
 10409  // value will be replaced with "sensitive".
 10410  func (s UpdateQualificationTypeOutput) String() string {
 10411  	return awsutil.Prettify(s)
 10412  }
 10413  
 10414  // GoString returns the string representation.
 10415  //
 10416  // API parameter values that are decorated as "sensitive" in the API will not
 10417  // be included in the string output. The member name will be present, but the
 10418  // value will be replaced with "sensitive".
 10419  func (s UpdateQualificationTypeOutput) GoString() string {
 10420  	return s.String()
 10421  }
 10422  
 10423  // SetQualificationType sets the QualificationType field's value.
 10424  func (s *UpdateQualificationTypeOutput) SetQualificationType(v *QualificationType) *UpdateQualificationTypeOutput {
 10425  	s.QualificationType = v
 10426  	return s
 10427  }
 10428  
 10429  // The WorkerBlock data structure represents a Worker who has been blocked.
 10430  // It has two elements: the WorkerId and the Reason for the block.
 10431  type WorkerBlock struct {
 10432  	_ struct{} `type:"structure"`
 10433  
 10434  	// A message explaining the reason the Worker was blocked.
 10435  	Reason *string `type:"string"`
 10436  
 10437  	// The ID of the Worker who accepted the HIT.
 10438  	WorkerId *string `min:"1" type:"string"`
 10439  }
 10440  
 10441  // String returns the string representation.
 10442  //
 10443  // API parameter values that are decorated as "sensitive" in the API will not
 10444  // be included in the string output. The member name will be present, but the
 10445  // value will be replaced with "sensitive".
 10446  func (s WorkerBlock) String() string {
 10447  	return awsutil.Prettify(s)
 10448  }
 10449  
 10450  // GoString returns the string representation.
 10451  //
 10452  // API parameter values that are decorated as "sensitive" in the API will not
 10453  // be included in the string output. The member name will be present, but the
 10454  // value will be replaced with "sensitive".
 10455  func (s WorkerBlock) GoString() string {
 10456  	return s.String()
 10457  }
 10458  
 10459  // SetReason sets the Reason field's value.
 10460  func (s *WorkerBlock) SetReason(v string) *WorkerBlock {
 10461  	s.Reason = &v
 10462  	return s
 10463  }
 10464  
 10465  // SetWorkerId sets the WorkerId field's value.
 10466  func (s *WorkerBlock) SetWorkerId(v string) *WorkerBlock {
 10467  	s.WorkerId = &v
 10468  	return s
 10469  }
 10470  
 10471  const (
 10472  	// AssignmentStatusSubmitted is a AssignmentStatus enum value
 10473  	AssignmentStatusSubmitted = "Submitted"
 10474  
 10475  	// AssignmentStatusApproved is a AssignmentStatus enum value
 10476  	AssignmentStatusApproved = "Approved"
 10477  
 10478  	// AssignmentStatusRejected is a AssignmentStatus enum value
 10479  	AssignmentStatusRejected = "Rejected"
 10480  )
 10481  
 10482  // AssignmentStatus_Values returns all elements of the AssignmentStatus enum
 10483  func AssignmentStatus_Values() []string {
 10484  	return []string{
 10485  		AssignmentStatusSubmitted,
 10486  		AssignmentStatusApproved,
 10487  		AssignmentStatusRejected,
 10488  	}
 10489  }
 10490  
 10491  const (
 10492  	// ComparatorLessThan is a Comparator enum value
 10493  	ComparatorLessThan = "LessThan"
 10494  
 10495  	// ComparatorLessThanOrEqualTo is a Comparator enum value
 10496  	ComparatorLessThanOrEqualTo = "LessThanOrEqualTo"
 10497  
 10498  	// ComparatorGreaterThan is a Comparator enum value
 10499  	ComparatorGreaterThan = "GreaterThan"
 10500  
 10501  	// ComparatorGreaterThanOrEqualTo is a Comparator enum value
 10502  	ComparatorGreaterThanOrEqualTo = "GreaterThanOrEqualTo"
 10503  
 10504  	// ComparatorEqualTo is a Comparator enum value
 10505  	ComparatorEqualTo = "EqualTo"
 10506  
 10507  	// ComparatorNotEqualTo is a Comparator enum value
 10508  	ComparatorNotEqualTo = "NotEqualTo"
 10509  
 10510  	// ComparatorExists is a Comparator enum value
 10511  	ComparatorExists = "Exists"
 10512  
 10513  	// ComparatorDoesNotExist is a Comparator enum value
 10514  	ComparatorDoesNotExist = "DoesNotExist"
 10515  
 10516  	// ComparatorIn is a Comparator enum value
 10517  	ComparatorIn = "In"
 10518  
 10519  	// ComparatorNotIn is a Comparator enum value
 10520  	ComparatorNotIn = "NotIn"
 10521  )
 10522  
 10523  // Comparator_Values returns all elements of the Comparator enum
 10524  func Comparator_Values() []string {
 10525  	return []string{
 10526  		ComparatorLessThan,
 10527  		ComparatorLessThanOrEqualTo,
 10528  		ComparatorGreaterThan,
 10529  		ComparatorGreaterThanOrEqualTo,
 10530  		ComparatorEqualTo,
 10531  		ComparatorNotEqualTo,
 10532  		ComparatorExists,
 10533  		ComparatorDoesNotExist,
 10534  		ComparatorIn,
 10535  		ComparatorNotIn,
 10536  	}
 10537  }
 10538  
 10539  const (
 10540  	// EventTypeAssignmentAccepted is a EventType enum value
 10541  	EventTypeAssignmentAccepted = "AssignmentAccepted"
 10542  
 10543  	// EventTypeAssignmentAbandoned is a EventType enum value
 10544  	EventTypeAssignmentAbandoned = "AssignmentAbandoned"
 10545  
 10546  	// EventTypeAssignmentReturned is a EventType enum value
 10547  	EventTypeAssignmentReturned = "AssignmentReturned"
 10548  
 10549  	// EventTypeAssignmentSubmitted is a EventType enum value
 10550  	EventTypeAssignmentSubmitted = "AssignmentSubmitted"
 10551  
 10552  	// EventTypeAssignmentRejected is a EventType enum value
 10553  	EventTypeAssignmentRejected = "AssignmentRejected"
 10554  
 10555  	// EventTypeAssignmentApproved is a EventType enum value
 10556  	EventTypeAssignmentApproved = "AssignmentApproved"
 10557  
 10558  	// EventTypeHitcreated is a EventType enum value
 10559  	EventTypeHitcreated = "HITCreated"
 10560  
 10561  	// EventTypeHitexpired is a EventType enum value
 10562  	EventTypeHitexpired = "HITExpired"
 10563  
 10564  	// EventTypeHitreviewable is a EventType enum value
 10565  	EventTypeHitreviewable = "HITReviewable"
 10566  
 10567  	// EventTypeHitextended is a EventType enum value
 10568  	EventTypeHitextended = "HITExtended"
 10569  
 10570  	// EventTypeHitdisposed is a EventType enum value
 10571  	EventTypeHitdisposed = "HITDisposed"
 10572  
 10573  	// EventTypePing is a EventType enum value
 10574  	EventTypePing = "Ping"
 10575  )
 10576  
 10577  // EventType_Values returns all elements of the EventType enum
 10578  func EventType_Values() []string {
 10579  	return []string{
 10580  		EventTypeAssignmentAccepted,
 10581  		EventTypeAssignmentAbandoned,
 10582  		EventTypeAssignmentReturned,
 10583  		EventTypeAssignmentSubmitted,
 10584  		EventTypeAssignmentRejected,
 10585  		EventTypeAssignmentApproved,
 10586  		EventTypeHitcreated,
 10587  		EventTypeHitexpired,
 10588  		EventTypeHitreviewable,
 10589  		EventTypeHitextended,
 10590  		EventTypeHitdisposed,
 10591  		EventTypePing,
 10592  	}
 10593  }
 10594  
 10595  const (
 10596  	// HITAccessActionsAccept is a HITAccessActions enum value
 10597  	HITAccessActionsAccept = "Accept"
 10598  
 10599  	// HITAccessActionsPreviewAndAccept is a HITAccessActions enum value
 10600  	HITAccessActionsPreviewAndAccept = "PreviewAndAccept"
 10601  
 10602  	// HITAccessActionsDiscoverPreviewAndAccept is a HITAccessActions enum value
 10603  	HITAccessActionsDiscoverPreviewAndAccept = "DiscoverPreviewAndAccept"
 10604  )
 10605  
 10606  // HITAccessActions_Values returns all elements of the HITAccessActions enum
 10607  func HITAccessActions_Values() []string {
 10608  	return []string{
 10609  		HITAccessActionsAccept,
 10610  		HITAccessActionsPreviewAndAccept,
 10611  		HITAccessActionsDiscoverPreviewAndAccept,
 10612  	}
 10613  }
 10614  
 10615  const (
 10616  	// HITReviewStatusNotReviewed is a HITReviewStatus enum value
 10617  	HITReviewStatusNotReviewed = "NotReviewed"
 10618  
 10619  	// HITReviewStatusMarkedForReview is a HITReviewStatus enum value
 10620  	HITReviewStatusMarkedForReview = "MarkedForReview"
 10621  
 10622  	// HITReviewStatusReviewedAppropriate is a HITReviewStatus enum value
 10623  	HITReviewStatusReviewedAppropriate = "ReviewedAppropriate"
 10624  
 10625  	// HITReviewStatusReviewedInappropriate is a HITReviewStatus enum value
 10626  	HITReviewStatusReviewedInappropriate = "ReviewedInappropriate"
 10627  )
 10628  
 10629  // HITReviewStatus_Values returns all elements of the HITReviewStatus enum
 10630  func HITReviewStatus_Values() []string {
 10631  	return []string{
 10632  		HITReviewStatusNotReviewed,
 10633  		HITReviewStatusMarkedForReview,
 10634  		HITReviewStatusReviewedAppropriate,
 10635  		HITReviewStatusReviewedInappropriate,
 10636  	}
 10637  }
 10638  
 10639  const (
 10640  	// HITStatusAssignable is a HITStatus enum value
 10641  	HITStatusAssignable = "Assignable"
 10642  
 10643  	// HITStatusUnassignable is a HITStatus enum value
 10644  	HITStatusUnassignable = "Unassignable"
 10645  
 10646  	// HITStatusReviewable is a HITStatus enum value
 10647  	HITStatusReviewable = "Reviewable"
 10648  
 10649  	// HITStatusReviewing is a HITStatus enum value
 10650  	HITStatusReviewing = "Reviewing"
 10651  
 10652  	// HITStatusDisposed is a HITStatus enum value
 10653  	HITStatusDisposed = "Disposed"
 10654  )
 10655  
 10656  // HITStatus_Values returns all elements of the HITStatus enum
 10657  func HITStatus_Values() []string {
 10658  	return []string{
 10659  		HITStatusAssignable,
 10660  		HITStatusUnassignable,
 10661  		HITStatusReviewable,
 10662  		HITStatusReviewing,
 10663  		HITStatusDisposed,
 10664  	}
 10665  }
 10666  
 10667  const (
 10668  	// NotificationTransportEmail is a NotificationTransport enum value
 10669  	NotificationTransportEmail = "Email"
 10670  
 10671  	// NotificationTransportSqs is a NotificationTransport enum value
 10672  	NotificationTransportSqs = "SQS"
 10673  
 10674  	// NotificationTransportSns is a NotificationTransport enum value
 10675  	NotificationTransportSns = "SNS"
 10676  )
 10677  
 10678  // NotificationTransport_Values returns all elements of the NotificationTransport enum
 10679  func NotificationTransport_Values() []string {
 10680  	return []string{
 10681  		NotificationTransportEmail,
 10682  		NotificationTransportSqs,
 10683  		NotificationTransportSns,
 10684  	}
 10685  }
 10686  
 10687  const (
 10688  	// NotifyWorkersFailureCodeSoftFailure is a NotifyWorkersFailureCode enum value
 10689  	NotifyWorkersFailureCodeSoftFailure = "SoftFailure"
 10690  
 10691  	// NotifyWorkersFailureCodeHardFailure is a NotifyWorkersFailureCode enum value
 10692  	NotifyWorkersFailureCodeHardFailure = "HardFailure"
 10693  )
 10694  
 10695  // NotifyWorkersFailureCode_Values returns all elements of the NotifyWorkersFailureCode enum
 10696  func NotifyWorkersFailureCode_Values() []string {
 10697  	return []string{
 10698  		NotifyWorkersFailureCodeSoftFailure,
 10699  		NotifyWorkersFailureCodeHardFailure,
 10700  	}
 10701  }
 10702  
 10703  const (
 10704  	// QualificationStatusGranted is a QualificationStatus enum value
 10705  	QualificationStatusGranted = "Granted"
 10706  
 10707  	// QualificationStatusRevoked is a QualificationStatus enum value
 10708  	QualificationStatusRevoked = "Revoked"
 10709  )
 10710  
 10711  // QualificationStatus_Values returns all elements of the QualificationStatus enum
 10712  func QualificationStatus_Values() []string {
 10713  	return []string{
 10714  		QualificationStatusGranted,
 10715  		QualificationStatusRevoked,
 10716  	}
 10717  }
 10718  
 10719  const (
 10720  	// QualificationTypeStatusActive is a QualificationTypeStatus enum value
 10721  	QualificationTypeStatusActive = "Active"
 10722  
 10723  	// QualificationTypeStatusInactive is a QualificationTypeStatus enum value
 10724  	QualificationTypeStatusInactive = "Inactive"
 10725  )
 10726  
 10727  // QualificationTypeStatus_Values returns all elements of the QualificationTypeStatus enum
 10728  func QualificationTypeStatus_Values() []string {
 10729  	return []string{
 10730  		QualificationTypeStatusActive,
 10731  		QualificationTypeStatusInactive,
 10732  	}
 10733  }
 10734  
 10735  const (
 10736  	// ReviewActionStatusIntended is a ReviewActionStatus enum value
 10737  	ReviewActionStatusIntended = "Intended"
 10738  
 10739  	// ReviewActionStatusSucceeded is a ReviewActionStatus enum value
 10740  	ReviewActionStatusSucceeded = "Succeeded"
 10741  
 10742  	// ReviewActionStatusFailed is a ReviewActionStatus enum value
 10743  	ReviewActionStatusFailed = "Failed"
 10744  
 10745  	// ReviewActionStatusCancelled is a ReviewActionStatus enum value
 10746  	ReviewActionStatusCancelled = "Cancelled"
 10747  )
 10748  
 10749  // ReviewActionStatus_Values returns all elements of the ReviewActionStatus enum
 10750  func ReviewActionStatus_Values() []string {
 10751  	return []string{
 10752  		ReviewActionStatusIntended,
 10753  		ReviewActionStatusSucceeded,
 10754  		ReviewActionStatusFailed,
 10755  		ReviewActionStatusCancelled,
 10756  	}
 10757  }
 10758  
 10759  const (
 10760  	// ReviewPolicyLevelAssignment is a ReviewPolicyLevel enum value
 10761  	ReviewPolicyLevelAssignment = "Assignment"
 10762  
 10763  	// ReviewPolicyLevelHit is a ReviewPolicyLevel enum value
 10764  	ReviewPolicyLevelHit = "HIT"
 10765  )
 10766  
 10767  // ReviewPolicyLevel_Values returns all elements of the ReviewPolicyLevel enum
 10768  func ReviewPolicyLevel_Values() []string {
 10769  	return []string{
 10770  		ReviewPolicyLevelAssignment,
 10771  		ReviewPolicyLevelHit,
 10772  	}
 10773  }
 10774  
 10775  const (
 10776  	// ReviewableHITStatusReviewable is a ReviewableHITStatus enum value
 10777  	ReviewableHITStatusReviewable = "Reviewable"
 10778  
 10779  	// ReviewableHITStatusReviewing is a ReviewableHITStatus enum value
 10780  	ReviewableHITStatusReviewing = "Reviewing"
 10781  )
 10782  
 10783  // ReviewableHITStatus_Values returns all elements of the ReviewableHITStatus enum
 10784  func ReviewableHITStatus_Values() []string {
 10785  	return []string{
 10786  		ReviewableHITStatusReviewable,
 10787  		ReviewableHITStatusReviewing,
 10788  	}
 10789  }