import * as core from "@terrascript/core"; export interface PolicyArgs extends core.ResourceArgs { /** * (Required) The name of the policy. */ name: string | core.StringOut; /** * (Required) The policy document. This is a JSON formatted string. Use the [IoT Developer Guide](http: * //docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html) for more information on IoT Polic * ies. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM P * olicy Document Guide](https://learn.hashicorp.com/terraform/aws/iam-policy). */ policy: string | core.StringOut; } export class Policy extends core.Resource { /** * The ARN assigned by AWS to this policy. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The default version of this policy. */ @core.attr(String, { computed: true }) public defaultVersionId!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The name of the policy. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required) The policy document. This is a JSON formatted string. Use the [IoT Developer Guide](http: * //docs.aws.amazon.com/iot/latest/developerguide/iot-policies.html) for more information on IoT Polic * ies. For more information about building AWS IAM policy documents with Terraform, see the [AWS IAM P * olicy Document Guide](https://learn.hashicorp.com/terraform/aws/iam-policy). */ @core.attr(String) public policy!: string | core.StringOut; constructor(name: string, args?: PolicyArgs) { super(name, "aws_iot_policy", args); } public override getNamespace(): string { return "aws_iot"; } }