CloudAMQP

Pulumi Official
Package maintained by Pulumi
v3.9.0 published on Wednesday, Jul 20, 2022 by Pulumi

Alarm

This resource allows you to create and manage alarms to trigger based on a set of conditions. Once triggerd a notification will be sent to the assigned recipients. When creating a new instance, there will also be a set of default alarms (cpu, memory and disk) created. All default alarms uses the default recipient for notifications.

By setting no_default_alarms to true in cloudamqp.Instance. This will create the instance without default alarms and avoid the need to import them to get full control.

Available for all subscription plans, but lemurand tigerare limited to fewer alarm types. The limited types supported can be seen in the table below in Alarm Type Reference.

Alarm Type reference

Supported alarm types: cpu, memory, disk, queue, connection, flow, consumer, netsplit, server_unreachable, notice

Required arguments for all alarms: instance_id, type, enabled
Optional argument for all alarms: tags, queue_regex, vhost_regex

NameTypeSharedDedicatedRequired arguments
CPUcpu-time_threshold, value_threshold
Memorymemory-time_threshold, value_threshold
Disk spacedisk-time_threshold, value_threshold
Queuequeuetime_threshold, value_threshold, queue_regex, vhost_regex, message_type
Connectionconnectiontime_threshold, value_threshold
Connection flowflowtime_threshold, value_threshold
Consumerconsumertime_threshold, value_threshold, queue, vhost
Netsplitnetsplit-time_threshold
Server unreachableserver_unreachable-time_threshold
Noticenotice

Dependency

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

Example Usage

using Pulumi;
using CloudAmqp = Pulumi.CloudAmqp;

class MyStack : Stack
{
    public MyStack()
    {
        // New recipient
        var recipient01 = new CloudAmqp.Notification("recipient01", new CloudAmqp.NotificationArgs
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            Type = "email",
            Value = "alarm@example.com",
        });
        // New cpu alarm
        var cpuAlarm = new CloudAmqp.Alarm("cpuAlarm", new CloudAmqp.AlarmArgs
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            Type = "cpu",
            Enabled = true,
            ReminderInterval = 600,
            ValueThreshold = 95,
            TimeThreshold = 600,
            Recipients = 
            {
                recipient01.Id,
            },
        });
        // New memory alarm
        var memoryAlarm = new CloudAmqp.Alarm("memoryAlarm", new CloudAmqp.AlarmArgs
        {
            InstanceId = cloudamqp_instance.Instance.Id,
            Type = "memory",
            Enabled = true,
            ReminderInterval = 600,
            ValueThreshold = 95,
            TimeThreshold = 600,
            Recipients = 
            {
                recipient01.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 {
		recipient01, err := cloudamqp.NewNotification(ctx, "recipient01", &cloudamqp.NotificationArgs{
			InstanceId: pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:       pulumi.String("email"),
			Value:      pulumi.String("alarm@example.com"),
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewAlarm(ctx, "cpuAlarm", &cloudamqp.AlarmArgs{
			InstanceId:       pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:             pulumi.String("cpu"),
			Enabled:          pulumi.Bool(true),
			ReminderInterval: pulumi.Int(600),
			ValueThreshold:   pulumi.Int(95),
			TimeThreshold:    pulumi.Int(600),
			Recipients: pulumi.IntArray{
				recipient01.ID(),
			},
		})
		if err != nil {
			return err
		}
		_, err = cloudamqp.NewAlarm(ctx, "memoryAlarm", &cloudamqp.AlarmArgs{
			InstanceId:       pulumi.Any(cloudamqp_instance.Instance.Id),
			Type:             pulumi.String("memory"),
			Enabled:          pulumi.Bool(true),
			ReminderInterval: pulumi.Int(600),
			ValueThreshold:   pulumi.Int(95),
			TimeThreshold:    pulumi.Int(600),
			Recipients: pulumi.IntArray{
				recipient01.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

Coming soon!

import pulumi
import pulumi_cloudamqp as cloudamqp

# New recipient
recipient01 = cloudamqp.Notification("recipient01",
    instance_id=cloudamqp_instance["instance"]["id"],
    type="email",
    value="alarm@example.com")
# New cpu alarm
cpu_alarm = cloudamqp.Alarm("cpuAlarm",
    instance_id=cloudamqp_instance["instance"]["id"],
    type="cpu",
    enabled=True,
    reminder_interval=600,
    value_threshold=95,
    time_threshold=600,
    recipients=[recipient01.id])
# New memory alarm
memory_alarm = cloudamqp.Alarm("memoryAlarm",
    instance_id=cloudamqp_instance["instance"]["id"],
    type="memory",
    enabled=True,
    reminder_interval=600,
    value_threshold=95,
    time_threshold=600,
    recipients=[recipient01.id])
import * as pulumi from "@pulumi/pulumi";
import * as cloudamqp from "@pulumi/cloudamqp";

// New recipient
const recipient01 = new cloudamqp.Notification("recipient01", {
    instanceId: cloudamqp_instance.instance.id,
    type: "email",
    value: "alarm@example.com",
});
// New cpu alarm
const cpuAlarm = new cloudamqp.Alarm("cpuAlarm", {
    instanceId: cloudamqp_instance.instance.id,
    type: "cpu",
    enabled: true,
    reminderInterval: 600,
    valueThreshold: 95,
    timeThreshold: 600,
    recipients: [recipient01.id],
});
// New memory alarm
const memoryAlarm = new cloudamqp.Alarm("memoryAlarm", {
    instanceId: cloudamqp_instance.instance.id,
    type: "memory",
    enabled: true,
    reminderInterval: 600,
    valueThreshold: 95,
    timeThreshold: 600,
    recipients: [recipient01.id],
});

Coming soon!

Create a Alarm Resource

new Alarm(name: string, args: AlarmArgs, opts?: CustomResourceOptions);
@overload
def Alarm(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          enabled: Optional[bool] = None,
          instance_id: Optional[int] = None,
          message_type: Optional[str] = None,
          queue_regex: Optional[str] = None,
          recipients: Optional[Sequence[int]] = None,
          reminder_interval: Optional[int] = None,
          time_threshold: Optional[int] = None,
          type: Optional[str] = None,
          value_calculation: Optional[str] = None,
          value_threshold: Optional[int] = None,
          vhost_regex: Optional[str] = None)
@overload
def Alarm(resource_name: str,
          args: AlarmArgs,
          opts: Optional[ResourceOptions] = None)
func NewAlarm(ctx *Context, name string, args AlarmArgs, opts ...ResourceOption) (*Alarm, error)
public Alarm(string name, AlarmArgs args, CustomResourceOptions? opts = null)
public Alarm(String name, AlarmArgs args)
public Alarm(String name, AlarmArgs args, CustomResourceOptions options)
type: cloudamqp:Alarm
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args AlarmArgs
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 AlarmArgs
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 AlarmArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AlarmArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AlarmArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Alarm Resource Properties

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

Inputs

The Alarm resource accepts the following input properties:

Enabled bool

Enable or disable the alarm to trigger.

InstanceId int

The CloudAMQP instance ID.

Recipients List<int>

Identifier for recipient to be notified. Leave empty to notify all recipients.

Type string

The alarm type, see valid options below.

MessageType string

Message type (total, unacked, ready) used by queue alarm type.

QueueRegex string

Regex for which queue to check.

ReminderInterval int

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

TimeThreshold int

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

ValueCalculation string

Disk value threshold calculation, fixed, percentage of disk space remaining.

ValueThreshold int

The value to trigger the alarm for.

VhostRegex string

Regex for which vhost to check

Enabled bool

Enable or disable the alarm to trigger.

InstanceId int

The CloudAMQP instance ID.

Recipients []int

Identifier for recipient to be notified. Leave empty to notify all recipients.

Type string

The alarm type, see valid options below.

MessageType string

Message type (total, unacked, ready) used by queue alarm type.

QueueRegex string

Regex for which queue to check.

ReminderInterval int

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

TimeThreshold int

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

ValueCalculation string

Disk value threshold calculation, fixed, percentage of disk space remaining.

ValueThreshold int

The value to trigger the alarm for.

VhostRegex string

Regex for which vhost to check

enabled Boolean

Enable or disable the alarm to trigger.

instanceId Integer

The CloudAMQP instance ID.

recipients List<Integer>

Identifier for recipient to be notified. Leave empty to notify all recipients.

type String

The alarm type, see valid options below.

messageType String

Message type (total, unacked, ready) used by queue alarm type.

queueRegex String

Regex for which queue to check.

reminderInterval Integer

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

timeThreshold Integer

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

valueCalculation String

Disk value threshold calculation, fixed, percentage of disk space remaining.

valueThreshold Integer

The value to trigger the alarm for.

vhostRegex String

Regex for which vhost to check

enabled boolean

Enable or disable the alarm to trigger.

instanceId number

The CloudAMQP instance ID.

recipients number[]

Identifier for recipient to be notified. Leave empty to notify all recipients.

type string

The alarm type, see valid options below.

messageType string

Message type (total, unacked, ready) used by queue alarm type.

queueRegex string

Regex for which queue to check.

reminderInterval number

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

timeThreshold number

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

valueCalculation string

Disk value threshold calculation, fixed, percentage of disk space remaining.

valueThreshold number

The value to trigger the alarm for.

vhostRegex string

Regex for which vhost to check

enabled bool

Enable or disable the alarm to trigger.

instance_id int

The CloudAMQP instance ID.

recipients Sequence[int]

Identifier for recipient to be notified. Leave empty to notify all recipients.

type str

The alarm type, see valid options below.

message_type str

Message type (total, unacked, ready) used by queue alarm type.

queue_regex str

Regex for which queue to check.

reminder_interval int

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

time_threshold int

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

value_calculation str

Disk value threshold calculation, fixed, percentage of disk space remaining.

value_threshold int

The value to trigger the alarm for.

vhost_regex str

Regex for which vhost to check

enabled Boolean

Enable or disable the alarm to trigger.

instanceId Number

The CloudAMQP instance ID.

recipients List<Number>

Identifier for recipient to be notified. Leave empty to notify all recipients.

type String

The alarm type, see valid options below.

messageType String

Message type (total, unacked, ready) used by queue alarm type.

queueRegex String

Regex for which queue to check.

reminderInterval Number

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

timeThreshold Number

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

valueCalculation String

Disk value threshold calculation, fixed, percentage of disk space remaining.

valueThreshold Number

The value to trigger the alarm for.

vhostRegex String

Regex for which vhost to check

Outputs

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

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up an Existing Alarm Resource

Get an existing Alarm 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?: AlarmState, opts?: CustomResourceOptions): Alarm
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        enabled: Optional[bool] = None,
        instance_id: Optional[int] = None,
        message_type: Optional[str] = None,
        queue_regex: Optional[str] = None,
        recipients: Optional[Sequence[int]] = None,
        reminder_interval: Optional[int] = None,
        time_threshold: Optional[int] = None,
        type: Optional[str] = None,
        value_calculation: Optional[str] = None,
        value_threshold: Optional[int] = None,
        vhost_regex: Optional[str] = None) -> Alarm
func GetAlarm(ctx *Context, name string, id IDInput, state *AlarmState, opts ...ResourceOption) (*Alarm, error)
public static Alarm Get(string name, Input<string> id, AlarmState? state, CustomResourceOptions? opts = null)
public static Alarm get(String name, Output<String> id, AlarmState 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:
Enabled bool

Enable or disable the alarm to trigger.

InstanceId int

The CloudAMQP instance ID.

MessageType string

Message type (total, unacked, ready) used by queue alarm type.

QueueRegex string

Regex for which queue to check.

Recipients List<int>

Identifier for recipient to be notified. Leave empty to notify all recipients.

ReminderInterval int

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

TimeThreshold int

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

Type string

The alarm type, see valid options below.

ValueCalculation string

Disk value threshold calculation, fixed, percentage of disk space remaining.

ValueThreshold int

The value to trigger the alarm for.

VhostRegex string

Regex for which vhost to check

Enabled bool

Enable or disable the alarm to trigger.

InstanceId int

The CloudAMQP instance ID.

MessageType string

Message type (total, unacked, ready) used by queue alarm type.

QueueRegex string

Regex for which queue to check.

Recipients []int

Identifier for recipient to be notified. Leave empty to notify all recipients.

ReminderInterval int

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

TimeThreshold int

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

Type string

The alarm type, see valid options below.

ValueCalculation string

Disk value threshold calculation, fixed, percentage of disk space remaining.

ValueThreshold int

The value to trigger the alarm for.

VhostRegex string

Regex for which vhost to check

enabled Boolean

Enable or disable the alarm to trigger.

instanceId Integer

The CloudAMQP instance ID.

messageType String

Message type (total, unacked, ready) used by queue alarm type.

queueRegex String

Regex for which queue to check.

recipients List<Integer>

Identifier for recipient to be notified. Leave empty to notify all recipients.

reminderInterval Integer

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

timeThreshold Integer

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

type String

The alarm type, see valid options below.

valueCalculation String

Disk value threshold calculation, fixed, percentage of disk space remaining.

valueThreshold Integer

The value to trigger the alarm for.

vhostRegex String

Regex for which vhost to check

enabled boolean

Enable or disable the alarm to trigger.

instanceId number

The CloudAMQP instance ID.

messageType string

Message type (total, unacked, ready) used by queue alarm type.

queueRegex string

Regex for which queue to check.

recipients number[]

Identifier for recipient to be notified. Leave empty to notify all recipients.

reminderInterval number

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

timeThreshold number

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

type string

The alarm type, see valid options below.

valueCalculation string

Disk value threshold calculation, fixed, percentage of disk space remaining.

valueThreshold number

The value to trigger the alarm for.

vhostRegex string

Regex for which vhost to check

enabled bool

Enable or disable the alarm to trigger.

instance_id int

The CloudAMQP instance ID.

message_type str

Message type (total, unacked, ready) used by queue alarm type.

queue_regex str

Regex for which queue to check.

recipients Sequence[int]

Identifier for recipient to be notified. Leave empty to notify all recipients.

reminder_interval int

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

time_threshold int

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

type str

The alarm type, see valid options below.

value_calculation str

Disk value threshold calculation, fixed, percentage of disk space remaining.

value_threshold int

The value to trigger the alarm for.

vhost_regex str

Regex for which vhost to check

enabled Boolean

Enable or disable the alarm to trigger.

instanceId Number

The CloudAMQP instance ID.

messageType String

Message type (total, unacked, ready) used by queue alarm type.

queueRegex String

Regex for which queue to check.

recipients List<Number>

Identifier for recipient to be notified. Leave empty to notify all recipients.

reminderInterval Number

The reminder interval (in seconds) to resend the alarm if not resolved. Set to 0 for no reminders. The Default is 0.

timeThreshold Number

The time interval (in seconds) the value_threshold should be active before triggering an alarm.

type String

The alarm type, see valid options below.

valueCalculation String

Disk value threshold calculation, fixed, percentage of disk space remaining.

valueThreshold Number

The value to trigger the alarm for.

vhostRegex String

Regex for which vhost to check

Import

cloudamqp_alarm can be imported using CloudAMQP internal identifier of the alarm together (CSV separated) with the instance identifier. To retrieve the alarm identifier, use CloudAMQP API

 $ pulumi import cloudamqp:index/alarm:Alarm alarm <id>,<instance_id>`

Package Details

Repository
https://github.com/pulumi/pulumi-cloudamqp
License
Apache-2.0
Notes

This Pulumi package is based on the cloudamqp Terraform Provider.