1. Packages
  2. RabbitMQ
  3. API Docs
  4. Shovel
RabbitMQ v3.3.3 published on Friday, May 24, 2024 by Pulumi

rabbitmq.Shovel

Explore with Pulumi AI

rabbitmq logo
RabbitMQ v3.3.3 published on Friday, May 24, 2024 by Pulumi

    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.RabbitMQ.Inputs.ShovelInfo
    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 ShovelInfoArgs
    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 ShovelInfo
    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 ShovelInfo
    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 ShovelInfoArgs
    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.
    The following state arguments are supported:
    Info Pulumi.RabbitMQ.Inputs.ShovelInfo
    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 ShovelInfoArgs
    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 ShovelInfo
    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 ShovelInfo
    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 ShovelInfoArgs
    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

    DestinationUri string
    SourceUri string
    AckMode string
    AddForwardHeaders bool

    Deprecated: use destination_add_forward_headers instead

    DeleteAfter string

    Deprecated: use source_delete_after instead

    DestinationAddForwardHeaders bool
    DestinationAddTimestampHeader bool
    DestinationAddress string
    DestinationApplicationProperties string
    DestinationExchange string
    DestinationExchangeKey string
    DestinationProperties string
    DestinationProtocol string
    DestinationPublishProperties string
    DestinationQueue string
    PrefetchCount int

    Deprecated: use source_prefetch_count instead

    ReconnectDelay int
    SourceAddress string
    SourceDeleteAfter string
    SourceExchange string
    SourceExchangeKey string
    SourcePrefetchCount int
    SourceProtocol string
    SourceQueue string
    DestinationUri string
    SourceUri string
    AckMode string
    AddForwardHeaders bool

    Deprecated: use destination_add_forward_headers instead

    DeleteAfter string

    Deprecated: use source_delete_after instead

    DestinationAddForwardHeaders bool
    DestinationAddTimestampHeader bool
    DestinationAddress string
    DestinationApplicationProperties string
    DestinationExchange string
    DestinationExchangeKey string
    DestinationProperties string
    DestinationProtocol string
    DestinationPublishProperties string
    DestinationQueue string
    PrefetchCount int

    Deprecated: use source_prefetch_count instead

    ReconnectDelay int
    SourceAddress string
    SourceDeleteAfter string
    SourceExchange string
    SourceExchangeKey string
    SourcePrefetchCount int
    SourceProtocol string
    SourceQueue string
    destinationUri String
    sourceUri String
    ackMode String
    addForwardHeaders Boolean

    Deprecated: use destination_add_forward_headers instead

    deleteAfter String

    Deprecated: use source_delete_after instead

    destinationAddForwardHeaders Boolean
    destinationAddTimestampHeader Boolean
    destinationAddress String
    destinationApplicationProperties String
    destinationExchange String
    destinationExchangeKey String
    destinationProperties String
    destinationProtocol String
    destinationPublishProperties String
    destinationQueue String
    prefetchCount Integer

    Deprecated: use source_prefetch_count instead

    reconnectDelay Integer
    sourceAddress String
    sourceDeleteAfter String
    sourceExchange String
    sourceExchangeKey String
    sourcePrefetchCount Integer
    sourceProtocol String
    sourceQueue String
    destinationUri string
    sourceUri string
    ackMode string
    addForwardHeaders boolean

    Deprecated: use destination_add_forward_headers instead

    deleteAfter string

    Deprecated: use source_delete_after instead

    destinationAddForwardHeaders boolean
    destinationAddTimestampHeader boolean
    destinationAddress string
    destinationApplicationProperties string
    destinationExchange string
    destinationExchangeKey string
    destinationProperties string
    destinationProtocol string
    destinationPublishProperties string
    destinationQueue string
    prefetchCount number

    Deprecated: use source_prefetch_count instead

    reconnectDelay number
    sourceAddress string
    sourceDeleteAfter string
    sourceExchange string
    sourceExchangeKey string
    sourcePrefetchCount number
    sourceProtocol string
    sourceQueue string
    destinationUri String
    sourceUri String
    ackMode String
    addForwardHeaders Boolean

    Deprecated: use destination_add_forward_headers instead

    deleteAfter String

    Deprecated: use source_delete_after instead

    destinationAddForwardHeaders Boolean
    destinationAddTimestampHeader Boolean
    destinationAddress String
    destinationApplicationProperties String
    destinationExchange String
    destinationExchangeKey String
    destinationProperties String
    destinationProtocol String
    destinationPublishProperties String
    destinationQueue String
    prefetchCount Number

    Deprecated: use source_prefetch_count instead

    reconnectDelay Number
    sourceAddress String
    sourceDeleteAfter String
    sourceExchange String
    sourceExchangeKey String
    sourcePrefetchCount Number
    sourceProtocol String
    sourceQueue 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.
    rabbitmq logo
    RabbitMQ v3.3.3 published on Friday, May 24, 2024 by Pulumi