/* * 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 CreateCampaign operation. /// Creates a campaign that deploys a solution version. When a client calls the GetRecommendations /// and GetPersonalizedRanking /// APIs, a campaign is specified in the request. /// /// /// /// Minimum Provisioned TPS and Auto-Scaling /// /// /// /// A high minProvisionedTPS will increase your bill. We recommend starting /// with 1 for minProvisionedTPS (the default). Track your usage using Amazon /// CloudWatch metrics, and increase the minProvisionedTPS as necessary. /// /// /// /// A transaction is a single GetRecommendations or GetPersonalizedRanking /// call. Transactions per second (TPS) is the throughput and unit of billing for Amazon /// Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies /// the baseline throughput provisioned by Amazon Personalize, and thus, the minimum billing /// charge. /// /// /// /// If your TPS increases beyond minProvisionedTPS, Amazon Personalize auto-scales /// the provisioned capacity up and down, but never below minProvisionedTPS. /// There's a short time delay while the capacity is increased that might cause loss of /// transactions. /// /// /// /// The actual TPS used is calculated as the average requests/second within a 5-minute /// window. You pay for maximum of either the minimum provisioned TPS or the actual TPS. /// We recommend starting with a low minProvisionedTPS, track your usage /// using Amazon CloudWatch metrics, and then increase the minProvisionedTPS /// as necessary. /// /// /// /// Status /// /// /// /// A campaign can be in one of the following states: /// /// /// /// To get the campaign status, call DescribeCampaign. /// /// /// /// Wait until the status of the campaign is ACTIVE before asking /// the campaign for recommendations. /// ///

Related APIs /// ///

///
public partial class CreateCampaignRequest : AmazonPersonalizeRequest { private CampaignConfig _campaignConfig; private int? _minProvisionedTPS; private string _name; private string _solutionVersionArn; private List _tags = new List(); /// /// Gets and sets the property CampaignConfig. /// /// The configuration details of a campaign. /// /// public CampaignConfig CampaignConfig { get { return this._campaignConfig; } set { this._campaignConfig = value; } } // Check to see if CampaignConfig property is set internal bool IsSetCampaignConfig() { return this._campaignConfig != null; } /// /// Gets and sets the property MinProvisionedTPS. /// /// Specifies the requested minimum provisioned transactions (recommendations) per second /// that Amazon Personalize will support. A high minProvisionedTPS will increase /// your bill. We recommend starting with 1 for minProvisionedTPS (the default). /// Track your usage using Amazon CloudWatch metrics, and increase the minProvisionedTPS /// as necessary. /// /// [AWSProperty(Min=1)] public int MinProvisionedTPS { get { return this._minProvisionedTPS.GetValueOrDefault(); } set { this._minProvisionedTPS = value; } } // Check to see if MinProvisionedTPS property is set internal bool IsSetMinProvisionedTPS() { return this._minProvisionedTPS.HasValue; } /// /// Gets and sets the property Name. /// /// A name for the new campaign. The campaign name must be unique within your account. /// /// [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 SolutionVersionArn. /// /// The Amazon Resource Name (ARN) of the solution version to deploy. /// /// [AWSProperty(Required=true, Max=256)] public string SolutionVersionArn { get { return this._solutionVersionArn; } set { this._solutionVersionArn = value; } } // Check to see if SolutionVersionArn property is set internal bool IsSetSolutionVersionArn() { return this._solutionVersionArn != null; } /// /// Gets and sets the property Tags. /// /// A list of tags /// to apply to the campaign. /// /// [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; } } }