// Code generated by generators/resource/main.go; DO NOT EDIT. package iot import ( "context" "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" . "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" "github.com/hashicorp/terraform-provider-awscc/internal/validate" ) func init() { registry.AddResourceTypeFactory("awscc_iot_topic_rule", topicRuleResourceType) } // topicRuleResourceType returns the Terraform awscc_iot_topic_rule resource type. // This Terraform resource type corresponds to the CloudFormation AWS::IoT::TopicRule resource type. func topicRuleResourceType(ctx context.Context) (tfsdk.ResourceType, error) { attributes := map[string]tfsdk.Attribute{ "arn": { // Property: Arn // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Computed: true, PlanModifiers: []tfsdk.AttributePlanModifier{ tfsdk.UseStateForUnknown(), }, }, "rule_name": { // Property: RuleName // CloudFormation resource type schema: // { // "type": "string" // } Type: types.StringType, Optional: true, Computed: true, PlanModifiers: []tfsdk.AttributePlanModifier{ tfsdk.UseStateForUnknown(), tfsdk.RequiresReplace(), }, }, "tags": { // Property: Tags // CloudFormation resource type schema: // { // "items": { // "additionalProperties": false, // "properties": { // "Key": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Key", // "Value" // ], // "type": "object" // }, // "type": "array" // } Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "key": { // Property: Key Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, }, "topic_rule_payload": { // Property: TopicRulePayload // CloudFormation resource type schema: // { // "additionalProperties": false, // "properties": { // "Actions": { // "items": { // "additionalProperties": false, // "properties": { // "CloudwatchAlarm": { // "additionalProperties": false, // "properties": { // "AlarmName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "StateReason": { // "type": "string" // }, // "StateValue": { // "type": "string" // } // }, // "required": [ // "AlarmName", // "StateReason", // "StateValue", // "RoleArn" // ], // "type": "object" // }, // "CloudwatchLogs": { // "additionalProperties": false, // "properties": { // "LogGroupName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "LogGroupName", // "RoleArn" // ], // "type": "object" // }, // "CloudwatchMetric": { // "additionalProperties": false, // "properties": { // "MetricName": { // "type": "string" // }, // "MetricNamespace": { // "type": "string" // }, // "MetricTimestamp": { // "type": "string" // }, // "MetricUnit": { // "type": "string" // }, // "MetricValue": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "MetricName", // "MetricValue", // "MetricNamespace", // "MetricUnit", // "RoleArn" // ], // "type": "object" // }, // "DynamoDB": { // "additionalProperties": false, // "properties": { // "HashKeyField": { // "type": "string" // }, // "HashKeyType": { // "type": "string" // }, // "HashKeyValue": { // "type": "string" // }, // "PayloadField": { // "type": "string" // }, // "RangeKeyField": { // "type": "string" // }, // "RangeKeyType": { // "type": "string" // }, // "RangeKeyValue": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "TableName": { // "type": "string" // } // }, // "required": [ // "TableName", // "HashKeyField", // "HashKeyValue", // "RoleArn" // ], // "type": "object" // }, // "DynamoDBv2": { // "additionalProperties": false, // "properties": { // "PutItem": { // "additionalProperties": false, // "properties": { // "TableName": { // "type": "string" // } // }, // "required": [ // "TableName" // ], // "type": "object" // }, // "RoleArn": { // "type": "string" // } // }, // "type": "object" // }, // "Elasticsearch": { // "additionalProperties": false, // "properties": { // "Endpoint": { // "type": "string" // }, // "Id": { // "type": "string" // }, // "Index": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "Type": { // "type": "string" // } // }, // "required": [ // "Type", // "Endpoint", // "Index", // "Id", // "RoleArn" // ], // "type": "object" // }, // "Firehose": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "DeliveryStreamName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "Separator": { // "type": "string" // } // }, // "required": [ // "DeliveryStreamName", // "RoleArn" // ], // "type": "object" // }, // "Http": { // "additionalProperties": false, // "properties": { // "Auth": { // "additionalProperties": false, // "properties": { // "Sigv4": { // "additionalProperties": false, // "properties": { // "RoleArn": { // "type": "string" // }, // "ServiceName": { // "type": "string" // }, // "SigningRegion": { // "type": "string" // } // }, // "required": [ // "ServiceName", // "SigningRegion", // "RoleArn" // ], // "type": "object" // } // }, // "type": "object" // }, // "ConfirmationUrl": { // "type": "string" // }, // "Headers": { // "items": { // "additionalProperties": false, // "properties": { // "Key": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Value", // "Key" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "Url": { // "type": "string" // } // }, // "required": [ // "Url" // ], // "type": "object" // }, // "IotAnalytics": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "ChannelName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "ChannelName", // "RoleArn" // ], // "type": "object" // }, // "IotEvents": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "InputName": { // "type": "string" // }, // "MessageId": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "InputName", // "RoleArn" // ], // "type": "object" // }, // "IotSiteWise": { // "additionalProperties": false, // "properties": { // "PutAssetPropertyValueEntries": { // "items": { // "additionalProperties": false, // "properties": { // "AssetId": { // "type": "string" // }, // "EntryId": { // "type": "string" // }, // "PropertyAlias": { // "type": "string" // }, // "PropertyId": { // "type": "string" // }, // "PropertyValues": { // "items": { // "additionalProperties": false, // "properties": { // "Quality": { // "type": "string" // }, // "Timestamp": { // "additionalProperties": false, // "properties": { // "OffsetInNanos": { // "type": "string" // }, // "TimeInSeconds": { // "type": "string" // } // }, // "required": [ // "TimeInSeconds" // ], // "type": "object" // }, // "Value": { // "additionalProperties": false, // "properties": { // "BooleanValue": { // "type": "string" // }, // "DoubleValue": { // "type": "string" // }, // "IntegerValue": { // "type": "string" // }, // "StringValue": { // "type": "string" // } // }, // "type": "object" // } // }, // "required": [ // "Value", // "Timestamp" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // } // }, // "required": [ // "PropertyValues" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "PutAssetPropertyValueEntries", // "RoleArn" // ], // "type": "object" // }, // "Kafka": { // "additionalProperties": false, // "properties": { // "ClientProperties": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "DestinationArn": { // "type": "string" // }, // "Key": { // "type": "string" // }, // "Partition": { // "type": "string" // }, // "Topic": { // "type": "string" // } // }, // "required": [ // "DestinationArn", // "Topic", // "ClientProperties" // ], // "type": "object" // }, // "Kinesis": { // "additionalProperties": false, // "properties": { // "PartitionKey": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "StreamName": { // "type": "string" // } // }, // "required": [ // "StreamName", // "RoleArn" // ], // "type": "object" // }, // "Lambda": { // "additionalProperties": false, // "properties": { // "FunctionArn": { // "type": "string" // } // }, // "type": "object" // }, // "OpenSearch": { // "additionalProperties": false, // "properties": { // "Endpoint": { // "type": "string" // }, // "Id": { // "type": "string" // }, // "Index": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "Type": { // "type": "string" // } // }, // "required": [ // "Type", // "Endpoint", // "Index", // "Id", // "RoleArn" // ], // "type": "object" // }, // "Republish": { // "additionalProperties": false, // "properties": { // "Qos": { // "type": "integer" // }, // "RoleArn": { // "type": "string" // }, // "Topic": { // "type": "string" // } // }, // "required": [ // "Topic", // "RoleArn" // ], // "type": "object" // }, // "S3": { // "additionalProperties": false, // "properties": { // "BucketName": { // "type": "string" // }, // "CannedAcl": { // "enum": [ // "private", // "public-read", // "public-read-write", // "aws-exec-read", // "authenticated-read", // "bucket-owner-read", // "bucket-owner-full-control", // "log-delivery-write" // ], // "type": "string" // }, // "Key": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "BucketName", // "Key", // "RoleArn" // ], // "type": "object" // }, // "Sns": { // "additionalProperties": false, // "properties": { // "MessageFormat": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "TargetArn": { // "type": "string" // } // }, // "required": [ // "TargetArn", // "RoleArn" // ], // "type": "object" // }, // "Sqs": { // "additionalProperties": false, // "properties": { // "QueueUrl": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "UseBase64": { // "type": "boolean" // } // }, // "required": [ // "RoleArn", // "QueueUrl" // ], // "type": "object" // }, // "StepFunctions": { // "additionalProperties": false, // "properties": { // "ExecutionNamePrefix": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "StateMachineName": { // "type": "string" // } // }, // "required": [ // "StateMachineName", // "RoleArn" // ], // "type": "object" // }, // "Timestream": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "DatabaseName": { // "type": "string" // }, // "Dimensions": { // "items": { // "additionalProperties": false, // "properties": { // "Name": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Name", // "Value" // ], // "type": "object" // }, // "maxItems": 128, // "minItems": 1, // "type": "array" // }, // "RoleArn": { // "type": "string" // }, // "TableName": { // "type": "string" // }, // "Timestamp": { // "additionalProperties": false, // "properties": { // "Unit": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Value", // "Unit" // ], // "type": "object" // } // }, // "required": [ // "RoleArn", // "DatabaseName", // "TableName", // "Dimensions" // ], // "type": "object" // } // }, // "type": "object" // }, // "type": "array" // }, // "AwsIotSqlVersion": { // "type": "string" // }, // "Description": { // "type": "string" // }, // "ErrorAction": { // "additionalProperties": false, // "properties": { // "CloudwatchAlarm": { // "additionalProperties": false, // "properties": { // "AlarmName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "StateReason": { // "type": "string" // }, // "StateValue": { // "type": "string" // } // }, // "required": [ // "AlarmName", // "StateReason", // "StateValue", // "RoleArn" // ], // "type": "object" // }, // "CloudwatchLogs": { // "additionalProperties": false, // "properties": { // "LogGroupName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "LogGroupName", // "RoleArn" // ], // "type": "object" // }, // "CloudwatchMetric": { // "additionalProperties": false, // "properties": { // "MetricName": { // "type": "string" // }, // "MetricNamespace": { // "type": "string" // }, // "MetricTimestamp": { // "type": "string" // }, // "MetricUnit": { // "type": "string" // }, // "MetricValue": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "MetricName", // "MetricValue", // "MetricNamespace", // "MetricUnit", // "RoleArn" // ], // "type": "object" // }, // "DynamoDB": { // "additionalProperties": false, // "properties": { // "HashKeyField": { // "type": "string" // }, // "HashKeyType": { // "type": "string" // }, // "HashKeyValue": { // "type": "string" // }, // "PayloadField": { // "type": "string" // }, // "RangeKeyField": { // "type": "string" // }, // "RangeKeyType": { // "type": "string" // }, // "RangeKeyValue": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "TableName": { // "type": "string" // } // }, // "required": [ // "TableName", // "HashKeyField", // "HashKeyValue", // "RoleArn" // ], // "type": "object" // }, // "DynamoDBv2": { // "additionalProperties": false, // "properties": { // "PutItem": { // "additionalProperties": false, // "properties": { // "TableName": { // "type": "string" // } // }, // "required": [ // "TableName" // ], // "type": "object" // }, // "RoleArn": { // "type": "string" // } // }, // "type": "object" // }, // "Elasticsearch": { // "additionalProperties": false, // "properties": { // "Endpoint": { // "type": "string" // }, // "Id": { // "type": "string" // }, // "Index": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "Type": { // "type": "string" // } // }, // "required": [ // "Type", // "Endpoint", // "Index", // "Id", // "RoleArn" // ], // "type": "object" // }, // "Firehose": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "DeliveryStreamName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "Separator": { // "type": "string" // } // }, // "required": [ // "DeliveryStreamName", // "RoleArn" // ], // "type": "object" // }, // "Http": { // "additionalProperties": false, // "properties": { // "Auth": { // "additionalProperties": false, // "properties": { // "Sigv4": { // "additionalProperties": false, // "properties": { // "RoleArn": { // "type": "string" // }, // "ServiceName": { // "type": "string" // }, // "SigningRegion": { // "type": "string" // } // }, // "required": [ // "ServiceName", // "SigningRegion", // "RoleArn" // ], // "type": "object" // } // }, // "type": "object" // }, // "ConfirmationUrl": { // "type": "string" // }, // "Headers": { // "items": { // "additionalProperties": false, // "properties": { // "Key": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Value", // "Key" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "Url": { // "type": "string" // } // }, // "required": [ // "Url" // ], // "type": "object" // }, // "IotAnalytics": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "ChannelName": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "ChannelName", // "RoleArn" // ], // "type": "object" // }, // "IotEvents": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "InputName": { // "type": "string" // }, // "MessageId": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "InputName", // "RoleArn" // ], // "type": "object" // }, // "IotSiteWise": { // "additionalProperties": false, // "properties": { // "PutAssetPropertyValueEntries": { // "items": { // "additionalProperties": false, // "properties": { // "AssetId": { // "type": "string" // }, // "EntryId": { // "type": "string" // }, // "PropertyAlias": { // "type": "string" // }, // "PropertyId": { // "type": "string" // }, // "PropertyValues": { // "items": { // "additionalProperties": false, // "properties": { // "Quality": { // "type": "string" // }, // "Timestamp": { // "additionalProperties": false, // "properties": { // "OffsetInNanos": { // "type": "string" // }, // "TimeInSeconds": { // "type": "string" // } // }, // "required": [ // "TimeInSeconds" // ], // "type": "object" // }, // "Value": { // "additionalProperties": false, // "properties": { // "BooleanValue": { // "type": "string" // }, // "DoubleValue": { // "type": "string" // }, // "IntegerValue": { // "type": "string" // }, // "StringValue": { // "type": "string" // } // }, // "type": "object" // } // }, // "required": [ // "Value", // "Timestamp" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // } // }, // "required": [ // "PropertyValues" // ], // "type": "object" // }, // "type": "array", // "uniqueItems": true // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "PutAssetPropertyValueEntries", // "RoleArn" // ], // "type": "object" // }, // "Kafka": { // "additionalProperties": false, // "properties": { // "ClientProperties": { // "additionalProperties": false, // "patternProperties": { // "": { // "type": "string" // } // }, // "type": "object" // }, // "DestinationArn": { // "type": "string" // }, // "Key": { // "type": "string" // }, // "Partition": { // "type": "string" // }, // "Topic": { // "type": "string" // } // }, // "required": [ // "DestinationArn", // "Topic", // "ClientProperties" // ], // "type": "object" // }, // "Kinesis": { // "additionalProperties": false, // "properties": { // "PartitionKey": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "StreamName": { // "type": "string" // } // }, // "required": [ // "StreamName", // "RoleArn" // ], // "type": "object" // }, // "Lambda": { // "additionalProperties": false, // "properties": { // "FunctionArn": { // "type": "string" // } // }, // "type": "object" // }, // "OpenSearch": { // "additionalProperties": false, // "properties": { // "Endpoint": { // "type": "string" // }, // "Id": { // "type": "string" // }, // "Index": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "Type": { // "type": "string" // } // }, // "required": [ // "Type", // "Endpoint", // "Index", // "Id", // "RoleArn" // ], // "type": "object" // }, // "Republish": { // "additionalProperties": false, // "properties": { // "Qos": { // "type": "integer" // }, // "RoleArn": { // "type": "string" // }, // "Topic": { // "type": "string" // } // }, // "required": [ // "Topic", // "RoleArn" // ], // "type": "object" // }, // "S3": { // "additionalProperties": false, // "properties": { // "BucketName": { // "type": "string" // }, // "CannedAcl": { // "enum": [ // "private", // "public-read", // "public-read-write", // "aws-exec-read", // "authenticated-read", // "bucket-owner-read", // "bucket-owner-full-control", // "log-delivery-write" // ], // "type": "string" // }, // "Key": { // "type": "string" // }, // "RoleArn": { // "type": "string" // } // }, // "required": [ // "BucketName", // "Key", // "RoleArn" // ], // "type": "object" // }, // "Sns": { // "additionalProperties": false, // "properties": { // "MessageFormat": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "TargetArn": { // "type": "string" // } // }, // "required": [ // "TargetArn", // "RoleArn" // ], // "type": "object" // }, // "Sqs": { // "additionalProperties": false, // "properties": { // "QueueUrl": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "UseBase64": { // "type": "boolean" // } // }, // "required": [ // "RoleArn", // "QueueUrl" // ], // "type": "object" // }, // "StepFunctions": { // "additionalProperties": false, // "properties": { // "ExecutionNamePrefix": { // "type": "string" // }, // "RoleArn": { // "type": "string" // }, // "StateMachineName": { // "type": "string" // } // }, // "required": [ // "StateMachineName", // "RoleArn" // ], // "type": "object" // }, // "Timestream": { // "additionalProperties": false, // "properties": { // "BatchMode": { // "type": "boolean" // }, // "DatabaseName": { // "type": "string" // }, // "Dimensions": { // "items": { // "additionalProperties": false, // "properties": { // "Name": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Name", // "Value" // ], // "type": "object" // }, // "maxItems": 128, // "minItems": 1, // "type": "array" // }, // "RoleArn": { // "type": "string" // }, // "TableName": { // "type": "string" // }, // "Timestamp": { // "additionalProperties": false, // "properties": { // "Unit": { // "type": "string" // }, // "Value": { // "type": "string" // } // }, // "required": [ // "Value", // "Unit" // ], // "type": "object" // } // }, // "required": [ // "RoleArn", // "DatabaseName", // "TableName", // "Dimensions" // ], // "type": "object" // } // }, // "type": "object" // }, // "RuleDisabled": { // "type": "boolean" // }, // "Sql": { // "type": "string" // } // }, // "required": [ // "Actions", // "Sql" // ], // "type": "object" // } Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "actions": { // Property: Actions Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "cloudwatch_alarm": { // Property: CloudwatchAlarm Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "alarm_name": { // Property: AlarmName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "state_reason": { // Property: StateReason Type: types.StringType, Required: true, }, "state_value": { // Property: StateValue Type: types.StringType, Required: true, }, }, ), Optional: true, }, "cloudwatch_logs": { // Property: CloudwatchLogs Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "log_group_name": { // Property: LogGroupName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "cloudwatch_metric": { // Property: CloudwatchMetric Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "metric_name": { // Property: MetricName Type: types.StringType, Required: true, }, "metric_namespace": { // Property: MetricNamespace Type: types.StringType, Required: true, }, "metric_timestamp": { // Property: MetricTimestamp Type: types.StringType, Optional: true, }, "metric_unit": { // Property: MetricUnit Type: types.StringType, Required: true, }, "metric_value": { // Property: MetricValue Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "dynamo_db": { // Property: DynamoDB Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "hash_key_field": { // Property: HashKeyField Type: types.StringType, Required: true, }, "hash_key_type": { // Property: HashKeyType Type: types.StringType, Optional: true, }, "hash_key_value": { // Property: HashKeyValue Type: types.StringType, Required: true, }, "payload_field": { // Property: PayloadField Type: types.StringType, Optional: true, }, "range_key_field": { // Property: RangeKeyField Type: types.StringType, Optional: true, }, "range_key_type": { // Property: RangeKeyType Type: types.StringType, Optional: true, }, "range_key_value": { // Property: RangeKeyValue Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "table_name": { // Property: TableName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "dynamo_d_bv_2": { // Property: DynamoDBv2 Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "put_item": { // Property: PutItem Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "table_name": { // Property: TableName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Optional: true, }, }, ), Optional: true, }, "elasticsearch": { // Property: Elasticsearch Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "endpoint": { // Property: Endpoint Type: types.StringType, Required: true, }, "id": { // Property: Id Type: types.StringType, Required: true, }, "index": { // Property: Index Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "type": { // Property: Type Type: types.StringType, Required: true, }, }, ), Optional: true, }, "firehose": { // Property: Firehose Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "delivery_stream_name": { // Property: DeliveryStreamName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "separator": { // Property: Separator Type: types.StringType, Optional: true, }, }, ), Optional: true, }, "http": { // Property: Http Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth": { // Property: Auth Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "sigv_4": { // Property: Sigv4 Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "service_name": { // Property: ServiceName Type: types.StringType, Required: true, }, "signing_region": { // Property: SigningRegion Type: types.StringType, Required: true, }, }, ), Optional: true, }, }, ), Optional: true, }, "confirmation_url": { // Property: ConfirmationUrl Type: types.StringType, Optional: true, }, "headers": { // Property: Headers Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "key": { // Property: Key Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.UniqueItems(), }, }, "url": { // Property: Url Type: types.StringType, Required: true, }, }, ), Optional: true, }, "iot_analytics": { // Property: IotAnalytics Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "channel_name": { // Property: ChannelName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "iot_events": { // Property: IotEvents Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "input_name": { // Property: InputName Type: types.StringType, Required: true, }, "message_id": { // Property: MessageId Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "iot_site_wise": { // Property: IotSiteWise Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "put_asset_property_value_entries": { // Property: PutAssetPropertyValueEntries Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "asset_id": { // Property: AssetId Type: types.StringType, Optional: true, }, "entry_id": { // Property: EntryId Type: types.StringType, Optional: true, }, "property_alias": { // Property: PropertyAlias Type: types.StringType, Optional: true, }, "property_id": { // Property: PropertyId Type: types.StringType, Optional: true, }, "property_values": { // Property: PropertyValues Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "quality": { // Property: Quality Type: types.StringType, Optional: true, }, "timestamp": { // Property: Timestamp Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "offset_in_nanos": { // Property: OffsetInNanos Type: types.StringType, Optional: true, }, "time_in_seconds": { // Property: TimeInSeconds Type: types.StringType, Required: true, }, }, ), Required: true, }, "value": { // Property: Value Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "boolean_value": { // Property: BooleanValue Type: types.StringType, Optional: true, }, "double_value": { // Property: DoubleValue Type: types.StringType, Optional: true, }, "integer_value": { // Property: IntegerValue Type: types.StringType, Optional: true, }, "string_value": { // Property: StringValue Type: types.StringType, Optional: true, }, }, ), Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.UniqueItems(), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.UniqueItems(), }, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "kafka": { // Property: Kafka Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "client_properties": { // Property: ClientProperties // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Required: true, }, "destination_arn": { // Property: DestinationArn Type: types.StringType, Required: true, }, "key": { // Property: Key Type: types.StringType, Optional: true, }, "partition": { // Property: Partition Type: types.StringType, Optional: true, }, "topic": { // Property: Topic Type: types.StringType, Required: true, }, }, ), Optional: true, }, "kinesis": { // Property: Kinesis Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "partition_key": { // Property: PartitionKey Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "stream_name": { // Property: StreamName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "lambda": { // Property: Lambda Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "function_arn": { // Property: FunctionArn Type: types.StringType, Optional: true, }, }, ), Optional: true, }, "open_search": { // Property: OpenSearch Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "endpoint": { // Property: Endpoint Type: types.StringType, Required: true, }, "id": { // Property: Id Type: types.StringType, Required: true, }, "index": { // Property: Index Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "type": { // Property: Type Type: types.StringType, Required: true, }, }, ), Optional: true, }, "republish": { // Property: Republish Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "qos": { // Property: Qos Type: types.Int64Type, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "topic": { // Property: Topic Type: types.StringType, Required: true, }, }, ), Optional: true, }, "s3": { // Property: S3 Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "bucket_name": { // Property: BucketName Type: types.StringType, Required: true, }, "canned_acl": { // Property: CannedAcl Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control", "log-delivery-write", }), }, }, "key": { // Property: Key Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "sns": { // Property: Sns Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "message_format": { // Property: MessageFormat Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "target_arn": { // Property: TargetArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "sqs": { // Property: Sqs Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "queue_url": { // Property: QueueUrl Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "use_base_64": { // Property: UseBase64 Type: types.BoolType, Optional: true, }, }, ), Optional: true, }, "step_functions": { // Property: StepFunctions Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "execution_name_prefix": { // Property: ExecutionNamePrefix Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "state_machine_name": { // Property: StateMachineName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "timestream": { // Property: Timestream Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "database_name": { // Property: DatabaseName Type: types.StringType, Required: true, }, "dimensions": { // Property: Dimensions Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "name": { // Property: Name Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 128), }, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "table_name": { // Property: TableName Type: types.StringType, Required: true, }, "timestamp": { // Property: Timestamp Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "unit": { // Property: Unit Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, ), Optional: true, }, }, ), Optional: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, }, "aws_iot_sql_version": { // Property: AwsIotSqlVersion Type: types.StringType, Optional: true, }, "description": { // Property: Description Type: types.StringType, Optional: true, }, "error_action": { // Property: ErrorAction Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "cloudwatch_alarm": { // Property: CloudwatchAlarm Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "alarm_name": { // Property: AlarmName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "state_reason": { // Property: StateReason Type: types.StringType, Required: true, }, "state_value": { // Property: StateValue Type: types.StringType, Required: true, }, }, ), Optional: true, }, "cloudwatch_logs": { // Property: CloudwatchLogs Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "log_group_name": { // Property: LogGroupName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "cloudwatch_metric": { // Property: CloudwatchMetric Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "metric_name": { // Property: MetricName Type: types.StringType, Required: true, }, "metric_namespace": { // Property: MetricNamespace Type: types.StringType, Required: true, }, "metric_timestamp": { // Property: MetricTimestamp Type: types.StringType, Optional: true, }, "metric_unit": { // Property: MetricUnit Type: types.StringType, Required: true, }, "metric_value": { // Property: MetricValue Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "dynamo_db": { // Property: DynamoDB Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "hash_key_field": { // Property: HashKeyField Type: types.StringType, Required: true, }, "hash_key_type": { // Property: HashKeyType Type: types.StringType, Optional: true, }, "hash_key_value": { // Property: HashKeyValue Type: types.StringType, Required: true, }, "payload_field": { // Property: PayloadField Type: types.StringType, Optional: true, }, "range_key_field": { // Property: RangeKeyField Type: types.StringType, Optional: true, }, "range_key_type": { // Property: RangeKeyType Type: types.StringType, Optional: true, }, "range_key_value": { // Property: RangeKeyValue Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "table_name": { // Property: TableName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "dynamo_d_bv_2": { // Property: DynamoDBv2 Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "put_item": { // Property: PutItem Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "table_name": { // Property: TableName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Optional: true, }, }, ), Optional: true, }, "elasticsearch": { // Property: Elasticsearch Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "endpoint": { // Property: Endpoint Type: types.StringType, Required: true, }, "id": { // Property: Id Type: types.StringType, Required: true, }, "index": { // Property: Index Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "type": { // Property: Type Type: types.StringType, Required: true, }, }, ), Optional: true, }, "firehose": { // Property: Firehose Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "delivery_stream_name": { // Property: DeliveryStreamName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "separator": { // Property: Separator Type: types.StringType, Optional: true, }, }, ), Optional: true, }, "http": { // Property: Http Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth": { // Property: Auth Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "sigv_4": { // Property: Sigv4 Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "service_name": { // Property: ServiceName Type: types.StringType, Required: true, }, "signing_region": { // Property: SigningRegion Type: types.StringType, Required: true, }, }, ), Optional: true, }, }, ), Optional: true, }, "confirmation_url": { // Property: ConfirmationUrl Type: types.StringType, Optional: true, }, "headers": { // Property: Headers Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "key": { // Property: Key Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Optional: true, Validators: []tfsdk.AttributeValidator{ validate.UniqueItems(), }, }, "url": { // Property: Url Type: types.StringType, Required: true, }, }, ), Optional: true, }, "iot_analytics": { // Property: IotAnalytics Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "channel_name": { // Property: ChannelName Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "iot_events": { // Property: IotEvents Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "input_name": { // Property: InputName Type: types.StringType, Required: true, }, "message_id": { // Property: MessageId Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "iot_site_wise": { // Property: IotSiteWise Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "put_asset_property_value_entries": { // Property: PutAssetPropertyValueEntries Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "asset_id": { // Property: AssetId Type: types.StringType, Optional: true, }, "entry_id": { // Property: EntryId Type: types.StringType, Optional: true, }, "property_alias": { // Property: PropertyAlias Type: types.StringType, Optional: true, }, "property_id": { // Property: PropertyId Type: types.StringType, Optional: true, }, "property_values": { // Property: PropertyValues Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "quality": { // Property: Quality Type: types.StringType, Optional: true, }, "timestamp": { // Property: Timestamp Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "offset_in_nanos": { // Property: OffsetInNanos Type: types.StringType, Optional: true, }, "time_in_seconds": { // Property: TimeInSeconds Type: types.StringType, Required: true, }, }, ), Required: true, }, "value": { // Property: Value Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "boolean_value": { // Property: BooleanValue Type: types.StringType, Optional: true, }, "double_value": { // Property: DoubleValue Type: types.StringType, Optional: true, }, "integer_value": { // Property: IntegerValue Type: types.StringType, Optional: true, }, "string_value": { // Property: StringValue Type: types.StringType, Optional: true, }, }, ), Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.UniqueItems(), }, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.UniqueItems(), }, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "kafka": { // Property: Kafka Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "client_properties": { // Property: ClientProperties // Pattern: "" Type: types.MapType{ElemType: types.StringType}, Required: true, }, "destination_arn": { // Property: DestinationArn Type: types.StringType, Required: true, }, "key": { // Property: Key Type: types.StringType, Optional: true, }, "partition": { // Property: Partition Type: types.StringType, Optional: true, }, "topic": { // Property: Topic Type: types.StringType, Required: true, }, }, ), Optional: true, }, "kinesis": { // Property: Kinesis Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "partition_key": { // Property: PartitionKey Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "stream_name": { // Property: StreamName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "lambda": { // Property: Lambda Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "function_arn": { // Property: FunctionArn Type: types.StringType, Optional: true, }, }, ), Optional: true, }, "open_search": { // Property: OpenSearch Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "endpoint": { // Property: Endpoint Type: types.StringType, Required: true, }, "id": { // Property: Id Type: types.StringType, Required: true, }, "index": { // Property: Index Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "type": { // Property: Type Type: types.StringType, Required: true, }, }, ), Optional: true, }, "republish": { // Property: Republish Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "qos": { // Property: Qos Type: types.Int64Type, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "topic": { // Property: Topic Type: types.StringType, Required: true, }, }, ), Optional: true, }, "s3": { // Property: S3 Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "bucket_name": { // Property: BucketName Type: types.StringType, Required: true, }, "canned_acl": { // Property: CannedAcl Type: types.StringType, Optional: true, Validators: []tfsdk.AttributeValidator{ validate.StringInSlice([]string{ "private", "public-read", "public-read-write", "aws-exec-read", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control", "log-delivery-write", }), }, }, "key": { // Property: Key Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "sns": { // Property: Sns Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "message_format": { // Property: MessageFormat Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "target_arn": { // Property: TargetArn Type: types.StringType, Required: true, }, }, ), Optional: true, }, "sqs": { // Property: Sqs Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "queue_url": { // Property: QueueUrl Type: types.StringType, Required: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "use_base_64": { // Property: UseBase64 Type: types.BoolType, Optional: true, }, }, ), Optional: true, }, "step_functions": { // Property: StepFunctions Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "execution_name_prefix": { // Property: ExecutionNamePrefix Type: types.StringType, Optional: true, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "state_machine_name": { // Property: StateMachineName Type: types.StringType, Required: true, }, }, ), Optional: true, }, "timestream": { // Property: Timestream Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "batch_mode": { // Property: BatchMode Type: types.BoolType, Optional: true, }, "database_name": { // Property: DatabaseName Type: types.StringType, Required: true, }, "dimensions": { // Property: Dimensions Attributes: tfsdk.ListNestedAttributes( map[string]tfsdk.Attribute{ "name": { // Property: Name Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, tfsdk.ListNestedAttributesOptions{}, ), Required: true, Validators: []tfsdk.AttributeValidator{ validate.ArrayLenBetween(1, 128), }, }, "role_arn": { // Property: RoleArn Type: types.StringType, Required: true, }, "table_name": { // Property: TableName Type: types.StringType, Required: true, }, "timestamp": { // Property: Timestamp Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "unit": { // Property: Unit Type: types.StringType, Required: true, }, "value": { // Property: Value Type: types.StringType, Required: true, }, }, ), Optional: true, }, }, ), Optional: true, }, }, ), Optional: true, }, "rule_disabled": { // Property: RuleDisabled Type: types.BoolType, Optional: true, }, "sql": { // Property: Sql Type: types.StringType, Required: true, }, }, ), Required: true, }, } attributes["id"] = tfsdk.Attribute{ Description: "Uniquely identifies the resource.", Type: types.StringType, Computed: true, PlanModifiers: []tfsdk.AttributePlanModifier{ tfsdk.UseStateForUnknown(), }, } schema := tfsdk.Schema{ Description: "Resource Type definition for AWS::IoT::TopicRule", Version: 1, Attributes: attributes, } var opts ResourceTypeOptions opts = opts.WithCloudFormationTypeName("AWS::IoT::TopicRule").WithTerraformTypeName("awscc_iot_topic_rule") opts = opts.WithTerraformSchema(schema) opts = opts.WithSyntheticIDAttribute(true) opts = opts.WithAttributeNameMap(map[string]string{ "actions": "Actions", "alarm_name": "AlarmName", "arn": "Arn", "asset_id": "AssetId", "auth": "Auth", "aws_iot_sql_version": "AwsIotSqlVersion", "batch_mode": "BatchMode", "boolean_value": "BooleanValue", "bucket_name": "BucketName", "canned_acl": "CannedAcl", "channel_name": "ChannelName", "client_properties": "ClientProperties", "cloudwatch_alarm": "CloudwatchAlarm", "cloudwatch_logs": "CloudwatchLogs", "cloudwatch_metric": "CloudwatchMetric", "confirmation_url": "ConfirmationUrl", "database_name": "DatabaseName", "delivery_stream_name": "DeliveryStreamName", "description": "Description", "destination_arn": "DestinationArn", "dimensions": "Dimensions", "double_value": "DoubleValue", "dynamo_d_bv_2": "DynamoDBv2", "dynamo_db": "DynamoDB", "elasticsearch": "Elasticsearch", "endpoint": "Endpoint", "entry_id": "EntryId", "error_action": "ErrorAction", "execution_name_prefix": "ExecutionNamePrefix", "firehose": "Firehose", "function_arn": "FunctionArn", "hash_key_field": "HashKeyField", "hash_key_type": "HashKeyType", "hash_key_value": "HashKeyValue", "headers": "Headers", "http": "Http", "id": "Id", "index": "Index", "input_name": "InputName", "integer_value": "IntegerValue", "iot_analytics": "IotAnalytics", "iot_events": "IotEvents", "iot_site_wise": "IotSiteWise", "kafka": "Kafka", "key": "Key", "kinesis": "Kinesis", "lambda": "Lambda", "log_group_name": "LogGroupName", "message_format": "MessageFormat", "message_id": "MessageId", "metric_name": "MetricName", "metric_namespace": "MetricNamespace", "metric_timestamp": "MetricTimestamp", "metric_unit": "MetricUnit", "metric_value": "MetricValue", "name": "Name", "offset_in_nanos": "OffsetInNanos", "open_search": "OpenSearch", "partition": "Partition", "partition_key": "PartitionKey", "payload_field": "PayloadField", "property_alias": "PropertyAlias", "property_id": "PropertyId", "property_values": "PropertyValues", "put_asset_property_value_entries": "PutAssetPropertyValueEntries", "put_item": "PutItem", "qos": "Qos", "quality": "Quality", "queue_url": "QueueUrl", "range_key_field": "RangeKeyField", "range_key_type": "RangeKeyType", "range_key_value": "RangeKeyValue", "republish": "Republish", "role_arn": "RoleArn", "rule_disabled": "RuleDisabled", "rule_name": "RuleName", "s3": "S3", "separator": "Separator", "service_name": "ServiceName", "signing_region": "SigningRegion", "sigv_4": "Sigv4", "sns": "Sns", "sql": "Sql", "sqs": "Sqs", "state_machine_name": "StateMachineName", "state_reason": "StateReason", "state_value": "StateValue", "step_functions": "StepFunctions", "stream_name": "StreamName", "string_value": "StringValue", "table_name": "TableName", "tags": "Tags", "target_arn": "TargetArn", "time_in_seconds": "TimeInSeconds", "timestamp": "Timestamp", "timestream": "Timestream", "topic": "Topic", "topic_rule_payload": "TopicRulePayload", "type": "Type", "unit": "Unit", "url": "Url", "use_base_64": "UseBase64", "value": "Value", }) opts = opts.WithCreateTimeoutInMinutes(0).WithDeleteTimeoutInMinutes(0) opts = opts.WithUpdateTimeoutInMinutes(0) resourceType, err := NewResourceType(ctx, opts...) if err != nil { return nil, err } return resourceType, nil }