Documentation ¶
Index ¶
- type LookupQueueArgs
- type LookupQueueOutputArgs
- type LookupQueueResult
- type LookupQueueResultOutput
- func (o LookupQueueResultOutput) Arn() pulumi.StringOutput
- func (LookupQueueResultOutput) ElementType() reflect.Type
- func (o LookupQueueResultOutput) Id() pulumi.StringOutput
- func (o LookupQueueResultOutput) Name() pulumi.StringOutput
- func (o LookupQueueResultOutput) Tags() pulumi.StringMapOutput
- func (o LookupQueueResultOutput) ToLookupQueueResultOutput() LookupQueueResultOutput
- func (o LookupQueueResultOutput) ToLookupQueueResultOutputWithContext(ctx context.Context) LookupQueueResultOutput
- func (o LookupQueueResultOutput) Url() pulumi.StringOutput
- type Queue
- type QueueArgs
- type QueueArray
- type QueueArrayInput
- type QueueArrayOutput
- type QueueInput
- type QueueMap
- type QueueMapInput
- type QueueMapOutput
- type QueueOutput
- type QueuePolicy
- type QueuePolicyArgs
- type QueuePolicyArray
- type QueuePolicyArrayInput
- type QueuePolicyArrayOutput
- func (QueuePolicyArrayOutput) ElementType() reflect.Type
- func (o QueuePolicyArrayOutput) Index(i pulumi.IntInput) QueuePolicyOutput
- func (o QueuePolicyArrayOutput) ToQueuePolicyArrayOutput() QueuePolicyArrayOutput
- func (o QueuePolicyArrayOutput) ToQueuePolicyArrayOutputWithContext(ctx context.Context) QueuePolicyArrayOutput
- type QueuePolicyInput
- type QueuePolicyMap
- type QueuePolicyMapInput
- type QueuePolicyMapOutput
- func (QueuePolicyMapOutput) ElementType() reflect.Type
- func (o QueuePolicyMapOutput) MapIndex(k pulumi.StringInput) QueuePolicyOutput
- func (o QueuePolicyMapOutput) ToQueuePolicyMapOutput() QueuePolicyMapOutput
- func (o QueuePolicyMapOutput) ToQueuePolicyMapOutputWithContext(ctx context.Context) QueuePolicyMapOutput
- type QueuePolicyOutput
- type QueuePolicyState
- type QueueState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LookupQueueArgs ¶
type LookupQueueArgs struct { // The name of the queue to match. Name string `pulumi:"name"` // A map of tags for the resource. Tags map[string]string `pulumi:"tags"` }
A collection of arguments for invoking getQueue.
type LookupQueueOutputArgs ¶ added in v4.21.0
type LookupQueueOutputArgs struct { // The name of the queue to match. Name pulumi.StringInput `pulumi:"name"` // A map of tags for the resource. Tags pulumi.StringMapInput `pulumi:"tags"` }
A collection of arguments for invoking getQueue.
func (LookupQueueOutputArgs) ElementType ¶ added in v4.21.0
func (LookupQueueOutputArgs) ElementType() reflect.Type
type LookupQueueResult ¶
type LookupQueueResult struct { // The Amazon Resource Name (ARN) of the queue. Arn string `pulumi:"arn"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` Name string `pulumi:"name"` // A map of tags for the resource. Tags map[string]string `pulumi:"tags"` // The URL of the queue. Url string `pulumi:"url"` }
A collection of values returned by getQueue.
func LookupQueue ¶
func LookupQueue(ctx *pulumi.Context, args *LookupQueueArgs, opts ...pulumi.InvokeOption) (*LookupQueueResult, error)
Use this data source to get the ARN and URL of queue in AWS Simple Queue Service (SQS). By using this data source, you can reference SQS queues without having to hardcode the ARNs as input.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sqs.LookupQueue(ctx, &sqs.LookupQueueArgs{ Name: "queue", }, nil) if err != nil { return err } return nil }) }
```
type LookupQueueResultOutput ¶ added in v4.21.0
type LookupQueueResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getQueue.
func LookupQueueOutput ¶ added in v4.21.0
func LookupQueueOutput(ctx *pulumi.Context, args LookupQueueOutputArgs, opts ...pulumi.InvokeOption) LookupQueueResultOutput
func (LookupQueueResultOutput) Arn ¶ added in v4.21.0
func (o LookupQueueResultOutput) Arn() pulumi.StringOutput
The Amazon Resource Name (ARN) of the queue.
func (LookupQueueResultOutput) ElementType ¶ added in v4.21.0
func (LookupQueueResultOutput) ElementType() reflect.Type
func (LookupQueueResultOutput) Id ¶ added in v4.21.0
func (o LookupQueueResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (LookupQueueResultOutput) Name ¶ added in v4.21.0
func (o LookupQueueResultOutput) Name() pulumi.StringOutput
func (LookupQueueResultOutput) Tags ¶ added in v4.21.0
func (o LookupQueueResultOutput) Tags() pulumi.StringMapOutput
A map of tags for the resource.
func (LookupQueueResultOutput) ToLookupQueueResultOutput ¶ added in v4.21.0
func (o LookupQueueResultOutput) ToLookupQueueResultOutput() LookupQueueResultOutput
func (LookupQueueResultOutput) ToLookupQueueResultOutputWithContext ¶ added in v4.21.0
func (o LookupQueueResultOutput) ToLookupQueueResultOutputWithContext(ctx context.Context) LookupQueueResultOutput
func (LookupQueueResultOutput) Url ¶ added in v4.21.0
func (o LookupQueueResultOutput) Url() pulumi.StringOutput
The URL of the queue.
type Queue ¶
type Queue struct { pulumi.CustomResourceState // The ARN of the SQS queue Arn pulumi.StringOutput `pulumi:"arn"` // Enables content-based deduplication for FIFO queues. For more information, see the [related documentation](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) ContentBasedDeduplication pulumi.BoolPtrOutput `pulumi:"contentBasedDeduplication"` // Specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` (default). DeduplicationScope pulumi.StringOutput `pulumi:"deduplicationScope"` // The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 seconds. DelaySeconds pulumi.IntPtrOutput `pulumi:"delaySeconds"` // Boolean designating a FIFO queue. If not set, it defaults to `false` making it standard. FifoQueue pulumi.BoolPtrOutput `pulumi:"fifoQueue"` // Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` (default) and `perMessageGroupId`. FifoThroughputLimit pulumi.StringOutput `pulumi:"fifoThroughputLimit"` // The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). KmsDataKeyReusePeriodSeconds pulumi.IntOutput `pulumi:"kmsDataKeyReusePeriodSeconds"` // The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see [Key Terms](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). KmsMasterKeyId pulumi.StringPtrOutput `pulumi:"kmsMasterKeyId"` // The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB). MaxMessageSize pulumi.IntPtrOutput `pulumi:"maxMessageSize"` // The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days). MessageRetentionSeconds pulumi.IntPtrOutput `pulumi:"messageRetentionSeconds"` // The name of the queue. Queue names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 80 characters long. For a FIFO (first-in-first-out) queue, the name must end with the `.fifo` suffix. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix` Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name` NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // The JSON policy for the SQS queue. Policy pulumi.StringOutput `pulumi:"policy"` // The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately. ReceiveWaitTimeSeconds pulumi.IntPtrOutput `pulumi:"receiveWaitTimeSeconds"` // The JSON policy to set up the Dead Letter Queue redrive permission, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html). RedriveAllowPolicy pulumi.StringPtrOutput `pulumi:"redriveAllowPolicy"` // The JSON policy to set up the Dead Letter Queue, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html). **Note:** when specifying `maxReceiveCount`, you must specify it as an integer (`5`), and not a string (`"5"`). RedrivePolicy pulumi.StringPtrOutput `pulumi:"redrivePolicy"` // Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys. Defaults to `false`. See [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html). SqsManagedSseEnabled pulumi.BoolPtrOutput `pulumi:"sqsManagedSseEnabled"` // A map of tags to assign to the queue. If configured with a provider `defaultTags` configuration block) present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // Same as `id`: The URL for the created Amazon SQS queue. Url pulumi.StringOutput `pulumi:"url"` // The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html). VisibilityTimeoutSeconds pulumi.IntPtrOutput `pulumi:"visibilityTimeoutSeconds"` }
## Example Usage
```go package main
import (
"encoding/json" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { tmpJSON0, err := json.Marshal(map[string]interface{}{ "deadLetterTargetArn": aws_sqs_queue.Queue_deadletter.Arn, "maxReceiveCount": 4, }) if err != nil { return err } json0 := string(tmpJSON0) tmpJSON1, err := json.Marshal(map[string]interface{}{ "redrivePermission": "byQueue", "sourceQueueArns": []interface{}{ aws_sqs_queue.Terraform_queue_deadletter.Arn, }, }) if err != nil { return err } json1 := string(tmpJSON1) _, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{ DelaySeconds: pulumi.Int(90), MaxMessageSize: pulumi.Int(2048), MessageRetentionSeconds: pulumi.Int(86400), ReceiveWaitTimeSeconds: pulumi.Int(10), RedrivePolicy: pulumi.String(json0), RedriveAllowPolicy: pulumi.String(json1), Tags: pulumi.StringMap{ "Environment": pulumi.String("production"), }, }) if err != nil { return err } return nil }) }
``` ## FIFO queue
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{ ContentBasedDeduplication: pulumi.Bool(true), FifoQueue: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
```
## High-throughput FIFO queue
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sqs.NewQueue(ctx, "terraformQueue", &sqs.QueueArgs{ DeduplicationScope: pulumi.String("messageGroup"), FifoQueue: pulumi.Bool(true), FifoThroughputLimit: pulumi.String("perMessageGroupId"), }) if err != nil { return err } return nil }) }
```
## Server-side encryption (SSE)
Using [SSE-SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sqs-sse-queue.html):
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sqs.NewQueue(ctx, "terraformQueue", &sqs.QueueArgs{ SqsManagedSseEnabled: pulumi.Bool(true), }) if err != nil { return err } return nil }) }
```
Using [SSE-KMS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-configure-sse-existing-queue.html):
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := sqs.NewQueue(ctx, "queue", &sqs.QueueArgs{ KmsDataKeyReusePeriodSeconds: pulumi.Int(300), KmsMasterKeyId: pulumi.String("alias/aws/sqs"), }) if err != nil { return err } return nil }) }
```
## Import
SQS Queues can be imported using the `queue url`, e.g.,
```sh
$ pulumi import aws:sqs/queue:Queue public_queue https://queue.amazonaws.com/80398EXAMPLE/MyQueue
```
func GetQueue ¶
func GetQueue(ctx *pulumi.Context, name string, id pulumi.IDInput, state *QueueState, opts ...pulumi.ResourceOption) (*Queue, error)
GetQueue gets an existing Queue resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewQueue ¶
func NewQueue(ctx *pulumi.Context, name string, args *QueueArgs, opts ...pulumi.ResourceOption) (*Queue, error)
NewQueue registers a new resource with the given unique name, arguments, and options.
func (*Queue) ElementType ¶
func (*Queue) ToQueueOutput ¶
func (i *Queue) ToQueueOutput() QueueOutput
func (*Queue) ToQueueOutputWithContext ¶
func (i *Queue) ToQueueOutputWithContext(ctx context.Context) QueueOutput
type QueueArgs ¶
type QueueArgs struct { // Enables content-based deduplication for FIFO queues. For more information, see the [related documentation](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) ContentBasedDeduplication pulumi.BoolPtrInput // Specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` (default). DeduplicationScope pulumi.StringPtrInput // The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 seconds. DelaySeconds pulumi.IntPtrInput // Boolean designating a FIFO queue. If not set, it defaults to `false` making it standard. FifoQueue pulumi.BoolPtrInput // Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` (default) and `perMessageGroupId`. FifoThroughputLimit pulumi.StringPtrInput // The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). KmsDataKeyReusePeriodSeconds pulumi.IntPtrInput // The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see [Key Terms](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). KmsMasterKeyId pulumi.StringPtrInput // The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB). MaxMessageSize pulumi.IntPtrInput // The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days). MessageRetentionSeconds pulumi.IntPtrInput // The name of the queue. Queue names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 80 characters long. For a FIFO (first-in-first-out) queue, the name must end with the `.fifo` suffix. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix` Name pulumi.StringPtrInput // Creates a unique name beginning with the specified prefix. Conflicts with `name` NamePrefix pulumi.StringPtrInput // The JSON policy for the SQS queue. Policy pulumi.StringPtrInput // The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately. ReceiveWaitTimeSeconds pulumi.IntPtrInput // The JSON policy to set up the Dead Letter Queue redrive permission, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html). RedriveAllowPolicy pulumi.StringPtrInput // The JSON policy to set up the Dead Letter Queue, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html). **Note:** when specifying `maxReceiveCount`, you must specify it as an integer (`5`), and not a string (`"5"`). RedrivePolicy pulumi.StringPtrInput // Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys. Defaults to `false`. See [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html). SqsManagedSseEnabled pulumi.BoolPtrInput // A map of tags to assign to the queue. If configured with a provider `defaultTags` configuration block) present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html). VisibilityTimeoutSeconds pulumi.IntPtrInput }
The set of arguments for constructing a Queue resource.
func (QueueArgs) ElementType ¶
type QueueArray ¶
type QueueArray []QueueInput
func (QueueArray) ElementType ¶
func (QueueArray) ElementType() reflect.Type
func (QueueArray) ToQueueArrayOutput ¶
func (i QueueArray) ToQueueArrayOutput() QueueArrayOutput
func (QueueArray) ToQueueArrayOutputWithContext ¶
func (i QueueArray) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput
type QueueArrayInput ¶
type QueueArrayInput interface { pulumi.Input ToQueueArrayOutput() QueueArrayOutput ToQueueArrayOutputWithContext(context.Context) QueueArrayOutput }
QueueArrayInput is an input type that accepts QueueArray and QueueArrayOutput values. You can construct a concrete instance of `QueueArrayInput` via:
QueueArray{ QueueArgs{...} }
type QueueArrayOutput ¶
type QueueArrayOutput struct{ *pulumi.OutputState }
func (QueueArrayOutput) ElementType ¶
func (QueueArrayOutput) ElementType() reflect.Type
func (QueueArrayOutput) Index ¶
func (o QueueArrayOutput) Index(i pulumi.IntInput) QueueOutput
func (QueueArrayOutput) ToQueueArrayOutput ¶
func (o QueueArrayOutput) ToQueueArrayOutput() QueueArrayOutput
func (QueueArrayOutput) ToQueueArrayOutputWithContext ¶
func (o QueueArrayOutput) ToQueueArrayOutputWithContext(ctx context.Context) QueueArrayOutput
type QueueInput ¶
type QueueInput interface { pulumi.Input ToQueueOutput() QueueOutput ToQueueOutputWithContext(ctx context.Context) QueueOutput }
type QueueMap ¶
type QueueMap map[string]QueueInput
func (QueueMap) ElementType ¶
func (QueueMap) ToQueueMapOutput ¶
func (i QueueMap) ToQueueMapOutput() QueueMapOutput
func (QueueMap) ToQueueMapOutputWithContext ¶
func (i QueueMap) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput
type QueueMapInput ¶
type QueueMapInput interface { pulumi.Input ToQueueMapOutput() QueueMapOutput ToQueueMapOutputWithContext(context.Context) QueueMapOutput }
QueueMapInput is an input type that accepts QueueMap and QueueMapOutput values. You can construct a concrete instance of `QueueMapInput` via:
QueueMap{ "key": QueueArgs{...} }
type QueueMapOutput ¶
type QueueMapOutput struct{ *pulumi.OutputState }
func (QueueMapOutput) ElementType ¶
func (QueueMapOutput) ElementType() reflect.Type
func (QueueMapOutput) MapIndex ¶
func (o QueueMapOutput) MapIndex(k pulumi.StringInput) QueueOutput
func (QueueMapOutput) ToQueueMapOutput ¶
func (o QueueMapOutput) ToQueueMapOutput() QueueMapOutput
func (QueueMapOutput) ToQueueMapOutputWithContext ¶
func (o QueueMapOutput) ToQueueMapOutputWithContext(ctx context.Context) QueueMapOutput
type QueueOutput ¶
type QueueOutput struct{ *pulumi.OutputState }
func (QueueOutput) ElementType ¶
func (QueueOutput) ElementType() reflect.Type
func (QueueOutput) ToQueueOutput ¶
func (o QueueOutput) ToQueueOutput() QueueOutput
func (QueueOutput) ToQueueOutputWithContext ¶
func (o QueueOutput) ToQueueOutputWithContext(ctx context.Context) QueueOutput
type QueuePolicy ¶
type QueuePolicy struct { pulumi.CustomResourceState // The JSON policy for the SQS queue. Policy pulumi.StringOutput `pulumi:"policy"` // The URL of the SQS Queue to which to attach the policy QueueUrl pulumi.StringOutput `pulumi:"queueUrl"` }
Allows you to set a policy of an SQS Queue while referencing ARN of the queue within the policy.
## Example Usage
```go package main
import (
"fmt" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/iam" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/sqs" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { queue, err := sqs.NewQueue(ctx, "queue", nil) if err != nil { return err } _, err = sqs.NewQueuePolicy(ctx, "test", &sqs.QueuePolicyArgs{ QueueUrl: queue.ID(), Policy: queue.Arn.ApplyT(func(arn string) (string, error) { return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", " \"Version\": \"2012-10-17\",\n", " \"Id\": \"sqspolicy\",\n", " \"Statement\": [\n", " {\n", " \"Sid\": \"First\",\n", " \"Effect\": \"Allow\",\n", " \"Principal\": \"*\",\n", " \"Action\": \"sqs:SendMessage\",\n", " \"Resource\": \"", arn, "\",\n", " \"Condition\": {\n", " \"ArnEquals\": {\n", " \"aws:SourceArn\": \"", aws_sns_topic.Example.Arn, "\"\n", " }\n", " }\n", " }\n", " ]\n", "}\n"), nil }).(pulumi.StringOutput), }) if err != nil { return err } return nil }) }
```
## Import
SQS Queue Policies can be imported using the queue URL, e.g.,
```sh
$ pulumi import aws:sqs/queuePolicy:QueuePolicy test https://queue.amazonaws.com/0123456789012/myqueue
```
func GetQueuePolicy ¶
func GetQueuePolicy(ctx *pulumi.Context, name string, id pulumi.IDInput, state *QueuePolicyState, opts ...pulumi.ResourceOption) (*QueuePolicy, error)
GetQueuePolicy gets an existing QueuePolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewQueuePolicy ¶
func NewQueuePolicy(ctx *pulumi.Context, name string, args *QueuePolicyArgs, opts ...pulumi.ResourceOption) (*QueuePolicy, error)
NewQueuePolicy registers a new resource with the given unique name, arguments, and options.
func (*QueuePolicy) ElementType ¶
func (*QueuePolicy) ElementType() reflect.Type
func (*QueuePolicy) ToQueuePolicyOutput ¶
func (i *QueuePolicy) ToQueuePolicyOutput() QueuePolicyOutput
func (*QueuePolicy) ToQueuePolicyOutputWithContext ¶
func (i *QueuePolicy) ToQueuePolicyOutputWithContext(ctx context.Context) QueuePolicyOutput
type QueuePolicyArgs ¶
type QueuePolicyArgs struct { // The JSON policy for the SQS queue. Policy pulumi.Input // The URL of the SQS Queue to which to attach the policy QueueUrl pulumi.StringInput }
The set of arguments for constructing a QueuePolicy resource.
func (QueuePolicyArgs) ElementType ¶
func (QueuePolicyArgs) ElementType() reflect.Type
type QueuePolicyArray ¶
type QueuePolicyArray []QueuePolicyInput
func (QueuePolicyArray) ElementType ¶
func (QueuePolicyArray) ElementType() reflect.Type
func (QueuePolicyArray) ToQueuePolicyArrayOutput ¶
func (i QueuePolicyArray) ToQueuePolicyArrayOutput() QueuePolicyArrayOutput
func (QueuePolicyArray) ToQueuePolicyArrayOutputWithContext ¶
func (i QueuePolicyArray) ToQueuePolicyArrayOutputWithContext(ctx context.Context) QueuePolicyArrayOutput
type QueuePolicyArrayInput ¶
type QueuePolicyArrayInput interface { pulumi.Input ToQueuePolicyArrayOutput() QueuePolicyArrayOutput ToQueuePolicyArrayOutputWithContext(context.Context) QueuePolicyArrayOutput }
QueuePolicyArrayInput is an input type that accepts QueuePolicyArray and QueuePolicyArrayOutput values. You can construct a concrete instance of `QueuePolicyArrayInput` via:
QueuePolicyArray{ QueuePolicyArgs{...} }
type QueuePolicyArrayOutput ¶
type QueuePolicyArrayOutput struct{ *pulumi.OutputState }
func (QueuePolicyArrayOutput) ElementType ¶
func (QueuePolicyArrayOutput) ElementType() reflect.Type
func (QueuePolicyArrayOutput) Index ¶
func (o QueuePolicyArrayOutput) Index(i pulumi.IntInput) QueuePolicyOutput
func (QueuePolicyArrayOutput) ToQueuePolicyArrayOutput ¶
func (o QueuePolicyArrayOutput) ToQueuePolicyArrayOutput() QueuePolicyArrayOutput
func (QueuePolicyArrayOutput) ToQueuePolicyArrayOutputWithContext ¶
func (o QueuePolicyArrayOutput) ToQueuePolicyArrayOutputWithContext(ctx context.Context) QueuePolicyArrayOutput
type QueuePolicyInput ¶
type QueuePolicyInput interface { pulumi.Input ToQueuePolicyOutput() QueuePolicyOutput ToQueuePolicyOutputWithContext(ctx context.Context) QueuePolicyOutput }
type QueuePolicyMap ¶
type QueuePolicyMap map[string]QueuePolicyInput
func (QueuePolicyMap) ElementType ¶
func (QueuePolicyMap) ElementType() reflect.Type
func (QueuePolicyMap) ToQueuePolicyMapOutput ¶
func (i QueuePolicyMap) ToQueuePolicyMapOutput() QueuePolicyMapOutput
func (QueuePolicyMap) ToQueuePolicyMapOutputWithContext ¶
func (i QueuePolicyMap) ToQueuePolicyMapOutputWithContext(ctx context.Context) QueuePolicyMapOutput
type QueuePolicyMapInput ¶
type QueuePolicyMapInput interface { pulumi.Input ToQueuePolicyMapOutput() QueuePolicyMapOutput ToQueuePolicyMapOutputWithContext(context.Context) QueuePolicyMapOutput }
QueuePolicyMapInput is an input type that accepts QueuePolicyMap and QueuePolicyMapOutput values. You can construct a concrete instance of `QueuePolicyMapInput` via:
QueuePolicyMap{ "key": QueuePolicyArgs{...} }
type QueuePolicyMapOutput ¶
type QueuePolicyMapOutput struct{ *pulumi.OutputState }
func (QueuePolicyMapOutput) ElementType ¶
func (QueuePolicyMapOutput) ElementType() reflect.Type
func (QueuePolicyMapOutput) MapIndex ¶
func (o QueuePolicyMapOutput) MapIndex(k pulumi.StringInput) QueuePolicyOutput
func (QueuePolicyMapOutput) ToQueuePolicyMapOutput ¶
func (o QueuePolicyMapOutput) ToQueuePolicyMapOutput() QueuePolicyMapOutput
func (QueuePolicyMapOutput) ToQueuePolicyMapOutputWithContext ¶
func (o QueuePolicyMapOutput) ToQueuePolicyMapOutputWithContext(ctx context.Context) QueuePolicyMapOutput
type QueuePolicyOutput ¶
type QueuePolicyOutput struct{ *pulumi.OutputState }
func (QueuePolicyOutput) ElementType ¶
func (QueuePolicyOutput) ElementType() reflect.Type
func (QueuePolicyOutput) ToQueuePolicyOutput ¶
func (o QueuePolicyOutput) ToQueuePolicyOutput() QueuePolicyOutput
func (QueuePolicyOutput) ToQueuePolicyOutputWithContext ¶
func (o QueuePolicyOutput) ToQueuePolicyOutputWithContext(ctx context.Context) QueuePolicyOutput
type QueuePolicyState ¶
type QueuePolicyState struct { // The JSON policy for the SQS queue. Policy pulumi.Input // The URL of the SQS Queue to which to attach the policy QueueUrl pulumi.StringPtrInput }
func (QueuePolicyState) ElementType ¶
func (QueuePolicyState) ElementType() reflect.Type
type QueueState ¶
type QueueState struct { // The ARN of the SQS queue Arn pulumi.StringPtrInput // Enables content-based deduplication for FIFO queues. For more information, see the [related documentation](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html#FIFO-queues-exactly-once-processing) ContentBasedDeduplication pulumi.BoolPtrInput // Specifies whether message deduplication occurs at the message group or queue level. Valid values are `messageGroup` and `queue` (default). DeduplicationScope pulumi.StringPtrInput // The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 seconds. DelaySeconds pulumi.IntPtrInput // Boolean designating a FIFO queue. If not set, it defaults to `false` making it standard. FifoQueue pulumi.BoolPtrInput // Specifies whether the FIFO queue throughput quota applies to the entire queue or per message group. Valid values are `perQueue` (default) and `perMessageGroupId`. FifoThroughputLimit pulumi.StringPtrInput // The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes). KmsDataKeyReusePeriodSeconds pulumi.IntPtrInput // The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see [Key Terms](http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html#sqs-sse-key-terms). KmsMasterKeyId pulumi.StringPtrInput // The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB). MaxMessageSize pulumi.IntPtrInput // The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days). MessageRetentionSeconds pulumi.IntPtrInput // The name of the queue. Queue names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 80 characters long. For a FIFO (first-in-first-out) queue, the name must end with the `.fifo` suffix. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix` Name pulumi.StringPtrInput // Creates a unique name beginning with the specified prefix. Conflicts with `name` NamePrefix pulumi.StringPtrInput // The JSON policy for the SQS queue. Policy pulumi.StringPtrInput // The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately. ReceiveWaitTimeSeconds pulumi.IntPtrInput // The JSON policy to set up the Dead Letter Queue redrive permission, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html). RedriveAllowPolicy pulumi.StringPtrInput // The JSON policy to set up the Dead Letter Queue, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/SQSDeadLetterQueue.html). **Note:** when specifying `maxReceiveCount`, you must specify it as an integer (`5`), and not a string (`"5"`). RedrivePolicy pulumi.StringPtrInput // Boolean to enable server-side encryption (SSE) of message content with SQS-owned encryption keys. Defaults to `false`. See [Encryption at rest](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html). SqsManagedSseEnabled pulumi.BoolPtrInput // A map of tags to assign to the queue. If configured with a provider `defaultTags` configuration block) present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider. TagsAll pulumi.StringMapInput // Same as `id`: The URL for the created Amazon SQS queue. Url pulumi.StringPtrInput // The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see [AWS docs](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html). VisibilityTimeoutSeconds pulumi.IntPtrInput }
func (QueueState) ElementType ¶
func (QueueState) ElementType() reflect.Type