/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the mturk-requester-2017-01-17.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.MTurk.Model { /// /// Container for the parameters to the CreateHIT operation. /// The CreateHIT operation creates a new Human Intelligence Task (HIT). /// The new HIT is made available for Workers to find and accept on the Amazon Mechanical /// Turk website. /// /// /// /// This operation allows you to specify a new HIT by passing in values for the properties /// of the HIT, such as its title, reward amount and number of assignments. When you pass /// these values to CreateHIT, a new HIT is created for you, with a new HITTypeID. /// The HITTypeID can be used to create additional HITs in the future without needing /// to specify common parameters such as the title, description and reward amount each /// time. /// /// /// /// An alternative way to create HITs is to first generate a HITTypeID using the CreateHITType /// operation and then call the CreateHITWithHITType operation. This is the /// recommended best practice for Requesters who are creating large numbers of HITs. /// /// /// /// CreateHIT also supports several ways to provide question data: by providing a value /// for the Question parameter that fully specifies the contents of the HIT, /// or by providing a HitLayoutId and associated HitLayoutParameters. /// /// /// /// /// If a HIT is created with 10 or more maximum assignments, there is an additional fee. /// For more information, see Amazon Mechanical /// Turk Pricing. /// /// /// public partial class CreateHITRequest : AmazonMTurkRequest { private long? _assignmentDurationInSeconds; private ReviewPolicy _assignmentReviewPolicy; private long? _autoApprovalDelayInSeconds; private string _description; private string _hitLayoutId; private List _hitLayoutParameters = new List(); private ReviewPolicy _hitReviewPolicy; private string _keywords; private long? _lifetimeInSeconds; private int? _maxAssignments; private List _qualificationRequirements = new List(); private string _question; private string _requesterAnnotation; private string _reward; private string _title; private string _uniqueRequestToken; /// /// Gets and sets the property AssignmentDurationInSeconds. /// /// The amount of time, in seconds, that a Worker has to complete the HIT after accepting /// it. If a Worker does not complete the assignment within the specified duration, the /// assignment is considered abandoned. If the HIT is still active (that is, its lifetime /// has not elapsed), the assignment becomes available for other users to find and accept. /// /// /// [AWSProperty(Required=true)] public long AssignmentDurationInSeconds { get { return this._assignmentDurationInSeconds.GetValueOrDefault(); } set { this._assignmentDurationInSeconds = value; } } // Check to see if AssignmentDurationInSeconds property is set internal bool IsSetAssignmentDurationInSeconds() { return this._assignmentDurationInSeconds.HasValue; } /// /// Gets and sets the property AssignmentReviewPolicy. /// /// The Assignment-level Review Policy applies to the assignments under the HIT. You /// can specify for Mechanical Turk to take various actions based on the policy. /// /// public ReviewPolicy AssignmentReviewPolicy { get { return this._assignmentReviewPolicy; } set { this._assignmentReviewPolicy = value; } } // Check to see if AssignmentReviewPolicy property is set internal bool IsSetAssignmentReviewPolicy() { return this._assignmentReviewPolicy != null; } /// /// Gets and sets the property AutoApprovalDelayInSeconds. /// /// The number of seconds after an assignment for the HIT has been submitted, after which /// the assignment is considered Approved automatically unless the Requester explicitly /// rejects it. /// /// public long AutoApprovalDelayInSeconds { get { return this._autoApprovalDelayInSeconds.GetValueOrDefault(); } set { this._autoApprovalDelayInSeconds = value; } } // Check to see if AutoApprovalDelayInSeconds property is set internal bool IsSetAutoApprovalDelayInSeconds() { return this._autoApprovalDelayInSeconds.HasValue; } /// /// Gets and sets the property Description. /// /// A general description of the HIT. A description includes detailed information about /// the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT /// description appears in the expanded view of search results, and in the HIT and assignment /// screens. A good description gives the user enough information to evaluate the HIT /// before accepting it. /// /// [AWSProperty(Required=true)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property HITLayoutId. /// /// The HITLayoutId allows you to use a pre-existing HIT design with placeholder values /// and create an additional HIT by providing those values as HITLayoutParameters. /// /// /// /// Constraints: Either a Question parameter or a HITLayoutId parameter must be provided. /// /// /// [AWSProperty(Min=1, Max=64)] public string HITLayoutId { get { return this._hitLayoutId; } set { this._hitLayoutId = value; } } // Check to see if HITLayoutId property is set internal bool IsSetHITLayoutId() { return this._hitLayoutId != null; } /// /// Gets and sets the property HITLayoutParameters. /// /// If the HITLayoutId is provided, any placeholder values must be filled in with values /// using the HITLayoutParameter structure. For more information, see HITLayout. /// /// public List HITLayoutParameters { get { return this._hitLayoutParameters; } set { this._hitLayoutParameters = value; } } // Check to see if HITLayoutParameters property is set internal bool IsSetHITLayoutParameters() { return this._hitLayoutParameters != null && this._hitLayoutParameters.Count > 0; } /// /// Gets and sets the property HITReviewPolicy. /// /// The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk /// to take various actions based on the policy. /// /// public ReviewPolicy HITReviewPolicy { get { return this._hitReviewPolicy; } set { this._hitReviewPolicy = value; } } // Check to see if HITReviewPolicy property is set internal bool IsSetHITReviewPolicy() { return this._hitReviewPolicy != null; } /// /// Gets and sets the property Keywords. /// /// One or more words or phrases that describe the HIT, separated by commas. These words /// are used in searches to find HITs. /// /// public string Keywords { get { return this._keywords; } set { this._keywords = value; } } // Check to see if Keywords property is set internal bool IsSetKeywords() { return this._keywords != null; } /// /// Gets and sets the property LifetimeInSeconds. /// /// An amount of time, in seconds, after which the HIT is no longer available for users /// to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT /// searches, even if not all of the assignments for the HIT have been accepted. /// /// [AWSProperty(Required=true)] public long LifetimeInSeconds { get { return this._lifetimeInSeconds.GetValueOrDefault(); } set { this._lifetimeInSeconds = value; } } // Check to see if LifetimeInSeconds property is set internal bool IsSetLifetimeInSeconds() { return this._lifetimeInSeconds.HasValue; } /// /// Gets and sets the property MaxAssignments. /// /// The number of times the HIT can be accepted and completed before the HIT becomes /// unavailable. /// /// public int MaxAssignments { get { return this._maxAssignments.GetValueOrDefault(); } set { this._maxAssignments = value; } } // Check to see if MaxAssignments property is set internal bool IsSetMaxAssignments() { return this._maxAssignments.HasValue; } /// /// Gets and sets the property QualificationRequirements. /// /// Conditions that a Worker's Qualifications must meet in order to accept the HIT. A /// HIT can have between zero and ten Qualification requirements. All requirements must /// be met in order for a Worker to accept the HIT. Additionally, other actions can be /// restricted using the ActionsGuarded field on each QualificationRequirement /// structure. /// /// public List QualificationRequirements { get { return this._qualificationRequirements; } set { this._qualificationRequirements = value; } } // Check to see if QualificationRequirements property is set internal bool IsSetQualificationRequirements() { return this._qualificationRequirements != null && this._qualificationRequirements.Count > 0; } /// /// Gets and sets the property Question. /// /// The data the person completing the HIT uses to produce the results. /// /// /// /// Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, /// or an HTMLQuestion data structure. The XML question data must not be larger than 64 /// kilobytes (65,535 bytes) in size, including whitespace. /// /// /// /// Either a Question parameter or a HITLayoutId parameter must be provided. /// /// public string Question { get { return this._question; } set { this._question = value; } } // Check to see if Question property is set internal bool IsSetQuestion() { return this._question != null; } /// /// Gets and sets the property RequesterAnnotation. /// /// An arbitrary data field. The RequesterAnnotation parameter lets your application /// attach arbitrary data to the HIT for tracking purposes. For example, this parameter /// could be an identifier internal to the Requester's application that corresponds with /// the HIT. /// /// /// /// The RequesterAnnotation parameter for a HIT is only visible to the Requester who /// created the HIT. It is not shown to the Worker, or any other Requester. /// /// /// /// The RequesterAnnotation parameter may be different for each HIT you submit. It does /// not affect how your HITs are grouped. /// /// public string RequesterAnnotation { get { return this._requesterAnnotation; } set { this._requesterAnnotation = value; } } // Check to see if RequesterAnnotation property is set internal bool IsSetRequesterAnnotation() { return this._requesterAnnotation != null; } /// /// Gets and sets the property Reward. /// /// The amount of money the Requester will pay a Worker for successfully completing the /// HIT. /// /// [AWSProperty(Required=true)] public string Reward { get { return this._reward; } set { this._reward = value; } } // Check to see if Reward property is set internal bool IsSetReward() { return this._reward != null; } /// /// Gets and sets the property Title. /// /// The title of the HIT. A title should be short and descriptive about the kind of task /// the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in /// search results, and everywhere the HIT is mentioned. /// /// [AWSProperty(Required=true)] public string Title { get { return this._title; } set { this._title = value; } } // Check to see if Title property is set internal bool IsSetTitle() { return this._title != null; } /// /// Gets and sets the property UniqueRequestToken. /// /// A unique identifier for this request which allows you to retry the call on error /// without creating duplicate HITs. This is useful in cases such as network timeouts /// where it is unclear whether or not the call succeeded on the server. If the HIT already /// exists in the system from a previous call using the same UniqueRequestToken, subsequent /// calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing /// the HITId. /// /// /// /// Note: It is your responsibility to ensure uniqueness of the token. The unique token /// expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after /// the 24 hour limit could create duplicate HITs. /// /// /// [AWSProperty(Min=1, Max=64)] public string UniqueRequestToken { get { return this._uniqueRequestToken; } set { this._uniqueRequestToken = value; } } // Check to see if UniqueRequestToken property is set internal bool IsSetUniqueRequestToken() { return this._uniqueRequestToken != null; } } }