/* * 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 forecast-2018-06-26.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.ForecastService.Model { /// /// Container for the parameters to the CreateAutoPredictor operation. /// Creates an Amazon Forecast predictor. /// /// /// /// Amazon Forecast creates predictors with AutoPredictor, which involves applying the /// optimal combination of algorithms to each time series in your datasets. You can use /// CreateAutoPredictor to create new predictors or upgrade/retrain existing predictors. /// /// /// /// Creating new predictors /// /// /// /// The following parameters are required when creating a new predictor: /// /// /// /// When creating a new predictor, do not specify a value for ReferencePredictorArn. /// /// /// /// Upgrading and retraining predictors /// /// /// /// The following parameters are required when retraining or upgrading a predictor: /// /// /// /// When upgrading or retraining a predictor, only specify values for the ReferencePredictorArn /// and PredictorName. /// /// public partial class CreateAutoPredictorRequest : AmazonForecastServiceRequest { private DataConfig _dataConfig; private EncryptionConfig _encryptionConfig; private bool? _explainPredictor; private List _forecastDimensions = new List(); private string _forecastFrequency; private int? _forecastHorizon; private List _forecastTypes = new List(); private MonitorConfig _monitorConfig; private OptimizationMetric _optimizationMetric; private string _predictorName; private string _referencePredictorArn; private List _tags = new List(); private TimeAlignmentBoundary _timeAlignmentBoundary; /// /// Gets and sets the property DataConfig. /// /// The data configuration for your dataset group and any additional datasets. /// /// public DataConfig DataConfig { get { return this._dataConfig; } set { this._dataConfig = value; } } // Check to see if DataConfig property is set internal bool IsSetDataConfig() { return this._dataConfig != null; } /// /// Gets and sets the property EncryptionConfig. /// public EncryptionConfig EncryptionConfig { get { return this._encryptionConfig; } set { this._encryptionConfig = value; } } // Check to see if EncryptionConfig property is set internal bool IsSetEncryptionConfig() { return this._encryptionConfig != null; } /// /// Gets and sets the property ExplainPredictor. /// /// Create an Explainability resource for the predictor. /// /// public bool ExplainPredictor { get { return this._explainPredictor.GetValueOrDefault(); } set { this._explainPredictor = value; } } // Check to see if ExplainPredictor property is set internal bool IsSetExplainPredictor() { return this._explainPredictor.HasValue; } /// /// Gets and sets the property ForecastDimensions. /// /// An array of dimension (field) names that specify how to group the generated forecast. /// /// /// /// For example, if you are generating forecasts for item sales across all your stores, /// and your dataset contains a store_id field, you would specify store_id /// as a dimension to group sales forecasts for each store. /// /// [AWSProperty(Min=1, Max=10)] public List ForecastDimensions { get { return this._forecastDimensions; } set { this._forecastDimensions = value; } } // Check to see if ForecastDimensions property is set internal bool IsSetForecastDimensions() { return this._forecastDimensions != null && this._forecastDimensions.Count > 0; } /// /// Gets and sets the property ForecastFrequency. /// /// The frequency of predictions in a forecast. /// /// /// /// Valid intervals are an integer followed by Y (Year), M (Month), W (Week), D (Day), /// H (Hour), and min (Minute). For example, "1D" indicates every day and "15min" indicates /// every 15 minutes. You cannot specify a value that would overlap with the next larger /// frequency. That means, for example, you cannot specify a frequency of 60 minutes, /// because that is equivalent to 1 hour. The valid values for each frequency are the /// following: /// ///
  • /// /// Minute - 1-59 /// ///
  • /// /// Hour - 1-23 /// ///
  • /// /// Day - 1-6 /// ///
  • /// /// Week - 1-4 /// ///
  • /// /// Month - 1-11 /// ///
  • /// /// Year - 1 /// ///
/// /// Thus, if you want every other week forecasts, specify "2W". Or, if you want quarterly /// forecasts, you specify "3M". /// /// /// /// The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset frequency. /// /// /// /// When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal to the /// RELATED_TIME_SERIES dataset frequency. /// ///
[AWSProperty(Min=1, Max=5)] public string ForecastFrequency { get { return this._forecastFrequency; } set { this._forecastFrequency = value; } } // Check to see if ForecastFrequency property is set internal bool IsSetForecastFrequency() { return this._forecastFrequency != null; } /// /// Gets and sets the property ForecastHorizon. /// /// The number of time-steps that the model predicts. The forecast horizon is also called /// the prediction length. /// /// /// /// The maximum forecast horizon is the lesser of 500 time-steps or 1/4 of the TARGET_TIME_SERIES /// dataset length. If you are retraining an existing AutoPredictor, then the maximum /// forecast horizon is the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES /// dataset length. /// /// /// /// If you are upgrading to an AutoPredictor or retraining an existing AutoPredictor, /// you cannot update the forecast horizon parameter. You can meet this requirement by /// providing longer time-series in the dataset. /// /// public int ForecastHorizon { get { return this._forecastHorizon.GetValueOrDefault(); } set { this._forecastHorizon = value; } } // Check to see if ForecastHorizon property is set internal bool IsSetForecastHorizon() { return this._forecastHorizon.HasValue; } /// /// Gets and sets the property ForecastTypes. /// /// The forecast types used to train a predictor. You can specify up to five forecast /// types. Forecast types can be quantiles from 0.01 to 0.99, by increments of 0.01 or /// higher. You can also specify the mean forecast with mean. /// /// [AWSProperty(Min=1, Max=20)] public List ForecastTypes { get { return this._forecastTypes; } set { this._forecastTypes = value; } } // Check to see if ForecastTypes property is set internal bool IsSetForecastTypes() { return this._forecastTypes != null && this._forecastTypes.Count > 0; } /// /// Gets and sets the property MonitorConfig. /// /// The configuration details for predictor monitoring. Provide a name for the monitor /// resource to enable predictor monitoring. /// /// /// /// Predictor monitoring allows you to see how your predictor's performance changes over /// time. For more information, see Predictor /// Monitoring. /// /// public MonitorConfig MonitorConfig { get { return this._monitorConfig; } set { this._monitorConfig = value; } } // Check to see if MonitorConfig property is set internal bool IsSetMonitorConfig() { return this._monitorConfig != null; } /// /// Gets and sets the property OptimizationMetric. /// /// The accuracy metric used to optimize the predictor. /// /// public OptimizationMetric OptimizationMetric { get { return this._optimizationMetric; } set { this._optimizationMetric = value; } } // Check to see if OptimizationMetric property is set internal bool IsSetOptimizationMetric() { return this._optimizationMetric != null; } /// /// Gets and sets the property PredictorName. /// /// A unique name for the predictor /// /// [AWSProperty(Required=true, Min=1, Max=63)] public string PredictorName { get { return this._predictorName; } set { this._predictorName = value; } } // Check to see if PredictorName property is set internal bool IsSetPredictorName() { return this._predictorName != null; } /// /// Gets and sets the property ReferencePredictorArn. /// /// The ARN of the predictor to retrain or upgrade. This parameter is only used when retraining /// or upgrading a predictor. When creating a new predictor, do not specify a value for /// this parameter. /// /// /// /// When upgrading or retraining a predictor, only specify values for the ReferencePredictorArn /// and PredictorName. The value for PredictorName must be a /// unique predictor name. /// /// [AWSProperty(Max=256)] public string ReferencePredictorArn { get { return this._referencePredictorArn; } set { this._referencePredictorArn = value; } } // Check to see if ReferencePredictorArn property is set internal bool IsSetReferencePredictorArn() { return this._referencePredictorArn != null; } /// /// Gets and sets the property Tags. /// /// Optional metadata to help you categorize and organize your predictors. Each tag consists /// of a key and an optional value, both of which you define. Tag keys and values are /// case sensitive. /// /// /// /// The following restrictions apply to tags: /// ///
  • /// /// For each resource, each tag key must be unique and each tag key must have one value. /// ///
  • /// /// Maximum number of tags per resource: 50. /// ///
  • /// /// Maximum key length: 128 Unicode characters in UTF-8. /// ///
  • /// /// Maximum value length: 256 Unicode characters in UTF-8. /// ///
  • /// /// Accepted characters: all letters and numbers, spaces representable in UTF-8, and + /// - = . _ : / @. If your tagging schema is used across other services and resources, /// the character restrictions of those services also apply. /// ///
  • /// /// Key prefixes cannot include any upper or lowercase combination of aws: /// or AWS:. Values can have this prefix. If a tag value has aws /// as its prefix but the key does not, Forecast considers it to be a user tag and will /// count against the limit of 50 tags. Tags with only the key prefix of aws /// do not count against your tags per resource limit. You cannot edit or delete tag keys /// with this prefix. /// ///
///
[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; } /// /// Gets and sets the property TimeAlignmentBoundary. /// /// The time boundary Forecast uses to align and aggregate any data that doesn't align /// with your forecast frequency. Provide the unit of time and the time boundary as a /// key value pair. For more information on specifying a time boundary, see Specifying /// a Time Boundary. If you don't provide a time boundary, Forecast uses a set of /// Default /// Time Boundaries. /// /// public TimeAlignmentBoundary TimeAlignmentBoundary { get { return this._timeAlignmentBoundary; } set { this._timeAlignmentBoundary = value; } } // Check to see if TimeAlignmentBoundary property is set internal bool IsSetTimeAlignmentBoundary() { return this._timeAlignmentBoundary != null; } } }