Plugin

This resource allows you to enable or disable Rabbit MQ plugins.

Only available for dedicated subscription plans.

⚠️ From our go API wrapper v1.4.0 there is support for multiple retries when requesting information about plugins. This was introduced to avoid ReadPlugin error 400: Timeout talking to backend.

Enable multiple plugins: Rabbit MQ can only change one plugin at a time. It will fail if multiple plugins resources are used, unless by creating dependencies with depend_on between the resources. Once one plugin has been enabled, the other will continue. See example below.

Dependency

This resource depends on CloudAMQP instance identifier, cloudamqp_instance.instance.id.

If multiple plugins should be enable, create dependencies between the plugin resources. See example above.

Example Usage

using Pulumi;
using CloudAmqp = Pulumi.CloudAmqp;

class MyStack : Stack
{
    public MyStack()
    {
        var rabbitmqTop = new CloudAmqp.Plugin("rabbitmqTop", new CloudAmqp.PluginArgs
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            Enabled = true,
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudamqp.NewPlugin(ctx, "rabbitmqTop", &cloudamqp.PluginArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Enabled:    pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_cloudamqp as cloudamqp

rabbitmq_top = cloudamqp.Plugin("rabbitmqTop",
    instance_id=cloudamqp_instance["instance"]["id"],
    enabled=True)
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";

const rabbitmqTop = new cloudamqp.Plugin("rabbitmqTop", {
    instanceId: cloudamqp_instance.instance.id,
    enabled: true,
});

Create a Plugin Resource

new Plugin(name: string, args: PluginArgs, opts?: CustomResourceOptions);
@overload
def Plugin(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           enabled: Optional[bool] = None,
           instance_id: Optional[int] = None,
           name: Optional[str] = None)
@overload
def Plugin(resource_name: str,
           args: PluginArgs,
           opts: Optional[ResourceOptions] = None)
func NewPlugin(ctx *Context, name string, args PluginArgs, opts ...ResourceOption) (*Plugin, error)
public Plugin(string name, PluginArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args PluginArgs
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 PluginArgs
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 PluginArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args PluginArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

Plugin 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 Plugin resource accepts the following input properties:

Enabled bool
Enable or disable the plugins.
InstanceId int
The CloudAMQP instance ID.
Name string
The name of the Rabbit MQ plugin.
Enabled bool
Enable or disable the plugins.
InstanceId int
The CloudAMQP instance ID.
Name string
The name of the Rabbit MQ plugin.
enabled boolean
Enable or disable the plugins.
instanceId number
The CloudAMQP instance ID.
name string
The name of the Rabbit MQ plugin.
enabled bool
Enable or disable the plugins.
instance_id int
The CloudAMQP instance ID.
name str
The name of the Rabbit MQ plugin.

Outputs

All input properties are implicitly available as output properties. Additionally, the Plugin 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 str
The provider-assigned unique ID for this managed resource.

Look up an Existing Plugin Resource

Get an existing Plugin 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?: PluginState, opts?: CustomResourceOptions): Plugin
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        enabled: Optional[bool] = None,
        instance_id: Optional[int] = None,
        name: Optional[str] = None) -> Plugin
func GetPlugin(ctx *Context, name string, id IDInput, state *PluginState, opts ...ResourceOption) (*Plugin, error)
public static Plugin Get(string name, Input<string> id, PluginState? state, CustomResourceOptions? opts = null)
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.

The following state arguments are supported:

Enabled bool
Enable or disable the plugins.
InstanceId int
The CloudAMQP instance ID.
Name string
The name of the Rabbit MQ plugin.
Enabled bool
Enable or disable the plugins.
InstanceId int
The CloudAMQP instance ID.
Name string
The name of the Rabbit MQ plugin.
enabled boolean
Enable or disable the plugins.
instanceId number
The CloudAMQP instance ID.
name string
The name of the Rabbit MQ plugin.
enabled bool
Enable or disable the plugins.
instance_id int
The CloudAMQP instance ID.
name str
The name of the Rabbit MQ plugin.

Import

cloudamqp_plugin can be imported using the name argument of the resource together with CloudAMQP instance identifier. The name and identifier are CSV separated, see example below.

 $ pulumi import cloudamqp:index/plugin:Plugin rabbitmq_management rabbitmq_management,<instance_id>`

Package Details

Repository
https://github.com/pulumi/pulumi-cloudamqp
License
Apache-2.0
Notes
This Pulumi package is based on the cloudamqp Terraform Provider.