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

cloudamqp.ExtraDiskSize

Explore with Pulumi AI

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

    This resource allows you to resize the disk with additional storage capacity.

    Before v1.25.0: Only available for Amazon Web Services (AWS) without downtime.

    From v1.25.0: Google Compute Engine (GCE) and Azure available.

    Introducing a new optional argument called allow_downtime. Leaving it out or set it to false will proceed to try and resize the disk without downtime, available for AWS and GCE. While Azure only support swapping the disk, and this argument needs to be set to true.

    allow_downtime also makes it possible to circumvent the time rate limit or shrinking the disk.

    Cloud Platformallow_downtime=falseallow_downtime=true
    amazon-web-servicesExpand current disk*Try to expand, otherwise swap
    google-compute-engineExpand current disk*Try to expand, otherwise swap
    azure-armNot supportedSwap disk to new size

    *Preferable method to use.

    WARNING: Due to restrictions from cloud providers, it’s only possible to resize the disk every 8 hours. Unless the allow_downtime=true is set, then the disk will be swapped for a new.

    Pricing is available at cloudamqp.com and only available for dedicated subscription plans.

    Example Usage

    AWS extra disk size (before v1.25.0)
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Instance
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-2",
    });
    // Resize disk with 25 extra GB
    const resizeDisk = new cloudamqp.ExtraDiskSize("resize_disk", {
        instanceId: instance.id,
        extraDiskSize: 25,
    });
    // Optional, refresh nodes info after disk resize by adding dependency
    // to cloudamqp_extra_disk_size.resize_disk resource
    const nodes = instance.id.apply(id => cloudamqp.getNodesOutput({
        instanceId: id,
    }));
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Instance
    instance = cloudamqp.Instance("instance",
        name="Instance",
        plan="bunny-1",
        region="amazon-web-services::us-west-2")
    # Resize disk with 25 extra GB
    resize_disk = cloudamqp.ExtraDiskSize("resize_disk",
        instance_id=instance.id,
        extra_disk_size=25)
    # Optional, refresh nodes info after disk resize by adding dependency
    # to cloudamqp_extra_disk_size.resize_disk resource
    nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Instance
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("Instance"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-2"),
    		})
    		if err != nil {
    			return err
    		}
    		// Resize disk with 25 extra GB
    		_, err = cloudamqp.NewExtraDiskSize(ctx, "resize_disk", &cloudamqp.ExtraDiskSizeArgs{
    			InstanceId:    instance.ID(),
    			ExtraDiskSize: pulumi.Int(25),
    		})
    		if err != nil {
    			return err
    		}
    		// Optional, refresh nodes info after disk resize by adding dependency
    		// to cloudamqp_extra_disk_size.resize_disk resource
    		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
    			return cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
    				InstanceId: id,
    			}, nil))), nil
    		}).(cloudamqp.GetNodesResultOutput)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Instance
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-2",
        });
    
        // Resize disk with 25 extra GB
        var resizeDisk = new CloudAmqp.ExtraDiskSize("resize_disk", new()
        {
            InstanceId = instance.Id,
            ExtraDiskSizeGb = 25,
        });
    
        // Optional, refresh nodes info after disk resize by adding dependency
        // to cloudamqp_extra_disk_size.resize_disk resource
        var nodes = CloudAmqp.GetNodes.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.ExtraDiskSize;
    import com.pulumi.cloudamqp.ExtraDiskSizeArgs;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetNodesArgs;
    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) {
            // Instance
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-2")
                .build());
    
            // Resize disk with 25 extra GB
            var resizeDisk = new ExtraDiskSize("resizeDisk", ExtraDiskSizeArgs.builder()
                .instanceId(instance.id())
                .extraDiskSize(25)
                .build());
    
            // Optional, refresh nodes info after disk resize by adding dependency
            // to cloudamqp_extra_disk_size.resize_disk resource
            final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    resources:
      # Instance
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance
          plan: bunny-1
          region: amazon-web-services::us-west-2
      # Resize disk with 25 extra GB
      resizeDisk:
        type: cloudamqp:ExtraDiskSize
        name: resize_disk
        properties:
          instanceId: ${instance.id}
          extraDiskSize: 25
    variables:
      # Optional, refresh nodes info after disk resize by adding dependency
      # to cloudamqp_extra_disk_size.resize_disk resource
      nodes:
        fn::invoke:
          Function: cloudamqp:getNodes
          Arguments:
            instanceId: ${instance.id}
    
    AWS extra disk size without downtime
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Instance
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance",
        plan: "bunny-1",
        region: "amazon-web-services::us-west-2",
    });
    // Resize disk with 25 extra GB, without downtime
    const resizeDisk = new cloudamqp.ExtraDiskSize("resize_disk", {
        instanceId: instance.id,
        extraDiskSize: 25,
    });
    // Optional, refresh nodes info after disk resize by adding dependency
    // to cloudamqp_extra_disk_size.resize_disk resource
    const nodes = instance.id.apply(id => cloudamqp.getNodesOutput({
        instanceId: id,
    }));
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Instance
    instance = cloudamqp.Instance("instance",
        name="Instance",
        plan="bunny-1",
        region="amazon-web-services::us-west-2")
    # Resize disk with 25 extra GB, without downtime
    resize_disk = cloudamqp.ExtraDiskSize("resize_disk",
        instance_id=instance.id,
        extra_disk_size=25)
    # Optional, refresh nodes info after disk resize by adding dependency
    # to cloudamqp_extra_disk_size.resize_disk resource
    nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Instance
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("Instance"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("amazon-web-services::us-west-2"),
    		})
    		if err != nil {
    			return err
    		}
    		// Resize disk with 25 extra GB, without downtime
    		_, err = cloudamqp.NewExtraDiskSize(ctx, "resize_disk", &cloudamqp.ExtraDiskSizeArgs{
    			InstanceId:    instance.ID(),
    			ExtraDiskSize: pulumi.Int(25),
    		})
    		if err != nil {
    			return err
    		}
    		// Optional, refresh nodes info after disk resize by adding dependency
    		// to cloudamqp_extra_disk_size.resize_disk resource
    		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
    			return cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
    				InstanceId: id,
    			}, nil))), nil
    		}).(cloudamqp.GetNodesResultOutput)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Instance
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance",
            Plan = "bunny-1",
            Region = "amazon-web-services::us-west-2",
        });
    
        // Resize disk with 25 extra GB, without downtime
        var resizeDisk = new CloudAmqp.ExtraDiskSize("resize_disk", new()
        {
            InstanceId = instance.Id,
            ExtraDiskSizeGb = 25,
        });
    
        // Optional, refresh nodes info after disk resize by adding dependency
        // to cloudamqp_extra_disk_size.resize_disk resource
        var nodes = CloudAmqp.GetNodes.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.ExtraDiskSize;
    import com.pulumi.cloudamqp.ExtraDiskSizeArgs;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetNodesArgs;
    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) {
            // Instance
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance")
                .plan("bunny-1")
                .region("amazon-web-services::us-west-2")
                .build());
    
            // Resize disk with 25 extra GB, without downtime
            var resizeDisk = new ExtraDiskSize("resizeDisk", ExtraDiskSizeArgs.builder()
                .instanceId(instance.id())
                .extraDiskSize(25)
                .build());
    
            // Optional, refresh nodes info after disk resize by adding dependency
            // to cloudamqp_extra_disk_size.resize_disk resource
            final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    resources:
      # Instance
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance
          plan: bunny-1
          region: amazon-web-services::us-west-2
      # Resize disk with 25 extra GB, without downtime
      resizeDisk:
        type: cloudamqp:ExtraDiskSize
        name: resize_disk
        properties:
          instanceId: ${instance.id}
          extraDiskSize: 25
    variables:
      # Optional, refresh nodes info after disk resize by adding dependency
      # to cloudamqp_extra_disk_size.resize_disk resource
      nodes:
        fn::invoke:
          Function: cloudamqp:getNodes
          Arguments:
            instanceId: ${instance.id}
    
    GCE extra disk size without downtime
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Instance
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance",
        plan: "bunny-1",
        region: "google-compute-engine::us-central1",
    });
    // Resize disk with 25 extra GB, without downtime
    const resizeDisk = new cloudamqp.ExtraDiskSize("resize_disk", {
        instanceId: instance.id,
        extraDiskSize: 25,
    });
    // Optional, refresh nodes info after disk resize by adding dependency
    // to cloudamqp_extra_disk_size.resize_disk resource
    const nodes = instance.id.apply(id => cloudamqp.getNodesOutput({
        instanceId: id,
    }));
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Instance
    instance = cloudamqp.Instance("instance",
        name="Instance",
        plan="bunny-1",
        region="google-compute-engine::us-central1")
    # Resize disk with 25 extra GB, without downtime
    resize_disk = cloudamqp.ExtraDiskSize("resize_disk",
        instance_id=instance.id,
        extra_disk_size=25)
    # Optional, refresh nodes info after disk resize by adding dependency
    # to cloudamqp_extra_disk_size.resize_disk resource
    nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Instance
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("Instance"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("google-compute-engine::us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		// Resize disk with 25 extra GB, without downtime
    		_, err = cloudamqp.NewExtraDiskSize(ctx, "resize_disk", &cloudamqp.ExtraDiskSizeArgs{
    			InstanceId:    instance.ID(),
    			ExtraDiskSize: pulumi.Int(25),
    		})
    		if err != nil {
    			return err
    		}
    		// Optional, refresh nodes info after disk resize by adding dependency
    		// to cloudamqp_extra_disk_size.resize_disk resource
    		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
    			return cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
    				InstanceId: id,
    			}, nil))), nil
    		}).(cloudamqp.GetNodesResultOutput)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Instance
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance",
            Plan = "bunny-1",
            Region = "google-compute-engine::us-central1",
        });
    
        // Resize disk with 25 extra GB, without downtime
        var resizeDisk = new CloudAmqp.ExtraDiskSize("resize_disk", new()
        {
            InstanceId = instance.Id,
            ExtraDiskSizeGb = 25,
        });
    
        // Optional, refresh nodes info after disk resize by adding dependency
        // to cloudamqp_extra_disk_size.resize_disk resource
        var nodes = CloudAmqp.GetNodes.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.ExtraDiskSize;
    import com.pulumi.cloudamqp.ExtraDiskSizeArgs;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetNodesArgs;
    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) {
            // Instance
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance")
                .plan("bunny-1")
                .region("google-compute-engine::us-central1")
                .build());
    
            // Resize disk with 25 extra GB, without downtime
            var resizeDisk = new ExtraDiskSize("resizeDisk", ExtraDiskSizeArgs.builder()
                .instanceId(instance.id())
                .extraDiskSize(25)
                .build());
    
            // Optional, refresh nodes info after disk resize by adding dependency
            // to cloudamqp_extra_disk_size.resize_disk resource
            final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    resources:
      # Instance
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance
          plan: bunny-1
          region: google-compute-engine::us-central1
      # Resize disk with 25 extra GB, without downtime
      resizeDisk:
        type: cloudamqp:ExtraDiskSize
        name: resize_disk
        properties:
          instanceId: ${instance.id}
          extraDiskSize: 25
    variables:
      # Optional, refresh nodes info after disk resize by adding dependency
      # to cloudamqp_extra_disk_size.resize_disk resource
      nodes:
        fn::invoke:
          Function: cloudamqp:getNodes
          Arguments:
            instanceId: ${instance.id}
    
    Azure extra disk size with downtime
    import * as pulumi from "@pulumi/pulumi";
    import * as cloudamqp from "@pulumi/cloudamqp";
    
    // Instance
    const instance = new cloudamqp.Instance("instance", {
        name: "Instance",
        plan: "bunny-1",
        region: "azure-arm::centralus",
    });
    // Resize disk with 25 extra GB, with downtime
    const resizeDisk = new cloudamqp.ExtraDiskSize("resize_disk", {
        instanceId: instance.id,
        extraDiskSize: 25,
        allowDowntime: true,
    });
    // Optional, refresh nodes info after disk resize by adding dependency
    // to cloudamqp_extra_disk_size.resize_disk resource
    const nodes = instance.id.apply(id => cloudamqp.getNodesOutput({
        instanceId: id,
    }));
    
    import pulumi
    import pulumi_cloudamqp as cloudamqp
    
    # Instance
    instance = cloudamqp.Instance("instance",
        name="Instance",
        plan="bunny-1",
        region="azure-arm::centralus")
    # Resize disk with 25 extra GB, with downtime
    resize_disk = cloudamqp.ExtraDiskSize("resize_disk",
        instance_id=instance.id,
        extra_disk_size=25,
        allow_downtime=True)
    # Optional, refresh nodes info after disk resize by adding dependency
    # to cloudamqp_extra_disk_size.resize_disk resource
    nodes = instance.id.apply(lambda id: cloudamqp.get_nodes_output(instance_id=id))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-cloudamqp/sdk/v3/go/cloudamqp"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Instance
    		instance, err := cloudamqp.NewInstance(ctx, "instance", &cloudamqp.InstanceArgs{
    			Name:   pulumi.String("Instance"),
    			Plan:   pulumi.String("bunny-1"),
    			Region: pulumi.String("azure-arm::centralus"),
    		})
    		if err != nil {
    			return err
    		}
    		// Resize disk with 25 extra GB, with downtime
    		_, err = cloudamqp.NewExtraDiskSize(ctx, "resize_disk", &cloudamqp.ExtraDiskSizeArgs{
    			InstanceId:    instance.ID(),
    			ExtraDiskSize: pulumi.Int(25),
    			AllowDowntime: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		// Optional, refresh nodes info after disk resize by adding dependency
    		// to cloudamqp_extra_disk_size.resize_disk resource
    		_ = instance.ID().ApplyT(func(id string) (cloudamqp.GetNodesResult, error) {
    			return cloudamqp.GetNodesResult(interface{}(cloudamqp.GetNodesOutput(ctx, cloudamqp.GetNodesOutputArgs{
    				InstanceId: id,
    			}, nil))), nil
    		}).(cloudamqp.GetNodesResultOutput)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using CloudAmqp = Pulumi.CloudAmqp;
    
    return await Deployment.RunAsync(() => 
    {
        // Instance
        var instance = new CloudAmqp.Instance("instance", new()
        {
            Name = "Instance",
            Plan = "bunny-1",
            Region = "azure-arm::centralus",
        });
    
        // Resize disk with 25 extra GB, with downtime
        var resizeDisk = new CloudAmqp.ExtraDiskSize("resize_disk", new()
        {
            InstanceId = instance.Id,
            ExtraDiskSizeGb = 25,
            AllowDowntime = true,
        });
    
        // Optional, refresh nodes info after disk resize by adding dependency
        // to cloudamqp_extra_disk_size.resize_disk resource
        var nodes = CloudAmqp.GetNodes.Invoke(new()
        {
            InstanceId = instance.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cloudamqp.Instance;
    import com.pulumi.cloudamqp.InstanceArgs;
    import com.pulumi.cloudamqp.ExtraDiskSize;
    import com.pulumi.cloudamqp.ExtraDiskSizeArgs;
    import com.pulumi.cloudamqp.CloudamqpFunctions;
    import com.pulumi.cloudamqp.inputs.GetNodesArgs;
    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) {
            // Instance
            var instance = new Instance("instance", InstanceArgs.builder()
                .name("Instance")
                .plan("bunny-1")
                .region("azure-arm::centralus")
                .build());
    
            // Resize disk with 25 extra GB, with downtime
            var resizeDisk = new ExtraDiskSize("resizeDisk", ExtraDiskSizeArgs.builder()
                .instanceId(instance.id())
                .extraDiskSize(25)
                .allowDowntime(true)
                .build());
    
            // Optional, refresh nodes info after disk resize by adding dependency
            // to cloudamqp_extra_disk_size.resize_disk resource
            final var nodes = CloudamqpFunctions.getNodes(GetNodesArgs.builder()
                .instanceId(instance.id())
                .build());
    
        }
    }
    
    resources:
      # Instance
      instance:
        type: cloudamqp:Instance
        properties:
          name: Instance
          plan: bunny-1
          region: azure-arm::centralus
      # Resize disk with 25 extra GB, with downtime
      resizeDisk:
        type: cloudamqp:ExtraDiskSize
        name: resize_disk
        properties:
          instanceId: ${instance.id}
          extraDiskSize: 25
          allowDowntime: true
    variables:
      # Optional, refresh nodes info after disk resize by adding dependency
      # to cloudamqp_extra_disk_size.resize_disk resource
      nodes:
        fn::invoke:
          Function: cloudamqp:getNodes
          Arguments:
            instanceId: ${instance.id}
    

    Attributes reference

    All attributes reference are computed

    • id - The identifier for this resource.
    • nodes - An array of node information. Each nodes block consists of the fields documented below.

    The nodes block consist of

    • name - Name of the node.
    • disk_size - Subscription plan disk size
    • additional_disk_size - Additional added disk size

    Note: Total disk size = disk_size + additional_disk_size

    Dependency

    This data source depends on CloudAMQP instance identifier, cloudamqp_instance.instance.id.

    Create ExtraDiskSize Resource

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

    Constructor syntax

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

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var extraDiskSizeResource = new CloudAmqp.ExtraDiskSize("extraDiskSizeResource", new()
    {
        ExtraDiskSizeGb = 0,
        InstanceId = 0,
        AllowDowntime = false,
        Sleep = 0,
        Timeout = 0,
    });
    
    example, err := cloudamqp.NewExtraDiskSize(ctx, "extraDiskSizeResource", &cloudamqp.ExtraDiskSizeArgs{
    	ExtraDiskSize: pulumi.Int(0),
    	InstanceId:    pulumi.Int(0),
    	AllowDowntime: pulumi.Bool(false),
    	Sleep:         pulumi.Int(0),
    	Timeout:       pulumi.Int(0),
    })
    
    var extraDiskSizeResource = new ExtraDiskSize("extraDiskSizeResource", ExtraDiskSizeArgs.builder()
        .extraDiskSize(0)
        .instanceId(0)
        .allowDowntime(false)
        .sleep(0)
        .timeout(0)
        .build());
    
    extra_disk_size_resource = cloudamqp.ExtraDiskSize("extraDiskSizeResource",
        extra_disk_size=0,
        instance_id=0,
        allow_downtime=False,
        sleep=0,
        timeout=0)
    
    const extraDiskSizeResource = new cloudamqp.ExtraDiskSize("extraDiskSizeResource", {
        extraDiskSize: 0,
        instanceId: 0,
        allowDowntime: false,
        sleep: 0,
        timeout: 0,
    });
    
    type: cloudamqp:ExtraDiskSize
    properties:
        allowDowntime: false
        extraDiskSize: 0
        instanceId: 0
        sleep: 0
        timeout: 0
    

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

    ExtraDiskSizeGb int
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    InstanceId int
    The CloudAMQP instance ID.
    AllowDowntime bool
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    Sleep int
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    Timeout int

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    ExtraDiskSize int
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    InstanceId int
    The CloudAMQP instance ID.
    AllowDowntime bool
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    Sleep int
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    Timeout int

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    extraDiskSize Integer
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instanceId Integer
    The CloudAMQP instance ID.
    allowDowntime Boolean
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    sleep Integer
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout Integer

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    extraDiskSize number
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instanceId number
    The CloudAMQP instance ID.
    allowDowntime boolean
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    sleep number
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout number

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    extra_disk_size int
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instance_id int
    The CloudAMQP instance ID.
    allow_downtime bool
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    sleep int
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout int

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    extraDiskSize Number
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instanceId Number
    The CloudAMQP instance ID.
    allowDowntime Boolean
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    sleep Number
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout Number

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Nodes List<Pulumi.CloudAmqp.Outputs.ExtraDiskSizeNode>
    Id string
    The provider-assigned unique ID for this managed resource.
    Nodes []ExtraDiskSizeNode
    id String
    The provider-assigned unique ID for this managed resource.
    nodes List<ExtraDiskSizeNode>
    id string
    The provider-assigned unique ID for this managed resource.
    nodes ExtraDiskSizeNode[]
    id str
    The provider-assigned unique ID for this managed resource.
    nodes Sequence[ExtraDiskSizeNode]
    id String
    The provider-assigned unique ID for this managed resource.
    nodes List<Property Map>

    Look up Existing ExtraDiskSize Resource

    Get an existing ExtraDiskSize 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?: ExtraDiskSizeState, opts?: CustomResourceOptions): ExtraDiskSize
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allow_downtime: Optional[bool] = None,
            extra_disk_size: Optional[int] = None,
            instance_id: Optional[int] = None,
            nodes: Optional[Sequence[ExtraDiskSizeNodeArgs]] = None,
            sleep: Optional[int] = None,
            timeout: Optional[int] = None) -> ExtraDiskSize
    func GetExtraDiskSize(ctx *Context, name string, id IDInput, state *ExtraDiskSizeState, opts ...ResourceOption) (*ExtraDiskSize, error)
    public static ExtraDiskSize Get(string name, Input<string> id, ExtraDiskSizeState? state, CustomResourceOptions? opts = null)
    public static ExtraDiskSize get(String name, Output<String> id, ExtraDiskSizeState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AllowDowntime bool
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    ExtraDiskSizeGb int
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    InstanceId int
    The CloudAMQP instance ID.
    Nodes List<Pulumi.CloudAmqp.Inputs.ExtraDiskSizeNode>
    Sleep int
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    Timeout int

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    AllowDowntime bool
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    ExtraDiskSize int
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    InstanceId int
    The CloudAMQP instance ID.
    Nodes []ExtraDiskSizeNodeArgs
    Sleep int
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    Timeout int

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    allowDowntime Boolean
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    extraDiskSize Integer
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instanceId Integer
    The CloudAMQP instance ID.
    nodes List<ExtraDiskSizeNode>
    sleep Integer
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout Integer

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    allowDowntime boolean
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    extraDiskSize number
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instanceId number
    The CloudAMQP instance ID.
    nodes ExtraDiskSizeNode[]
    sleep number
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout number

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    allow_downtime bool
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    extra_disk_size int
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instance_id int
    The CloudAMQP instance ID.
    nodes Sequence[ExtraDiskSizeNodeArgs]
    sleep int
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout int

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    allowDowntime Boolean
    When resizing the disk, allow cluster downtime if necessary. Default set to false. Required when hosting in Azure.
    extraDiskSize Number
    Extra disk size in GB. Supported values: 0, 25, 50, 100, 250, 500, 1000, 2000
    instanceId Number
    The CloudAMQP instance ID.
    nodes List<Property Map>
    sleep Number
    Configurable sleep time in seconds between retries for resizing the disk. Default set to 30 seconds.
    timeout Number

    Configurable timeout time in seconds for resizing the disk. Default set to 1800 seconds.

    Note: allow_downtime, sleep, timeout only available from v1.25.0.

    Supporting Types

    ExtraDiskSizeNode, ExtraDiskSizeNodeArgs

    AdditionalDiskSize int
    Additional added disk size
    DiskSize int
    Subscription plan disk size
    Name string
    AdditionalDiskSize int
    Additional added disk size
    DiskSize int
    Subscription plan disk size
    Name string
    additionalDiskSize Integer
    Additional added disk size
    diskSize Integer
    Subscription plan disk size
    name String
    additionalDiskSize number
    Additional added disk size
    diskSize number
    Subscription plan disk size
    name string
    additional_disk_size int
    Additional added disk size
    disk_size int
    Subscription plan disk size
    name str
    additionalDiskSize Number
    Additional added disk size
    diskSize Number
    Subscription plan disk size
    name String

    Import

    Not possible to import this resource.

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

    Package Details

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