/*
* 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 personalize-2018-05-22.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.Personalize.Model
{
///
/// Container for the parameters to the CreateRecommender operation.
/// Creates a recommender with the recipe (a Domain dataset group use case) you specify.
/// You create recommenders for a Domain dataset group and specify the recommender's Amazon
/// Resource Name (ARN) when you make a GetRecommendations
/// request.
///
///
///
/// Minimum recommendation requests per second
///
///
///
/// A high minRecommendationRequestsPerSecond
will increase your bill. We
/// recommend starting with 1 for minRecommendationRequestsPerSecond
(the
/// default). Track your usage using Amazon CloudWatch metrics, and increase the minRecommendationRequestsPerSecond
/// as necessary.
///
///
///
/// When you create a recommender, you can configure the recommender's minimum recommendation
/// requests per second. The minimum recommendation requests per second (minRecommendationRequestsPerSecond
)
/// specifies the baseline recommendation request throughput provisioned by Amazon Personalize.
/// The default minRecommendationRequestsPerSecond is 1
. A recommendation
/// request is a single GetRecommendations
operation. Request throughput
/// is measured in requests per second and Amazon Personalize uses your requests per second
/// to derive your requests per hour and the price of your recommender usage.
///
///
///
/// If your requests per second increases beyond minRecommendationRequestsPerSecond
,
/// Amazon Personalize auto-scales the provisioned capacity up and down, but never below
/// minRecommendationRequestsPerSecond
. There's a short time delay while
/// the capacity is increased that might cause loss of requests.
///
///
///
/// Your bill is the greater of either the minimum requests per hour (based on minRecommendationRequestsPerSecond)
/// or the actual number of requests. The actual request throughput used is calculated
/// as the average requests/second within a one-hour window. We recommend starting with
/// the default minRecommendationRequestsPerSecond
, track your usage using
/// Amazon CloudWatch metrics, and then increase the minRecommendationRequestsPerSecond
/// as necessary.
///
///
///
/// Status
///
///
///
/// A recommender can be in one of the following states:
///
/// -
///
/// CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED
///
///
-
///
/// STOP PENDING > STOP IN_PROGRESS > INACTIVE > START PENDING > START IN_PROGRESS
/// > ACTIVE
///
///
-
///
/// DELETE PENDING > DELETE IN_PROGRESS
///
///
///
/// To get the recommender status, call DescribeRecommender.
///
///
///
/// Wait until the status
of the recommender is ACTIVE
before
/// asking the recommender for recommendations.
///
/// Related APIs
///
///
///
public partial class CreateRecommenderRequest : AmazonPersonalizeRequest
{
private string _datasetGroupArn;
private string _name;
private string _recipeArn;
private RecommenderConfig _recommenderConfig;
private List _tags = new List();
///
/// Gets and sets the property DatasetGroupArn.
///
/// The Amazon Resource Name (ARN) of the destination domain dataset group for the recommender.
///
///
[AWSProperty(Required=true, Max=256)]
public string DatasetGroupArn
{
get { return this._datasetGroupArn; }
set { this._datasetGroupArn = value; }
}
// Check to see if DatasetGroupArn property is set
internal bool IsSetDatasetGroupArn()
{
return this._datasetGroupArn != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the recommender.
///
///
[AWSProperty(Required=true, Min=1, Max=63)]
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 RecipeArn.
///
/// The Amazon Resource Name (ARN) of the recipe that the recommender will use. For a
/// recommender, a recipe is a Domain dataset group use case. Only Domain dataset group
/// use cases can be used to create a recommender. For information about use cases see
/// Choosing
/// recommender use cases.
///
///
[AWSProperty(Required=true, Max=256)]
public string RecipeArn
{
get { return this._recipeArn; }
set { this._recipeArn = value; }
}
// Check to see if RecipeArn property is set
internal bool IsSetRecipeArn()
{
return this._recipeArn != null;
}
///
/// Gets and sets the property RecommenderConfig.
///
/// The configuration details of the recommender.
///
///
public RecommenderConfig RecommenderConfig
{
get { return this._recommenderConfig; }
set { this._recommenderConfig = value; }
}
// Check to see if RecommenderConfig property is set
internal bool IsSetRecommenderConfig()
{
return this._recommenderConfig != null;
}
///
/// Gets and sets the property Tags.
///
/// A list of tags
/// to apply to the recommender.
///
///
[AWSProperty(Min=0, Max=200)]
public List 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;
}
}
}