Skip to content

AlarmModel ​

The AlarmModel resource lets you create and manage AWS IoTEvents AlarmModels which are used to monitor and respond to events in your IoT environment.

Minimal Example ​

Create a basic AlarmModel with required properties and one optional property.

ts
import AWS from "alchemy/aws/control";

const basicAlarmModel = await AWS.IoTEvents.AlarmModel("basicAlarmModel", {
  AlarmRule: {
    // Define your alarm rule here
    // Example: A condition that checks if a temperature exceeds a threshold
    condition: "temperature > 75", 
    // Define the actions that should be taken when the rule is triggered
    actions: [{ 
      // Example action: Send notification 
      notify: "user@example.com"
    }]
  },
  RoleArn: "arn:aws:iam::123456789012:role/iotevents-role",
  AlarmModelName: "BasicAlarmModel"
});

Advanced Configuration ​

Configure an AlarmModel with additional properties such as severity and alarm capabilities.

ts
const advancedAlarmModel = await AWS.IoTEvents.AlarmModel("advancedAlarmModel", {
  AlarmRule: {
    condition: "temperature > 80",
    actions: [{ 
      notify: "admin@example.com"
    }]
  },
  RoleArn: "arn:aws:iam::123456789012:role/iotevents-role",
  AlarmModelName: "AdvancedAlarmModel",
  Severity: 3,
  AlarmCapabilities: {
    autoResolve: true,
    reset: { 
      condition: "temperature < 75", 
      actions: [{ 
        notify: "admin@example.com"
      }]
    }
  }
});

Alarm Event Actions ​

Create an AlarmModel that specifies alarm event actions for notifications and updates.

ts
const eventActionAlarmModel = await AWS.IoTEvents.AlarmModel("eventActionAlarmModel", {
  AlarmRule: {
    condition: "humidity > 90",
    actions: [{ 
      notify: "alert@example.com"
    }]
  },
  RoleArn: "arn:aws:iam::123456789012:role/iotevents-role",
  AlarmEventActions: {
    notify: [{ 
      target: "alert@example.com", 
      message: "High humidity detected!" 
    }],
    log: [{ 
      target: "log-group-name", 
      message: "Humidity alarm triggered" 
    }]
  },
  AlarmModelName: "EventActionAlarmModel"
});

Using Tags for Organization ​

Create an AlarmModel with tags for better organization and management.

ts
const taggedAlarmModel = await AWS.IoTEvents.AlarmModel("taggedAlarmModel", {
  AlarmRule: {
    condition: "batteryLevel < 20",
    actions: [{ 
      notify: "maintenance@example.com"
    }]
  },
  RoleArn: "arn:aws:iam::123456789012:role/iotevents-role",
  AlarmModelName: "TaggedAlarmModel",
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Team", Value: "IoT" }
  ]
});