/*
* 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 timestream-query-2018-11-01.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.TimestreamQuery.Model
{
///
/// Configuration to write data into Timestream database and table. This configuration
/// allows the user to map the query result select columns into the destination table
/// columns.
///
public partial class TimestreamConfiguration
{
private string _databaseName;
private List _dimensionMappings = new List();
private string _measureNameColumn;
private List _mixedMeasureMappings = new List();
private MultiMeasureMappings _multiMeasureMappings;
private string _tableName;
private string _timeColumn;
///
/// Gets and sets the property DatabaseName.
///
/// Name of Timestream database to which the query result will be written.
///
///
[AWSProperty(Required=true)]
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property DimensionMappings.
///
/// This is to allow mapping column(s) from the query result to the dimension in the
/// destination table.
///
///
[AWSProperty(Required=true)]
public List DimensionMappings
{
get { return this._dimensionMappings; }
set { this._dimensionMappings = value; }
}
// Check to see if DimensionMappings property is set
internal bool IsSetDimensionMappings()
{
return this._dimensionMappings != null && this._dimensionMappings.Count > 0;
}
///
/// Gets and sets the property MeasureNameColumn.
///
/// Name of the measure column.
///
///
public string MeasureNameColumn
{
get { return this._measureNameColumn; }
set { this._measureNameColumn = value; }
}
// Check to see if MeasureNameColumn property is set
internal bool IsSetMeasureNameColumn()
{
return this._measureNameColumn != null;
}
///
/// Gets and sets the property MixedMeasureMappings.
///
/// Specifies how to map measures to multi-measure records.
///
///
[AWSProperty(Min=1)]
public List MixedMeasureMappings
{
get { return this._mixedMeasureMappings; }
set { this._mixedMeasureMappings = value; }
}
// Check to see if MixedMeasureMappings property is set
internal bool IsSetMixedMeasureMappings()
{
return this._mixedMeasureMappings != null && this._mixedMeasureMappings.Count > 0;
}
///
/// Gets and sets the property MultiMeasureMappings.
///
/// Multi-measure mappings.
///
///
public MultiMeasureMappings MultiMeasureMappings
{
get { return this._multiMeasureMappings; }
set { this._multiMeasureMappings = value; }
}
// Check to see if MultiMeasureMappings property is set
internal bool IsSetMultiMeasureMappings()
{
return this._multiMeasureMappings != null;
}
///
/// Gets and sets the property TableName.
///
/// Name of Timestream table that the query result will be written to. The table should
/// be within the same database that is provided in Timestream configuration.
///
///
[AWSProperty(Required=true)]
public string TableName
{
get { return this._tableName; }
set { this._tableName = value; }
}
// Check to see if TableName property is set
internal bool IsSetTableName()
{
return this._tableName != null;
}
///
/// Gets and sets the property TimeColumn.
///
/// Column from query result that should be used as the time column in destination table.
/// Column type for this should be TIMESTAMP.
///
///
[AWSProperty(Required=true)]
public string TimeColumn
{
get { return this._timeColumn; }
set { this._timeColumn = value; }
}
// Check to see if TimeColumn property is set
internal bool IsSetTimeColumn()
{
return this._timeColumn != null;
}
}
}