/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type CannedAccessControlList = | "private" | "public-read" | "public-read-write" | "aws-exec-read" | "authenticated-read" | "bucket-owner-read" | "bucket-owner-full-control" | "log-delivery-write"; /** * @minItems 1 * @maxItems 100 */ export type UserProperties = [UserProperty, ...UserProperty[]]; /** * @minItems 1 * @maxItems 128 */ export type TimestreamDimensionsList = [TimestreamDimension, ...TimestreamDimension[]]; /** * Resource Type definition for AWS::IoT::TopicRule */ export interface AwsIotTopicrule { Arn?: string; RuleName?: string; TopicRulePayload: TopicRulePayload; Tags?: Tag[]; } export interface TopicRulePayload { RuleDisabled?: boolean; ErrorAction?: Action; Description?: string; AwsIotSqlVersion?: string; Actions: Action[]; Sql: string; } export interface Action { S3?: S3Action; CloudwatchAlarm?: CloudwatchAlarmAction; CloudwatchLogs?: CloudwatchLogsAction; IotEvents?: IotEventsAction; Firehose?: FirehoseAction; Republish?: RepublishAction; StepFunctions?: StepFunctionsAction; DynamoDB?: DynamoDBAction; Http?: HttpAction; DynamoDBv2?: DynamoDBv2Action; CloudwatchMetric?: CloudwatchMetricAction; IotSiteWise?: IotSiteWiseAction; Elasticsearch?: ElasticsearchAction; Sqs?: SqsAction; Kinesis?: KinesisAction; IotAnalytics?: IotAnalyticsAction; Sns?: SnsAction; Lambda?: LambdaAction; Timestream?: TimestreamAction; Kafka?: KafkaAction; OpenSearch?: OpenSearchAction; Location?: LocationAction; } export interface S3Action { BucketName: string; Key: string; RoleArn: string; CannedAcl?: CannedAccessControlList; } export interface CloudwatchAlarmAction { StateValue: string; AlarmName: string; StateReason: string; RoleArn: string; } export interface CloudwatchLogsAction { LogGroupName: string; RoleArn: string; BatchMode?: boolean; } export interface IotEventsAction { InputName: string; RoleArn: string; MessageId?: string; BatchMode?: boolean; } export interface FirehoseAction { DeliveryStreamName: string; RoleArn: string; Separator?: string; BatchMode?: boolean; } export interface RepublishAction { Qos?: number; Topic: string; RoleArn: string; Headers?: RepublishActionHeaders; } export interface RepublishActionHeaders { PayloadFormatIndicator?: string; ContentType?: string; ResponseTopic?: string; CorrelationData?: string; MessageExpiry?: string; UserProperties?: UserProperties; } export interface UserProperty { Key: string; Value: string; } export interface StepFunctionsAction { ExecutionNamePrefix?: string; StateMachineName: string; RoleArn: string; } export interface DynamoDBAction { TableName: string; PayloadField?: string; RangeKeyField?: string; HashKeyField: string; RangeKeyValue?: string; RangeKeyType?: string; HashKeyType?: string; HashKeyValue: string; RoleArn: string; } export interface HttpAction { ConfirmationUrl?: string; Headers?: HttpActionHeader[]; Url: string; Auth?: HttpAuthorization; } export interface HttpActionHeader { Value: string; Key: string; } export interface HttpAuthorization { Sigv4?: SigV4Authorization; } export interface SigV4Authorization { ServiceName: string; SigningRegion: string; RoleArn: string; } export interface DynamoDBv2Action { PutItem?: PutItemInput; RoleArn?: string; } export interface PutItemInput { TableName: string; } export interface CloudwatchMetricAction { MetricName: string; MetricValue: string; MetricNamespace: string; MetricUnit: string; RoleArn: string; MetricTimestamp?: string; } export interface IotSiteWiseAction { RoleArn: string; PutAssetPropertyValueEntries: PutAssetPropertyValueEntry[]; } export interface PutAssetPropertyValueEntry { PropertyAlias?: string; PropertyValues: AssetPropertyValue[]; AssetId?: string; EntryId?: string; PropertyId?: string; } export interface AssetPropertyValue { Value: AssetPropertyVariant; Timestamp: AssetPropertyTimestamp; Quality?: string; } export interface AssetPropertyVariant { StringValue?: string; DoubleValue?: string; BooleanValue?: string; IntegerValue?: string; } export interface AssetPropertyTimestamp { TimeInSeconds: string; OffsetInNanos?: string; } export interface ElasticsearchAction { Type: string; Index: string; Id: string; Endpoint: string; RoleArn: string; } export interface SqsAction { RoleArn: string; UseBase64?: boolean; QueueUrl: string; } export interface KinesisAction { PartitionKey?: string; StreamName: string; RoleArn: string; } export interface IotAnalyticsAction { RoleArn: string; ChannelName: string; BatchMode?: boolean; } export interface SnsAction { TargetArn: string; MessageFormat?: string; RoleArn: string; } export interface LambdaAction { FunctionArn?: string; } export interface TimestreamAction { RoleArn: string; DatabaseName: string; TableName: string; Dimensions: TimestreamDimensionsList; Timestamp?: TimestreamTimestamp; } export interface TimestreamDimension { Name: string; Value: string; } export interface TimestreamTimestamp { Value: string; Unit: string; } export interface KafkaAction { DestinationArn: string; Topic: string; Key?: string; Partition?: string; ClientProperties: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` ".*". */ [k: string]: string; }; } export interface OpenSearchAction { Type: string; Index: string; Id: string; Endpoint: string; RoleArn: string; } export interface LocationAction { RoleArn: string; TrackerName: string; DeviceId: string; Latitude: string; Longitude: string; Timestamp?: Timestamp; } export interface Timestamp { Value: string; Unit?: string; } export interface Tag { Key: string; Value: string; }