/*
* 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 CreateExplainability operation.
///
///
/// Explainability is only available for Forecasts and Predictors generated from an AutoPredictor
/// (CreateAutoPredictor)
///
///
///
/// Creates an Amazon Forecast Explainability.
///
///
///
/// Explainability helps you better understand how the attributes in your datasets impact
/// forecast. Amazon Forecast uses a metric called Impact scores to quantify the relative
/// impact of each attribute and determine whether they increase or decrease forecast
/// values.
///
///
///
/// To enable Forecast Explainability, your predictor must include at least one of the
/// following: related time series, item metadata, or additional datasets like Holidays
/// and the Weather Index.
///
///
///
/// CreateExplainability accepts either a Predictor ARN or Forecast ARN. To receive aggregated
/// Impact scores for all time series and time points in your datasets, provide a Predictor
/// ARN. To receive Impact scores for specific time series and time points, provide a
/// Forecast ARN.
///
///
///
/// CreateExplainability with a Predictor ARN
///
///
///
/// You can only have one Explainability resource per predictor. If you already enabled
/// ExplainPredictor
in CreateAutoPredictor, that predictor already
/// has an Explainability resource.
///
///
///
/// The following parameters are required when providing a Predictor ARN:
///
/// -
///
///
ExplainabilityName
- A unique name for the Explainability.
///
/// -
///
///
ResourceArn
- The Arn of the predictor.
///
/// -
///
///
TimePointGranularity
- Must be set to “ALL”.
///
/// -
///
///
TimeSeriesGranularity
- Must be set to “ALL”.
///
///
///
/// Do not specify a value for the following parameters:
///
/// -
///
///
DataSource
- Only valid when TimeSeriesGranularity is “SPECIFIC”.
///
/// -
///
///
Schema
- Only valid when TimeSeriesGranularity is “SPECIFIC”.
///
/// -
///
///
StartDateTime
- Only valid when TimePointGranularity is “SPECIFIC”.
///
/// -
///
///
EndDateTime
- Only valid when TimePointGranularity is “SPECIFIC”.
///
///
///
/// CreateExplainability with a Forecast ARN
///
///
///
/// You can specify a maximum of 50 time series and 500 time points.
///
///
///
/// The following parameters are required when providing a Predictor ARN:
///
/// -
///
///
ExplainabilityName
- A unique name for the Explainability.
///
/// -
///
///
ResourceArn
- The Arn of the forecast.
///
/// -
///
///
TimePointGranularity
- Either “ALL” or “SPECIFIC”.
///
/// -
///
///
TimeSeriesGranularity
- Either “ALL” or “SPECIFIC”.
///
///
///
/// If you set TimeSeriesGranularity to “SPECIFIC”, you must also provide the following:
///
/// -
///
///
DataSource
- The S3 location of the CSV file specifying your time series.
///
/// -
///
///
Schema
- The Schema defines the attributes and attribute types listed
/// in the Data Source.
///
///
///
/// If you set TimePointGranularity to “SPECIFIC”, you must also provide the following:
///
/// -
///
///
StartDateTime
- The first timestamp in the range of time points.
///
/// -
///
///
EndDateTime
- The last timestamp in the range of time points.
///
///
///
public partial class CreateExplainabilityRequest : AmazonForecastServiceRequest
{
private DataSource _dataSource;
private bool? _enableVisualization;
private string _endDateTime;
private ExplainabilityConfig _explainabilityConfig;
private string _explainabilityName;
private string _resourceArn;
private Schema _schema;
private string _startDateTime;
private List _tags = new List();
///
/// Gets and sets the property DataSource.
///
public DataSource DataSource
{
get { return this._dataSource; }
set { this._dataSource = value; }
}
// Check to see if DataSource property is set
internal bool IsSetDataSource()
{
return this._dataSource != null;
}
///
/// Gets and sets the property EnableVisualization.
///
/// Create an Explainability visualization that is viewable within the Amazon Web Services
/// console.
///
///
public bool EnableVisualization
{
get { return this._enableVisualization.GetValueOrDefault(); }
set { this._enableVisualization = value; }
}
// Check to see if EnableVisualization property is set
internal bool IsSetEnableVisualization()
{
return this._enableVisualization.HasValue;
}
///
/// Gets and sets the property EndDateTime.
///
/// If TimePointGranularity
is set to SPECIFIC
, define the last
/// time point for the Explainability.
///
///
///
/// Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example: 2015-01-01T20:00:00)
///
///
[AWSProperty(Max=19)]
public string EndDateTime
{
get { return this._endDateTime; }
set { this._endDateTime = value; }
}
// Check to see if EndDateTime property is set
internal bool IsSetEndDateTime()
{
return this._endDateTime != null;
}
///
/// Gets and sets the property ExplainabilityConfig.
///
/// The configuration settings that define the granularity of time series and time points
/// for the Explainability.
///
///
[AWSProperty(Required=true)]
public ExplainabilityConfig ExplainabilityConfig
{
get { return this._explainabilityConfig; }
set { this._explainabilityConfig = value; }
}
// Check to see if ExplainabilityConfig property is set
internal bool IsSetExplainabilityConfig()
{
return this._explainabilityConfig != null;
}
///
/// Gets and sets the property ExplainabilityName.
///
/// A unique name for the Explainability.
///
///
[AWSProperty(Required=true, Min=1, Max=63)]
public string ExplainabilityName
{
get { return this._explainabilityName; }
set { this._explainabilityName = value; }
}
// Check to see if ExplainabilityName property is set
internal bool IsSetExplainabilityName()
{
return this._explainabilityName != null;
}
///
/// Gets and sets the property ResourceArn.
///
/// The Amazon Resource Name (ARN) of the Predictor or Forecast used to create the Explainability.
///
///
[AWSProperty(Required=true, Max=256)]
public string ResourceArn
{
get { return this._resourceArn; }
set { this._resourceArn = value; }
}
// Check to see if ResourceArn property is set
internal bool IsSetResourceArn()
{
return this._resourceArn != null;
}
///
/// Gets and sets the property Schema.
///
public Schema Schema
{
get { return this._schema; }
set { this._schema = value; }
}
// Check to see if Schema property is set
internal bool IsSetSchema()
{
return this._schema != null;
}
///
/// Gets and sets the property StartDateTime.
///
/// If TimePointGranularity
is set to SPECIFIC
, define the first
/// point for the Explainability.
///
///
///
/// Use the following timestamp format: yyyy-MM-ddTHH:mm:ss (example: 2015-01-01T20:00:00)
///
///
[AWSProperty(Max=19)]
public string StartDateTime
{
get { return this._startDateTime; }
set { this._startDateTime = value; }
}
// Check to see if StartDateTime property is set
internal bool IsSetStartDateTime()
{
return this._startDateTime != null;
}
///
/// Gets and sets the property Tags.
///
/// Optional metadata to help you categorize and organize your resources. 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;
}
}
}