"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TopicRule = exports.ErrorAction = exports.Sns = exports.Dynamodbv2 = exports.PutItem = exports.Dynamodb = exports.S3 = exports.Timestream = exports.Timestamp = exports.Dimension = exports.Lambda = exports.CloudwatchLogs = exports.CloudwatchAlarm = exports.Elasticsearch = exports.Firehose = exports.CloudwatchMetric = exports.IotAnalytics = exports.Http = exports.HttpHeader = exports.IotEvents = exports.Sqs = exports.Kinesis = exports.Republish = exports.StepFunctions = exports.Kafka = void 0;
const core = __importStar(require("@terrascript/core"));
class Kafka extends core.Schema {
}
__decorate([
    core.attr(String, { kind: "map" }),
    __metadata("design:type", Object)
], Kafka.prototype, "clientProperties", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kafka.prototype, "destinationArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kafka.prototype, "key", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kafka.prototype, "partition", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kafka.prototype, "topic", void 0);
exports.Kafka = Kafka;
class StepFunctions extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], StepFunctions.prototype, "executionNamePrefix", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], StepFunctions.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], StepFunctions.prototype, "stateMachineName", void 0);
exports.StepFunctions = StepFunctions;
class Republish extends core.Schema {
}
__decorate([
    core.attr(Number),
    __metadata("design:type", Object)
], Republish.prototype, "qos", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Republish.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Republish.prototype, "topic", void 0);
exports.Republish = Republish;
class Kinesis extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kinesis.prototype, "partitionKey", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kinesis.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Kinesis.prototype, "streamName", void 0);
exports.Kinesis = Kinesis;
class Sqs extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Sqs.prototype, "queueUrl", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Sqs.prototype, "roleArn", void 0);
__decorate([
    core.attr(Boolean),
    __metadata("design:type", Object)
], Sqs.prototype, "useBase64", void 0);
exports.Sqs = Sqs;
class IotEvents extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], IotEvents.prototype, "inputName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], IotEvents.prototype, "messageId", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], IotEvents.prototype, "roleArn", void 0);
exports.IotEvents = IotEvents;
class HttpHeader extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], HttpHeader.prototype, "key", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], HttpHeader.prototype, "value", void 0);
exports.HttpHeader = HttpHeader;
class Http extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Http.prototype, "confirmationUrl", void 0);
__decorate([
    core.attr(HttpHeader, { kind: "array" }),
    __metadata("design:type", Object)
], Http.prototype, "httpHeader", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Http.prototype, "url", void 0);
exports.Http = Http;
class IotAnalytics extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], IotAnalytics.prototype, "channelName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], IotAnalytics.prototype, "roleArn", void 0);
exports.IotAnalytics = IotAnalytics;
class CloudwatchMetric extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchMetric.prototype, "metricName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchMetric.prototype, "metricNamespace", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchMetric.prototype, "metricTimestamp", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchMetric.prototype, "metricUnit", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchMetric.prototype, "metricValue", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchMetric.prototype, "roleArn", void 0);
exports.CloudwatchMetric = CloudwatchMetric;
class Firehose extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Firehose.prototype, "deliveryStreamName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Firehose.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Firehose.prototype, "separator", void 0);
exports.Firehose = Firehose;
class Elasticsearch extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Elasticsearch.prototype, "endpoint", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Elasticsearch.prototype, "id", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Elasticsearch.prototype, "index", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Elasticsearch.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Elasticsearch.prototype, "type", void 0);
exports.Elasticsearch = Elasticsearch;
class CloudwatchAlarm extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchAlarm.prototype, "alarmName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchAlarm.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchAlarm.prototype, "stateReason", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchAlarm.prototype, "stateValue", void 0);
exports.CloudwatchAlarm = CloudwatchAlarm;
class CloudwatchLogs extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchLogs.prototype, "logGroupName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], CloudwatchLogs.prototype, "roleArn", void 0);
exports.CloudwatchLogs = CloudwatchLogs;
class Lambda extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Lambda.prototype, "functionArn", void 0);
exports.Lambda = Lambda;
class Dimension extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dimension.prototype, "name", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dimension.prototype, "value", void 0);
exports.Dimension = Dimension;
class Timestamp extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Timestamp.prototype, "unit", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Timestamp.prototype, "value", void 0);
exports.Timestamp = Timestamp;
class Timestream extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Timestream.prototype, "databaseName", void 0);
__decorate([
    core.attr(Dimension, { kind: "array" }),
    __metadata("design:type", Object)
], Timestream.prototype, "dimension", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Timestream.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Timestream.prototype, "tableName", void 0);
__decorate([
    core.attr(Timestamp),
    __metadata("design:type", Timestamp)
], Timestream.prototype, "timestamp", void 0);
exports.Timestream = Timestream;
class S3 extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], S3.prototype, "bucketName", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], S3.prototype, "cannedAcl", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], S3.prototype, "key", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], S3.prototype, "roleArn", void 0);
exports.S3 = S3;
class Dynamodb extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "hashKeyField", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "hashKeyType", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "hashKeyValue", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "operation", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "payloadField", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "rangeKeyField", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "rangeKeyType", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "rangeKeyValue", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodb.prototype, "tableName", void 0);
exports.Dynamodb = Dynamodb;
class PutItem extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], PutItem.prototype, "tableName", void 0);
exports.PutItem = PutItem;
class Dynamodbv2 extends core.Schema {
}
__decorate([
    core.attr(PutItem),
    __metadata("design:type", PutItem)
], Dynamodbv2.prototype, "putItem", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Dynamodbv2.prototype, "roleArn", void 0);
exports.Dynamodbv2 = Dynamodbv2;
class Sns extends core.Schema {
}
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Sns.prototype, "messageFormat", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Sns.prototype, "roleArn", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], Sns.prototype, "targetArn", void 0);
exports.Sns = Sns;
class ErrorAction extends core.Schema {
}
__decorate([
    core.attr(CloudwatchAlarm),
    __metadata("design:type", CloudwatchAlarm)
], ErrorAction.prototype, "cloudwatchAlarm", void 0);
__decorate([
    core.attr(CloudwatchLogs),
    __metadata("design:type", CloudwatchLogs)
], ErrorAction.prototype, "cloudwatchLogs", void 0);
__decorate([
    core.attr(CloudwatchMetric),
    __metadata("design:type", CloudwatchMetric)
], ErrorAction.prototype, "cloudwatchMetric", void 0);
__decorate([
    core.attr(Dynamodb),
    __metadata("design:type", Dynamodb)
], ErrorAction.prototype, "dynamodb", void 0);
__decorate([
    core.attr(Dynamodbv2),
    __metadata("design:type", Dynamodbv2)
], ErrorAction.prototype, "dynamodbv2", void 0);
__decorate([
    core.attr(Elasticsearch),
    __metadata("design:type", Elasticsearch)
], ErrorAction.prototype, "elasticsearch", void 0);
__decorate([
    core.attr(Firehose),
    __metadata("design:type", Firehose)
], ErrorAction.prototype, "firehose", void 0);
__decorate([
    core.attr(Http),
    __metadata("design:type", Http)
], ErrorAction.prototype, "http", void 0);
__decorate([
    core.attr(IotAnalytics),
    __metadata("design:type", IotAnalytics)
], ErrorAction.prototype, "iotAnalytics", void 0);
__decorate([
    core.attr(IotEvents),
    __metadata("design:type", IotEvents)
], ErrorAction.prototype, "iotEvents", void 0);
__decorate([
    core.attr(Kafka),
    __metadata("design:type", Kafka)
], ErrorAction.prototype, "kafka", void 0);
__decorate([
    core.attr(Kinesis),
    __metadata("design:type", Kinesis)
], ErrorAction.prototype, "kinesis", void 0);
__decorate([
    core.attr(Lambda),
    __metadata("design:type", Lambda)
], ErrorAction.prototype, "lambda", void 0);
__decorate([
    core.attr(Republish),
    __metadata("design:type", Republish)
], ErrorAction.prototype, "republish", void 0);
__decorate([
    core.attr(S3),
    __metadata("design:type", S3)
], ErrorAction.prototype, "s3", void 0);
__decorate([
    core.attr(Sns),
    __metadata("design:type", Sns)
], ErrorAction.prototype, "sns", void 0);
__decorate([
    core.attr(Sqs),
    __metadata("design:type", Sqs)
], ErrorAction.prototype, "sqs", void 0);
__decorate([
    core.attr(StepFunctions),
    __metadata("design:type", StepFunctions)
], ErrorAction.prototype, "stepFunctions", void 0);
__decorate([
    core.attr(Timestream),
    __metadata("design:type", Timestream)
], ErrorAction.prototype, "timestream", void 0);
exports.ErrorAction = ErrorAction;
class TopicRule extends core.Resource {
    constructor(name, args) {
        super(name, "aws_iot_topic_rule", args);
    }
    getNamespace() {
        return "aws_iot";
    }
}
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TopicRule.prototype, "arn", void 0);
__decorate([
    core.attr(CloudwatchAlarm, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "cloudwatchAlarm", void 0);
__decorate([
    core.attr(CloudwatchLogs, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "cloudwatchLogs", void 0);
__decorate([
    core.attr(CloudwatchMetric, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "cloudwatchMetric", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], TopicRule.prototype, "description", void 0);
__decorate([
    core.attr(Dynamodb, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "dynamodb", void 0);
__decorate([
    core.attr(Dynamodbv2, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "dynamodbv2", void 0);
__decorate([
    core.attr(Elasticsearch, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "elasticsearch", void 0);
__decorate([
    core.attr(Boolean),
    __metadata("design:type", Object)
], TopicRule.prototype, "enabled", void 0);
__decorate([
    core.attr(ErrorAction),
    __metadata("design:type", ErrorAction)
], TopicRule.prototype, "errorAction", void 0);
__decorate([
    core.attr(Firehose, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "firehose", void 0);
__decorate([
    core.attr(Http, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "http", void 0);
__decorate([
    core.attr(String, { computed: true }),
    __metadata("design:type", Object)
], TopicRule.prototype, "id", void 0);
__decorate([
    core.attr(IotAnalytics, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "iotAnalytics", void 0);
__decorate([
    core.attr(IotEvents, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "iotEvents", void 0);
__decorate([
    core.attr(Kafka, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "kafka", void 0);
__decorate([
    core.attr(Kinesis, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "kinesis", void 0);
__decorate([
    core.attr(Lambda, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "lambda", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], TopicRule.prototype, "name", void 0);
__decorate([
    core.attr(Republish, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "republish", void 0);
__decorate([
    core.attr(S3, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "s3", void 0);
__decorate([
    core.attr(Sns, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "sns", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], TopicRule.prototype, "sql", void 0);
__decorate([
    core.attr(String),
    __metadata("design:type", Object)
], TopicRule.prototype, "sqlVersion", void 0);
__decorate([
    core.attr(Sqs, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "sqs", void 0);
__decorate([
    core.attr(StepFunctions, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "stepFunctions", void 0);
__decorate([
    core.attr(String, { kind: "map" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "tags", void 0);
__decorate([
    core.attr(String, { computed: true, kind: "map" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "tagsAll", void 0);
__decorate([
    core.attr(Timestream, { kind: "array" }),
    __metadata("design:type", Object)
], TopicRule.prototype, "timestream", void 0);
exports.TopicRule = TopicRule;
//# sourceMappingURL=topic_rule.js.map