/* * 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 { /// /// Describes an action to write to a DynamoDB table. /// /// /// /// The tableName, hashKeyField, and rangeKeyField /// values must match the values used when you created the table. /// /// /// /// The hashKeyValue and rangeKeyvalue fields use a substitution /// template syntax. These templates provide data at runtime. The syntax is as follows: /// ${sql-expression}. /// /// /// /// You can specify any valid expression in a WHERE or SELECT clause, including JSON properties, /// comparisons, calculations, and functions. For example, the following field uses the /// third level of the topic: /// /// /// /// "hashKeyValue": "${topic(3)}" /// /// /// /// The following field uses the timestamp: /// /// /// /// "rangeKeyValue": "${timestamp()}" /// /// public partial class DynamoDBAction { private string _hashKeyField; private DynamoKeyType _hashKeyType; private string _hashKeyValue; private string _operation; private string _payloadField; private string _rangeKeyField; private DynamoKeyType _rangeKeyType; private string _rangeKeyValue; private string _roleArn; private string _tableName; /// /// Gets and sets the property HashKeyField. /// /// The hash key name. /// /// [AWSProperty(Required=true)] public string HashKeyField { get { return this._hashKeyField; } set { this._hashKeyField = value; } } // Check to see if HashKeyField property is set internal bool IsSetHashKeyField() { return this._hashKeyField != null; } /// /// Gets and sets the property HashKeyType. /// /// The hash key type. Valid values are "STRING" or "NUMBER" /// /// public DynamoKeyType HashKeyType { get { return this._hashKeyType; } set { this._hashKeyType = value; } } // Check to see if HashKeyType property is set internal bool IsSetHashKeyType() { return this._hashKeyType != null; } /// /// Gets and sets the property HashKeyValue. /// /// The hash key value. /// /// [AWSProperty(Required=true)] public string HashKeyValue { get { return this._hashKeyValue; } set { this._hashKeyValue = value; } } // Check to see if HashKeyValue property is set internal bool IsSetHashKeyValue() { return this._hashKeyValue != null; } /// /// Gets and sets the property Operation. /// /// The type of operation to be performed. This follows the substitution template, so /// it can be ${operation}, but the substitution must result in one of the /// following: INSERT, UPDATE, or DELETE. /// /// public string Operation { get { return this._operation; } set { this._operation = value; } } // Check to see if Operation property is set internal bool IsSetOperation() { return this._operation != null; } /// /// Gets and sets the property PayloadField. /// /// The action payload. This name can be customized. /// /// public string PayloadField { get { return this._payloadField; } set { this._payloadField = value; } } // Check to see if PayloadField property is set internal bool IsSetPayloadField() { return this._payloadField != null; } /// /// Gets and sets the property RangeKeyField. /// /// The range key name. /// /// public string RangeKeyField { get { return this._rangeKeyField; } set { this._rangeKeyField = value; } } // Check to see if RangeKeyField property is set internal bool IsSetRangeKeyField() { return this._rangeKeyField != null; } /// /// Gets and sets the property RangeKeyType. /// /// The range key type. Valid values are "STRING" or "NUMBER" /// /// public DynamoKeyType RangeKeyType { get { return this._rangeKeyType; } set { this._rangeKeyType = value; } } // Check to see if RangeKeyType property is set internal bool IsSetRangeKeyType() { return this._rangeKeyType != null; } /// /// Gets and sets the property RangeKeyValue. /// /// The range key value. /// /// public string RangeKeyValue { get { return this._rangeKeyValue; } set { this._rangeKeyValue = value; } } // Check to see if RangeKeyValue property is set internal bool IsSetRangeKeyValue() { return this._rangeKeyValue != null; } /// /// Gets and sets the property RoleArn. /// /// The ARN of the IAM role that grants access to the DynamoDB 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 DynamoDB table. /// /// [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; } } }