Redrive Allow Policy Args
    data class RedriveAllowPolicyArgs(val queueUrl: Output<String>? = null, val redriveAllowPolicy: Output<String>? = null) : ConvertibleToJava<RedriveAllowPolicyArgs> 
Provides a SQS Queue Redrive Allow Policy resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.sqs.Queue("example", {name: "examplequeue"});
const src = new aws.sqs.Queue("src", {
    name: "srcqueue",
    redrivePolicy: pulumi.jsonStringify({
        deadLetterTargetArn: example.arn,
        maxReceiveCount: 4,
    }),
});
const exampleRedriveAllowPolicy = new aws.sqs.RedriveAllowPolicy("example", {
    queueUrl: example.id,
    redriveAllowPolicy: pulumi.jsonStringify({
        redrivePermission: "byQueue",
        sourceQueueArns: [src.arn],
    }),
});Content copied to clipboard
import pulumi
import json
import pulumi_aws as aws
example = aws.sqs.Queue("example", name="examplequeue")
src = aws.sqs.Queue("src",
    name="srcqueue",
    redrive_policy=pulumi.Output.json_dumps({
        "deadLetterTargetArn": example.arn,
        "maxReceiveCount": 4,
    }))
example_redrive_allow_policy = aws.sqs.RedriveAllowPolicy("example",
    queue_url=example.id,
    redrive_allow_policy=pulumi.Output.json_dumps({
        "redrivePermission": "byQueue",
        "sourceQueueArns": [src.arn],
    }))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var example = new Aws.Sqs.Queue("example", new()
    {
        Name = "examplequeue",
    });
    var src = new Aws.Sqs.Queue("src", new()
    {
        Name = "srcqueue",
        RedrivePolicy = Output.JsonSerialize(Output.Create(new Dictionary<string, object?>
        {
            ["deadLetterTargetArn"] = example.Arn,
            ["maxReceiveCount"] = 4,
        })),
    });
    var exampleRedriveAllowPolicy = new Aws.Sqs.RedriveAllowPolicy("example", new()
    {
        QueueUrl = example.Id,
        RedriveAllowPolicyName = Output.JsonSerialize(Output.Create(new Dictionary<string, object?>
        {
            ["redrivePermission"] = "byQueue",
            ["sourceQueueArns"] = new[]
            {
                src.Arn,
            },
        })),
    });
});Content copied to clipboard
package main
import (
	"encoding/json"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sqs"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := sqs.NewQueue(ctx, "example", &sqs.QueueArgs{
			Name: pulumi.String("examplequeue"),
		})
		if err != nil {
			return err
		}
		src, err := sqs.NewQueue(ctx, "src", &sqs.QueueArgs{
			Name: pulumi.String("srcqueue"),
			RedrivePolicy: example.Arn.ApplyT(func(arn string) (pulumi.String, error) {
				var _zero pulumi.String
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"deadLetterTargetArn": arn,
					"maxReceiveCount":     4,
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return pulumi.String(json0), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		_, err = sqs.NewRedriveAllowPolicy(ctx, "example", &sqs.RedriveAllowPolicyArgs{
			QueueUrl: example.ID(),
			RedriveAllowPolicy: src.Arn.ApplyT(func(arn string) (pulumi.String, error) {
				var _zero pulumi.String
				tmpJSON1, err := json.Marshal(map[string]interface{}{
					"redrivePermission": "byQueue",
					"sourceQueueArns": []string{
						arn,
					},
				})
				if err != nil {
					return _zero, err
				}
				json1 := string(tmpJSON1)
				return pulumi.String(json1), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.sqs.Queue;
import com.pulumi.aws.sqs.QueueArgs;
import com.pulumi.aws.sqs.RedriveAllowPolicy;
import com.pulumi.aws.sqs.RedriveAllowPolicyArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new Queue("example", QueueArgs.builder()
            .name("examplequeue")
            .build());
        var src = new Queue("src", QueueArgs.builder()
            .name("srcqueue")
            .redrivePolicy(example.arn().applyValue(arn -> serializeJson(
                jsonObject(
                    jsonProperty("deadLetterTargetArn", arn),
                    jsonProperty("maxReceiveCount", 4)
                ))))
            .build());
        var exampleRedriveAllowPolicy = new RedriveAllowPolicy("exampleRedriveAllowPolicy", RedriveAllowPolicyArgs.builder()
            .queueUrl(example.id())
            .redriveAllowPolicy(src.arn().applyValue(arn -> serializeJson(
                jsonObject(
                    jsonProperty("redrivePermission", "byQueue"),
                    jsonProperty("sourceQueueArns", jsonArray(arn))
                ))))
            .build());
    }
}Content copied to clipboard
resources:
  src:
    type: aws:sqs:Queue
    properties:
      name: srcqueue
      redrivePolicy:
        fn::toJSON:
          deadLetterTargetArn: ${example.arn}
          maxReceiveCount: 4
  example:
    type: aws:sqs:Queue
    properties:
      name: examplequeue
  exampleRedriveAllowPolicy:
    type: aws:sqs:RedriveAllowPolicy
    name: example
    properties:
      queueUrl: ${example.id}
      redriveAllowPolicy:
        fn::toJSON:
          redrivePermission: byQueue
          sourceQueueArns:
            - ${src.arn}Content copied to clipboard
Import
Using pulumi import, import SQS Queue Redrive Allow Policies using the queue URL. For example:
$ pulumi import aws:sqs/redriveAllowPolicy:RedriveAllowPolicy test https://queue.amazonaws.com/0123456789012/myqueueContent copied to clipboard
Constructors
Link copied to clipboard
                fun RedriveAllowPolicyArgs(queueUrl: Output<String>? = null, redriveAllowPolicy: Output<String>? = null)
Functions
Properties
Link copied to clipboard
                The JSON redrive allow policy for the SQS queue. Learn more in the Amazon SQS dead-letter queues documentation.