import * as core from "@terrascript/core"; export interface ResourcePolicyArgs extends core.ResourceArgs { /** * (Required) JSON formatted policy document that controls access to the Network Firewall resource. The * policy must be provided **without whitespaces**. We recommend using [jsonencode](https://www.terra * form.io/docs/configuration/functions/jsonencode.html) for formatting as seen in the examples above. * For more details, including available policy statement Actions, see the [Policy](https://docs.aws.am * azon.com/network-firewall/latest/APIReference/API_PutResourcePolicy.html#API_PutResourcePolicy_Reque * stSyntax) parameter in the AWS API documentation. */ policy: string | core.StringOut; /** * (Required, Forces new resource) The Amazon Resource Name (ARN) of the rule group or firewall policy. */ resourceArn: string | core.StringOut; } export class ResourcePolicy extends core.Resource { /** * The Amazon Resource Name (ARN) of the rule group or firewall policy associated with the resource pol * icy. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) JSON formatted policy document that controls access to the Network Firewall resource. The * policy must be provided **without whitespaces**. We recommend using [jsonencode](https://www.terra * form.io/docs/configuration/functions/jsonencode.html) for formatting as seen in the examples above. * For more details, including available policy statement Actions, see the [Policy](https://docs.aws.am * azon.com/network-firewall/latest/APIReference/API_PutResourcePolicy.html#API_PutResourcePolicy_Reque * stSyntax) parameter in the AWS API documentation. */ @core.attr(String) public policy!: string | core.StringOut; /** * (Required, Forces new resource) The Amazon Resource Name (ARN) of the rule group or firewall policy. */ @core.attr(String) public resourceArn!: string | core.StringOut; constructor(name: string, args?: ResourcePolicyArgs) { super(name, "aws_networkfirewall_resource_policy", args); } public override getNamespace(): string { return "aws_networkfirewall"; } }