import * as core from "@terrascript/core"; export interface VpcConfigurationArgs extends core.SchemaArgs { roleArn: string | core.StringOut; securityGroups?: core.Array | core.ArrayOut; subnetIds: core.Array | core.ArrayOut; vpcId: string | core.StringOut; } export class VpcConfiguration extends core.Schema { @core.attr(String) public roleArn!: string | core.StringOut; @core.attr(String, { kind: "array" }) public securityGroups?: core.Array | core.ArrayOut; @core.attr(String, { kind: "array" }) public subnetIds!: core.Array | core.ArrayOut; @core.attr(String) public vpcId!: string | core.StringOut; } export interface TopicRuleDestinationArgs extends core.ResourceArgs { /** * (Optional) Whether or not to enable the destination. Default: `true`. */ enabled?: boolean | core.BooleanOut; /** * (Required) Configuration of the virtual private cloud (VPC) connection. For more info, see the [AWS * documentation](https://docs.aws.amazon.com/iot/latest/developerguide/vpc-rule-action.html). */ vpcConfiguration: VpcConfiguration; } export class TopicRuleDestination extends core.Resource { /** * The ARN of the topic rule destination */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) Whether or not to enable the destination. Default: `true`. */ @core.attr(Boolean) public enabled?: boolean | core.BooleanOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Configuration of the virtual private cloud (VPC) connection. For more info, see the [AWS * documentation](https://docs.aws.amazon.com/iot/latest/developerguide/vpc-rule-action.html). */ @core.attr(VpcConfiguration) public vpcConfiguration!: VpcConfiguration; constructor(name: string, args?: TopicRuleDestinationArgs) { super(name, "aws_iot_topic_rule_destination", args); } public override getNamespace(): string { return "aws_iot"; } }