/* * 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 evidently-2021-02-01.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.CloudWatchEvidently.Model { /// /// Container for the parameters to the CreateFeature operation. /// Creates an Evidently feature that you want to launch or test. You can define /// up to five variations of a feature, and use these variations in your launches and /// experiments. A feature must be created in a project. For information about creating /// a project, see CreateProject. /// /// /// /// Don't use this operation to update an existing feature. Instead, use UpdateFeature. /// /// /// public partial class CreateFeatureRequest : AmazonCloudWatchEvidentlyRequest { private string _defaultVariation; private string _description; private Dictionary _entityOverrides = new Dictionary(); private FeatureEvaluationStrategy _evaluationStrategy; private string _name; private string _project; private Dictionary _tags = new Dictionary(); private List _variations = new List(); /// /// Gets and sets the property DefaultVariation. /// /// The name of the variation to use as the default variation. The default variation is /// served to users who are not allocated to any ongoing launches or experiments of this /// feature. /// /// /// /// This variation must also be listed in the variations structure. /// /// /// /// If you omit defaultVariation, the first variation listed in the variations /// structure is used as the default variation. /// /// [AWSProperty(Min=1, Max=127)] public string DefaultVariation { get { return this._defaultVariation; } set { this._defaultVariation = value; } } // Check to see if DefaultVariation property is set internal bool IsSetDefaultVariation() { return this._defaultVariation != null; } /// /// Gets and sets the property Description. /// /// An optional description of the feature. /// /// [AWSProperty(Min=0, Max=160)] 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 EntityOverrides. /// /// Specify users that should always be served a specific variation of a feature. Each /// user is specified by a key-value pair . For each key, specify a user by entering their /// user ID, account ID, or some other identifier. For the value, specify the name of /// the variation that they are to be served. /// /// /// /// This parameter is limited to 2500 overrides or a total of 40KB. The 40KB limit includes /// an overhead of 6 bytes per override. /// /// [AWSProperty(Min=0, Max=2500)] public Dictionary EntityOverrides { get { return this._entityOverrides; } set { this._entityOverrides = value; } } // Check to see if EntityOverrides property is set internal bool IsSetEntityOverrides() { return this._entityOverrides != null && this._entityOverrides.Count > 0; } /// /// Gets and sets the property EvaluationStrategy. /// /// Specify ALL_RULES to activate the traffic allocation specified by any /// ongoing launches or experiments. Specify DEFAULT_VARIATION to serve the /// default variation to all users instead. /// /// public FeatureEvaluationStrategy EvaluationStrategy { get { return this._evaluationStrategy; } set { this._evaluationStrategy = value; } } // Check to see if EvaluationStrategy property is set internal bool IsSetEvaluationStrategy() { return this._evaluationStrategy != null; } /// /// Gets and sets the property Name. /// /// The name for the new feature. /// /// [AWSProperty(Required=true, Min=1, Max=127)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property Project. /// /// The name or ARN of the project that is to contain the new feature. /// /// [AWSProperty(Required=true, Min=0, Max=2048)] public string Project { get { return this._project; } set { this._project = value; } } // Check to see if Project property is set internal bool IsSetProject() { return this._project != null; } /// /// Gets and sets the property Tags. /// /// Assigns one or more tags (key-value pairs) to the feature. /// /// /// /// Tags can help you organize and categorize your resources. You can also use them to /// scope user permissions by granting a user permission to access or change only resources /// with certain tag values. /// /// /// /// Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly /// as strings of characters. /// /// /// /// You can associate as many as 50 tags with a feature. /// /// /// /// For more information, see Tagging /// Amazon Web Services resources. /// /// public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property Variations. /// /// An array of structures that contain the configuration of the feature's different variations. /// /// [AWSProperty(Required=true, Min=1, Max=5)] public List Variations { get { return this._variations; } set { this._variations = value; } } // Check to see if Variations property is set internal bool IsSetVariations() { return this._variations != null && this._variations.Count > 0; } } }