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

cloudamqp.Instance

Explore with Pulumi AI

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

    This resource allows you to create and manage a CloudAMQP instance running either RabbitMQ or LavinMQ and can be deployed to multiple cloud platforms provider and regions, see instance regions for more information.

    Once the instance is created it will be assigned a unique identifier. All other resources and data sources created for this instance needs to reference this unique instance identifier.

    Pricing is available at cloudamqp.com.

    Example Usage

    Basic example of shared and dedicated instances
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Minimum free lemur instance running RabbitMQ
    const lemurInstance = new cloudamqp.Instance("lemur_instance", {
        name: "cloudamqp-free-instance",
        plan: "lemur",
        region: "amazon-web-services::us-west-1",
        tags: ["rabbitmq"],
    });
    // Minimum free lemming instance running LavinMQ
    const lemmingInstance = new cloudamqp.Instance("lemming_instance", {
        name: "cloudamqp-free-instance",
        plan: "lemming",
        region: "amazon-web-services::us-west-1",
        tags: ["lavinmq"],
    });
    // New dedicated bunny instance running RabbitMQ
    const instance = new cloudamqp.Instance("instance", {
        name: "terraform-cloudamqp-instance",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: ["terraform"],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Minimum free lemur instance running RabbitMQ
    lemur_instance = cloudamqp.Instance("lemur_instance",
        name="cloudamqp-free-instance",
        plan="lemur",
        region="amazon-web-services::us-west-1",
        tags=["rabbitmq"])
    # Minimum free lemming instance running LavinMQ
    lemming_instance = cloudamqp.Instance("lemming_instance",
        name="cloudamqp-free-instance",
        plan="lemming",
        region="amazon-web-services::us-west-1",
        tags=["lavinmq"])
    # New dedicated bunny instance running RabbitMQ
    instance = cloudamqp.Instance("instance",
        name="terraform-cloudamqp-instance",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=["terraform"])
    
    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 {
    		// Minimum free lemur instance running RabbitMQ
    		_, err := cloudamqp.NewInstance(ctx, "lemur_instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("cloudamqp-free-instance"),
    			Plan:   pulumi.String("lemur"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("rabbitmq"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// Minimum free lemming instance running LavinMQ
    		_, err = cloudamqp.NewInstance(ctx, "lemming_instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("cloudamqp-free-instance"),
    			Plan:   pulumi.String("lemming"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("lavinmq"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// New dedicated bunny instance running RabbitMQ
    		_, err = cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("terraform-cloudamqp-instance"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Minimum free lemur instance running RabbitMQ
        var lemurInstance = new CloudAmqp.Instance("lemur_instance", new()
        {
            Name = "cloudamqp-free-instance",
            Plan = "lemur",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "rabbitmq",
            },
        });
    
        // Minimum free lemming instance running LavinMQ
        var lemmingInstance = new CloudAmqp.Instance("lemming_instance", new()
        {
            Name = "cloudamqp-free-instance",
            Plan = "lemming",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "lavinmq",
            },
        });
    
        // New dedicated bunny instance running RabbitMQ
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "terraform-cloudamqp-instance",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "terraform",
            },
        });
    
    });
    
    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 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) {
            // Minimum free lemur instance running RabbitMQ
            var lemurInstance = new Instance("lemurInstance", InstanceArgs.builder()
                .name("cloudamqp-free-instance")
                .plan("lemur")
                .region("amazon-web-services::us-west-1")
                .tags("rabbitmq")
                .build());
    
            // Minimum free lemming instance running LavinMQ
            var lemmingInstance = new Instance("lemmingInstance", InstanceArgs.builder()
                .name("cloudamqp-free-instance")
                .plan("lemming")
                .region("amazon-web-services::us-west-1")
                .tags("lavinmq")
                .build());
    
            // New dedicated bunny instance running RabbitMQ
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("terraform-cloudamqp-instance")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags("terraform")
                .build());
    
        }
    }
    
    resources:
      # Minimum free lemur instance running RabbitMQ
      lemurInstance:
        type: cloudamqp:Instance
        name: lemur_instance
        properties:
          name: cloudamqp-free-instance
          plan: lemur
          region: amazon-web-services::us-west-1
          tags:
            - rabbitmq
      # Minimum free lemming instance running LavinMQ
      lemmingInstance:
        type: cloudamqp:Instance
        name: lemming_instance
        properties:
          name: cloudamqp-free-instance
          plan: lemming
          region: amazon-web-services::us-west-1
          tags:
            - lavinmq
      # New dedicated bunny instance running RabbitMQ
      instance:
        type: cloudamqp:Instance
        properties:
          name: terraform-cloudamqp-instance
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags:
            - terraform
    
    Dedicated instance using attribute vpc_subnet to create VPC, before v1.16.0
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const instance = new cloudamqp.Instance("instance", {
        name: "terraform-cloudamqp-instance",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: ["terraform"],
        vpcSubnet: "10.56.72.0/24",
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    instance = cloudamqp.Instance("instance",
        name="terraform-cloudamqp-instance",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=["terraform"],
        vpc_subnet="10.56.72.0/24")
    
    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.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("terraform-cloudamqp-instance"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			VpcSubnet: pulumi.String("10.56.72.0/24"),
    		})
    		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 = "terraform-cloudamqp-instance",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "terraform",
            },
            VpcSubnet = "10.56.72.0/24",
        });
    
    });
    
    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 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("terraform-cloudamqp-instance")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags("terraform")
                .vpcSubnet("10.56.72.0/24")
                .build());
    
        }
    }
    
    resources:
      instance:
        type: cloudamqp:Instance
        properties:
          name: terraform-cloudamqp-instance
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags:
            - terraform
          vpcSubnet: 10.56.72.0/24
    
    Dedicated instance using attribute vpc_subnet to create VPC and then import managed VPC, from v1.16.0 (Managed VPC)
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Dedicated instance that also creates VPC
    const instance01 = new cloudamqp.Instance("instance_01", {
        name: "terraform-cloudamqp-instance-01",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: ["terraform"],
        vpcSubnet: "10.56.72.0/24",
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Dedicated instance that also creates VPC
    instance01 = cloudamqp.Instance("instance_01",
        name="terraform-cloudamqp-instance-01",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=["terraform"],
        vpc_subnet="10.56.72.0/24")
    
    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 {
    		// Dedicated instance that also creates VPC
    		_, err := cloudamqp.NewInstance(ctx, "instance_01", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("terraform-cloudamqp-instance-01"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			VpcSubnet: pulumi.String("10.56.72.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Dedicated instance that also creates VPC
        var instance01 = new CloudAmqp.Instance("instance_01", new()
        {
            Name = "terraform-cloudamqp-instance-01",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "terraform",
            },
            VpcSubnet = "10.56.72.0/24",
        });
    
    });
    
    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 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) {
            // Dedicated instance that also creates VPC
            var instance01 = new Instance("instance01", InstanceArgs.builder()
                .name("terraform-cloudamqp-instance-01")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags("terraform")
                .vpcSubnet("10.56.72.0/24")
                .build());
    
        }
    }
    
    resources:
      # Dedicated instance that also creates VPC
      instance01:
        type: cloudamqp:Instance
        name: instance_01
        properties:
          name: terraform-cloudamqp-instance-01
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags:
            - terraform
          vpcSubnet: 10.56.72.0/24
    

    Once the instance and the VPC are created, the VPC can be imported as managed VPC and added to the configuration file. Set attribute vpc_id to the managed VPC identifier. To keep the managed VPC when deleting the instance, set attribute keep_associated_vpc to true. For more information see guide Managed VPC.

    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Imported managed VPC
    const vpc = new cloudamqp.Vpc("vpc", {
        name: "<vpc-name>",
        region: "amazon-web-services::us-east-1",
        subnet: "10.56.72.0/24",
        tags: [],
    });
    // Add vpc_id and keep_associated_vpc attributes
    const instance01 = new cloudamqp.Instance("instance_01", {
        name: "terraform-cloudamqp-instance-01",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: ["terraform"],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Imported managed VPC
    vpc = cloudamqp.Vpc("vpc",
        name="<vpc-name>",
        region="amazon-web-services::us-east-1",
        subnet="10.56.72.0/24",
        tags=[])
    # Add vpc_id and keep_associated_vpc attributes
    instance01 = cloudamqp.Instance("instance_01",
        name="terraform-cloudamqp-instance-01",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=["terraform"],
        vpc_id=vpc.id,
        keep_associated_vpc=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 {
    		// Imported managed VPC
    		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
    			Name:   pulumi.String("<vpc-name>"),
    			Region: pulumi.String("amazon-web-services::us-east-1"),
    			Subnet: pulumi.String("10.56.72.0/24"),
    			Tags:   pulumi.StringArray{},
    		})
    		if err != nil {
    			return err
    		}
    		// Add vpc_id and keep_associated_vpc attributes
    		_, err = cloudamqp.NewInstance(ctx, "instance_01", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("terraform-cloudamqp-instance-01"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Imported managed VPC
        var vpc = new CloudAmqp.Vpc("vpc", new()
        {
            Name = "<vpc-name>",
            Region = "amazon-web-services::us-east-1",
            Subnet = "10.56.72.0/24",
            Tags = new[] {},
        });
    
        // Add vpc_id and keep_associated_vpc attributes
        var instance01 = new CloudAmqp.Instance("instance_01", new()
        {
            Name = "terraform-cloudamqp-instance-01",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "terraform",
            },
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Vpc;
    import com.pulumi.cloudamqp.VpcArgs;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    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) {
            // Imported managed VPC
            var vpc = new Vpc("vpc", VpcArgs.builder()
                .name("<vpc-name>")
                .region("amazon-web-services::us-east-1")
                .subnet("10.56.72.0/24")
                .tags()
                .build());
    
            // Add vpc_id and keep_associated_vpc attributes
            var instance01 = new Instance("instance01", InstanceArgs.builder()
                .name("terraform-cloudamqp-instance-01")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags("terraform")
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
        }
    }
    
    resources:
      # Imported managed VPC
      vpc:
        type: cloudamqp:Vpc
        properties:
          name: <vpc-name>
          region: amazon-web-services::us-east-1
          subnet: 10.56.72.0/24
          tags: []
      # Add vpc_id and keep_associated_vpc attributes
      instance01:
        type: cloudamqp:Instance
        name: instance_01
        properties:
          name: terraform-cloudamqp-instance-01
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags:
            - terraform
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
    
    Dedicated instances and managed VPC, from v1.16.0 (Managed VPC)
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Managed VPC
    const vpc = new cloudamqp.Vpc("vpc", {
        name: "<vpc-name>",
        region: "amazon-web-services::us-east-1",
        subnet: "10.56.72.0/24",
        tags: [],
    });
    // First instance added to managed VPC
    const instance01 = new cloudamqp.Instance("instance_01", {
        name: "terraform-cloudamqp-instance-01",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: ["terraform"],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    // Second instance added to managed VPC
    const instance02 = new cloudamqp.Instance("instance_02", {
        name: "terraform-cloudamqp-instance-02",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-1",
        tags: ["terraform"],
        vpcId: vpc.id,
        keepAssociatedVpc: true,
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Managed VPC
    vpc = cloudamqp.Vpc("vpc",
        name="<vpc-name>",
        region="amazon-web-services::us-east-1",
        subnet="10.56.72.0/24",
        tags=[])
    # First instance added to managed VPC
    instance01 = cloudamqp.Instance("instance_01",
        name="terraform-cloudamqp-instance-01",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=["terraform"],
        vpc_id=vpc.id,
        keep_associated_vpc=True)
    # Second instance added to managed VPC
    instance02 = cloudamqp.Instance("instance_02",
        name="terraform-cloudamqp-instance-02",
        plan="bunny-1",
        region="amazon-web-services::us-west-1",
        tags=["terraform"],
        vpc_id=vpc.id,
        keep_associated_vpc=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 {
    		// Managed VPC
    		vpc, err := cloudamqp.NewVpc(ctx, "vpc", &cloudamqp.VpcArgs{
    			Name:   pulumi.String("<vpc-name>"),
    			Region: pulumi.String("amazon-web-services::us-east-1"),
    			Subnet: pulumi.String("10.56.72.0/24"),
    			Tags:   pulumi.StringArray{},
    		})
    		if err != nil {
    			return err
    		}
    		// First instance added to managed VPC
    		_, err = cloudamqp.NewInstance(ctx, "instance_01", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("terraform-cloudamqp-instance-01"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// Second instance added to managed VPC
    		_, err = cloudamqp.NewInstance(ctx, "instance_02", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("terraform-cloudamqp-instance-02"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-1"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			VpcId:             vpc.ID(),
    			KeepAssociatedVpc: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Managed VPC
        var vpc = new CloudAmqp.Vpc("vpc", new()
        {
            Name = "<vpc-name>",
            Region = "amazon-web-services::us-east-1",
            Subnet = "10.56.72.0/24",
            Tags = new[] {},
        });
    
        // First instance added to managed VPC
        var instance01 = new CloudAmqp.Instance("instance_01", new()
        {
            Name = "terraform-cloudamqp-instance-01",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "terraform",
            },
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
        // Second instance added to managed VPC
        var instance02 = new CloudAmqp.Instance("instance_02", new()
        {
            Name = "terraform-cloudamqp-instance-02",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-1",
            Tags = new[]
            {
                "terraform",
            },
            VpcId = vpc.Id,
            KeepAssociatedVpc = true,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Vpc;
    import com.pulumi.cloudamqp.VpcArgs;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    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) {
            // Managed VPC
            var vpc = new Vpc("vpc", VpcArgs.builder()
                .name("<vpc-name>")
                .region("amazon-web-services::us-east-1")
                .subnet("10.56.72.0/24")
                .tags()
                .build());
    
            // First instance added to managed VPC
            var instance01 = new Instance("instance01", InstanceArgs.builder()
                .name("terraform-cloudamqp-instance-01")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags("terraform")
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
            // Second instance added to managed VPC
            var instance02 = new Instance("instance02", InstanceArgs.builder()
                .name("terraform-cloudamqp-instance-02")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-1")
                .tags("terraform")
                .vpcId(vpc.id())
                .keepAssociatedVpc(true)
                .build());
    
        }
    }
    
    resources:
      # Managed VPC
      vpc:
        type: cloudamqp:Vpc
        properties:
          name: <vpc-name>
          region: amazon-web-services::us-east-1
          subnet: 10.56.72.0/24
          tags: []
      # First instance added to managed VPC
      instance01:
        type: cloudamqp:Instance
        name: instance_01
        properties:
          name: terraform-cloudamqp-instance-01
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags:
            - terraform
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
      # Second instance added to managed VPC
      instance02:
        type: cloudamqp:Instance
        name: instance_02
        properties:
          name: terraform-cloudamqp-instance-02
          plan: bunny-1
          region: amazon-web-services::us-west-1
          tags:
            - terraform
          vpcId: ${vpc.id}
          keepAssociatedVpc: true
    

    Set attribute keep_associated_vpc to true, will keep managed VPC when deleting the instances.

    Copy settings to a new dedicated instance

    With copy settings it’s possible to create a new dedicated instance with settings such as alarms, config, etc. from another dedicated instance. This can be done by adding the copy_settings block to this resource and populate subscription_id with a CloudAMQP instance identifier from another already existing instance.

    Then add the settings to be copied over to the new dedicated instance. Settings that can be copied [alarms, config, definitions, firewall, logs, metrics, plugins]

    rmq_version argument is required when doing this action. Must match the RabbitMQ version of the dedicated instance to be copied from.

    Copy settings from a dedicated instance to a new dedicated instance
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    const instance02 = new cloudamqp.Instance("instance_02", {
        name: "terraform-cloudamqp-instance-02",
        plan: "squirrel-1",
        region: "amazon-web-services::us-west-1",
        rmqVersion: "3.12.2",
        tags: ["terraform"],
        copySettings: [{
            subscriptionId: instanceId,
            settings: [
                "alarms",
                "config",
                "definitions",
                "firewall",
                "logs",
                "metrics",
                "plugins",
            ],
        }],
    });
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    instance02 = cloudamqp.Instance("instance_02",
        name="terraform-cloudamqp-instance-02",
        plan="squirrel-1",
        region="amazon-web-services::us-west-1",
        rmq_version="3.12.2",
        tags=["terraform"],
        copy_settings=[{
            "subscription_id": instance_id,
            "settings": [
                "alarms",
                "config",
                "definitions",
                "firewall",
                "logs",
                "metrics",
                "plugins",
            ],
        }])
    
    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.NewInstance(ctx, "instance_02", &cloudamqp.InstanceArgs{
    			Name:       pulumi.String("terraform-cloudamqp-instance-02"),
    			Plan:       pulumi.String("squirrel-1"),
    			Region:     pulumi.String("amazon-web-services::us-west-1"),
    			RmqVersion: pulumi.String("3.12.2"),
    			Tags: pulumi.StringArray{
    				pulumi.String("terraform"),
    			},
    			CopySettings: cloudamqp.InstanceCopySettingArray{
    				&cloudamqp.InstanceCopySettingArgs{
    					SubscriptionId: pulumi.Any(instanceId),
    					Settings: pulumi.StringArray{
    						pulumi.String("alarms"),
    						pulumi.String("config"),
    						pulumi.String("definitions"),
    						pulumi.String("firewall"),
    						pulumi.String("logs"),
    						pulumi.String("metrics"),
    						pulumi.String("plugins"),
    					},
    				},
    			},
    		})
    		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 instance02 = new CloudAmqp.Instance("instance_02", new()
        {
            Name = "terraform-cloudamqp-instance-02",
            Plan = "squirrel-1",
            Region = "amazon-web-services::us-west-1",
            RmqVersion = "3.12.2",
            Tags = new[]
            {
                "terraform",
            },
            CopySettings = new[]
            {
                new CloudAmqp.Inputs.InstanceCopySettingArgs
                {
                    SubscriptionId = instanceId,
                    Settings = new[]
                    {
                        "alarms",
                        "config",
                        "definitions",
                        "firewall",
                        "logs",
                        "metrics",
                        "plugins",
                    },
                },
            },
        });
    
    });
    
    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.inputs.InstanceCopySettingArgs;
    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 instance02 = new Instance("instance02", InstanceArgs.builder()
                .name("terraform-cloudamqp-instance-02")
                .plan("squirrel-1")
                .region("amazon-web-services::us-west-1")
                .rmqVersion("3.12.2")
                .tags("terraform")
                .copySettings(InstanceCopySettingArgs.builder()
                    .subscriptionId(instanceId)
                    .settings(                
                        "alarms",
                        "config",
                        "definitions",
                        "firewall",
                        "logs",
                        "metrics",
                        "plugins")
                    .build())
                .build());
    
        }
    }
    
    resources:
      instance02:
        type: cloudamqp:Instance
        name: instance_02
        properties:
          name: terraform-cloudamqp-instance-02
          plan: squirrel-1
          region: amazon-web-services::us-west-1
          rmqVersion: 3.12.2
          tags:
            - terraform
          copySettings:
            - subscriptionId: ${instanceId}
              settings:
                - alarms
                - config
                - definitions
                - firewall
                - logs
                - metrics
                - plugins
    

    Create Instance Resource

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

    Constructor syntax

    new Instance(name: string, args: InstanceArgs, opts?: CustomResourceOptions);
    @overload
    def Instance(resource_name: str,
                 args: InstanceArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Instance(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 plan: Optional[str] = None,
                 region: Optional[str] = None,
                 copy_settings: Optional[Sequence[InstanceCopySettingArgs]] = None,
                 keep_associated_vpc: Optional[bool] = None,
                 name: Optional[str] = None,
                 no_default_alarms: Optional[bool] = None,
                 nodes: Optional[int] = None,
                 rmq_version: Optional[str] = None,
                 tags: Optional[Sequence[str]] = None,
                 vpc_id: Optional[int] = None,
                 vpc_subnet: Optional[str] = None)
    func NewInstance(ctx *Context, name string, args InstanceArgs, opts ...ResourceOption) (*Instance, error)
    public Instance(string name, InstanceArgs args, CustomResourceOptions? opts = null)
    public Instance(String name, InstanceArgs args)
    public Instance(String name, InstanceArgs args, CustomResourceOptions options)
    
    type: cloudamqp:Instance
    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 InstanceArgs
    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 InstanceArgs
    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 InstanceArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args InstanceArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args InstanceArgs
    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 instanceResource = new CloudAmqp.Instance("instanceResource", new()
    {
        Plan = "string",
        Region = "string",
        CopySettings = new[]
        {
            new CloudAmqp.Inputs.InstanceCopySettingArgs
            {
                Settings = new[]
                {
                    "string",
                },
                SubscriptionId = "string",
            },
        },
        KeepAssociatedVpc = false,
        Name = "string",
        NoDefaultAlarms = false,
        Nodes = 0,
        RmqVersion = "string",
        Tags = new[]
        {
            "string",
        },
        VpcId = 0,
        VpcSubnet = "string",
    });
    
    example, err := cloudamqp.NewInstance(ctx, "instanceResource", &cloudamqp.InstanceArgs{
    	Plan:   pulumi.String("string"),
    	Region: pulumi.String("string"),
    	CopySettings: cloudamqp.InstanceCopySettingArray{
    		&cloudamqp.InstanceCopySettingArgs{
    			Settings: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SubscriptionId: pulumi.String("string"),
    		},
    	},
    	KeepAssociatedVpc: pulumi.Bool(false),
    	Name:              pulumi.String("string"),
    	NoDefaultAlarms:   pulumi.Bool(false),
    	Nodes:             pulumi.Int(0),
    	RmqVersion:        pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	VpcId:     pulumi.Int(0),
    	VpcSubnet: pulumi.String("string"),
    })
    
    var instanceResource = new Instance("instanceResource", InstanceArgs.builder()
        .plan("string")
        .region("string")
        .copySettings(InstanceCopySettingArgs.builder()
            .settings("string")
            .subscriptionId("string")
            .build())
        .keepAssociatedVpc(false)
        .name("string")
        .noDefaultAlarms(false)
        .nodes(0)
        .rmqVersion("string")
        .tags("string")
        .vpcId(0)
        .vpcSubnet("string")
        .build());
    
    instance_resource = cloudamqp.Instance("instanceResource",
        plan="string",
        region="string",
        copy_settings=[{
            "settings": ["string"],
            "subscription_id": "string",
        }],
        keep_associated_vpc=False,
        name="string",
        no_default_alarms=False,
        nodes=0,
        rmq_version="string",
        tags=["string"],
        vpc_id=0,
        vpc_subnet="string")
    
    const instanceResource = new cloudamqp.Instance("instanceResource", {
        plan: "string",
        region: "string",
        copySettings: [{
            settings: ["string"],
            subscriptionId: "string",
        }],
        keepAssociatedVpc: false,
        name: "string",
        noDefaultAlarms: false,
        nodes: 0,
        rmqVersion: "string",
        tags: ["string"],
        vpcId: 0,
        vpcSubnet: "string",
    });
    
    type: cloudamqp:Instance
    properties:
        copySettings:
            - settings:
                - string
              subscriptionId: string
        keepAssociatedVpc: false
        name: string
        noDefaultAlarms: false
        nodes: 0
        plan: string
        region: string
        rmqVersion: string
        tags:
            - string
        vpcId: 0
        vpcSubnet: string
    

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

    Plan string
    The subscription plan. See available plans
    Region string

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    CopySettings List<Pulumi.CloudAmqp.Inputs.InstanceCopySetting>

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    KeepAssociatedVpc bool
    Keep associated VPC when deleting instance, default set to false.
    Name string
    Name of the CloudAMQP instance.
    NoDefaultAlarms bool
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    Nodes int

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    RmqVersion string

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    Tags List<string>
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    VpcId int
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    VpcSubnet string

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    Plan string
    The subscription plan. See available plans
    Region string

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    CopySettings []InstanceCopySettingArgs

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    KeepAssociatedVpc bool
    Keep associated VPC when deleting instance, default set to false.
    Name string
    Name of the CloudAMQP instance.
    NoDefaultAlarms bool
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    Nodes int

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    RmqVersion string

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    Tags []string
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    VpcId int
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    VpcSubnet string

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    plan String
    The subscription plan. See available plans
    region String

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    copySettings List<InstanceCopySetting>

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    keepAssociatedVpc Boolean
    Keep associated VPC when deleting instance, default set to false.
    name String
    Name of the CloudAMQP instance.
    noDefaultAlarms Boolean
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes Integer

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    rmqVersion String

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags List<String>
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    vpcId Integer
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpcSubnet String

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    plan string
    The subscription plan. See available plans
    region string

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    copySettings InstanceCopySetting[]

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    keepAssociatedVpc boolean
    Keep associated VPC when deleting instance, default set to false.
    name string
    Name of the CloudAMQP instance.
    noDefaultAlarms boolean
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes number

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    rmqVersion string

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags string[]
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    vpcId number
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpcSubnet string

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    plan str
    The subscription plan. See available plans
    region str

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    copy_settings Sequence[InstanceCopySettingArgs]

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    keep_associated_vpc bool
    Keep associated VPC when deleting instance, default set to false.
    name str
    Name of the CloudAMQP instance.
    no_default_alarms bool
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes int

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    rmq_version str

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags Sequence[str]
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    vpc_id int
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpc_subnet str

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    plan String
    The subscription plan. See available plans
    region String

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    copySettings List<Property Map>

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    keepAssociatedVpc Boolean
    Keep associated VPC when deleting instance, default set to false.
    name String
    Name of the CloudAMQP instance.
    noDefaultAlarms Boolean
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes Number

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    rmqVersion String

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags List<String>
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    vpcId Number
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpcSubnet String

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Instance resource produces the following output properties:

    Apikey string
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    Backend string
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    Dedicated bool
    Information if the CloudAMQP instance is shared or dedicated.
    Host string
    The external hostname for the CloudAMQP instance.
    HostInternal string
    The internal hostname for the CloudAMQP instance.
    Id string
    The provider-assigned unique ID for this managed resource.
    Ready bool
    Flag describing if the resource is ready
    Url string
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    Vhost string
    The virtual host used by Rabbit MQ.
    Apikey string
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    Backend string
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    Dedicated bool
    Information if the CloudAMQP instance is shared or dedicated.
    Host string
    The external hostname for the CloudAMQP instance.
    HostInternal string
    The internal hostname for the CloudAMQP instance.
    Id string
    The provider-assigned unique ID for this managed resource.
    Ready bool
    Flag describing if the resource is ready
    Url string
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    Vhost string
    The virtual host used by Rabbit MQ.
    apikey String
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend String
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    dedicated Boolean
    Information if the CloudAMQP instance is shared or dedicated.
    host String
    The external hostname for the CloudAMQP instance.
    hostInternal String
    The internal hostname for the CloudAMQP instance.
    id String
    The provider-assigned unique ID for this managed resource.
    ready Boolean
    Flag describing if the resource is ready
    url String
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost String
    The virtual host used by Rabbit MQ.
    apikey string
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend string
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    dedicated boolean
    Information if the CloudAMQP instance is shared or dedicated.
    host string
    The external hostname for the CloudAMQP instance.
    hostInternal string
    The internal hostname for the CloudAMQP instance.
    id string
    The provider-assigned unique ID for this managed resource.
    ready boolean
    Flag describing if the resource is ready
    url string
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost string
    The virtual host used by Rabbit MQ.
    apikey str
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend str
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    dedicated bool
    Information if the CloudAMQP instance is shared or dedicated.
    host str
    The external hostname for the CloudAMQP instance.
    host_internal str
    The internal hostname for the CloudAMQP instance.
    id str
    The provider-assigned unique ID for this managed resource.
    ready bool
    Flag describing if the resource is ready
    url str
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost str
    The virtual host used by Rabbit MQ.
    apikey String
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend String
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    dedicated Boolean
    Information if the CloudAMQP instance is shared or dedicated.
    host String
    The external hostname for the CloudAMQP instance.
    hostInternal String
    The internal hostname for the CloudAMQP instance.
    id String
    The provider-assigned unique ID for this managed resource.
    ready Boolean
    Flag describing if the resource is ready
    url String
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost String
    The virtual host used by Rabbit MQ.

    Look up Existing Instance Resource

    Get an existing Instance 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?: InstanceState, opts?: CustomResourceOptions): Instance
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            apikey: Optional[str] = None,
            backend: Optional[str] = None,
            copy_settings: Optional[Sequence[InstanceCopySettingArgs]] = None,
            dedicated: Optional[bool] = None,
            host: Optional[str] = None,
            host_internal: Optional[str] = None,
            keep_associated_vpc: Optional[bool] = None,
            name: Optional[str] = None,
            no_default_alarms: Optional[bool] = None,
            nodes: Optional[int] = None,
            plan: Optional[str] = None,
            ready: Optional[bool] = None,
            region: Optional[str] = None,
            rmq_version: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            url: Optional[str] = None,
            vhost: Optional[str] = None,
            vpc_id: Optional[int] = None,
            vpc_subnet: Optional[str] = None) -> Instance
    func GetInstance(ctx *Context, name string, id IDInput, state *InstanceState, opts ...ResourceOption) (*Instance, error)
    public static Instance Get(string name, Input<string> id, InstanceState? state, CustomResourceOptions? opts = null)
    public static Instance get(String name, Output<String> id, InstanceState 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:
    Apikey string
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    Backend string
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    CopySettings List<Pulumi.CloudAmqp.Inputs.InstanceCopySetting>

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    Dedicated bool
    Information if the CloudAMQP instance is shared or dedicated.
    Host string
    The external hostname for the CloudAMQP instance.
    HostInternal string
    The internal hostname for the CloudAMQP instance.
    KeepAssociatedVpc bool
    Keep associated VPC when deleting instance, default set to false.
    Name string
    Name of the CloudAMQP instance.
    NoDefaultAlarms bool
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    Nodes int

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    Plan string
    The subscription plan. See available plans
    Ready bool
    Flag describing if the resource is ready
    Region string

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    RmqVersion string

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    Tags List<string>
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    Url string
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    Vhost string
    The virtual host used by Rabbit MQ.
    VpcId int
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    VpcSubnet string

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    Apikey string
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    Backend string
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    CopySettings []InstanceCopySettingArgs

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    Dedicated bool
    Information if the CloudAMQP instance is shared or dedicated.
    Host string
    The external hostname for the CloudAMQP instance.
    HostInternal string
    The internal hostname for the CloudAMQP instance.
    KeepAssociatedVpc bool
    Keep associated VPC when deleting instance, default set to false.
    Name string
    Name of the CloudAMQP instance.
    NoDefaultAlarms bool
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    Nodes int

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    Plan string
    The subscription plan. See available plans
    Ready bool
    Flag describing if the resource is ready
    Region string

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    RmqVersion string

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    Tags []string
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    Url string
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    Vhost string
    The virtual host used by Rabbit MQ.
    VpcId int
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    VpcSubnet string

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    apikey String
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend String
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    copySettings List<InstanceCopySetting>

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    dedicated Boolean
    Information if the CloudAMQP instance is shared or dedicated.
    host String
    The external hostname for the CloudAMQP instance.
    hostInternal String
    The internal hostname for the CloudAMQP instance.
    keepAssociatedVpc Boolean
    Keep associated VPC when deleting instance, default set to false.
    name String
    Name of the CloudAMQP instance.
    noDefaultAlarms Boolean
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes Integer

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    plan String
    The subscription plan. See available plans
    ready Boolean
    Flag describing if the resource is ready
    region String

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    rmqVersion String

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags List<String>
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    url String
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost String
    The virtual host used by Rabbit MQ.
    vpcId Integer
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpcSubnet String

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    apikey string
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend string
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    copySettings InstanceCopySetting[]

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    dedicated boolean
    Information if the CloudAMQP instance is shared or dedicated.
    host string
    The external hostname for the CloudAMQP instance.
    hostInternal string
    The internal hostname for the CloudAMQP instance.
    keepAssociatedVpc boolean
    Keep associated VPC when deleting instance, default set to false.
    name string
    Name of the CloudAMQP instance.
    noDefaultAlarms boolean
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes number

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    plan string
    The subscription plan. See available plans
    ready boolean
    Flag describing if the resource is ready
    region string

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    rmqVersion string

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags string[]
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    url string
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost string
    The virtual host used by Rabbit MQ.
    vpcId number
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpcSubnet string

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    apikey str
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend str
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    copy_settings Sequence[InstanceCopySettingArgs]

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    dedicated bool
    Information if the CloudAMQP instance is shared or dedicated.
    host str
    The external hostname for the CloudAMQP instance.
    host_internal str
    The internal hostname for the CloudAMQP instance.
    keep_associated_vpc bool
    Keep associated VPC when deleting instance, default set to false.
    name str
    Name of the CloudAMQP instance.
    no_default_alarms bool
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes int

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    plan str
    The subscription plan. See available plans
    ready bool
    Flag describing if the resource is ready
    region str

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    rmq_version str

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags Sequence[str]
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    url str
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost str
    The virtual host used by Rabbit MQ.
    vpc_id int
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpc_subnet str

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    apikey String
    API key needed to communicate to CloudAMQP's second API. The second API is used to manage alarms, integration and more, full description CloudAMQP API.
    backend String
    Information if the CloudAMQP instance runs either RabbitMQ or LavinMQ.
    copySettings List<Property Map>

    Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.


    The copy_settings block consists of:

    dedicated Boolean
    Information if the CloudAMQP instance is shared or dedicated.
    host String
    The external hostname for the CloudAMQP instance.
    hostInternal String
    The internal hostname for the CloudAMQP instance.
    keepAssociatedVpc Boolean
    Keep associated VPC when deleting instance, default set to false.
    name String
    Name of the CloudAMQP instance.
    noDefaultAlarms Boolean
    Set to true to discard creating default alarms when the instance is created. Can be left out, will then use default value = false.
    nodes Number

    Number of nodes, 1, 3 or 5 depending on plan used. Only needed for legacy plans, will otherwise be computed.

    Deprecated: Legacy subscriptions plan can still change this to scale up or down the instance. New subscriptions plans use the plan to determine number of nodes. In order to change number of nodes the plan needs to be updated.

    plan String
    The subscription plan. See available plans
    ready Boolean
    Flag describing if the resource is ready
    region String

    The region to host the instance in. See instance regions

    Note: Changing region will force the instance to be destroyed and a new created in the new region. All data will be lost and a new name assigned.

    rmqVersion String

    The Rabbit MQ version. Can be left out, will then be set to default value used by CloudAMQP API.

    Note: There is not yet any support in the provider to change the RMQ version. Once it's set in the initial creation, it will remain.

    tags List<String>
    One or more tags for the CloudAMQP instance, makes it possible to categories multiple instances in console view. Default there is no tags assigned.
    url String
    The AMQP URL (uses the internal hostname if the instance was created with VPC). Has the format: amqps://{username}:{password}@{hostname}/{vhost}
    vhost String
    The virtual host used by Rabbit MQ.
    vpcId Number
    The VPC ID. Use this to create your instance in an existing VPC. See available example.
    vpcSubnet String

    Creates a dedicated VPC subnet, shouldn't overlap with other VPC subnet, default subnet used 10.56.72.0/24.

    Deprecated: Will be removed in next major version (v2.0)

    Note: extra fee will be charged when using VPC, see CloudAMQP for more information.

    Supporting Types

    InstanceCopySetting, InstanceCopySettingArgs

    Settings List<string>

    Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

    See more below, copy settings

    SubscriptionId string
    Instance identifier of the CloudAMQP instance to copy the settings from.
    Settings []string

    Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

    See more below, copy settings

    SubscriptionId string
    Instance identifier of the CloudAMQP instance to copy the settings from.
    settings List<String>

    Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

    See more below, copy settings

    subscriptionId String
    Instance identifier of the CloudAMQP instance to copy the settings from.
    settings string[]

    Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

    See more below, copy settings

    subscriptionId string
    Instance identifier of the CloudAMQP instance to copy the settings from.
    settings Sequence[str]

    Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

    See more below, copy settings

    subscription_id str
    Instance identifier of the CloudAMQP instance to copy the settings from.
    settings List<String>

    Array of one or more settings to be copied. Allowed values: [alarms, config, definitions, firewall, logs, metrics, plugins]

    See more below, copy settings

    subscriptionId String
    Instance identifier of the CloudAMQP instance to copy the settings from.

    Import

    cloudamqp_instancecan be imported using CloudAMQP internal identifier.

    $ pulumi import cloudamqp:index/instance:Instance instance <id>`
    

    To retrieve the identifier for an instance, either use CloudAMQP customer API or use the data source cloudamqp_account to list all available instances for an account.

    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