@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,063 lines • 1.16 MB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IotTopicRuleIotEventsOutputReference = exports.IotTopicRuleIotAnalyticsList = exports.IotTopicRuleIotAnalyticsOutputReference = exports.IotTopicRuleHttpList = exports.IotTopicRuleHttpOutputReference = exports.IotTopicRuleHttpHttpHeaderList = exports.IotTopicRuleHttpHttpHeaderOutputReference = exports.IotTopicRuleFirehoseList = exports.IotTopicRuleFirehoseOutputReference = exports.IotTopicRuleErrorActionOutputReference = exports.IotTopicRuleErrorActionTimestreamOutputReference = exports.IotTopicRuleErrorActionTimestreamTimestampOutputReference = exports.IotTopicRuleErrorActionTimestreamDimensionList = exports.IotTopicRuleErrorActionTimestreamDimensionOutputReference = exports.IotTopicRuleErrorActionStepFunctionsOutputReference = exports.IotTopicRuleErrorActionSqsOutputReference = exports.IotTopicRuleErrorActionSnsOutputReference = exports.IotTopicRuleErrorActionS3OutputReference = exports.IotTopicRuleErrorActionRepublishOutputReference = exports.IotTopicRuleErrorActionLambdaOutputReference = exports.IotTopicRuleErrorActionKinesisOutputReference = exports.IotTopicRuleErrorActionKafkaOutputReference = exports.IotTopicRuleErrorActionKafkaHeaderList = exports.IotTopicRuleErrorActionKafkaHeaderOutputReference = exports.IotTopicRuleErrorActionIotEventsOutputReference = exports.IotTopicRuleErrorActionIotAnalyticsOutputReference = exports.IotTopicRuleErrorActionHttpOutputReference = exports.IotTopicRuleErrorActionHttpHttpHeaderList = exports.IotTopicRuleErrorActionHttpHttpHeaderOutputReference = exports.IotTopicRuleErrorActionFirehoseOutputReference = exports.IotTopicRuleErrorActionElasticsearchOutputReference = exports.IotTopicRuleErrorActionDynamodbv2OutputReference = exports.IotTopicRuleErrorActionDynamodbv2PutItemOutputReference = exports.IotTopicRuleErrorActionDynamodbOutputReference = exports.IotTopicRuleErrorActionCloudwatchMetricOutputReference = exports.IotTopicRuleErrorActionCloudwatchLogsOutputReference = exports.IotTopicRuleErrorActionCloudwatchAlarmOutputReference = exports.IotTopicRuleElasticsearchList = exports.IotTopicRuleElasticsearchOutputReference = exports.IotTopicRuleDynamodbv2List = exports.IotTopicRuleDynamodbv2OutputReference = exports.IotTopicRuleDynamodbv2PutItemOutputReference = exports.IotTopicRuleDynamodbList = exports.IotTopicRuleDynamodbOutputReference = exports.IotTopicRuleCloudwatchMetricList = exports.IotTopicRuleCloudwatchMetricOutputReference = exports.IotTopicRuleCloudwatchLogsList = exports.IotTopicRuleCloudwatchLogsOutputReference = exports.IotTopicRuleCloudwatchAlarmList = exports.IotTopicRuleCloudwatchAlarmOutputReference = void 0;
exports.IotTopicRule = exports.IotTopicRuleTimestreamList = exports.IotTopicRuleTimestreamOutputReference = exports.IotTopicRuleTimestreamTimestampOutputReference = exports.IotTopicRuleTimestreamDimensionList = exports.IotTopicRuleTimestreamDimensionOutputReference = exports.IotTopicRuleStepFunctionsList = exports.IotTopicRuleStepFunctionsOutputReference = exports.IotTopicRuleSqsList = exports.IotTopicRuleSqsOutputReference = exports.IotTopicRuleSnsList = exports.IotTopicRuleSnsOutputReference = exports.IotTopicRuleS3List = exports.IotTopicRuleS3OutputReference = exports.IotTopicRuleRepublishList = exports.IotTopicRuleRepublishOutputReference = exports.IotTopicRuleLambdaList = exports.IotTopicRuleLambdaOutputReference = exports.IotTopicRuleKinesisList = exports.IotTopicRuleKinesisOutputReference = exports.IotTopicRuleKafkaList = exports.IotTopicRuleKafkaOutputReference = exports.IotTopicRuleKafkaHeaderList = exports.IotTopicRuleKafkaHeaderOutputReference = exports.IotTopicRuleIotEventsList = void 0;
exports.iotTopicRuleCloudwatchAlarmToTerraform = iotTopicRuleCloudwatchAlarmToTerraform;
exports.iotTopicRuleCloudwatchAlarmToHclTerraform = iotTopicRuleCloudwatchAlarmToHclTerraform;
exports.iotTopicRuleCloudwatchLogsToTerraform = iotTopicRuleCloudwatchLogsToTerraform;
exports.iotTopicRuleCloudwatchLogsToHclTerraform = iotTopicRuleCloudwatchLogsToHclTerraform;
exports.iotTopicRuleCloudwatchMetricToTerraform = iotTopicRuleCloudwatchMetricToTerraform;
exports.iotTopicRuleCloudwatchMetricToHclTerraform = iotTopicRuleCloudwatchMetricToHclTerraform;
exports.iotTopicRuleDynamodbToTerraform = iotTopicRuleDynamodbToTerraform;
exports.iotTopicRuleDynamodbToHclTerraform = iotTopicRuleDynamodbToHclTerraform;
exports.iotTopicRuleDynamodbv2PutItemToTerraform = iotTopicRuleDynamodbv2PutItemToTerraform;
exports.iotTopicRuleDynamodbv2PutItemToHclTerraform = iotTopicRuleDynamodbv2PutItemToHclTerraform;
exports.iotTopicRuleDynamodbv2ToTerraform = iotTopicRuleDynamodbv2ToTerraform;
exports.iotTopicRuleDynamodbv2ToHclTerraform = iotTopicRuleDynamodbv2ToHclTerraform;
exports.iotTopicRuleElasticsearchToTerraform = iotTopicRuleElasticsearchToTerraform;
exports.iotTopicRuleElasticsearchToHclTerraform = iotTopicRuleElasticsearchToHclTerraform;
exports.iotTopicRuleErrorActionCloudwatchAlarmToTerraform = iotTopicRuleErrorActionCloudwatchAlarmToTerraform;
exports.iotTopicRuleErrorActionCloudwatchAlarmToHclTerraform = iotTopicRuleErrorActionCloudwatchAlarmToHclTerraform;
exports.iotTopicRuleErrorActionCloudwatchLogsToTerraform = iotTopicRuleErrorActionCloudwatchLogsToTerraform;
exports.iotTopicRuleErrorActionCloudwatchLogsToHclTerraform = iotTopicRuleErrorActionCloudwatchLogsToHclTerraform;
exports.iotTopicRuleErrorActionCloudwatchMetricToTerraform = iotTopicRuleErrorActionCloudwatchMetricToTerraform;
exports.iotTopicRuleErrorActionCloudwatchMetricToHclTerraform = iotTopicRuleErrorActionCloudwatchMetricToHclTerraform;
exports.iotTopicRuleErrorActionDynamodbToTerraform = iotTopicRuleErrorActionDynamodbToTerraform;
exports.iotTopicRuleErrorActionDynamodbToHclTerraform = iotTopicRuleErrorActionDynamodbToHclTerraform;
exports.iotTopicRuleErrorActionDynamodbv2PutItemToTerraform = iotTopicRuleErrorActionDynamodbv2PutItemToTerraform;
exports.iotTopicRuleErrorActionDynamodbv2PutItemToHclTerraform = iotTopicRuleErrorActionDynamodbv2PutItemToHclTerraform;
exports.iotTopicRuleErrorActionDynamodbv2ToTerraform = iotTopicRuleErrorActionDynamodbv2ToTerraform;
exports.iotTopicRuleErrorActionDynamodbv2ToHclTerraform = iotTopicRuleErrorActionDynamodbv2ToHclTerraform;
exports.iotTopicRuleErrorActionElasticsearchToTerraform = iotTopicRuleErrorActionElasticsearchToTerraform;
exports.iotTopicRuleErrorActionElasticsearchToHclTerraform = iotTopicRuleErrorActionElasticsearchToHclTerraform;
exports.iotTopicRuleErrorActionFirehoseToTerraform = iotTopicRuleErrorActionFirehoseToTerraform;
exports.iotTopicRuleErrorActionFirehoseToHclTerraform = iotTopicRuleErrorActionFirehoseToHclTerraform;
exports.iotTopicRuleErrorActionHttpHttpHeaderToTerraform = iotTopicRuleErrorActionHttpHttpHeaderToTerraform;
exports.iotTopicRuleErrorActionHttpHttpHeaderToHclTerraform = iotTopicRuleErrorActionHttpHttpHeaderToHclTerraform;
exports.iotTopicRuleErrorActionHttpToTerraform = iotTopicRuleErrorActionHttpToTerraform;
exports.iotTopicRuleErrorActionHttpToHclTerraform = iotTopicRuleErrorActionHttpToHclTerraform;
exports.iotTopicRuleErrorActionIotAnalyticsToTerraform = iotTopicRuleErrorActionIotAnalyticsToTerraform;
exports.iotTopicRuleErrorActionIotAnalyticsToHclTerraform = iotTopicRuleErrorActionIotAnalyticsToHclTerraform;
exports.iotTopicRuleErrorActionIotEventsToTerraform = iotTopicRuleErrorActionIotEventsToTerraform;
exports.iotTopicRuleErrorActionIotEventsToHclTerraform = iotTopicRuleErrorActionIotEventsToHclTerraform;
exports.iotTopicRuleErrorActionKafkaHeaderToTerraform = iotTopicRuleErrorActionKafkaHeaderToTerraform;
exports.iotTopicRuleErrorActionKafkaHeaderToHclTerraform = iotTopicRuleErrorActionKafkaHeaderToHclTerraform;
exports.iotTopicRuleErrorActionKafkaToTerraform = iotTopicRuleErrorActionKafkaToTerraform;
exports.iotTopicRuleErrorActionKafkaToHclTerraform = iotTopicRuleErrorActionKafkaToHclTerraform;
exports.iotTopicRuleErrorActionKinesisToTerraform = iotTopicRuleErrorActionKinesisToTerraform;
exports.iotTopicRuleErrorActionKinesisToHclTerraform = iotTopicRuleErrorActionKinesisToHclTerraform;
exports.iotTopicRuleErrorActionLambdaToTerraform = iotTopicRuleErrorActionLambdaToTerraform;
exports.iotTopicRuleErrorActionLambdaToHclTerraform = iotTopicRuleErrorActionLambdaToHclTerraform;
exports.iotTopicRuleErrorActionRepublishToTerraform = iotTopicRuleErrorActionRepublishToTerraform;
exports.iotTopicRuleErrorActionRepublishToHclTerraform = iotTopicRuleErrorActionRepublishToHclTerraform;
exports.iotTopicRuleErrorActionS3ToTerraform = iotTopicRuleErrorActionS3ToTerraform;
exports.iotTopicRuleErrorActionS3ToHclTerraform = iotTopicRuleErrorActionS3ToHclTerraform;
exports.iotTopicRuleErrorActionSnsToTerraform = iotTopicRuleErrorActionSnsToTerraform;
exports.iotTopicRuleErrorActionSnsToHclTerraform = iotTopicRuleErrorActionSnsToHclTerraform;
exports.iotTopicRuleErrorActionSqsToTerraform = iotTopicRuleErrorActionSqsToTerraform;
exports.iotTopicRuleErrorActionSqsToHclTerraform = iotTopicRuleErrorActionSqsToHclTerraform;
exports.iotTopicRuleErrorActionStepFunctionsToTerraform = iotTopicRuleErrorActionStepFunctionsToTerraform;
exports.iotTopicRuleErrorActionStepFunctionsToHclTerraform = iotTopicRuleErrorActionStepFunctionsToHclTerraform;
exports.iotTopicRuleErrorActionTimestreamDimensionToTerraform = iotTopicRuleErrorActionTimestreamDimensionToTerraform;
exports.iotTopicRuleErrorActionTimestreamDimensionToHclTerraform = iotTopicRuleErrorActionTimestreamDimensionToHclTerraform;
exports.iotTopicRuleErrorActionTimestreamTimestampToTerraform = iotTopicRuleErrorActionTimestreamTimestampToTerraform;
exports.iotTopicRuleErrorActionTimestreamTimestampToHclTerraform = iotTopicRuleErrorActionTimestreamTimestampToHclTerraform;
exports.iotTopicRuleErrorActionTimestreamToTerraform = iotTopicRuleErrorActionTimestreamToTerraform;
exports.iotTopicRuleErrorActionTimestreamToHclTerraform = iotTopicRuleErrorActionTimestreamToHclTerraform;
exports.iotTopicRuleErrorActionToTerraform = iotTopicRuleErrorActionToTerraform;
exports.iotTopicRuleErrorActionToHclTerraform = iotTopicRuleErrorActionToHclTerraform;
exports.iotTopicRuleFirehoseToTerraform = iotTopicRuleFirehoseToTerraform;
exports.iotTopicRuleFirehoseToHclTerraform = iotTopicRuleFirehoseToHclTerraform;
exports.iotTopicRuleHttpHttpHeaderToTerraform = iotTopicRuleHttpHttpHeaderToTerraform;
exports.iotTopicRuleHttpHttpHeaderToHclTerraform = iotTopicRuleHttpHttpHeaderToHclTerraform;
exports.iotTopicRuleHttpToTerraform = iotTopicRuleHttpToTerraform;
exports.iotTopicRuleHttpToHclTerraform = iotTopicRuleHttpToHclTerraform;
exports.iotTopicRuleIotAnalyticsToTerraform = iotTopicRuleIotAnalyticsToTerraform;
exports.iotTopicRuleIotAnalyticsToHclTerraform = iotTopicRuleIotAnalyticsToHclTerraform;
exports.iotTopicRuleIotEventsToTerraform = iotTopicRuleIotEventsToTerraform;
exports.iotTopicRuleIotEventsToHclTerraform = iotTopicRuleIotEventsToHclTerraform;
exports.iotTopicRuleKafkaHeaderToTerraform = iotTopicRuleKafkaHeaderToTerraform;
exports.iotTopicRuleKafkaHeaderToHclTerraform = iotTopicRuleKafkaHeaderToHclTerraform;
exports.iotTopicRuleKafkaToTerraform = iotTopicRuleKafkaToTerraform;
exports.iotTopicRuleKafkaToHclTerraform = iotTopicRuleKafkaToHclTerraform;
exports.iotTopicRuleKinesisToTerraform = iotTopicRuleKinesisToTerraform;
exports.iotTopicRuleKinesisToHclTerraform = iotTopicRuleKinesisToHclTerraform;
exports.iotTopicRuleLambdaToTerraform = iotTopicRuleLambdaToTerraform;
exports.iotTopicRuleLambdaToHclTerraform = iotTopicRuleLambdaToHclTerraform;
exports.iotTopicRuleRepublishToTerraform = iotTopicRuleRepublishToTerraform;
exports.iotTopicRuleRepublishToHclTerraform = iotTopicRuleRepublishToHclTerraform;
exports.iotTopicRuleS3ToTerraform = iotTopicRuleS3ToTerraform;
exports.iotTopicRuleS3ToHclTerraform = iotTopicRuleS3ToHclTerraform;
exports.iotTopicRuleSnsToTerraform = iotTopicRuleSnsToTerraform;
exports.iotTopicRuleSnsToHclTerraform = iotTopicRuleSnsToHclTerraform;
exports.iotTopicRuleSqsToTerraform = iotTopicRuleSqsToTerraform;
exports.iotTopicRuleSqsToHclTerraform = iotTopicRuleSqsToHclTerraform;
exports.iotTopicRuleStepFunctionsToTerraform = iotTopicRuleStepFunctionsToTerraform;
exports.iotTopicRuleStepFunctionsToHclTerraform = iotTopicRuleStepFunctionsToHclTerraform;
exports.iotTopicRuleTimestreamDimensionToTerraform = iotTopicRuleTimestreamDimensionToTerraform;
exports.iotTopicRuleTimestreamDimensionToHclTerraform = iotTopicRuleTimestreamDimensionToHclTerraform;
exports.iotTopicRuleTimestreamTimestampToTerraform = iotTopicRuleTimestreamTimestampToTerraform;
exports.iotTopicRuleTimestreamTimestampToHclTerraform = iotTopicRuleTimestreamTimestampToHclTerraform;
exports.iotTopicRuleTimestreamToTerraform = iotTopicRuleTimestreamToTerraform;
exports.iotTopicRuleTimestreamToHclTerraform = iotTopicRuleTimestreamToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function iotTopicRuleCloudwatchAlarmToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
alarm_name: cdktf.stringToTerraform(struct.alarmName),
role_arn: cdktf.stringToTerraform(struct.roleArn),
state_reason: cdktf.stringToTerraform(struct.stateReason),
state_value: cdktf.stringToTerraform(struct.stateValue),
};
}
function iotTopicRuleCloudwatchAlarmToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
alarm_name: {
value: cdktf.stringToHclTerraform(struct.alarmName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role_arn: {
value: cdktf.stringToHclTerraform(struct.roleArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
state_reason: {
value: cdktf.stringToHclTerraform(struct.stateReason),
isBlock: false,
type: "simple",
storageClassType: "string",
},
state_value: {
value: cdktf.stringToHclTerraform(struct.stateValue),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class IotTopicRuleCloudwatchAlarmOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._alarmName !== undefined) {
hasAnyValues = true;
internalValueResult.alarmName = this._alarmName;
}
if (this._roleArn !== undefined) {
hasAnyValues = true;
internalValueResult.roleArn = this._roleArn;
}
if (this._stateReason !== undefined) {
hasAnyValues = true;
internalValueResult.stateReason = this._stateReason;
}
if (this._stateValue !== undefined) {
hasAnyValues = true;
internalValueResult.stateValue = this._stateValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._alarmName = undefined;
this._roleArn = undefined;
this._stateReason = undefined;
this._stateValue = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._alarmName = value.alarmName;
this._roleArn = value.roleArn;
this._stateReason = value.stateReason;
this._stateValue = value.stateValue;
}
}
get alarmName() {
return this.getStringAttribute('alarm_name');
}
set alarmName(value) {
this._alarmName = value;
}
// Temporarily expose input value. Use with caution.
get alarmNameInput() {
return this._alarmName;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
get stateReason() {
return this.getStringAttribute('state_reason');
}
set stateReason(value) {
this._stateReason = value;
}
// Temporarily expose input value. Use with caution.
get stateReasonInput() {
return this._stateReason;
}
get stateValue() {
return this.getStringAttribute('state_value');
}
set stateValue(value) {
this._stateValue = value;
}
// Temporarily expose input value. Use with caution.
get stateValueInput() {
return this._stateValue;
}
}
exports.IotTopicRuleCloudwatchAlarmOutputReference = IotTopicRuleCloudwatchAlarmOutputReference;
_a = JSII_RTTI_SYMBOL_1;
IotTopicRuleCloudwatchAlarmOutputReference[_a] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleCloudwatchAlarmOutputReference", version: "21.22.1" };
class IotTopicRuleCloudwatchAlarmList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new IotTopicRuleCloudwatchAlarmOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.IotTopicRuleCloudwatchAlarmList = IotTopicRuleCloudwatchAlarmList;
_b = JSII_RTTI_SYMBOL_1;
IotTopicRuleCloudwatchAlarmList[_b] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleCloudwatchAlarmList", version: "21.22.1" };
function iotTopicRuleCloudwatchLogsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
batch_mode: cdktf.booleanToTerraform(struct.batchMode),
log_group_name: cdktf.stringToTerraform(struct.logGroupName),
role_arn: cdktf.stringToTerraform(struct.roleArn),
};
}
function iotTopicRuleCloudwatchLogsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
batch_mode: {
value: cdktf.booleanToHclTerraform(struct.batchMode),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
log_group_name: {
value: cdktf.stringToHclTerraform(struct.logGroupName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role_arn: {
value: cdktf.stringToHclTerraform(struct.roleArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class IotTopicRuleCloudwatchLogsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._batchMode !== undefined) {
hasAnyValues = true;
internalValueResult.batchMode = this._batchMode;
}
if (this._logGroupName !== undefined) {
hasAnyValues = true;
internalValueResult.logGroupName = this._logGroupName;
}
if (this._roleArn !== undefined) {
hasAnyValues = true;
internalValueResult.roleArn = this._roleArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._batchMode = undefined;
this._logGroupName = undefined;
this._roleArn = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._batchMode = value.batchMode;
this._logGroupName = value.logGroupName;
this._roleArn = value.roleArn;
}
}
get batchMode() {
return this.getBooleanAttribute('batch_mode');
}
set batchMode(value) {
this._batchMode = value;
}
resetBatchMode() {
this._batchMode = undefined;
}
// Temporarily expose input value. Use with caution.
get batchModeInput() {
return this._batchMode;
}
get logGroupName() {
return this.getStringAttribute('log_group_name');
}
set logGroupName(value) {
this._logGroupName = value;
}
// Temporarily expose input value. Use with caution.
get logGroupNameInput() {
return this._logGroupName;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
}
exports.IotTopicRuleCloudwatchLogsOutputReference = IotTopicRuleCloudwatchLogsOutputReference;
_c = JSII_RTTI_SYMBOL_1;
IotTopicRuleCloudwatchLogsOutputReference[_c] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleCloudwatchLogsOutputReference", version: "21.22.1" };
class IotTopicRuleCloudwatchLogsList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new IotTopicRuleCloudwatchLogsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.IotTopicRuleCloudwatchLogsList = IotTopicRuleCloudwatchLogsList;
_d = JSII_RTTI_SYMBOL_1;
IotTopicRuleCloudwatchLogsList[_d] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleCloudwatchLogsList", version: "21.22.1" };
function iotTopicRuleCloudwatchMetricToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
metric_name: cdktf.stringToTerraform(struct.metricName),
metric_namespace: cdktf.stringToTerraform(struct.metricNamespace),
metric_timestamp: cdktf.stringToTerraform(struct.metricTimestamp),
metric_unit: cdktf.stringToTerraform(struct.metricUnit),
metric_value: cdktf.stringToTerraform(struct.metricValue),
role_arn: cdktf.stringToTerraform(struct.roleArn),
};
}
function iotTopicRuleCloudwatchMetricToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
metric_name: {
value: cdktf.stringToHclTerraform(struct.metricName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
metric_namespace: {
value: cdktf.stringToHclTerraform(struct.metricNamespace),
isBlock: false,
type: "simple",
storageClassType: "string",
},
metric_timestamp: {
value: cdktf.stringToHclTerraform(struct.metricTimestamp),
isBlock: false,
type: "simple",
storageClassType: "string",
},
metric_unit: {
value: cdktf.stringToHclTerraform(struct.metricUnit),
isBlock: false,
type: "simple",
storageClassType: "string",
},
metric_value: {
value: cdktf.stringToHclTerraform(struct.metricValue),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role_arn: {
value: cdktf.stringToHclTerraform(struct.roleArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class IotTopicRuleCloudwatchMetricOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._metricName !== undefined) {
hasAnyValues = true;
internalValueResult.metricName = this._metricName;
}
if (this._metricNamespace !== undefined) {
hasAnyValues = true;
internalValueResult.metricNamespace = this._metricNamespace;
}
if (this._metricTimestamp !== undefined) {
hasAnyValues = true;
internalValueResult.metricTimestamp = this._metricTimestamp;
}
if (this._metricUnit !== undefined) {
hasAnyValues = true;
internalValueResult.metricUnit = this._metricUnit;
}
if (this._metricValue !== undefined) {
hasAnyValues = true;
internalValueResult.metricValue = this._metricValue;
}
if (this._roleArn !== undefined) {
hasAnyValues = true;
internalValueResult.roleArn = this._roleArn;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._metricName = undefined;
this._metricNamespace = undefined;
this._metricTimestamp = undefined;
this._metricUnit = undefined;
this._metricValue = undefined;
this._roleArn = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._metricName = value.metricName;
this._metricNamespace = value.metricNamespace;
this._metricTimestamp = value.metricTimestamp;
this._metricUnit = value.metricUnit;
this._metricValue = value.metricValue;
this._roleArn = value.roleArn;
}
}
get metricName() {
return this.getStringAttribute('metric_name');
}
set metricName(value) {
this._metricName = value;
}
// Temporarily expose input value. Use with caution.
get metricNameInput() {
return this._metricName;
}
get metricNamespace() {
return this.getStringAttribute('metric_namespace');
}
set metricNamespace(value) {
this._metricNamespace = value;
}
// Temporarily expose input value. Use with caution.
get metricNamespaceInput() {
return this._metricNamespace;
}
get metricTimestamp() {
return this.getStringAttribute('metric_timestamp');
}
set metricTimestamp(value) {
this._metricTimestamp = value;
}
resetMetricTimestamp() {
this._metricTimestamp = undefined;
}
// Temporarily expose input value. Use with caution.
get metricTimestampInput() {
return this._metricTimestamp;
}
get metricUnit() {
return this.getStringAttribute('metric_unit');
}
set metricUnit(value) {
this._metricUnit = value;
}
// Temporarily expose input value. Use with caution.
get metricUnitInput() {
return this._metricUnit;
}
get metricValue() {
return this.getStringAttribute('metric_value');
}
set metricValue(value) {
this._metricValue = value;
}
// Temporarily expose input value. Use with caution.
get metricValueInput() {
return this._metricValue;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
}
exports.IotTopicRuleCloudwatchMetricOutputReference = IotTopicRuleCloudwatchMetricOutputReference;
_e = JSII_RTTI_SYMBOL_1;
IotTopicRuleCloudwatchMetricOutputReference[_e] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleCloudwatchMetricOutputReference", version: "21.22.1" };
class IotTopicRuleCloudwatchMetricList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new IotTopicRuleCloudwatchMetricOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.IotTopicRuleCloudwatchMetricList = IotTopicRuleCloudwatchMetricList;
_f = JSII_RTTI_SYMBOL_1;
IotTopicRuleCloudwatchMetricList[_f] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleCloudwatchMetricList", version: "21.22.1" };
function iotTopicRuleDynamodbToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
hash_key_field: cdktf.stringToTerraform(struct.hashKeyField),
hash_key_type: cdktf.stringToTerraform(struct.hashKeyType),
hash_key_value: cdktf.stringToTerraform(struct.hashKeyValue),
operation: cdktf.stringToTerraform(struct.operation),
payload_field: cdktf.stringToTerraform(struct.payloadField),
range_key_field: cdktf.stringToTerraform(struct.rangeKeyField),
range_key_type: cdktf.stringToTerraform(struct.rangeKeyType),
range_key_value: cdktf.stringToTerraform(struct.rangeKeyValue),
role_arn: cdktf.stringToTerraform(struct.roleArn),
table_name: cdktf.stringToTerraform(struct.tableName),
};
}
function iotTopicRuleDynamodbToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
hash_key_field: {
value: cdktf.stringToHclTerraform(struct.hashKeyField),
isBlock: false,
type: "simple",
storageClassType: "string",
},
hash_key_type: {
value: cdktf.stringToHclTerraform(struct.hashKeyType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
hash_key_value: {
value: cdktf.stringToHclTerraform(struct.hashKeyValue),
isBlock: false,
type: "simple",
storageClassType: "string",
},
operation: {
value: cdktf.stringToHclTerraform(struct.operation),
isBlock: false,
type: "simple",
storageClassType: "string",
},
payload_field: {
value: cdktf.stringToHclTerraform(struct.payloadField),
isBlock: false,
type: "simple",
storageClassType: "string",
},
range_key_field: {
value: cdktf.stringToHclTerraform(struct.rangeKeyField),
isBlock: false,
type: "simple",
storageClassType: "string",
},
range_key_type: {
value: cdktf.stringToHclTerraform(struct.rangeKeyType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
range_key_value: {
value: cdktf.stringToHclTerraform(struct.rangeKeyValue),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role_arn: {
value: cdktf.stringToHclTerraform(struct.roleArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
table_name: {
value: cdktf.stringToHclTerraform(struct.tableName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class IotTopicRuleDynamodbOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._hashKeyField !== undefined) {
hasAnyValues = true;
internalValueResult.hashKeyField = this._hashKeyField;
}
if (this._hashKeyType !== undefined) {
hasAnyValues = true;
internalValueResult.hashKeyType = this._hashKeyType;
}
if (this._hashKeyValue !== undefined) {
hasAnyValues = true;
internalValueResult.hashKeyValue = this._hashKeyValue;
}
if (this._operation !== undefined) {
hasAnyValues = true;
internalValueResult.operation = this._operation;
}
if (this._payloadField !== undefined) {
hasAnyValues = true;
internalValueResult.payloadField = this._payloadField;
}
if (this._rangeKeyField !== undefined) {
hasAnyValues = true;
internalValueResult.rangeKeyField = this._rangeKeyField;
}
if (this._rangeKeyType !== undefined) {
hasAnyValues = true;
internalValueResult.rangeKeyType = this._rangeKeyType;
}
if (this._rangeKeyValue !== undefined) {
hasAnyValues = true;
internalValueResult.rangeKeyValue = this._rangeKeyValue;
}
if (this._roleArn !== undefined) {
hasAnyValues = true;
internalValueResult.roleArn = this._roleArn;
}
if (this._tableName !== undefined) {
hasAnyValues = true;
internalValueResult.tableName = this._tableName;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._hashKeyField = undefined;
this._hashKeyType = undefined;
this._hashKeyValue = undefined;
this._operation = undefined;
this._payloadField = undefined;
this._rangeKeyField = undefined;
this._rangeKeyType = undefined;
this._rangeKeyValue = undefined;
this._roleArn = undefined;
this._tableName = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._hashKeyField = value.hashKeyField;
this._hashKeyType = value.hashKeyType;
this._hashKeyValue = value.hashKeyValue;
this._operation = value.operation;
this._payloadField = value.payloadField;
this._rangeKeyField = value.rangeKeyField;
this._rangeKeyType = value.rangeKeyType;
this._rangeKeyValue = value.rangeKeyValue;
this._roleArn = value.roleArn;
this._tableName = value.tableName;
}
}
get hashKeyField() {
return this.getStringAttribute('hash_key_field');
}
set hashKeyField(value) {
this._hashKeyField = value;
}
// Temporarily expose input value. Use with caution.
get hashKeyFieldInput() {
return this._hashKeyField;
}
get hashKeyType() {
return this.getStringAttribute('hash_key_type');
}
set hashKeyType(value) {
this._hashKeyType = value;
}
resetHashKeyType() {
this._hashKeyType = undefined;
}
// Temporarily expose input value. Use with caution.
get hashKeyTypeInput() {
return this._hashKeyType;
}
get hashKeyValue() {
return this.getStringAttribute('hash_key_value');
}
set hashKeyValue(value) {
this._hashKeyValue = value;
}
// Temporarily expose input value. Use with caution.
get hashKeyValueInput() {
return this._hashKeyValue;
}
get operation() {
return this.getStringAttribute('operation');
}
set operation(value) {
this._operation = value;
}
resetOperation() {
this._operation = undefined;
}
// Temporarily expose input value. Use with caution.
get operationInput() {
return this._operation;
}
get payloadField() {
return this.getStringAttribute('payload_field');
}
set payloadField(value) {
this._payloadField = value;
}
resetPayloadField() {
this._payloadField = undefined;
}
// Temporarily expose input value. Use with caution.
get payloadFieldInput() {
return this._payloadField;
}
get rangeKeyField() {
return this.getStringAttribute('range_key_field');
}
set rangeKeyField(value) {
this._rangeKeyField = value;
}
resetRangeKeyField() {
this._rangeKeyField = undefined;
}
// Temporarily expose input value. Use with caution.
get rangeKeyFieldInput() {
return this._rangeKeyField;
}
get rangeKeyType() {
return this.getStringAttribute('range_key_type');
}
set rangeKeyType(value) {
this._rangeKeyType = value;
}
resetRangeKeyType() {
this._rangeKeyType = undefined;
}
// Temporarily expose input value. Use with caution.
get rangeKeyTypeInput() {
return this._rangeKeyType;
}
get rangeKeyValue() {
return this.getStringAttribute('range_key_value');
}
set rangeKeyValue(value) {
this._rangeKeyValue = value;
}
resetRangeKeyValue() {
this._rangeKeyValue = undefined;
}
// Temporarily expose input value. Use with caution.
get rangeKeyValueInput() {
return this._rangeKeyValue;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
get tableName() {
return this.getStringAttribute('table_name');
}
set tableName(value) {
this._tableName = value;
}
// Temporarily expose input value. Use with caution.
get tableNameInput() {
return this._tableName;
}
}
exports.IotTopicRuleDynamodbOutputReference = IotTopicRuleDynamodbOutputReference;
_g = JSII_RTTI_SYMBOL_1;
IotTopicRuleDynamodbOutputReference[_g] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleDynamodbOutputReference", version: "21.22.1" };
class IotTopicRuleDynamodbList extends cdktf.ComplexList {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource, terraformAttribute, wrapsSet) {
super(terraformResource, terraformAttribute, wrapsSet);
this.terraformResource = terraformResource;
this.terraformAttribute = terraformAttribute;
this.wrapsSet = wrapsSet;
}
/**
* @param index the index of the item to return
*/
get(index) {
return new IotTopicRuleDynamodbOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.IotTopicRuleDynamodbList = IotTopicRuleDynamodbList;
_h = JSII_RTTI_SYMBOL_1;
IotTopicRuleDynamodbList[_h] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleDynamodbList", version: "21.22.1" };
function iotTopicRuleDynamodbv2PutItemToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
table_name: cdktf.stringToTerraform(struct.tableName),
};
}
function iotTopicRuleDynamodbv2PutItemToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
table_name: {
value: cdktf.stringToHclTerraform(struct.tableName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class IotTopicRuleDynamodbv2PutItemOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false, 0);
this.isEmptyObject = false;
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._tableName !== undefined) {
hasAnyValues = true;
internalValueResult.tableName = this._tableName;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._tableName = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._tableName = value.tableName;
}
}
get tableName() {
return this.getStringAttribute('table_name');
}
set tableName(value) {
this._tableName = value;
}
// Temporarily expose input value. Use with caution.
get tableNameInput() {
return this._tableName;
}
}
exports.IotTopicRuleDynamodbv2PutItemOutputReference = IotTopicRuleDynamodbv2PutItemOutputReference;
_j = JSII_RTTI_SYMBOL_1;
IotTopicRuleDynamodbv2PutItemOutputReference[_j] = { fqn: "@cdktf/provider-aws.iotTopicRule.IotTopicRuleDynamodbv2PutItemOutputReference", version: "21.22.1" };
function iotTopicRuleDynamodbv2ToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
role_arn: cdktf.stringToTerraform(struct.roleArn),
put_item: iotTopicRuleDynamo