/*
* 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 iot-2015-05-28.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.IoT.Model
{
///
/// The Timestream rule action writes attributes (measures) from an MQTT message into
/// an Amazon Timestream table. For more information, see the Timestream
/// topic rule action documentation.
///
public partial class TimestreamAction
{
private string _databaseName;
private List _dimensions = new List();
private string _roleArn;
private string _tableName;
private TimestreamTimestamp _timestamp;
///
/// Gets and sets the property DatabaseName.
///
/// The name of an Amazon Timestream database.
///
///
[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 Dimensions.
///
/// Metadata attributes of the time series that are written in each measure record.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public List Dimensions
{
get { return this._dimensions; }
set { this._dimensions = value; }
}
// Check to see if Dimensions property is set
internal bool IsSetDimensions()
{
return this._dimensions != null && this._dimensions.Count > 0;
}
///
/// Gets and sets the property RoleArn.
///
/// The ARN of the role that grants permission to write to the Amazon Timestream database
/// table.
///
///
[AWSProperty(Required=true)]
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;
}
///
/// Gets and sets the property TableName.
///
/// The name of the database table into which to write the measure records.
///
///
[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 Timestamp.
///
/// Specifies an application-defined value to replace the default value assigned to the
/// Timestream record's timestamp in the time
column.
///
///
///
/// You can use this property to specify the value and the precision of the Timestream
/// record's timestamp. You can specify a value from the message payload or a value computed
/// by a substitution template.
///
///
///
/// If omitted, the topic rule action assigns the timestamp, in milliseconds, at the time
/// it processed the rule.
///
///
public TimestreamTimestamp Timestamp
{
get { return this._timestamp; }
set { this._timestamp = value; }
}
// Check to see if Timestamp property is set
internal bool IsSetTimestamp()
{
return this._timestamp != null;
}
}
}