import * as core from "@terrascript/core"; export interface PutItemArgs extends core.SchemaArgs { tableName: string | core.StringOut; } export declare class PutItem extends core.Schema { tableName: string | core.StringOut; } export interface Dynamodbv2Args extends core.SchemaArgs { putItem?: PutItem; roleArn: string | core.StringOut; } export declare class Dynamodbv2 extends core.Schema { putItem?: PutItem; roleArn: string | core.StringOut; } export interface CloudwatchAlarmArgs extends core.SchemaArgs { alarmName: string | core.StringOut; roleArn: string | core.StringOut; stateReason: string | core.StringOut; stateValue: string | core.StringOut; } export declare class CloudwatchAlarm extends core.Schema { alarmName: string | core.StringOut; roleArn: string | core.StringOut; stateReason: string | core.StringOut; stateValue: string | core.StringOut; } export interface IotEventsArgs extends core.SchemaArgs { inputName: string | core.StringOut; messageId?: string | core.StringOut; roleArn: string | core.StringOut; } export declare class IotEvents extends core.Schema { inputName: string | core.StringOut; messageId?: string | core.StringOut; roleArn: string | core.StringOut; } export interface FirehoseArgs extends core.SchemaArgs { deliveryStreamName: string | core.StringOut; roleArn: string | core.StringOut; separator?: string | core.StringOut; } export declare class Firehose extends core.Schema { deliveryStreamName: string | core.StringOut; roleArn: string | core.StringOut; separator?: string | core.StringOut; } export interface StepFunctionsArgs extends core.SchemaArgs { executionNamePrefix?: string | core.StringOut; roleArn: string | core.StringOut; stateMachineName: string | core.StringOut; } export declare class StepFunctions extends core.Schema { executionNamePrefix?: string | core.StringOut; roleArn: string | core.StringOut; stateMachineName: string | core.StringOut; } export interface HttpHeaderArgs extends core.SchemaArgs { key: string | core.StringOut; value: string | core.StringOut; } export declare class HttpHeader extends core.Schema { key: string | core.StringOut; value: string | core.StringOut; } export interface HttpArgs extends core.SchemaArgs { confirmationUrl?: string | core.StringOut; httpHeader?: core.Array | core.ArrayOut; url: string | core.StringOut; } export declare class Http extends core.Schema { confirmationUrl?: string | core.StringOut; httpHeader?: core.Array | core.ArrayOut; url: string | core.StringOut; } export interface KinesisArgs extends core.SchemaArgs { partitionKey?: string | core.StringOut; roleArn: string | core.StringOut; streamName: string | core.StringOut; } export declare class Kinesis extends core.Schema { partitionKey?: string | core.StringOut; roleArn: string | core.StringOut; streamName: string | core.StringOut; } export interface RepublishArgs extends core.SchemaArgs { qos?: number | core.NumberOut; roleArn: string | core.StringOut; topic: string | core.StringOut; } export declare class Republish extends core.Schema { qos?: number | core.NumberOut; roleArn: string | core.StringOut; topic: string | core.StringOut; } export interface DimensionArgs extends core.SchemaArgs { name: string | core.StringOut; value: string | core.StringOut; } export declare class Dimension extends core.Schema { name: string | core.StringOut; value: string | core.StringOut; } export interface TimestampArgs extends core.SchemaArgs { unit: string | core.StringOut; value: string | core.StringOut; } export declare class Timestamp extends core.Schema { unit: string | core.StringOut; value: string | core.StringOut; } export interface TimestreamArgs extends core.SchemaArgs { databaseName: string | core.StringOut; dimension: core.Array | core.ArrayOut; roleArn: string | core.StringOut; tableName: string | core.StringOut; timestamp?: Timestamp; } export declare class Timestream extends core.Schema { databaseName: string | core.StringOut; dimension: core.Array | core.ArrayOut; roleArn: string | core.StringOut; tableName: string | core.StringOut; timestamp?: Timestamp; } export interface CloudwatchLogsArgs extends core.SchemaArgs { logGroupName: string | core.StringOut; roleArn: string | core.StringOut; } export declare class CloudwatchLogs extends core.Schema { logGroupName: string | core.StringOut; roleArn: string | core.StringOut; } export interface SnsArgs extends core.SchemaArgs { messageFormat?: string | core.StringOut; roleArn: string | core.StringOut; targetArn: string | core.StringOut; } export declare class Sns extends core.Schema { messageFormat?: string | core.StringOut; roleArn: string | core.StringOut; targetArn: string | core.StringOut; } export interface DynamodbArgs extends core.SchemaArgs { hashKeyField: string | core.StringOut; hashKeyType?: string | core.StringOut; hashKeyValue: string | core.StringOut; operation?: string | core.StringOut; payloadField?: string | core.StringOut; rangeKeyField?: string | core.StringOut; rangeKeyType?: string | core.StringOut; rangeKeyValue?: string | core.StringOut; roleArn: string | core.StringOut; tableName: string | core.StringOut; } export declare class Dynamodb extends core.Schema { hashKeyField: string | core.StringOut; hashKeyType?: string | core.StringOut; hashKeyValue: string | core.StringOut; operation?: string | core.StringOut; payloadField?: string | core.StringOut; rangeKeyField?: string | core.StringOut; rangeKeyType?: string | core.StringOut; rangeKeyValue?: string | core.StringOut; roleArn: string | core.StringOut; tableName: string | core.StringOut; } export interface IotAnalyticsArgs extends core.SchemaArgs { channelName: string | core.StringOut; roleArn: string | core.StringOut; } export declare class IotAnalytics extends core.Schema { channelName: string | core.StringOut; roleArn: string | core.StringOut; } export interface KafkaArgs extends core.SchemaArgs { clientProperties: core.Map | core.MapOut; destinationArn: string | core.StringOut; key?: string | core.StringOut; partition?: string | core.StringOut; topic: string | core.StringOut; } export declare class Kafka extends core.Schema { clientProperties: core.Map | core.MapOut; destinationArn: string | core.StringOut; key?: string | core.StringOut; partition?: string | core.StringOut; topic: string | core.StringOut; } export interface LambdaArgs extends core.SchemaArgs { functionArn: string | core.StringOut; } export declare class Lambda extends core.Schema { functionArn: string | core.StringOut; } export interface SqsArgs extends core.SchemaArgs { queueUrl: string | core.StringOut; roleArn: string | core.StringOut; useBase64: boolean | core.BooleanOut; } export declare class Sqs extends core.Schema { queueUrl: string | core.StringOut; roleArn: string | core.StringOut; useBase64: boolean | core.BooleanOut; } export interface CloudwatchMetricArgs extends core.SchemaArgs { metricName: string | core.StringOut; metricNamespace: string | core.StringOut; metricTimestamp?: string | core.StringOut; metricUnit: string | core.StringOut; metricValue: string | core.StringOut; roleArn: string | core.StringOut; } export declare class CloudwatchMetric extends core.Schema { metricName: string | core.StringOut; metricNamespace: string | core.StringOut; metricTimestamp?: string | core.StringOut; metricUnit: string | core.StringOut; metricValue: string | core.StringOut; roleArn: string | core.StringOut; } export interface S3Args extends core.SchemaArgs { bucketName: string | core.StringOut; cannedAcl?: string | core.StringOut; key: string | core.StringOut; roleArn: string | core.StringOut; } export declare class S3 extends core.Schema { bucketName: string | core.StringOut; cannedAcl?: string | core.StringOut; key: string | core.StringOut; roleArn: string | core.StringOut; } export interface ElasticsearchArgs extends core.SchemaArgs { endpoint: string | core.StringOut; id: string | core.StringOut; index: string | core.StringOut; roleArn: string | core.StringOut; type: string | core.StringOut; } export declare class Elasticsearch extends core.Schema { endpoint: string | core.StringOut; id: string | core.StringOut; index: string | core.StringOut; roleArn: string | core.StringOut; type: string | core.StringOut; } export interface ErrorActionArgs extends core.SchemaArgs { cloudwatchAlarm?: CloudwatchAlarm; cloudwatchLogs?: CloudwatchLogs; cloudwatchMetric?: CloudwatchMetric; dynamodb?: Dynamodb; dynamodbv2?: Dynamodbv2; elasticsearch?: Elasticsearch; firehose?: Firehose; http?: Http; iotAnalytics?: IotAnalytics; iotEvents?: IotEvents; kafka?: Kafka; kinesis?: Kinesis; lambda?: Lambda; republish?: Republish; s3?: S3; sns?: Sns; sqs?: Sqs; stepFunctions?: StepFunctions; timestream?: Timestream; } export declare class ErrorAction extends core.Schema { cloudwatchAlarm?: CloudwatchAlarm; cloudwatchLogs?: CloudwatchLogs; cloudwatchMetric?: CloudwatchMetric; dynamodb?: Dynamodb; dynamodbv2?: Dynamodbv2; elasticsearch?: Elasticsearch; firehose?: Firehose; http?: Http; iotAnalytics?: IotAnalytics; iotEvents?: IotEvents; kafka?: Kafka; kinesis?: Kinesis; lambda?: Lambda; republish?: Republish; s3?: S3; sns?: Sns; sqs?: Sqs; stepFunctions?: StepFunctions; timestream?: Timestream; } export interface TopicRuleArgs extends core.ResourceArgs { cloudwatchAlarm?: core.Array | core.ArrayOut; cloudwatchLogs?: core.Array | core.ArrayOut; cloudwatchMetric?: core.Array | core.ArrayOut; /** * (Optional) The description of the rule. */ description?: string | core.StringOut; dynamodb?: core.Array | core.ArrayOut; dynamodbv2?: core.Array | core.ArrayOut; elasticsearch?: core.Array | core.ArrayOut; /** * (Required) Specifies whether the rule is enabled. */ enabled: boolean | core.BooleanOut; /** * (Optional) Configuration block with error action to be associated with the rule. See the documentati * on for `cloudwatch_alarm`, `cloudwatch_logs`, `cloudwatch_metric`, `dynamodb`, `dynamodbv2`, `elasti * csearch`, `firehose`, `http`, `iot_analytics`, `iot_events`, `kafka`, `kinesis`, `lambda`, `republis * h`, `s3`, `sns`, `sqs`, `step_functions`, `timestream` configuration blocks for further configuratio * n details. */ errorAction?: ErrorAction; firehose?: core.Array | core.ArrayOut; http?: core.Array | core.ArrayOut; iotAnalytics?: core.Array | core.ArrayOut; iotEvents?: core.Array | core.ArrayOut; kafka?: core.Array | core.ArrayOut; kinesis?: core.Array | core.ArrayOut; lambda?: core.Array | core.ArrayOut; /** * (Required) The name of the rule. */ name: string | core.StringOut; republish?: core.Array | core.ArrayOut; s3?: core.Array | core.ArrayOut; sns?: core.Array | core.ArrayOut; /** * (Required) The SQL statement used to query the topic. For more information, see AWS IoT SQL Referenc * e (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the * AWS IoT Developer Guide. */ sql: string | core.StringOut; /** * (Required) The version of the SQL rules engine to use when evaluating the rule. */ sqlVersion: string | core.StringOut; sqs?: core.Array | core.ArrayOut; stepFunctions?: core.Array | core.ArrayOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; timestream?: core.Array | core.ArrayOut; } export declare class TopicRule extends core.Resource { /** * The ARN of the topic rule */ arn: string | core.StringOut; cloudwatchAlarm?: core.Array | core.ArrayOut; cloudwatchLogs?: core.Array | core.ArrayOut; cloudwatchMetric?: core.Array | core.ArrayOut; /** * (Optional) The description of the rule. */ description?: string | core.StringOut; dynamodb?: core.Array | core.ArrayOut; dynamodbv2?: core.Array | core.ArrayOut; elasticsearch?: core.Array | core.ArrayOut; /** * (Required) Specifies whether the rule is enabled. */ enabled: boolean | core.BooleanOut; /** * (Optional) Configuration block with error action to be associated with the rule. See the documentati * on for `cloudwatch_alarm`, `cloudwatch_logs`, `cloudwatch_metric`, `dynamodb`, `dynamodbv2`, `elasti * csearch`, `firehose`, `http`, `iot_analytics`, `iot_events`, `kafka`, `kinesis`, `lambda`, `republis * h`, `s3`, `sns`, `sqs`, `step_functions`, `timestream` configuration blocks for further configuratio * n details. */ errorAction?: ErrorAction; firehose?: core.Array | core.ArrayOut; http?: core.Array | core.ArrayOut; /** * (Required) The unique identifier for the document you are storing. */ id: string | core.StringOut; iotAnalytics?: core.Array | core.ArrayOut; iotEvents?: core.Array | core.ArrayOut; kafka?: core.Array | core.ArrayOut; kinesis?: core.Array | core.ArrayOut; lambda?: core.Array | core.ArrayOut; /** * (Required) The name of the rule. */ name: string | core.StringOut; republish?: core.Array | core.ArrayOut; s3?: core.Array | core.ArrayOut; sns?: core.Array | core.ArrayOut; /** * (Required) The SQL statement used to query the topic. For more information, see AWS IoT SQL Referenc * e (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the * AWS IoT Developer Guide. */ sql: string | core.StringOut; /** * (Required) The version of the SQL rules engine to use when evaluating the rule. */ sqlVersion: string | core.StringOut; sqs?: core.Array | core.ArrayOut; stepFunctions?: core.Array | core.ArrayOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; timestream?: core.Array | core.ArrayOut; constructor(name: string, args?: TopicRuleArgs); getNamespace(): string; } //# sourceMappingURL=topic_rule.d.ts.map