published on Wednesday, Apr 29, 2026 by Pulumi
published on Wednesday, Apr 29, 2026 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 plans.
Example Usage
Shared and dedicated instances running LavinMQ
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
// Minimum free lemming instance running LavinMQ
const lemurInstance = new cloudamqp.Instance("lemur_instance", {
name: "cloudamqp-free-instance-01",
plan: "lemming",
region: "amazon-web-services::us-west-1",
tags: ["lavinmq"],
});
// Minimum free lemur instance running RabbitMQ
const lemmingInstance = new cloudamqp.Instance("lemming_instance", {
name: "cloudamqp-free-instance-02",
plan: "lemur",
region: "amazon-web-services::us-west-1",
tags: ["rabbitmq"],
});
// Dedicated penguin instance running LavinMQ
const penguinInstance = new cloudamqp.Instance("penguin_instance", {
name: "terraform-cloudamqp-instance-01",
plan: "penguin-1",
region: "amazon-web-services::us-west-1",
tags: ["lavinmq"],
});
// Dedicated bunny instance running RabbitMQ
const bunnyInstance = new cloudamqp.Instance("bunny_instance", {
name: "terraform-cloudamqp-instance-02",
plan: "bunny-1",
region: "amazon-web-services::us-west-1",
tags: ["rabbitmq"],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
# Minimum free lemming instance running LavinMQ
lemur_instance = cloudamqp.Instance("lemur_instance",
name="cloudamqp-free-instance-01",
plan="lemming",
region="amazon-web-services::us-west-1",
tags=["lavinmq"])
# Minimum free lemur instance running RabbitMQ
lemming_instance = cloudamqp.Instance("lemming_instance",
name="cloudamqp-free-instance-02",
plan="lemur",
region="amazon-web-services::us-west-1",
tags=["rabbitmq"])
# Dedicated penguin instance running LavinMQ
penguin_instance = cloudamqp.Instance("penguin_instance",
name="terraform-cloudamqp-instance-01",
plan="penguin-1",
region="amazon-web-services::us-west-1",
tags=["lavinmq"])
# Dedicated bunny instance running RabbitMQ
bunny_instance = cloudamqp.Instance("bunny_instance",
name="terraform-cloudamqp-instance-02",
plan="bunny-1",
region="amazon-web-services::us-west-1",
tags=["rabbitmq"])
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 lemming instance running LavinMQ
_, err := cloudamqp.NewInstance(ctx, "lemur_instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("cloudamqp-free-instance-01"),
Plan: pulumi.String("lemming"),
Region: pulumi.String("amazon-web-services::us-west-1"),
Tags: pulumi.StringArray{
pulumi.String("lavinmq"),
},
})
if err != nil {
return err
}
// Minimum free lemur instance running RabbitMQ
_, err = cloudamqp.NewInstance(ctx, "lemming_instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("cloudamqp-free-instance-02"),
Plan: pulumi.String("lemur"),
Region: pulumi.String("amazon-web-services::us-west-1"),
Tags: pulumi.StringArray{
pulumi.String("rabbitmq"),
},
})
if err != nil {
return err
}
// Dedicated penguin instance running LavinMQ
_, err = cloudamqp.NewInstance(ctx, "penguin_instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("terraform-cloudamqp-instance-01"),
Plan: pulumi.String("penguin-1"),
Region: pulumi.String("amazon-web-services::us-west-1"),
Tags: pulumi.StringArray{
pulumi.String("lavinmq"),
},
})
if err != nil {
return err
}
// Dedicated bunny instance running RabbitMQ
_, err = cloudamqp.NewInstance(ctx, "bunny_instance", &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("rabbitmq"),
},
})
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 lemming instance running LavinMQ
var lemurInstance = new CloudAmqp.Index.Instance("lemur_instance", new()
{
Name = "cloudamqp-free-instance-01",
Plan = "lemming",
Region = "amazon-web-services::us-west-1",
Tags = new[]
{
"lavinmq",
},
});
// Minimum free lemur instance running RabbitMQ
var lemmingInstance = new CloudAmqp.Index.Instance("lemming_instance", new()
{
Name = "cloudamqp-free-instance-02",
Plan = "lemur",
Region = "amazon-web-services::us-west-1",
Tags = new[]
{
"rabbitmq",
},
});
// Dedicated penguin instance running LavinMQ
var penguinInstance = new CloudAmqp.Index.Instance("penguin_instance", new()
{
Name = "terraform-cloudamqp-instance-01",
Plan = "penguin-1",
Region = "amazon-web-services::us-west-1",
Tags = new[]
{
"lavinmq",
},
});
// Dedicated bunny instance running RabbitMQ
var bunnyInstance = new CloudAmqp.Index.Instance("bunny_instance", new()
{
Name = "terraform-cloudamqp-instance-02",
Plan = "bunny-1",
Region = "amazon-web-services::us-west-1",
Tags = new[]
{
"rabbitmq",
},
});
});
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 lemming instance running LavinMQ
var lemurInstance = new Instance("lemurInstance", InstanceArgs.builder()
.name("cloudamqp-free-instance-01")
.plan("lemming")
.region("amazon-web-services::us-west-1")
.tags("lavinmq")
.build());
// Minimum free lemur instance running RabbitMQ
var lemmingInstance = new Instance("lemmingInstance", InstanceArgs.builder()
.name("cloudamqp-free-instance-02")
.plan("lemur")
.region("amazon-web-services::us-west-1")
.tags("rabbitmq")
.build());
// Dedicated penguin instance running LavinMQ
var penguinInstance = new Instance("penguinInstance", InstanceArgs.builder()
.name("terraform-cloudamqp-instance-01")
.plan("penguin-1")
.region("amazon-web-services::us-west-1")
.tags("lavinmq")
.build());
// Dedicated bunny instance running RabbitMQ
var bunnyInstance = new Instance("bunnyInstance", InstanceArgs.builder()
.name("terraform-cloudamqp-instance-02")
.plan("bunny-1")
.region("amazon-web-services::us-west-1")
.tags("rabbitmq")
.build());
}
}
resources:
# Minimum free lemming instance running LavinMQ
lemurInstance:
type: cloudamqp:Instance
name: lemur_instance
properties:
name: cloudamqp-free-instance-01
plan: lemming
region: amazon-web-services::us-west-1
tags:
- lavinmq
# Minimum free lemur instance running RabbitMQ
lemmingInstance:
type: cloudamqp:Instance
name: lemming_instance
properties:
name: cloudamqp-free-instance-02
plan: lemur
region: amazon-web-services::us-west-1
tags:
- rabbitmq
# Dedicated penguin instance running LavinMQ
penguinInstance:
type: cloudamqp:Instance
name: penguin_instance
properties:
name: terraform-cloudamqp-instance-01
plan: penguin-1
region: amazon-web-services::us-west-1
tags:
- lavinmq
# Dedicated bunny instance running RabbitMQ
bunnyInstance:
type: cloudamqp:Instance
name: bunny_instance
properties:
name: terraform-cloudamqp-instance-02
plan: bunny-1
region: amazon-web-services::us-west-1
tags:
- rabbitmq
Dedicated instance using attribute vpcSubnet 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: "penguin-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="penguin-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("penguin-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.Index.Instance("instance", new()
{
Name = "terraform-cloudamqp-instance",
Plan = "penguin-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("penguin-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: penguin-1
region: amazon-web-services::us-west-1
tags:
- terraform
vpcSubnet: 10.56.72.0/24
Dedicated instance using attribute vpcSubnet 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: "penguin-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="penguin-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("penguin-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.Index.Instance("instance_01", new()
{
Name = "terraform-cloudamqp-instance-01",
Plan = "penguin-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("penguin-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: penguin-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 vpcId to the managed VPC identifier. To keep the managed VPC
when deleting the instance, set attribute keepAssociatedVpc 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: "penguin-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="penguin-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("penguin-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.Index.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.Index.Instance("instance_01", new()
{
Name = "terraform-cloudamqp-instance-01",
Plan = "penguin-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("penguin-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: penguin-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: "penguin-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: "penguin-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="penguin-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="penguin-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("penguin-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("penguin-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.Index.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.Index.Instance("instance_01", new()
{
Name = "terraform-cloudamqp-instance-01",
Plan = "penguin-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.Index.Instance("instance_02", new()
{
Name = "terraform-cloudamqp-instance-02",
Plan = "penguin-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("penguin-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("penguin-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: penguin-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: penguin-1
region: amazon-web-services::us-west-1
tags:
- terraform
vpcId: ${vpc.id}
keepAssociatedVpc: true
Set attribute keepAssociatedVpc to true, will keep managed VPC when deleting the instances.
Dedicated instance with preferred AZs
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
const instance = new cloudamqp.Instance("instance", {
name: "terraform-cloudamqp-instance",
plan: "penguin-3",
region: "amazon-web-services::us-east-1",
tags: ["terraform"],
preferredAzs: [
"use1-az1",
"use1-az2",
"use1-az3",
],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
instance = cloudamqp.Instance("instance",
name="terraform-cloudamqp-instance",
plan="penguin-3",
region="amazon-web-services::us-east-1",
tags=["terraform"],
preferred_azs=[
"use1-az1",
"use1-az2",
"use1-az3",
])
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("penguin-3"),
Region: pulumi.String("amazon-web-services::us-east-1"),
Tags: pulumi.StringArray{
pulumi.String("terraform"),
},
PreferredAzs: pulumi.StringArray{
pulumi.String("use1-az1"),
pulumi.String("use1-az2"),
pulumi.String("use1-az3"),
},
})
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.Index.Instance("instance", new()
{
Name = "terraform-cloudamqp-instance",
Plan = "penguin-3",
Region = "amazon-web-services::us-east-1",
Tags = new[]
{
"terraform",
},
PreferredAzs = new[]
{
"use1-az1",
"use1-az2",
"use1-az3",
},
});
});
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("penguin-3")
.region("amazon-web-services::us-east-1")
.tags("terraform")
.preferredAzs(
"use1-az1",
"use1-az2",
"use1-az3")
.build());
}
}
resources:
instance:
type: cloudamqp:Instance
properties:
name: terraform-cloudamqp-instance
plan: penguin-3
region: amazon-web-services::us-east-1
tags:
- terraform
preferredAzs:
- use1-az1
- use1-az2
- use1-az3
Provider-to-provider configuration, from v1.44.0
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
import * as lavinmq from "@pulumi/lavinmq";
const instance = new cloudamqp.Instance("instance", {
name: "terraform-cloudamqp-instance",
plan: "penguin-1",
region: "amazon-web-services::us-east-1",
tags: ["terraform"],
});
const newVhost = new lavinmq.index.Vhost("new_vhost", {name: "new_vhost"});
import pulumi
import pulumi_cloudamqp as cloudamqp
import pulumi_lavinmq as lavinmq
instance = cloudamqp.Instance("instance",
name="terraform-cloudamqp-instance",
plan="penguin-1",
region="amazon-web-services::us-east-1",
tags=["terraform"])
new_vhost = lavinmq.Vhost("new_vhost", name=new_vhost)
package main
import (
"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
"github.com/pulumi/pulumi-lavinmq/sdk/go/lavinmq"
"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("penguin-1"),
Region: pulumi.String("amazon-web-services::us-east-1"),
Tags: pulumi.StringArray{
pulumi.String("terraform"),
},
})
if err != nil {
return err
}
_, err = lavinmq.NewVhost(ctx, "new_vhost", &lavinmq.VhostArgs{
Name: "new_vhost",
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using CloudAmqp = Pulumi.CloudAmqp;
using Lavinmq = Pulumi.Lavinmq;
return await Deployment.RunAsync(() =>
{
var instance = new CloudAmqp.Index.Instance("instance", new()
{
Name = "terraform-cloudamqp-instance",
Plan = "penguin-1",
Region = "amazon-web-services::us-east-1",
Tags = new[]
{
"terraform",
},
});
var newVhost = new Lavinmq.Index.Vhost("new_vhost", new()
{
Name = "new_vhost",
});
});
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.lavinmq.Vhost;
import com.pulumi.lavinmq.VhostArgs;
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("penguin-1")
.region("amazon-web-services::us-east-1")
.tags("terraform")
.build());
var newVhost = new Vhost("newVhost", VhostArgs.builder()
.name("new_vhost")
.build());
}
}
resources:
instance:
type: cloudamqp:Instance
properties:
name: terraform-cloudamqp-instance
plan: penguin-1
region: amazon-web-services::us-east-1
tags:
- terraform
newVhost:
type: lavinmq:Vhost
name: new_vhost
properties:
name: new_vhost
LavinMQ shared to dedicated in-place upgrade, from v1.45.0
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
// Initial shared LavinMQ instance
const instance = new cloudamqp.Instance("instance", {
name: "terraform-cloudamqp-instance",
plan: "lemming",
region: "amazon-web-services::eu-north-1",
tags: ["terraform"],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
# Initial shared LavinMQ instance
instance = cloudamqp.Instance("instance",
name="terraform-cloudamqp-instance",
plan="lemming",
region="amazon-web-services::eu-north-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 {
// Initial shared LavinMQ instance
_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("terraform-cloudamqp-instance"),
Plan: pulumi.String("lemming"),
Region: pulumi.String("amazon-web-services::eu-north-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(() =>
{
// Initial shared LavinMQ instance
var instance = new CloudAmqp.Index.Instance("instance", new()
{
Name = "terraform-cloudamqp-instance",
Plan = "lemming",
Region = "amazon-web-services::eu-north-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) {
// Initial shared LavinMQ instance
var instance = new Instance("instance", InstanceArgs.builder()
.name("terraform-cloudamqp-instance")
.plan("lemming")
.region("amazon-web-services::eu-north-1")
.tags("terraform")
.build());
}
}
resources:
# Initial shared LavinMQ instance
instance:
type: cloudamqp:Instance
properties:
name: terraform-cloudamqp-instance
plan: lemming
region: amazon-web-services::eu-north-1
tags:
- terraform
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
// Upgraded to dedicated LavinMQ — region can change within the same cloud provider
// No resource replacement occurs; the instance ID is preserved
const instance = new cloudamqp.Instance("instance", {
name: "terraform-cloudamqp-instance",
plan: "wolverine-1",
region: "amazon-web-services::eu-west-1",
tags: ["terraform"],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
# Upgraded to dedicated LavinMQ — region can change within the same cloud provider
# No resource replacement occurs; the instance ID is preserved
instance = cloudamqp.Instance("instance",
name="terraform-cloudamqp-instance",
plan="wolverine-1",
region="amazon-web-services::eu-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 {
// Upgraded to dedicated LavinMQ — region can change within the same cloud provider
// No resource replacement occurs; the instance ID is preserved
_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("terraform-cloudamqp-instance"),
Plan: pulumi.String("wolverine-1"),
Region: pulumi.String("amazon-web-services::eu-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(() =>
{
// Upgraded to dedicated LavinMQ — region can change within the same cloud provider
// No resource replacement occurs; the instance ID is preserved
var instance = new CloudAmqp.Index.Instance("instance", new()
{
Name = "terraform-cloudamqp-instance",
Plan = "wolverine-1",
Region = "amazon-web-services::eu-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) {
// Upgraded to dedicated LavinMQ — region can change within the same cloud provider
// No resource replacement occurs; the instance ID is preserved
var instance = new Instance("instance", InstanceArgs.builder()
.name("terraform-cloudamqp-instance")
.plan("wolverine-1")
.region("amazon-web-services::eu-west-1")
.tags("terraform")
.build());
}
}
resources:
# Upgraded to dedicated LavinMQ — region can change within the same cloud provider
# No resource replacement occurs; the instance ID is preserved
instance:
type: cloudamqp:Instance
properties:
name: terraform-cloudamqp-instance
plan: wolverine-1
region: amazon-web-services::eu-west-1
tags:
- terraform
LavinMQ shared to dedicated upgrade
From v1.45.0 it is possible to upgrade a LavinMQ shared instance (lemming or ermine) in-place
to any dedicated LavinMQ plan without destroying and recreating the resource. The instance ID is
preserved and existing definitions are kept. To upgrade, change the plan argument and apply.
This upgrade path is only available for LavinMQ instances. RabbitMQ shared instances cannot be upgraded in-place to dedicated plans.
Optionally, the following attributes can be changed in the same pulumi up during the
upgrade: region (within the same cloud provider), vpcId, vpcSubnet, and preferredAz.
See the LavinMQ shared to dedicated guide for full details and more examples.
Upgrade LavinMQ shared instance to dedicated, from v1.45.0
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
// Initial shared LavinMQ instance
const instance = new cloudamqp.Instance("instance", {
name: "instance",
plan: "lemming",
region: "amazon-web-services::eu-north-1",
tags: ["terraform"],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
# Initial shared LavinMQ instance
instance = cloudamqp.Instance("instance",
name="instance",
plan="lemming",
region="amazon-web-services::eu-north-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 {
// Initial shared LavinMQ instance
_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("instance"),
Plan: pulumi.String("lemming"),
Region: pulumi.String("amazon-web-services::eu-north-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(() =>
{
// Initial shared LavinMQ instance
var instance = new CloudAmqp.Index.Instance("instance", new()
{
Name = "instance",
Plan = "lemming",
Region = "amazon-web-services::eu-north-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) {
// Initial shared LavinMQ instance
var instance = new Instance("instance", InstanceArgs.builder()
.name("instance")
.plan("lemming")
.region("amazon-web-services::eu-north-1")
.tags("terraform")
.build());
}
}
resources:
# Initial shared LavinMQ instance
instance:
type: cloudamqp:Instance
properties:
name: instance
plan: lemming
region: amazon-web-services::eu-north-1
tags:
- terraform
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
// Upgraded to dedicated — instance ID is preserved, no resource replacement
const instance = new cloudamqp.Instance("instance", {
name: "instance",
plan: "wolverine-1",
region: "amazon-web-services::eu-west-1",
tags: ["terraform"],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
# Upgraded to dedicated — instance ID is preserved, no resource replacement
instance = cloudamqp.Instance("instance",
name="instance",
plan="wolverine-1",
region="amazon-web-services::eu-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 {
// Upgraded to dedicated — instance ID is preserved, no resource replacement
_, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("instance"),
Plan: pulumi.String("wolverine-1"),
Region: pulumi.String("amazon-web-services::eu-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(() =>
{
// Upgraded to dedicated — instance ID is preserved, no resource replacement
var instance = new CloudAmqp.Index.Instance("instance", new()
{
Name = "instance",
Plan = "wolverine-1",
Region = "amazon-web-services::eu-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) {
// Upgraded to dedicated — instance ID is preserved, no resource replacement
var instance = new Instance("instance", InstanceArgs.builder()
.name("instance")
.plan("wolverine-1")
.region("amazon-web-services::eu-west-1")
.tags("terraform")
.build());
}
}
resources:
# Upgraded to dedicated — instance ID is preserved, no resource replacement
instance:
type: cloudamqp:Instance
properties:
name: instance
plan: wolverine-1
region: amazon-web-services::eu-west-1
tags:
- terraform
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 copySettings block
to this resource and populate subscriptionId with a CloudAMQP instance identifier from another
already existing instance.
rmqVersionargument is required when doing this action. Must match the broker version of the dedicated instance to be copied from.
Then add the settings to be copied over to the new dedicated instance. Settings that can be copied
Settings supported by LavinMQ
Allowed values: alarms, definitions, firewall, metrics
Copy settings from a dedicated instance to a new dedicated instance
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
const penguinInstance = new cloudamqp.Instance("penguin_instance", {
name: "terraform-cloudamqp-instance-01",
plan: "penguin-1",
region: "amazon-web-services::us-west-1",
rmqVersion: "2.2.0",
tags: ["terraform"],
copySettings: [{
subscriptionId: instanceId,
settings: [
"alarms",
"definitions",
"firewall",
"metrics",
],
}],
});
import pulumi
import pulumi_cloudamqp as cloudamqp
penguin_instance = cloudamqp.Instance("penguin_instance",
name="terraform-cloudamqp-instance-01",
plan="penguin-1",
region="amazon-web-services::us-west-1",
rmq_version="2.2.0",
tags=["terraform"],
copy_settings=[{
"subscription_id": instance_id,
"settings": [
"alarms",
"definitions",
"firewall",
"metrics",
],
}])
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, "penguin_instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("terraform-cloudamqp-instance-01"),
Plan: pulumi.String("penguin-1"),
Region: pulumi.String("amazon-web-services::us-west-1"),
RmqVersion: pulumi.String("2.2.0"),
Tags: pulumi.StringArray{
pulumi.String("terraform"),
},
CopySettings: cloudamqp.InstanceCopySettingArray{
&cloudamqp.InstanceCopySettingArgs{
SubscriptionId: pulumi.Any(instanceId),
Settings: pulumi.StringArray{
pulumi.String("alarms"),
pulumi.String("definitions"),
pulumi.String("firewall"),
pulumi.String("metrics"),
},
},
},
})
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 penguinInstance = new CloudAmqp.Index.Instance("penguin_instance", new()
{
Name = "terraform-cloudamqp-instance-01",
Plan = "penguin-1",
Region = "amazon-web-services::us-west-1",
RmqVersion = "2.2.0",
Tags = new[]
{
"terraform",
},
CopySettings = new[]
{
new CloudAmqp.Inputs.InstanceCopySettingArgs
{
SubscriptionId = instanceId,
Settings = new[]
{
"alarms",
"definitions",
"firewall",
"metrics",
},
},
},
});
});
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 penguinInstance = new Instance("penguinInstance", InstanceArgs.builder()
.name("terraform-cloudamqp-instance-01")
.plan("penguin-1")
.region("amazon-web-services::us-west-1")
.rmqVersion("2.2.0")
.tags("terraform")
.copySettings(InstanceCopySettingArgs.builder()
.subscriptionId(instanceId)
.settings(
"alarms",
"definitions",
"firewall",
"metrics")
.build())
.build());
}
}
resources:
penguinInstance:
type: cloudamqp:Instance
name: penguin_instance
properties:
name: terraform-cloudamqp-instance-01
plan: penguin-1
region: amazon-web-services::us-west-1
rmqVersion: 2.2.0
tags:
- terraform
copySettings:
- subscriptionId: ${instanceId}
settings:
- alarms
- definitions
- firewall
- metrics
Settings supported by RabbitMQ
Allowed values: alarms, config, definitions, firewall, logs, metrics, plugins
Copy settings from a dedicated instance to a new dedicated instance
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";
const bunnyInstance = new cloudamqp.Instance("bunny_instance", {
name: "terraform-cloudamqp-instance-02",
plan: "bunny-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
bunny_instance = cloudamqp.Instance("bunny_instance",
name="terraform-cloudamqp-instance-02",
plan="bunny-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, "bunny_instance", &cloudamqp.InstanceArgs{
Name: pulumi.String("terraform-cloudamqp-instance-02"),
Plan: pulumi.String("bunny-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 bunnyInstance = new CloudAmqp.Index.Instance("bunny_instance", new()
{
Name = "terraform-cloudamqp-instance-02",
Plan = "bunny-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 bunnyInstance = new Instance("bunnyInstance", InstanceArgs.builder()
.name("terraform-cloudamqp-instance-02")
.plan("bunny-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:
bunnyInstance:
type: cloudamqp:Instance
name: bunny_instance
properties:
name: terraform-cloudamqp-instance-02
plan: bunny-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,
preferred_azs: Optional[Sequence[str]] = 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.
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].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- Region string
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- Copy
Settings List<Pulumi.Cloud Amqp. Inputs. Instance Copy Setting> - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- Keep
Associated boolVpc - Keep associated VPC when deleting instance. Default set to false.
- Name string
- Name of the CloudAMQP instance.
- No
Default boolAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- Preferred
Azs List<string> The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- Rmq
Version 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.
- 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.
- Vpc
Id int - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- Vpc
Subnet 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].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- Region string
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- Copy
Settings []InstanceCopy Setting Args - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- Keep
Associated boolVpc - Keep associated VPC when deleting instance. Default set to false.
- Name string
- Name of the CloudAMQP instance.
- No
Default boolAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- Preferred
Azs []string The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- Rmq
Version 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.
- []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.
- Vpc
Id int - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- Vpc
Subnet 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].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- region String
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- copy
Settings List<InstanceCopy Setting> - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- keep
Associated BooleanVpc - Keep associated VPC when deleting instance. Default set to false.
- name String
- Name of the CloudAMQP instance.
- no
Default BooleanAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- preferred
Azs List<String> The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- rmq
Version 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.
- 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.
- vpc
Id Integer - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- vpc
Subnet 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].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- region string
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- copy
Settings InstanceCopy Setting[] - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- keep
Associated booleanVpc - Keep associated VPC when deleting instance. Default set to false.
- name string
- Name of the CloudAMQP instance.
- no
Default booleanAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- preferred
Azs string[] The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- rmq
Version 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.
- 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.
- vpc
Id number - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- vpc
Subnet 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].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- region str
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- copy_
settings Sequence[InstanceCopy Setting Args] - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- keep_
associated_ boolvpc - Keep associated VPC when deleting instance. Default set to false.
- name str
- Name of the CloudAMQP instance.
- no_
default_ boolalarms - Set to true to not create default alarms
- 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
planneeds to be updated.- preferred_
azs Sequence[str] The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- 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.
- 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].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- region String
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- copy
Settings List<Property Map> - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- keep
Associated BooleanVpc - Keep associated VPC when deleting instance. Default set to false.
- name String
- Name of the CloudAMQP instance.
- no
Default BooleanAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- preferred
Azs List<String> The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- rmq
Version 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.
- 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.
- vpc
Id Number - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- vpc
Subnet 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
- (Sensitive) 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.
- Credentials Dictionary<string, string>
- (Sensitive) Broker credentials block with information extracted from URL.
- Dedicated bool
- Information if the CloudAMQP instance is shared or dedicated.
- Host string
- The external hostname for the CloudAMQP instance.
- Host
Internal 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
- (Sensitive) 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
- (Sensitive) 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.
- Credentials map[string]string
- (Sensitive) Broker credentials block with information extracted from URL.
- Dedicated bool
- Information if the CloudAMQP instance is shared or dedicated.
- Host string
- The external hostname for the CloudAMQP instance.
- Host
Internal 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
- (Sensitive) 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
- (Sensitive) 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.
- credentials Map<String,String>
- (Sensitive) Broker credentials block with information extracted from URL.
- dedicated Boolean
- Information if the CloudAMQP instance is shared or dedicated.
- host String
- The external hostname for the CloudAMQP instance.
- host
Internal 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
- (Sensitive) 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
- (Sensitive) 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.
- credentials {[key: string]: string}
- (Sensitive) Broker credentials block with information extracted from URL.
- dedicated boolean
- Information if the CloudAMQP instance is shared or dedicated.
- host string
- The external hostname for the CloudAMQP instance.
- host
Internal 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
- (Sensitive) 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
- (Sensitive) 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.
- credentials Mapping[str, str]
- (Sensitive) Broker credentials block with information extracted from URL.
- 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
- (Sensitive) 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
- (Sensitive) 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.
- credentials Map<String>
- (Sensitive) Broker credentials block with information extracted from URL.
- dedicated Boolean
- Information if the CloudAMQP instance is shared or dedicated.
- host String
- The external hostname for the CloudAMQP instance.
- host
Internal 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
- (Sensitive) 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,
credentials: Optional[Mapping[str, str]] = 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,
preferred_azs: Optional[Sequence[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) -> Instancefunc 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)resources: _: type: cloudamqp:Instance get: id: ${id}- 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.
- Apikey string
- (Sensitive) 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.
- Copy
Settings List<Pulumi.Cloud Amqp. Inputs. Instance Copy Setting> - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- Credentials Dictionary<string, string>
- (Sensitive) Broker credentials block with information extracted from URL.
- Dedicated bool
- Information if the CloudAMQP instance is shared or dedicated.
- Host string
- The external hostname for the CloudAMQP instance.
- Host
Internal string - The internal hostname for the CloudAMQP instance.
- Keep
Associated boolVpc - Keep associated VPC when deleting instance. Default set to false.
- Name string
- Name of the CloudAMQP instance.
- No
Default boolAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- Plan string
The subscription plan. See available [plans].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- Preferred
Azs List<string> The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- Ready bool
- Flag describing if the resource is ready
- Region string
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- Rmq
Version 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.
- 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
- (Sensitive) 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.
- Vpc
Id int - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- Vpc
Subnet 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
- (Sensitive) 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.
- Copy
Settings []InstanceCopy Setting Args - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- Credentials map[string]string
- (Sensitive) Broker credentials block with information extracted from URL.
- Dedicated bool
- Information if the CloudAMQP instance is shared or dedicated.
- Host string
- The external hostname for the CloudAMQP instance.
- Host
Internal string - The internal hostname for the CloudAMQP instance.
- Keep
Associated boolVpc - Keep associated VPC when deleting instance. Default set to false.
- Name string
- Name of the CloudAMQP instance.
- No
Default boolAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- Plan string
The subscription plan. See available [plans].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- Preferred
Azs []string The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- Ready bool
- Flag describing if the resource is ready
- Region string
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- Rmq
Version 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.
- []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
- (Sensitive) 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.
- Vpc
Id int - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- Vpc
Subnet 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
- (Sensitive) 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.
- copy
Settings List<InstanceCopy Setting> - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- credentials Map<String,String>
- (Sensitive) Broker credentials block with information extracted from URL.
- dedicated Boolean
- Information if the CloudAMQP instance is shared or dedicated.
- host String
- The external hostname for the CloudAMQP instance.
- host
Internal String - The internal hostname for the CloudAMQP instance.
- keep
Associated BooleanVpc - Keep associated VPC when deleting instance. Default set to false.
- name String
- Name of the CloudAMQP instance.
- no
Default BooleanAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- plan String
The subscription plan. See available [plans].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- preferred
Azs List<String> The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- ready Boolean
- Flag describing if the resource is ready
- region String
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- rmq
Version 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.
- 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
- (Sensitive) 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.
- vpc
Id Integer - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- vpc
Subnet 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
- (Sensitive) 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.
- copy
Settings InstanceCopy Setting[] - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- credentials {[key: string]: string}
- (Sensitive) Broker credentials block with information extracted from URL.
- dedicated boolean
- Information if the CloudAMQP instance is shared or dedicated.
- host string
- The external hostname for the CloudAMQP instance.
- host
Internal string - The internal hostname for the CloudAMQP instance.
- keep
Associated booleanVpc - Keep associated VPC when deleting instance. Default set to false.
- name string
- Name of the CloudAMQP instance.
- no
Default booleanAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- plan string
The subscription plan. See available [plans].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- preferred
Azs string[] The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- ready boolean
- Flag describing if the resource is ready
- region string
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- rmq
Version 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.
- 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
- (Sensitive) 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.
- vpc
Id number - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- vpc
Subnet 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
- (Sensitive) 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[InstanceCopy Setting Args] - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- credentials Mapping[str, str]
- (Sensitive) Broker credentials block with information extracted from URL.
- 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_ boolvpc - Keep associated VPC when deleting instance. Default set to false.
- name str
- Name of the CloudAMQP instance.
- no_
default_ boolalarms - Set to true to not create default alarms
- 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
planneeds to be updated.- plan str
The subscription plan. See available [plans].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- preferred_
azs Sequence[str] The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- ready bool
- Flag describing if the resource is ready
- region str
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- 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.
- 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
- (Sensitive) 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
- (Sensitive) 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.
- copy
Settings List<Property Map> - Copy settings from one CloudAMQP instance to a new. Consists of the block documented below.
- credentials Map<String>
- (Sensitive) Broker credentials block with information extracted from URL.
- dedicated Boolean
- Information if the CloudAMQP instance is shared or dedicated.
- host String
- The external hostname for the CloudAMQP instance.
- host
Internal String - The internal hostname for the CloudAMQP instance.
- keep
Associated BooleanVpc - Keep associated VPC when deleting instance. Default set to false.
- name String
- Name of the CloudAMQP instance.
- no
Default BooleanAlarms - Set to true to not create default alarms
- 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
planneeds to be updated.- plan String
The subscription plan. See available [plans].
Note: Changing between a LavinMQ shared plan (
lemming,ermine) and a dedicated LavinMQ plan will not force resource replacement. The instance ID is preserved and existing definitions are kept. See [LavinMQ shared to dedicated] for details. All other plan type changes (e.g. shared to dedicated for RabbitMQ) will force a new resource.- preferred
Azs List<String> The AZs to place your nodes in. Each entry corresponds to a server in your cluster, so for a 3 node cluster, provide 3 AZs in the list.
Note:
preferredAzcan only be set upon instance creation as of now and the result is not guaranteed. On eventual failed resource allocation in the zone, CloudAMQP will fallback to a different zone.- AWS: AZ id in [aws-availability-zones]
- Azure: 1,2 or 3 in supported regions [azure-region-list]
- GCP: zones in [gcp-region-zones]
- Digital Ocean: Slug in [do-regional-availability]
The
copySettingsblock consists of:- ready Boolean
- Flag describing if the resource is ready
- region String
The region to host the instance in. See available [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.
Note: Exception: when upgrading a LavinMQ shared instance to a dedicated plan, the region can change without destroying the resource, as long as the cloud provider stays the same (e.g.
amazon-web-services→amazon-web-servicesis allowed, butamazon-web-services→google-compute-engineis not).- rmq
Version 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.
- 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
- (Sensitive) 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.
- vpc
Id Number - The VPC ID. Use this to create your instance in an existing VPC. See available [example].
- vpc
Subnet 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].
- Subscription
Id 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].
- Subscription
Id 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].
- subscription
Id 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].
- subscription
Id 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].
- subscription
Id String - Instance identifier of the CloudAMQP instance to copy the settings from.
Package Details
- Repository
- CloudAMQP pulumi/pulumi-cloudamqp
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
cloudamqpTerraform Provider.
published on Wednesday, Apr 29, 2026 by Pulumi
