rabbitmq.Shovel
Explore with Pulumi AI
The rabbitmq.Shovel
resource creates and manages a dynamic shovel.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as rabbitmq from "@pulumi/rabbitmq";
const test = new rabbitmq.VHost("test", {name: "test"});
const testExchange = new rabbitmq.Exchange("test", {
name: "test_exchange",
vhost: test.name,
settings: {
type: "fanout",
durable: false,
autoDelete: true,
},
});
const testQueue = new rabbitmq.Queue("test", {
name: "test_queue",
vhost: test.name,
settings: {
durable: false,
autoDelete: true,
},
});
const shovelTest = new rabbitmq.Shovel("shovelTest", {
name: "shovelTest",
vhost: test.name,
info: {
sourceUri: "amqp:///test",
sourceExchange: testExchange.name,
sourceExchangeKey: "test",
destinationUri: "amqp:///test",
destinationQueue: testQueue.name,
},
});
import pulumi
import pulumi_rabbitmq as rabbitmq
test = rabbitmq.VHost("test", name="test")
test_exchange = rabbitmq.Exchange("test",
name="test_exchange",
vhost=test.name,
settings=rabbitmq.ExchangeSettingsArgs(
type="fanout",
durable=False,
auto_delete=True,
))
test_queue = rabbitmq.Queue("test",
name="test_queue",
vhost=test.name,
settings=rabbitmq.QueueSettingsArgs(
durable=False,
auto_delete=True,
))
shovel_test = rabbitmq.Shovel("shovelTest",
name="shovelTest",
vhost=test.name,
info=rabbitmq.ShovelInfoArgs(
source_uri="amqp:///test",
source_exchange=test_exchange.name,
source_exchange_key="test",
destination_uri="amqp:///test",
destination_queue=test_queue.name,
))
package main
import (
"github.com/pulumi/pulumi-rabbitmq/sdk/v3/go/rabbitmq"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
test, err := rabbitmq.NewVHost(ctx, "test", &rabbitmq.VHostArgs{
Name: pulumi.String("test"),
})
if err != nil {
return err
}
testExchange, err := rabbitmq.NewExchange(ctx, "test", &rabbitmq.ExchangeArgs{
Name: pulumi.String("test_exchange"),
Vhost: test.Name,
Settings: &rabbitmq.ExchangeSettingsArgs{
Type: pulumi.String("fanout"),
Durable: pulumi.Bool(false),
AutoDelete: pulumi.Bool(true),
},
})
if err != nil {
return err
}
testQueue, err := rabbitmq.NewQueue(ctx, "test", &rabbitmq.QueueArgs{
Name: pulumi.String("test_queue"),
Vhost: test.Name,
Settings: &rabbitmq.QueueSettingsArgs{
Durable: pulumi.Bool(false),
AutoDelete: pulumi.Bool(true),
},
})
if err != nil {
return err
}
_, err = rabbitmq.NewShovel(ctx, "shovelTest", &rabbitmq.ShovelArgs{
Name: pulumi.String("shovelTest"),
Vhost: test.Name,
Info: &rabbitmq.ShovelInfoArgs{
SourceUri: pulumi.String("amqp:///test"),
SourceExchange: testExchange.Name,
SourceExchangeKey: pulumi.String("test"),
DestinationUri: pulumi.String("amqp:///test"),
DestinationQueue: testQueue.Name,
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using RabbitMQ = Pulumi.RabbitMQ;
return await Deployment.RunAsync(() =>
{
var test = new RabbitMQ.VHost("test", new()
{
Name = "test",
});
var testExchange = new RabbitMQ.Exchange("test", new()
{
Name = "test_exchange",
Vhost = test.Name,
Settings = new RabbitMQ.Inputs.ExchangeSettingsArgs
{
Type = "fanout",
Durable = false,
AutoDelete = true,
},
});
var testQueue = new RabbitMQ.Queue("test", new()
{
Name = "test_queue",
Vhost = test.Name,
Settings = new RabbitMQ.Inputs.QueueSettingsArgs
{
Durable = false,
AutoDelete = true,
},
});
var shovelTest = new RabbitMQ.Shovel("shovelTest", new()
{
Name = "shovelTest",
Vhost = test.Name,
Info = new RabbitMQ.Inputs.ShovelInfoArgs
{
SourceUri = "amqp:///test",
SourceExchange = testExchange.Name,
SourceExchangeKey = "test",
DestinationUri = "amqp:///test",
DestinationQueue = testQueue.Name,
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rabbitmq.VHost;
import com.pulumi.rabbitmq.VHostArgs;
import com.pulumi.rabbitmq.Exchange;
import com.pulumi.rabbitmq.ExchangeArgs;
import com.pulumi.rabbitmq.inputs.ExchangeSettingsArgs;
import com.pulumi.rabbitmq.Queue;
import com.pulumi.rabbitmq.QueueArgs;
import com.pulumi.rabbitmq.inputs.QueueSettingsArgs;
import com.pulumi.rabbitmq.Shovel;
import com.pulumi.rabbitmq.ShovelArgs;
import com.pulumi.rabbitmq.inputs.ShovelInfoArgs;
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 test = new VHost("test", VHostArgs.builder()
.name("test")
.build());
var testExchange = new Exchange("testExchange", ExchangeArgs.builder()
.name("test_exchange")
.vhost(test.name())
.settings(ExchangeSettingsArgs.builder()
.type("fanout")
.durable(false)
.autoDelete(true)
.build())
.build());
var testQueue = new Queue("testQueue", QueueArgs.builder()
.name("test_queue")
.vhost(test.name())
.settings(QueueSettingsArgs.builder()
.durable(false)
.autoDelete(true)
.build())
.build());
var shovelTest = new Shovel("shovelTest", ShovelArgs.builder()
.name("shovelTest")
.vhost(test.name())
.info(ShovelInfoArgs.builder()
.sourceUri("amqp:///test")
.sourceExchange(testExchange.name())
.sourceExchangeKey("test")
.destinationUri("amqp:///test")
.destinationQueue(testQueue.name())
.build())
.build());
}
}
resources:
test:
type: rabbitmq:VHost
properties:
name: test
testExchange:
type: rabbitmq:Exchange
name: test
properties:
name: test_exchange
vhost: ${test.name}
settings:
type: fanout
durable: false
autoDelete: true
testQueue:
type: rabbitmq:Queue
name: test
properties:
name: test_queue
vhost: ${test.name}
settings:
durable: false
autoDelete: true
shovelTest:
type: rabbitmq:Shovel
properties:
name: shovelTest
vhost: ${test.name}
info:
sourceUri: amqp:///test
sourceExchange: ${testExchange.name}
sourceExchangeKey: test
destinationUri: amqp:///test
destinationQueue: ${testQueue.name}
Create Shovel Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Shovel(name: string, args: ShovelArgs, opts?: CustomResourceOptions);
@overload
def Shovel(resource_name: str,
args: ShovelArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Shovel(resource_name: str,
opts: Optional[ResourceOptions] = None,
info: Optional[ShovelInfoArgs] = None,
vhost: Optional[str] = None,
name: Optional[str] = None)
func NewShovel(ctx *Context, name string, args ShovelArgs, opts ...ResourceOption) (*Shovel, error)
public Shovel(string name, ShovelArgs args, CustomResourceOptions? opts = null)
public Shovel(String name, ShovelArgs args)
public Shovel(String name, ShovelArgs args, CustomResourceOptions options)
type: rabbitmq:Shovel
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ShovelArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ShovelArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ShovelArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ShovelArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ShovelArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var shovelResource = new RabbitMQ.Shovel("shovelResource", new()
{
Info = new RabbitMQ.Inputs.ShovelInfoArgs
{
DestinationUri = "string",
SourceUri = "string",
DestinationQueue = "string",
DestinationAddTimestampHeader = false,
DestinationAddress = "string",
DestinationApplicationProperties = "string",
DestinationExchange = "string",
DestinationExchangeKey = "string",
DestinationProperties = "string",
DestinationPublishProperties = "string",
DestinationAddForwardHeaders = false,
DestinationProtocol = "string",
ReconnectDelay = 0,
SourceAddress = "string",
SourceDeleteAfter = "string",
SourceExchange = "string",
SourceExchangeKey = "string",
SourcePrefetchCount = 0,
SourceProtocol = "string",
SourceQueue = "string",
AckMode = "string",
},
Vhost = "string",
Name = "string",
});
example, err := rabbitmq.NewShovel(ctx, "shovelResource", &rabbitmq.ShovelArgs{
Info: &rabbitmq.ShovelInfoArgs{
DestinationUri: pulumi.String("string"),
SourceUri: pulumi.String("string"),
DestinationQueue: pulumi.String("string"),
DestinationAddTimestampHeader: pulumi.Bool(false),
DestinationAddress: pulumi.String("string"),
DestinationApplicationProperties: pulumi.String("string"),
DestinationExchange: pulumi.String("string"),
DestinationExchangeKey: pulumi.String("string"),
DestinationProperties: pulumi.String("string"),
DestinationPublishProperties: pulumi.String("string"),
DestinationAddForwardHeaders: pulumi.Bool(false),
DestinationProtocol: pulumi.String("string"),
ReconnectDelay: pulumi.Int(0),
SourceAddress: pulumi.String("string"),
SourceDeleteAfter: pulumi.String("string"),
SourceExchange: pulumi.String("string"),
SourceExchangeKey: pulumi.String("string"),
SourcePrefetchCount: pulumi.Int(0),
SourceProtocol: pulumi.String("string"),
SourceQueue: pulumi.String("string"),
AckMode: pulumi.String("string"),
},
Vhost: pulumi.String("string"),
Name: pulumi.String("string"),
})
var shovelResource = new Shovel("shovelResource", ShovelArgs.builder()
.info(ShovelInfoArgs.builder()
.destinationUri("string")
.sourceUri("string")
.destinationQueue("string")
.destinationAddTimestampHeader(false)
.destinationAddress("string")
.destinationApplicationProperties("string")
.destinationExchange("string")
.destinationExchangeKey("string")
.destinationProperties("string")
.destinationPublishProperties("string")
.destinationAddForwardHeaders(false)
.destinationProtocol("string")
.reconnectDelay(0)
.sourceAddress("string")
.sourceDeleteAfter("string")
.sourceExchange("string")
.sourceExchangeKey("string")
.sourcePrefetchCount(0)
.sourceProtocol("string")
.sourceQueue("string")
.ackMode("string")
.build())
.vhost("string")
.name("string")
.build());
shovel_resource = rabbitmq.Shovel("shovelResource",
info=rabbitmq.ShovelInfoArgs(
destination_uri="string",
source_uri="string",
destination_queue="string",
destination_add_timestamp_header=False,
destination_address="string",
destination_application_properties="string",
destination_exchange="string",
destination_exchange_key="string",
destination_properties="string",
destination_publish_properties="string",
destination_add_forward_headers=False,
destination_protocol="string",
reconnect_delay=0,
source_address="string",
source_delete_after="string",
source_exchange="string",
source_exchange_key="string",
source_prefetch_count=0,
source_protocol="string",
source_queue="string",
ack_mode="string",
),
vhost="string",
name="string")
const shovelResource = new rabbitmq.Shovel("shovelResource", {
info: {
destinationUri: "string",
sourceUri: "string",
destinationQueue: "string",
destinationAddTimestampHeader: false,
destinationAddress: "string",
destinationApplicationProperties: "string",
destinationExchange: "string",
destinationExchangeKey: "string",
destinationProperties: "string",
destinationPublishProperties: "string",
destinationAddForwardHeaders: false,
destinationProtocol: "string",
reconnectDelay: 0,
sourceAddress: "string",
sourceDeleteAfter: "string",
sourceExchange: "string",
sourceExchangeKey: "string",
sourcePrefetchCount: 0,
sourceProtocol: "string",
sourceQueue: "string",
ackMode: "string",
},
vhost: "string",
name: "string",
});
type: rabbitmq:Shovel
properties:
info:
ackMode: string
destinationAddForwardHeaders: false
destinationAddTimestampHeader: false
destinationAddress: string
destinationApplicationProperties: string
destinationExchange: string
destinationExchangeKey: string
destinationProperties: string
destinationProtocol: string
destinationPublishProperties: string
destinationQueue: string
destinationUri: string
reconnectDelay: 0
sourceAddress: string
sourceDeleteAfter: string
sourceExchange: string
sourceExchangeKey: string
sourcePrefetchCount: 0
sourceProtocol: string
sourceQueue: string
sourceUri: string
name: string
vhost: string
Shovel Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Shovel resource accepts the following input properties:
- Info
Pulumi.
Rabbit MQ. Inputs. Shovel Info - The settings of the dynamic shovel. The structure is described below.
- Vhost string
- The vhost to create the resource in.
- Name string
- The shovel name.
- Info
Shovel
Info Args - The settings of the dynamic shovel. The structure is described below.
- Vhost string
- The vhost to create the resource in.
- Name string
- The shovel name.
- info
Shovel
Info - The settings of the dynamic shovel. The structure is described below.
- vhost String
- The vhost to create the resource in.
- name String
- The shovel name.
- info
Shovel
Info - The settings of the dynamic shovel. The structure is described below.
- vhost string
- The vhost to create the resource in.
- name string
- The shovel name.
- info
Shovel
Info Args - The settings of the dynamic shovel. The structure is described below.
- vhost str
- The vhost to create the resource in.
- name str
- The shovel name.
- info Property Map
- The settings of the dynamic shovel. The structure is described below.
- vhost String
- The vhost to create the resource in.
- name String
- The shovel name.
Outputs
All input properties are implicitly available as output properties. Additionally, the Shovel resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing Shovel Resource
Get an existing Shovel resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ShovelState, opts?: CustomResourceOptions): Shovel
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
info: Optional[ShovelInfoArgs] = None,
name: Optional[str] = None,
vhost: Optional[str] = None) -> Shovel
func GetShovel(ctx *Context, name string, id IDInput, state *ShovelState, opts ...ResourceOption) (*Shovel, error)
public static Shovel Get(string name, Input<string> id, ShovelState? state, CustomResourceOptions? opts = null)
public static Shovel get(String name, Output<String> id, ShovelState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Info
Pulumi.
Rabbit MQ. Inputs. Shovel Info - The settings of the dynamic shovel. The structure is described below.
- Name string
- The shovel name.
- Vhost string
- The vhost to create the resource in.
- Info
Shovel
Info Args - The settings of the dynamic shovel. The structure is described below.
- Name string
- The shovel name.
- Vhost string
- The vhost to create the resource in.
- info
Shovel
Info - The settings of the dynamic shovel. The structure is described below.
- name String
- The shovel name.
- vhost String
- The vhost to create the resource in.
- info
Shovel
Info - The settings of the dynamic shovel. The structure is described below.
- name string
- The shovel name.
- vhost string
- The vhost to create the resource in.
- info
Shovel
Info Args - The settings of the dynamic shovel. The structure is described below.
- name str
- The shovel name.
- vhost str
- The vhost to create the resource in.
- info Property Map
- The settings of the dynamic shovel. The structure is described below.
- name String
- The shovel name.
- vhost String
- The vhost to create the resource in.
Supporting Types
ShovelInfo, ShovelInfoArgs
- Destination
Uri string - Source
Uri string - Ack
Mode string - Add
Forward boolHeaders - Delete
After string - Destination
Add boolForward Headers - Destination
Add boolTimestamp Header - Destination
Address string - Destination
Application stringProperties - Destination
Exchange string - Destination
Exchange stringKey - Destination
Properties string - Destination
Protocol string - Destination
Publish stringProperties - Destination
Queue string - Prefetch
Count int - Reconnect
Delay int - Source
Address string - Source
Delete stringAfter - Source
Exchange string - Source
Exchange stringKey - Source
Prefetch intCount - Source
Protocol string - Source
Queue string
- Destination
Uri string - Source
Uri string - Ack
Mode string - Add
Forward boolHeaders - Delete
After string - Destination
Add boolForward Headers - Destination
Add boolTimestamp Header - Destination
Address string - Destination
Application stringProperties - Destination
Exchange string - Destination
Exchange stringKey - Destination
Properties string - Destination
Protocol string - Destination
Publish stringProperties - Destination
Queue string - Prefetch
Count int - Reconnect
Delay int - Source
Address string - Source
Delete stringAfter - Source
Exchange string - Source
Exchange stringKey - Source
Prefetch intCount - Source
Protocol string - Source
Queue string
- destination
Uri String - source
Uri String - ack
Mode String - add
Forward BooleanHeaders - delete
After String - destination
Add BooleanForward Headers - destination
Add BooleanTimestamp Header - destination
Address String - destination
Application StringProperties - destination
Exchange String - destination
Exchange StringKey - destination
Properties String - destination
Protocol String - destination
Publish StringProperties - destination
Queue String - prefetch
Count Integer - reconnect
Delay Integer - source
Address String - source
Delete StringAfter - source
Exchange String - source
Exchange StringKey - source
Prefetch IntegerCount - source
Protocol String - source
Queue String
- destination
Uri string - source
Uri string - ack
Mode string - add
Forward booleanHeaders - delete
After string - destination
Add booleanForward Headers - destination
Add booleanTimestamp Header - destination
Address string - destination
Application stringProperties - destination
Exchange string - destination
Exchange stringKey - destination
Properties string - destination
Protocol string - destination
Publish stringProperties - destination
Queue string - prefetch
Count number - reconnect
Delay number - source
Address string - source
Delete stringAfter - source
Exchange string - source
Exchange stringKey - source
Prefetch numberCount - source
Protocol string - source
Queue string
- destination_
uri str - source_
uri str - ack_
mode str - add_
forward_ boolheaders - delete_
after str - destination_
add_ boolforward_ headers - destination_
add_ booltimestamp_ header - destination_
address str - destination_
application_ strproperties - destination_
exchange str - destination_
exchange_ strkey - destination_
properties str - destination_
protocol str - destination_
publish_ strproperties - destination_
queue str - prefetch_
count int - reconnect_
delay int - source_
address str - source_
delete_ strafter - source_
exchange str - source_
exchange_ strkey - source_
prefetch_ intcount - source_
protocol str - source_
queue str
- destination
Uri String - source
Uri String - ack
Mode String - add
Forward BooleanHeaders - delete
After String - destination
Add BooleanForward Headers - destination
Add BooleanTimestamp Header - destination
Address String - destination
Application StringProperties - destination
Exchange String - destination
Exchange StringKey - destination
Properties String - destination
Protocol String - destination
Publish StringProperties - destination
Queue String - prefetch
Count Number - reconnect
Delay Number - source
Address String - source
Delete StringAfter - source
Exchange String - source
Exchange StringKey - source
Prefetch NumberCount - source
Protocol String - source
Queue String
Import
Shovels can be imported using the name
and vhost
E.g.
$ pulumi import rabbitmq:index/shovel:Shovel test shovelTest@test
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- RabbitMQ pulumi/pulumi-rabbitmq
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
rabbitmq
Terraform Provider.