/* * 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 { /// /// The QualificationRequirement data structure describes a Qualification that a Worker /// must have before the Worker is allowed to accept a HIT. A requirement may optionally /// state that a Worker must have the Qualification in order to preview the HIT, or see /// the HIT in search results. /// public partial class QualificationRequirement { private HITAccessActions _actionsGuarded; private Comparator _comparator; private List _integerValues = new List(); private List _localeValues = new List(); private string _qualificationTypeId; private bool? _requiredToPreview; /// /// Gets and sets the property ActionsGuarded. /// /// Setting this attribute prevents Workers whose Qualifications do not meet this QualificationRequirement /// from taking the specified action. Valid arguments include "Accept" (Worker cannot /// accept the HIT, but can preview the HIT and see it in their search results), "PreviewAndAccept" /// (Worker cannot accept or preview the HIT, but can see the HIT in their search results), /// and "DiscoverPreviewAndAccept" (Worker cannot accept, preview, or see the HIT in their /// search results). It's possible for you to create a HIT with multiple QualificationRequirements /// (which can have different values for the ActionGuarded attribute). In this case, the /// Worker is only permitted to perform an action when they have met all QualificationRequirements /// guarding the action. The actions in the order of least restrictive to most restrictive /// are Discover, Preview and Accept. For example, if a Worker meets all QualificationRequirements /// that are set to DiscoverPreviewAndAccept, but do not meet all requirements that are /// set with PreviewAndAccept, then the Worker will be able to Discover, i.e. see the /// HIT in their search result, but will not be able to Preview or Accept the HIT. ActionsGuarded /// should not be used in combination with the RequiredToPreview field. /// /// public HITAccessActions ActionsGuarded { get { return this._actionsGuarded; } set { this._actionsGuarded = value; } } // Check to see if ActionsGuarded property is set internal bool IsSetActionsGuarded() { return this._actionsGuarded != null; } /// /// Gets and sets the property Comparator. /// /// The kind of comparison to make against a Qualification's value. You can compare a /// Qualification's value to an IntegerValue to see if it is LessThan, LessThanOrEqualTo, /// GreaterThan, GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue. You can /// compare it to a LocaleValue to see if it is EqualTo, or NotEqualTo the LocaleValue. /// You can check to see if the value is In or NotIn a set of IntegerValue or LocaleValue /// values. Lastly, a Qualification requirement can also test if a Qualification Exists /// or DoesNotExist in the user's profile, regardless of its value. /// /// [AWSProperty(Required=true)] public Comparator Comparator { get { return this._comparator; } set { this._comparator = value; } } // Check to see if Comparator property is set internal bool IsSetComparator() { return this._comparator != null; } /// /// Gets and sets the property IntegerValues. /// /// The integer value to compare against the Qualification's value. IntegerValue must /// not be present if Comparator is Exists or DoesNotExist. IntegerValue can only be used /// if the Qualification type has an integer value; it cannot be used with the Worker_Locale /// QualificationType ID. When performing a set comparison by using the In or the NotIn /// comparator, you can use up to 15 IntegerValue elements in a QualificationRequirement /// data structure. /// /// public List IntegerValues { get { return this._integerValues; } set { this._integerValues = value; } } // Check to see if IntegerValues property is set internal bool IsSetIntegerValues() { return this._integerValues != null && this._integerValues.Count > 0; } /// /// Gets and sets the property LocaleValues. /// /// The locale value to compare against the Qualification's value. The local value must /// be a valid ISO 3166 country code or supports ISO 3166-2 subdivisions. LocaleValue /// can only be used with a Worker_Locale QualificationType ID. LocaleValue can only be /// used with the EqualTo, NotEqualTo, In, and NotIn comparators. You must only use a /// single LocaleValue element when using the EqualTo or NotEqualTo comparators. When /// performing a set comparison by using the In or the NotIn comparator, you can use up /// to 30 LocaleValue elements in a QualificationRequirement data structure. /// /// public List LocaleValues { get { return this._localeValues; } set { this._localeValues = value; } } // Check to see if LocaleValues property is set internal bool IsSetLocaleValues() { return this._localeValues != null && this._localeValues.Count > 0; } /// /// Gets and sets the property QualificationTypeId. /// /// The ID of the Qualification type for the requirement. /// /// [AWSProperty(Required=true)] public string QualificationTypeId { get { return this._qualificationTypeId; } set { this._qualificationTypeId = value; } } // Check to see if QualificationTypeId property is set internal bool IsSetQualificationTypeId() { return this._qualificationTypeId != null; } /// /// Gets and sets the property RequiredToPreview. /// /// DEPRECATED: Use the ActionsGuarded field instead. If RequiredToPreview /// is true, the question data for the HIT will not be shown when a Worker whose Qualifications /// do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications /// must meet all of the requirements for which RequiredToPreview is true in order to /// preview the HIT. If a Worker meets all of the requirements where RequiredToPreview /// is true (or if there are no such requirements), but does not meet all of the requirements /// for the HIT, the Worker will be allowed to preview the HIT's question data, but will /// not be allowed to accept and complete the HIT. The default is false. This should not /// be used in combination with the ActionsGuarded field. /// /// [Obsolete("Use the ActionsGuarded field instead")] public bool RequiredToPreview { get { return this._requiredToPreview.GetValueOrDefault(); } set { this._requiredToPreview = value; } } // Check to see if RequiredToPreview property is set internal bool IsSetRequiredToPreview() { return this._requiredToPreview.HasValue; } } }