/*
* 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 machinelearning-2014-12-12.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.MachineLearning.Model
{
///
/// Container for the parameters to the CreateDataSourceFromRedshift operation.
/// Creates a DataSource
from a database hosted on an Amazon Redshift cluster.
/// A DataSource
references data that can be used to perform either CreateMLModel
,
/// CreateEvaluation
, or CreateBatchPrediction
operations.
///
///
///
/// CreateDataSourceFromRedshift
is an asynchronous operation. In response
/// to CreateDataSourceFromRedshift
, Amazon Machine Learning (Amazon ML)
/// immediately returns and sets the DataSource
status to PENDING
.
/// After the DataSource
is created and ready for use, Amazon ML sets the
/// Status
parameter to COMPLETED
. DataSource
in
/// COMPLETED
or PENDING
states can be used to perform only
/// CreateMLModel
, CreateEvaluation
, or CreateBatchPrediction
/// operations.
///
///
///
/// If Amazon ML can't accept the input source, it sets the Status
parameter
/// to FAILED
and includes an error message in the Message
attribute
/// of the GetDataSource
operation response.
///
///
///
/// The observations should be contained in the database hosted on an Amazon Redshift
/// cluster and should be specified by a SelectSqlQuery
query. Amazon ML
/// executes an Unload
command in Amazon Redshift to transfer the result
/// set of the SelectSqlQuery
query to S3StagingLocation
.
///
///
///
/// After the DataSource
has been created, it's ready for use in evaluations
/// and batch predictions. If you plan to use the DataSource
to train an
/// MLModel
, the DataSource
also requires a recipe. A recipe
/// describes how each input variable will be used in training an MLModel
.
/// Will the variable be included or excluded from training? Will the variable be manipulated;
/// for example, will it be combined with another variable or will it be split apart into
/// word combinations? The recipe provides answers to these questions.
///
///
///
/// You can't change an existing datasource, but you can copy and modify the settings
/// from an existing Amazon Redshift datasource to create a new datasource. To do so,
/// call GetDataSource
for an existing datasource and copy the values to
/// a CreateDataSource
call. Change the settings that you want to change
/// and make sure that all required fields have the appropriate values.
///
///
public partial class CreateDataSourceFromRedshiftRequest : AmazonMachineLearningRequest
{
private bool? _computeStatistics;
private string _dataSourceId;
private string _dataSourceName;
private RedshiftDataSpec _dataSpec;
private string _roleARN;
///
/// Gets and sets the property ComputeStatistics.
///
/// The compute statistics for a DataSource
. The statistics are generated
/// from the observation data referenced by a DataSource
. Amazon ML uses
/// the statistics internally during MLModel
training. This parameter must
/// be set to true
if the DataSource
needs to be used for MLModel
/// training.
///
///
public bool ComputeStatistics
{
get { return this._computeStatistics.GetValueOrDefault(); }
set { this._computeStatistics = value; }
}
// Check to see if ComputeStatistics property is set
internal bool IsSetComputeStatistics()
{
return this._computeStatistics.HasValue;
}
///
/// Gets and sets the property DataSourceId.
///
/// A user-supplied ID that uniquely identifies the DataSource
.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string DataSourceId
{
get { return this._dataSourceId; }
set { this._dataSourceId = value; }
}
// Check to see if DataSourceId property is set
internal bool IsSetDataSourceId()
{
return this._dataSourceId != null;
}
///
/// Gets and sets the property DataSourceName.
///
/// A user-supplied name or description of the DataSource
.
///
///
[AWSProperty(Max=1024)]
public string DataSourceName
{
get { return this._dataSourceName; }
set { this._dataSourceName = value; }
}
// Check to see if DataSourceName property is set
internal bool IsSetDataSourceName()
{
return this._dataSourceName != null;
}
///
/// Gets and sets the property DataSpec.
///
/// The data specification of an Amazon Redshift DataSource
:
///
/// -
///
/// DatabaseInformation -
///
///
-
///
///
DatabaseName
- The name of the Amazon Redshift database.
///
/// -
///
///
ClusterIdentifier
- The unique ID for the Amazon Redshift cluster.
///
///
-
///
/// DatabaseCredentials - The AWS Identity and Access Management (IAM) credentials that
/// are used to connect to the Amazon Redshift database.
///
///
-
///
/// SelectSqlQuery - The query that is used to retrieve the observation data for the
Datasource
.
///
/// -
///
/// S3StagingLocation - The Amazon Simple Storage Service (Amazon S3) location for staging
/// Amazon Redshift data. The data retrieved from Amazon Redshift using the
SelectSqlQuery
/// query is stored in this location.
///
/// -
///
/// DataSchemaUri - The Amazon S3 location of the
DataSchema
.
///
/// -
///
/// DataSchema - A JSON string representing the schema. This is not required if
DataSchemaUri
/// is specified.
///
/// -
///
/// DataRearrangement - A JSON string that represents the splitting and rearrangement
/// requirements for the
DataSource
.
///
///
///
/// Sample - "{\"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"
///
///
///
///
[AWSProperty(Required=true)]
public RedshiftDataSpec DataSpec
{
get { return this._dataSpec; }
set { this._dataSpec = value; }
}
// Check to see if DataSpec property is set
internal bool IsSetDataSpec()
{
return this._dataSpec != null;
}
///
/// Gets and sets the property RoleARN.
///
/// A fully specified role Amazon Resource Name (ARN). Amazon ML assumes the role on behalf
/// of the user to create the following:
///
/// -
///
/// A security group to allow Amazon ML to execute the
SelectSqlQuery
query
/// on an Amazon Redshift cluster
///
/// -
///
/// An Amazon S3 bucket policy to grant Amazon ML read/write permissions on the
S3StagingLocation
///
///
///
///
[AWSProperty(Required=true, Min=1, Max=110)]
public string RoleARN
{
get { return this._roleARN; }
set { this._roleARN = value; }
}
// Check to see if RoleARN property is set
internal bool IsSetRoleARN()
{
return this._roleARN != null;
}
}
}