// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. package mturk import ( "context" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/internal/awsutil" ) type UpdateQualificationTypeInput struct { _ struct{} `type:"structure"` // The answers to the Qualification test specified in the Test parameter, in // the form of an AnswerKey data structure. AnswerKey *string `type:"string"` // Specifies whether requests for the Qualification type are granted immediately, // without prompting the Worker with a Qualification test. // // Constraints: If the Test parameter is specified, this parameter cannot be // true. AutoGranted *bool `type:"boolean"` // The Qualification value to use for automatically granted Qualifications. // This parameter is used only if the AutoGranted parameter is true. AutoGrantedValue *int64 `type:"integer"` // The new description of the Qualification type. Description *string `type:"string"` // The ID of the Qualification type to update. // // QualificationTypeId is a required field QualificationTypeId *string `min:"1" type:"string" required:"true"` // The new status of the Qualification type - Active | Inactive QualificationTypeStatus QualificationTypeStatus `type:"string" enum:"true"` // The amount of time, in seconds, that Workers must wait after requesting a // Qualification of the specified Qualification type before they can retry the // Qualification request. It is not possible to disable retries for a Qualification // type after it has been created with retries enabled. If you want to disable // retries, you must dispose of the existing retry-enabled Qualification type // using DisposeQualificationType and then create a new Qualification type with // retries disabled using CreateQualificationType. RetryDelayInSeconds *int64 `type:"long"` // The questions for the Qualification test a Worker must answer correctly to // obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds // must also be specified. // // Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm // data structure. This parameter cannot be specified if AutoGranted is true. // // Constraints: None. If not specified, the Worker may request the Qualification // without answering any questions. Test *string `type:"string"` // The number of seconds the Worker has to complete the Qualification test, // starting from the time the Worker requests the Qualification. TestDurationInSeconds *int64 `type:"long"` } // String returns the string representation func (s UpdateQualificationTypeInput) String() string { return awsutil.Prettify(s) } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateQualificationTypeInput) Validate() error { invalidParams := aws.ErrInvalidParams{Context: "UpdateQualificationTypeInput"} if s.QualificationTypeId == nil { invalidParams.Add(aws.NewErrParamRequired("QualificationTypeId")) } if s.QualificationTypeId != nil && len(*s.QualificationTypeId) < 1 { invalidParams.Add(aws.NewErrParamMinLen("QualificationTypeId", 1)) } if invalidParams.Len() > 0 { return invalidParams } return nil } type UpdateQualificationTypeOutput struct { _ struct{} `type:"structure"` // Contains a QualificationType data structure. QualificationType *QualificationType `type:"structure"` } // String returns the string representation func (s UpdateQualificationTypeOutput) String() string { return awsutil.Prettify(s) } const opUpdateQualificationType = "UpdateQualificationType" // UpdateQualificationTypeRequest returns a request value for making API operation for // Amazon Mechanical Turk. // // The UpdateQualificationType operation modifies the attributes of an existing // Qualification type, which is represented by a QualificationType data structure. // Only the owner of a Qualification type can modify its attributes. // // Most attributes of a Qualification type can be changed after the type has // been created. However, the Name and Keywords fields cannot be modified. The // RetryDelayInSeconds parameter can be modified or added to change the delay // or to enable retries, but RetryDelayInSeconds cannot be used to disable retries. // // You can use this operation to update the test for a Qualification type. The // test is updated based on the values specified for the Test, TestDurationInSeconds // and AnswerKey parameters. All three parameters specify the updated test. // If you are updating the test for a type, you must specify the Test and TestDurationInSeconds // parameters. The AnswerKey parameter is optional; omitting it specifies that // the updated test does not have an answer key. // // If you omit the Test parameter, the test for the Qualification type is unchanged. // There is no way to remove a test from a Qualification type that has one. // If the type already has a test, you cannot update it to be AutoGranted. If // the Qualification type does not have a test and one is provided by an update, // the type will henceforth have a test. // // If you want to update the test duration or answer key for an existing test // without changing the questions, you must specify a Test parameter with the // original questions, along with the updated values. // // If you provide an updated Test but no AnswerKey, the new test will not have // an answer key. Requests for such Qualifications must be granted manually. // // You can also update the AutoGranted and AutoGrantedValue attributes of the // Qualification type. // // // Example sending a request using UpdateQualificationTypeRequest. // req := client.UpdateQualificationTypeRequest(params) // resp, err := req.Send(context.TODO()) // if err == nil { // fmt.Println(resp) // } // // Please also see https://docs.aws.amazon.com/goto/WebAPI/mturk-requester-2017-01-17/UpdateQualificationType func (c *Client) UpdateQualificationTypeRequest(input *UpdateQualificationTypeInput) UpdateQualificationTypeRequest { op := &aws.Operation{ Name: opUpdateQualificationType, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdateQualificationTypeInput{} } req := c.newRequest(op, input, &UpdateQualificationTypeOutput{}) return UpdateQualificationTypeRequest{Request: req, Input: input, Copy: c.UpdateQualificationTypeRequest} } // UpdateQualificationTypeRequest is the request type for the // UpdateQualificationType API operation. type UpdateQualificationTypeRequest struct { *aws.Request Input *UpdateQualificationTypeInput Copy func(*UpdateQualificationTypeInput) UpdateQualificationTypeRequest } // Send marshals and sends the UpdateQualificationType API request. func (r UpdateQualificationTypeRequest) Send(ctx context.Context) (*UpdateQualificationTypeResponse, error) { r.Request.SetContext(ctx) err := r.Request.Send() if err != nil { return nil, err } resp := &UpdateQualificationTypeResponse{ UpdateQualificationTypeOutput: r.Request.Data.(*UpdateQualificationTypeOutput), response: &aws.Response{Request: r.Request}, } return resp, nil } // UpdateQualificationTypeResponse is the response type for the // UpdateQualificationType API operation. type UpdateQualificationTypeResponse struct { *UpdateQualificationTypeOutput response *aws.Response } // SDKResponseMetdata returns the response metadata for the // UpdateQualificationType request. func (r *UpdateQualificationTypeResponse) SDKResponseMetdata() *aws.Response { return r.response }