1. Packages
  2. Cloudamqp Provider
  3. API Docs
  4. UpgradeRabbitmq
CloudAMQP v3.20.2 published on Tuesday, Oct 29, 2024 by Pulumi

cloudamqp.UpgradeRabbitmq

Explore with Pulumi AI

cloudamqp logo
CloudAMQP v3.20.2 published on Tuesday, Oct 29, 2024 by Pulumi

    This resource allows you to upgrade RabbitMQ version. Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest or wanted version. Reason for this is certain supported RabbitMQ version will also automatically upgrade Erlang version.

    There is three different ways to trigger the version upgrade

    • Specify RabbitMQ version to upgrade to
    • Upgrade to latest RabbitMQ version
    • Old behaviour to upgrade to latest RabbitMQ version

    See, below example usage for the difference.

    Only available for dedicated subscription plans running RabbitMQ.

    Example Usage

    Specify version upgrade, from v1.31.0

    Specify the version to upgrade to. List available upgradable versions, use CloudAMQP API. After the upgrade finished, there can still be newer versions available.

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const instance = new cloudamqp.Instance("instance", {
        name: "rabbitmq-version-upgrade-test",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
    });
    const upgrade = new cloudamqp.UpgradeRabbitmq("upgrade", {
        instanceId: instance.id,
        newVersion: "3.13.2",
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    instance = cloudamqp.Instance("instance",
        name="rabbitmq-version-upgrade-test",
        plan="bunny-1",
        region="amazon-web-services::us-west-1")
    upgrade = cloudamqp.UpgradeRabbitmq("upgrade",
        instance_id=instance.id,
        new_version="3.13.2")
    
    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 {
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("rabbitmq-version-upgrade-test"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudamqp.NewUpgradeRabbitmq(ctx, "upgrade", &cloudamqp.UpgradeRabbitmqArgs{
    			InstanceId: instance.ID(),
    			NewVersion: pulumi.String("3.13.2"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "rabbitmq-version-upgrade-test",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
        });
    
        var upgrade = new CloudAmqp.UpgradeRabbitmq("upgrade", new()
        {
            InstanceId = instance.Id,
            NewVersion = "3.13.2",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.UpgradeRabbitmq;
    import com.pulumi.cloudamqp.UpgradeRabbitmqArgs;
    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 instance = new Instance("instance", InstanceArgs.builder()
                .name("rabbitmq-version-upgrade-test")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .build());
    
            var upgrade = new UpgradeRabbitmq("upgrade", UpgradeRabbitmqArgs.builder()
                .instanceId(instance.id())
                .newVersion("3.13.2")
                .build());
    
        }
    }
    
    resources:
      instance:
        type: cloudamqp:Instance
        properties:
          name: rabbitmq-version-upgrade-test
          plan: bunny-1
          region: amazon-web-services::us-west-1
      upgrade:
        type: cloudamqp:UpgradeRabbitmq
        properties:
          instanceId: ${instance.id}
          newVersion: 3.13.2
    
    Upgrade to latest possible version, from v1.31.0

    This will upgrade RabbitMQ to the latest possible version detected by the data source cloudamqp.getUpgradableVersions. Multiple runs can be needed to upgrade the version even further.

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const instance = new cloudamqp.Instance("instance", {
        name: "rabbitmq-version-upgrade-test",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
    });
    const upgradableVersions = instance.id.apply(id => cloudamqp.getUpgradableVersionsOutput({
        instanceId: id,
    }));
    const upgrade = new cloudamqp.UpgradeRabbitmq("upgrade", {
        instanceId: instance.id,
        currentVersion: instance.rmqVersion,
        newVersion: upgradableVersions.apply(upgradableVersions => upgradableVersions.newRabbitmqVersion),
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    instance = cloudamqp.Instance("instance",
        name="rabbitmq-version-upgrade-test",
        plan="bunny-1",
        region="amazon-web-services::us-west-1")
    upgradable_versions = instance.id.apply(lambda id: cloudamqp.get_upgradable_versions_output(instance_id=id))
    upgrade = cloudamqp.UpgradeRabbitmq("upgrade",
        instance_id=instance.id,
        current_version=instance.rmq_version,
        new_version=upgradable_versions.new_rabbitmq_version)
    
    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 {
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("rabbitmq-version-upgrade-test"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    		})
    		if err != nil {
    			return err
    		}
    		upgradableVersions := instance.ID().ApplyT(func(id string) (cloudamqp.GetUpgradableVersionsResult, error) {
    			return cloudamqp.GetUpgradableVersionsResult(interface{}(cloudamqp.GetUpgradableVersionsOutput(ctx, cloudamqp.GetUpgradableVersionsOutputArgs{
    				InstanceId: id,
    			}, nil))), nil
    		}).(cloudamqp.GetUpgradableVersionsResultOutput)
    		_, err = cloudamqp.NewUpgradeRabbitmq(ctx, "upgrade", &cloudamqp.UpgradeRabbitmqArgs{
    			InstanceId:     instance.ID(),
    			CurrentVersion: instance.RmqVersion,
    			NewVersion: pulumi.String(upgradableVersions.ApplyT(func(upgradableVersions cloudamqp.GetUpgradableVersionsResult) (*string, error) {
    				return &upgradableVersions.NewRabbitmqVersion, nil
    			}).(pulumi.StringPtrOutput)),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "rabbitmq-version-upgrade-test",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
        });
    
        var upgradableVersions = CloudAmqp.GetUpgradableVersions.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
        var upgrade = new CloudAmqp.UpgradeRabbitmq("upgrade", new()
        {
            InstanceId = instance.Id,
            CurrentVersion = instance.RmqVersion,
            NewVersion = upgradableVersions.Apply(getUpgradableVersionsResult => getUpgradableVersionsResult.NewRabbitmqVersion),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;
    import com.pulumi.cloudamqp.UpgradeRabbitmq;
    import com.pulumi.cloudamqp.UpgradeRabbitmqArgs;
    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 instance = new Instance("instance", InstanceArgs.builder()
                .name("rabbitmq-version-upgrade-test")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .build());
    
            final var upgradableVersions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()
                .instanceId(instance.id())
                .build());
    
            var upgrade = new UpgradeRabbitmq("upgrade", UpgradeRabbitmqArgs.builder()
                .instanceId(instance.id())
                .currentVersion(instance.rmqVersion())
                .newVersion(upgradableVersions.applyValue(getUpgradableVersionsResult -> getUpgradableVersionsResult).applyValue(upgradableVersions -> upgradableVersions.applyValue(getUpgradableVersionsResult -> getUpgradableVersionsResult.newRabbitmqVersion())))
                .build());
    
        }
    }
    
    resources:
      instance:
        type: cloudamqp:Instance
        properties:
          name: rabbitmq-version-upgrade-test
          plan: bunny-1
          region: amazon-web-services::us-west-1
      upgrade:
        type: cloudamqp:UpgradeRabbitmq
        properties:
          instanceId: ${instance.id}
          currentVersion: ${instance.rmqVersion}
          newVersion: ${upgradableVersions.newRabbitmqVersion}
    variables:
      upgradableVersions:
        fn::invoke:
          Function: cloudamqp:getUpgradableVersions
          Arguments:
            instanceId: ${instance.id}
    
    Upgrade to latest possible version, before v1.31.0

    Old behaviour of the upgrading the RabbitMQ version. No longer recommended.

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    const versions = cloudamqp.getUpgradableVersions({
        instanceId: instance.id,
    });
    // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
    const upgrade = new cloudamqp.UpgradeRabbitmq("upgrade", {instanceId: instance.id});
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    versions = cloudamqp.get_upgradable_versions(instance_id=instance["id"])
    # Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
    upgrade = cloudamqp.UpgradeRabbitmq("upgrade", instance_id=instance["id"])
    
    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 {
    		// Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
    			InstanceId: instance.Id,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
    		_, err = cloudamqp.NewUpgradeRabbitmq(ctx, "upgrade", &cloudamqp.UpgradeRabbitmqArgs{
    			InstanceId: pulumi.Any(instance.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
        var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
        // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
        var upgrade = new CloudAmqp.UpgradeRabbitmq("upgrade", new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;
    import com.pulumi.cloudamqp.UpgradeRabbitmq;
    import com.pulumi.cloudamqp.UpgradeRabbitmqArgs;
    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) {
            // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
            final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()
                .instanceId(instance.id())
                .build());
    
            // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
            var upgrade = new UpgradeRabbitmq("upgrade", UpgradeRabbitmqArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    resources:
      # Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
      upgrade:
        type: cloudamqp:UpgradeRabbitmq
        properties:
          instanceId: ${instance.id}
    variables:
      # Retrieve latest possible upgradable versions for RabbitMQ and Erlang
      versions:
        fn::invoke:
          Function: cloudamqp:getUpgradableVersions
          Arguments:
            instanceId: ${instance.id}
    
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    const versions = cloudamqp.getUpgradableVersions({
        instanceId: instance.id,
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    versions = cloudamqp.get_upgradable_versions(instance_id=instance["id"])
    
    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 {
    		// Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
    			InstanceId: instance.Id,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
        var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;
    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) {
            // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
            final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    variables:
      # Retrieve latest possible upgradable versions for RabbitMQ and Erlang
      versions:
        fn::invoke:
          Function: cloudamqp:getUpgradableVersions
          Arguments:
            instanceId: ${instance.id}
    

    If newer version is still available to be upgradable in the data source, re-run again.

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    const versions = cloudamqp.getUpgradableVersions({
        instanceId: instance.id,
    });
    // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
    const upgrade = new cloudamqp.UpgradeRabbitmq("upgrade", {instanceId: instance.id});
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    versions = cloudamqp.get_upgradable_versions(instance_id=instance["id"])
    # Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
    upgrade = cloudamqp.UpgradeRabbitmq("upgrade", instance_id=instance["id"])
    
    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 {
    		// Retrieve latest possible upgradable versions for RabbitMQ and Erlang
    		_, err := cloudamqp.GetUpgradableVersions(ctx, &cloudamqp.GetUpgradableVersionsArgs{
    			InstanceId: instance.Id,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
    		_, err = cloudamqp.NewUpgradeRabbitmq(ctx, "upgrade", &cloudamqp.UpgradeRabbitmqArgs{
    			InstanceId: pulumi.Any(instance.Id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
        var versions = CloudAmqp.GetUpgradableVersions.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
        // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
        var upgrade = new CloudAmqp.UpgradeRabbitmq("upgrade", new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetUpgradableVersionsArgs;
    import com.pulumi.cloudamqp.UpgradeRabbitmq;
    import com.pulumi.cloudamqp.UpgradeRabbitmqArgs;
    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) {
            // Retrieve latest possible upgradable versions for RabbitMQ and Erlang
            final var versions = CloudamqpFunctions.getUpgradableVersions(GetUpgradableVersionsArgs.builder()
                .instanceId(instance.id())
                .build());
    
            // Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
            var upgrade = new UpgradeRabbitmq("upgrade", UpgradeRabbitmqArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    resources:
      # Invoke automatically upgrade to latest possible upgradable versions for RabbitMQ and Erlang
      upgrade:
        type: cloudamqp:UpgradeRabbitmq
        properties:
          instanceId: ${instance.id}
    variables:
      # Retrieve latest possible upgradable versions for RabbitMQ and Erlang
      versions:
        fn::invoke:
          Function: cloudamqp:getUpgradableVersions
          Arguments:
            instanceId: ${instance.id}
    

    Create UpgradeRabbitmq Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new UpgradeRabbitmq(name: string, args: UpgradeRabbitmqArgs, opts?: CustomResourceOptions);
    @overload
    def UpgradeRabbitmq(resource_name: str,
                        args: UpgradeRabbitmqArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def UpgradeRabbitmq(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        instance_id: Optional[int] = None,
                        current_version: Optional[str] = None,
                        new_version: Optional[str] = None)
    func NewUpgradeRabbitmq(ctx *Context, name string, args UpgradeRabbitmqArgs, opts ...ResourceOption) (*UpgradeRabbitmq, error)
    public UpgradeRabbitmq(string name, UpgradeRabbitmqArgs args, CustomResourceOptions? opts = null)
    public UpgradeRabbitmq(String name, UpgradeRabbitmqArgs args)
    public UpgradeRabbitmq(String name, UpgradeRabbitmqArgs args, CustomResourceOptions options)
    
    type: cloudamqp:UpgradeRabbitmq
    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 UpgradeRabbitmqArgs
    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 UpgradeRabbitmqArgs
    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 UpgradeRabbitmqArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args UpgradeRabbitmqArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args UpgradeRabbitmqArgs
    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 upgradeRabbitmqResource = new CloudAmqp.UpgradeRabbitmq("upgradeRabbitmqResource", new()
    {
        InstanceId = 0,
        CurrentVersion = "string",
        NewVersion = "string",
    });
    
    example, err := cloudamqp.NewUpgradeRabbitmq(ctx, "upgradeRabbitmqResource", &cloudamqp.UpgradeRabbitmqArgs{
    	InstanceId:     pulumi.Int(0),
    	CurrentVersion: pulumi.String("string"),
    	NewVersion:     pulumi.String("string"),
    })
    
    var upgradeRabbitmqResource = new UpgradeRabbitmq("upgradeRabbitmqResource", UpgradeRabbitmqArgs.builder()
        .instanceId(0)
        .currentVersion("string")
        .newVersion("string")
        .build());
    
    upgrade_rabbitmq_resource = cloudamqp.UpgradeRabbitmq("upgradeRabbitmqResource",
        instance_id=0,
        current_version="string",
        new_version="string")
    
    const upgradeRabbitmqResource = new cloudamqp.UpgradeRabbitmq("upgradeRabbitmqResource", {
        instanceId: 0,
        currentVersion: "string",
        newVersion: "string",
    });
    
    type: cloudamqp:UpgradeRabbitmq
    properties:
        currentVersion: string
        instanceId: 0
        newVersion: string
    

    UpgradeRabbitmq Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The UpgradeRabbitmq resource accepts the following input properties:

    InstanceId int
    The CloudAMQP instance identifier
    CurrentVersion string
    Helper argument to change upgrade behaviour to latest possible version
    NewVersion string
    The new version to upgrade to
    InstanceId int
    The CloudAMQP instance identifier
    CurrentVersion string
    Helper argument to change upgrade behaviour to latest possible version
    NewVersion string
    The new version to upgrade to
    instanceId Integer
    The CloudAMQP instance identifier
    currentVersion String
    Helper argument to change upgrade behaviour to latest possible version
    newVersion String
    The new version to upgrade to
    instanceId number
    The CloudAMQP instance identifier
    currentVersion string
    Helper argument to change upgrade behaviour to latest possible version
    newVersion string
    The new version to upgrade to
    instance_id int
    The CloudAMQP instance identifier
    current_version str
    Helper argument to change upgrade behaviour to latest possible version
    new_version str
    The new version to upgrade to
    instanceId Number
    The CloudAMQP instance identifier
    currentVersion String
    Helper argument to change upgrade behaviour to latest possible version
    newVersion String
    The new version to upgrade to

    Outputs

    All input properties are implicitly available as output properties. Additionally, the UpgradeRabbitmq 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 UpgradeRabbitmq Resource

    Get an existing UpgradeRabbitmq 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?: UpgradeRabbitmqState, opts?: CustomResourceOptions): UpgradeRabbitmq
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            current_version: Optional[str] = None,
            instance_id: Optional[int] = None,
            new_version: Optional[str] = None) -> UpgradeRabbitmq
    func GetUpgradeRabbitmq(ctx *Context, name string, id IDInput, state *UpgradeRabbitmqState, opts ...ResourceOption) (*UpgradeRabbitmq, error)
    public static UpgradeRabbitmq Get(string name, Input<string> id, UpgradeRabbitmqState? state, CustomResourceOptions? opts = null)
    public static UpgradeRabbitmq get(String name, Output<String> id, UpgradeRabbitmqState 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:
    CurrentVersion string
    Helper argument to change upgrade behaviour to latest possible version
    InstanceId int
    The CloudAMQP instance identifier
    NewVersion string
    The new version to upgrade to
    CurrentVersion string
    Helper argument to change upgrade behaviour to latest possible version
    InstanceId int
    The CloudAMQP instance identifier
    NewVersion string
    The new version to upgrade to
    currentVersion String
    Helper argument to change upgrade behaviour to latest possible version
    instanceId Integer
    The CloudAMQP instance identifier
    newVersion String
    The new version to upgrade to
    currentVersion string
    Helper argument to change upgrade behaviour to latest possible version
    instanceId number
    The CloudAMQP instance identifier
    newVersion string
    The new version to upgrade to
    current_version str
    Helper argument to change upgrade behaviour to latest possible version
    instance_id int
    The CloudAMQP instance identifier
    new_version str
    The new version to upgrade to
    currentVersion String
    Helper argument to change upgrade behaviour to latest possible version
    instanceId Number
    The CloudAMQP instance identifier
    newVersion String
    The new version to upgrade to

    Import

    ant Upgrade Information

    • All single node upgrades will require some downtime since RabbitMQ needs a restart.
    • From RabbitMQ version 3.9, rolling upgrades between minor versions (e.g. 3.9 to 3.10), in a multi-node cluster are possible without downtime. This means that one node is upgraded at a time while the other nodes are still running. For versions older than 3.9, patch version upgrades (e.g. 3.8.x to 3.8.y) are possible without downtime in a multi-node cluster, but minor version upgrades will require downtime.
    • Auto delete queues (queues that are marked AD) will be deleted during the update.
    • Any custom plugins support has installed on your behalf will be disabled and you need to contact support@cloudamqp.com and ask to have them re-installed.
    • TLS 1.0 and 1.1 will not be supported after the update.

    Multiple runs

    Depending on initial versions of RabbitMQ and Erlang of the CloudAMQP instance, multiple runs may be needed to get to the latest or wanted version.

    Example steps needed when starting at RabbitMQ version 3.12.2

    VersionSupported upgrading versionsMin version to upgrade Erlang
    3.12.23.12.4, 3.12.6, 3.12.10, 3.12.12, 3.12.133.12.13
    3.12.133.13.23.13.2
    3.13.2--

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    CloudAMQP pulumi/pulumi-cloudamqp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the cloudamqp Terraform Provider.
    cloudamqp logo
    CloudAMQP v3.20.2 published on Tuesday, Oct 29, 2024 by Pulumi