TaskDefinition
The TaskDefinition resource allows you to create and manage AWS IoTWireless TaskDefinitions which are used to define tasks for LoRaWAN gateways, including updates and task creation.
Minimal Example
Section titled “Minimal Example”Create a basic TaskDefinition with the required properties and some common optional settings.
import AWS from "alchemy/aws/control";
const basicTaskDefinition = await AWS.IoTWireless.TaskDefinition("basicTaskDefinition", { AutoCreateTasks: true, Name: "MyBasicTaskDefinition", TaskDefinitionType: "UPDATE", Tags: [ { Key: "Environment", Value: "Production" } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure a TaskDefinition with a LoRaWAN update gateway task entry, allowing you to specify detailed updates for your gateways.
const advancedTaskDefinition = await AWS.IoTWireless.TaskDefinition("advancedTaskDefinition", { AutoCreateTasks: true, Name: "MyAdvancedTaskDefinition", LoRaWANUpdateGatewayTaskEntry: { Update: { GatewayId: "Gateway123", UpdateType: "FIRMWARE", FirmwareVersion: "1.0.0" } }, Tags: [ { Key: "Project", Value: "IoTDeployment" } ]});
Custom Update Configuration
Section titled “Custom Update Configuration”Create a TaskDefinition that specifies a custom update, including a different task entry.
const customUpdateTaskDefinition = await AWS.IoTWireless.TaskDefinition("customUpdateTaskDefinition", { AutoCreateTasks: false, Name: "MyCustomUpdateTaskDefinition", Update: { UpdateType: "FIRMWARE", GatewayId: "CustomGateway123", FirmwareVersion: "2.0.1" }, Tags: [ { Key: "Department", Value: "Engineering" } ]});
Adoption of Existing Resources
Section titled “Adoption of Existing Resources”Create a TaskDefinition that adopts an existing resource instead of failing if it already exists.
const adoptExistingTaskDefinition = await AWS.IoTWireless.TaskDefinition("adoptTaskDefinition", { AutoCreateTasks: true, Name: "MyAdoptedTaskDefinition", adopt: true, Tags: [ { Key: "Status", Value: "Adopted" } ]});