Binding
Provides a RabbitMQ (AMQP) Binding resource. For information about RabbitMQ (AMQP) Binding and how to use it, see What is Binding.
NOTE: Available since v1.135.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: "HEADERS",
instanceId: _default.id,
internal: false,
virtualHostName: defaultVirtualHost.virtualHostName,
});
const defaultQueue = new alicloud.amqp.Queue("default", {
instanceId: _default.id,
queueName: "tf-example",
virtualHostName: defaultVirtualHost.virtualHostName,
});
const defaultBinding = new alicloud.amqp.Binding("default", {
argument: "x-match:all",
bindingKey: defaultQueue.queueName,
bindingType: "QUEUE",
destinationName: "tf-example",
instanceId: _default.id,
sourceExchange: defaultExchange.exchangeName,
virtualHostName: defaultVirtualHost.virtualHostName,
});
Content copied to clipboard
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="HEADERS",
instance_id=default.id,
internal=False,
virtual_host_name=default_virtual_host.virtual_host_name)
default_queue = alicloud.amqp.Queue("default",
instance_id=default.id,
queue_name="tf-example",
virtual_host_name=default_virtual_host.virtual_host_name)
default_binding = alicloud.amqp.Binding("default",
argument="x-match:all",
binding_key=default_queue.queue_name,
binding_type="QUEUE",
destination_name="tf-example",
instance_id=default.id,
source_exchange=default_exchange.exchange_name,
virtual_host_name=default_virtual_host.virtual_host_name)
Content copied to clipboard
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 = "HEADERS",
InstanceId = @default.Id,
Internal = false,
VirtualHostName = defaultVirtualHost.VirtualHostName,
});
var defaultQueue = new AliCloud.Amqp.Queue("default", new()
{
InstanceId = @default.Id,
QueueName = "tf-example",
VirtualHostName = defaultVirtualHost.VirtualHostName,
});
var defaultBinding = new AliCloud.Amqp.Binding("default", new()
{
Argument = "x-match:all",
BindingKey = defaultQueue.QueueName,
BindingType = "QUEUE",
DestinationName = "tf-example",
InstanceId = @default.Id,
SourceExchange = defaultExchange.ExchangeName,
VirtualHostName = defaultVirtualHost.VirtualHostName,
});
});
Content copied to clipboard
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
}
defaultExchange, err := amqp.NewExchange(ctx, "default", &amqp.ExchangeArgs{
AutoDeleteState: pulumi.Bool(false),
ExchangeName: pulumi.String("tf-example"),
ExchangeType: pulumi.String("HEADERS"),
InstanceId: _default.ID(),
Internal: pulumi.Bool(false),
VirtualHostName: defaultVirtualHost.VirtualHostName,
})
if err != nil {
return err
}
defaultQueue, err := amqp.NewQueue(ctx, "default", &amqp.QueueArgs{
InstanceId: _default.ID(),
QueueName: pulumi.String("tf-example"),
VirtualHostName: defaultVirtualHost.VirtualHostName,
})
if err != nil {
return err
}
_, err = amqp.NewBinding(ctx, "default", &amqp.BindingArgs{
Argument: pulumi.String("x-match:all"),
BindingKey: defaultQueue.QueueName,
BindingType: pulumi.String("QUEUE"),
DestinationName: pulumi.String("tf-example"),
InstanceId: _default.ID(),
SourceExchange: defaultExchange.ExchangeName,
VirtualHostName: defaultVirtualHost.VirtualHostName,
})
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.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 com.pulumi.alicloud.amqp.Binding;
import com.pulumi.alicloud.amqp.BindingArgs;
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("HEADERS")
.instanceId(default_.id())
.internal(false)
.virtualHostName(defaultVirtualHost.virtualHostName())
.build());
var defaultQueue = new Queue("defaultQueue", QueueArgs.builder()
.instanceId(default_.id())
.queueName("tf-example")
.virtualHostName(defaultVirtualHost.virtualHostName())
.build());
var defaultBinding = new Binding("defaultBinding", BindingArgs.builder()
.argument("x-match:all")
.bindingKey(defaultQueue.queueName())
.bindingType("QUEUE")
.destinationName("tf-example")
.instanceId(default_.id())
.sourceExchange(defaultExchange.exchangeName())
.virtualHostName(defaultVirtualHost.virtualHostName())
.build());
}
}
Content copied to clipboard
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: HEADERS
instanceId: ${default.id}
internal: false
virtualHostName: ${defaultVirtualHost.virtualHostName}
defaultQueue:
type: alicloud:amqp:Queue
name: default
properties:
instanceId: ${default.id}
queueName: tf-example
virtualHostName: ${defaultVirtualHost.virtualHostName}
defaultBinding:
type: alicloud:amqp:Binding
name: default
properties:
argument: x-match:all
bindingKey: ${defaultQueue.queueName}
bindingType: QUEUE
destinationName: tf-example
instanceId: ${default.id}
sourceExchange: ${defaultExchange.exchangeName}
virtualHostName: ${defaultVirtualHost.virtualHostName}
Content copied to clipboard
Import
RabbitMQ (AMQP) Binding can be imported using the id, e.g.
$ pulumi import alicloud:amqp/binding:Binding example <instance_id>:<virtual_host_name>:<source_exchange>:<destination_name>
Content copied to clipboard
Properties
Link copied to clipboard
The Binding Key.
Link copied to clipboard
The type of the object that you want to bind to the source exchange. Valid values: EXCHANGE
, QUEUE
.
Link copied to clipboard
The name of the object that you want to bind to the source exchange.
Link copied to clipboard
The ID of the instance.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The name of the source exchange.
Link copied to clipboard
The name of the vhost.