Queue

class Queue : KotlinCustomResource

Provides a RabbitMQ (AMQP) Queue resource. For information about RabbitMQ (AMQP) Queue and how to use it, see What is Queue.

NOTE: Available since v1.127.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = new alicloud.amqp.Instance("default", {
instanceType: "enterprise",
maxTps: "3000",
queueCapacity: "200",
storageSize: "700",
supportEip: false,
maxEipTps: "128",
paymentType: "Subscription",
period: 1,
});
const defaultVirtualHost = new alicloud.amqp.VirtualHost("default", {
instanceId: _default.id,
virtualHostName: "tf-example",
});
const defaultExchange = new alicloud.amqp.Exchange("default", {
autoDeleteState: false,
exchangeName: "tf-example",
exchangeType: "DIRECT",
instanceId: _default.id,
internal: false,
virtualHostName: defaultVirtualHost.virtualHostName,
});
const example = new alicloud.amqp.Queue("example", {
instanceId: _default.id,
queueName: "tf-example",
virtualHostName: defaultVirtualHost.virtualHostName,
});
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.amqp.Instance("default",
instance_type="enterprise",
max_tps="3000",
queue_capacity="200",
storage_size="700",
support_eip=False,
max_eip_tps="128",
payment_type="Subscription",
period=1)
default_virtual_host = alicloud.amqp.VirtualHost("default",
instance_id=default.id,
virtual_host_name="tf-example")
default_exchange = alicloud.amqp.Exchange("default",
auto_delete_state=False,
exchange_name="tf-example",
exchange_type="DIRECT",
instance_id=default.id,
internal=False,
virtual_host_name=default_virtual_host.virtual_host_name)
example = alicloud.amqp.Queue("example",
instance_id=default.id,
queue_name="tf-example",
virtual_host_name=default_virtual_host.virtual_host_name)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = new AliCloud.Amqp.Instance("default", new()
{
InstanceType = "enterprise",
MaxTps = "3000",
QueueCapacity = "200",
StorageSize = "700",
SupportEip = false,
MaxEipTps = "128",
PaymentType = "Subscription",
Period = 1,
});
var defaultVirtualHost = new AliCloud.Amqp.VirtualHost("default", new()
{
InstanceId = @default.Id,
VirtualHostName = "tf-example",
});
var defaultExchange = new AliCloud.Amqp.Exchange("default", new()
{
AutoDeleteState = false,
ExchangeName = "tf-example",
ExchangeType = "DIRECT",
InstanceId = @default.Id,
Internal = false,
VirtualHostName = defaultVirtualHost.VirtualHostName,
});
var example = new AliCloud.Amqp.Queue("example", new()
{
InstanceId = @default.Id,
QueueName = "tf-example",
VirtualHostName = defaultVirtualHost.VirtualHostName,
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/amqp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := amqp.NewInstance(ctx, "default", &amqp.InstanceArgs{
InstanceType: pulumi.String("enterprise"),
MaxTps: pulumi.String("3000"),
QueueCapacity: pulumi.String("200"),
StorageSize: pulumi.String("700"),
SupportEip: pulumi.Bool(false),
MaxEipTps: pulumi.String("128"),
PaymentType: pulumi.String("Subscription"),
Period: pulumi.Int(1),
})
if err != nil {
return err
}
defaultVirtualHost, err := amqp.NewVirtualHost(ctx, "default", &amqp.VirtualHostArgs{
InstanceId: _default.ID(),
VirtualHostName: pulumi.String("tf-example"),
})
if err != nil {
return err
}
_, err = amqp.NewExchange(ctx, "default", &amqp.ExchangeArgs{
AutoDeleteState: pulumi.Bool(false),
ExchangeName: pulumi.String("tf-example"),
ExchangeType: pulumi.String("DIRECT"),
InstanceId: _default.ID(),
Internal: pulumi.Bool(false),
VirtualHostName: defaultVirtualHost.VirtualHostName,
})
if err != nil {
return err
}
_, err = amqp.NewQueue(ctx, "example", &amqp.QueueArgs{
InstanceId: _default.ID(),
QueueName: pulumi.String("tf-example"),
VirtualHostName: defaultVirtualHost.VirtualHostName,
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.amqp.Instance;
import com.pulumi.alicloud.amqp.InstanceArgs;
import com.pulumi.alicloud.amqp.VirtualHost;
import com.pulumi.alicloud.amqp.VirtualHostArgs;
import com.pulumi.alicloud.amqp.Exchange;
import com.pulumi.alicloud.amqp.ExchangeArgs;
import com.pulumi.alicloud.amqp.Queue;
import com.pulumi.alicloud.amqp.QueueArgs;
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 default_ = new Instance("default", InstanceArgs.builder()
.instanceType("enterprise")
.maxTps("3000")
.queueCapacity("200")
.storageSize("700")
.supportEip(false)
.maxEipTps("128")
.paymentType("Subscription")
.period(1)
.build());
var defaultVirtualHost = new VirtualHost("defaultVirtualHost", VirtualHostArgs.builder()
.instanceId(default_.id())
.virtualHostName("tf-example")
.build());
var defaultExchange = new Exchange("defaultExchange", ExchangeArgs.builder()
.autoDeleteState(false)
.exchangeName("tf-example")
.exchangeType("DIRECT")
.instanceId(default_.id())
.internal(false)
.virtualHostName(defaultVirtualHost.virtualHostName())
.build());
var example = new Queue("example", QueueArgs.builder()
.instanceId(default_.id())
.queueName("tf-example")
.virtualHostName(defaultVirtualHost.virtualHostName())
.build());
}
}
resources:
default:
type: alicloud:amqp:Instance
properties:
instanceType: enterprise
maxTps: 3000
queueCapacity: 200
storageSize: 700
supportEip: false
maxEipTps: 128
paymentType: Subscription
period: 1
defaultVirtualHost:
type: alicloud:amqp:VirtualHost
name: default
properties:
instanceId: ${default.id}
virtualHostName: tf-example
defaultExchange:
type: alicloud:amqp:Exchange
name: default
properties:
autoDeleteState: false
exchangeName: tf-example
exchangeType: DIRECT
instanceId: ${default.id}
internal: false
virtualHostName: ${defaultVirtualHost.virtualHostName}
example:
type: alicloud:amqp:Queue
properties:
instanceId: ${default.id}
queueName: tf-example
virtualHostName: ${defaultVirtualHost.virtualHostName}

Import

RabbitMQ (AMQP) Queue can be imported using the id, e.g.

$ pulumi import alicloud:amqp/queue:Queue example <instance_id>:<virtual_host_name>:<queue_name>

Properties

Link copied to clipboard
val autoDeleteState: Output<Boolean>?

Specifies whether the Auto Delete attribute is configured. Valid values:

Link copied to clipboard
val autoExpireState: Output<String>?

The validity period after which the queue is automatically deleted. If the queue is not accessed within a specified period of time, it is automatically deleted.

Link copied to clipboard

The dead-letter exchange. A dead-letter exchange is used to receive rejected messages. If a consumer rejects a message that cannot be retried, this message is routed to a specified dead-letter exchange. Then, the dead-letter exchange routes the message to the queue that is bound to the dead-letter exchange.

Link copied to clipboard

The dead letter routing key.

Link copied to clipboard
val exclusiveState: Output<Boolean>?

Specifies whether the queue is an exclusive queue. Valid values:

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val instanceId: Output<String>

The ID of the instance.

Link copied to clipboard
val maximumPriority: Output<Int>?

The highest priority supported by the queue. This parameter is set to a positive integer. Valid values: 0 to 255. Recommended values: 1 to 10

Link copied to clipboard
val maxLength: Output<String>?

The maximum number of messages that can be stored in the queue. If this threshold is exceeded, the earliest messages that are routed to the queue are discarded.

Link copied to clipboard
val messageTtl: Output<String>?

The message TTL of the queue. If the retention period of a message in the queue exceeds the message TTL of the queue, the message expires. Message TTL must be set to a non-negative integer, in milliseconds. For example, if the message TTL of the queue is 1000, messages survive for at most 1 second in the queue.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val queueName: Output<String>

The name of the queue. The queue name must be 1 to 255 characters in length, and can contain only letters, digits, hyphens (-), underscores (_), periods (.), and at signs (@).

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val virtualHostName: Output<String>

The name of the virtual host.