CoreDefinition
The CoreDefinition resource lets you manage AWS Greengrass CoreDefinitions which define the core devices in your Greengrass group.
Minimal Example
Section titled “Minimal Example”Create a basic CoreDefinition with required properties and an optional initial version.
import AWS from "alchemy/aws/control";
const coreDefinition = await AWS.Greengrass.CoreDefinition("myCoreDefinition", { name: "MyCoreDefinition", initialVersion: { cores: [{ id: "myCoreDevice", certificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx", idCertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx", thingArn: "arn:aws:iot:us-west-2:123456789012:thing/MyCoreDevice" }] }, tags: { Environment: "Production", Team: "IoT" }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a CoreDefinition with multiple core devices and additional settings.
const advancedCoreDefinition = await AWS.Greengrass.CoreDefinition("advancedCoreDefinition", { name: "AdvancedCoreDefinition", initialVersion: { cores: [{ id: "coreDevice1", certificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx", idCertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx", thingArn: "arn:aws:iot:us-west-2:123456789012:thing/CoreDevice1" }, { id: "coreDevice2", certificateArn: "arn:aws:iot:us-west-2:123456789012:cert/wxyz9876mnop1234ijkl5678efgh9012qrst3456uvwx", idCertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/wxyz9876mnop1234ijkl5678efgh9012qrst3456uvwx", thingArn: "arn:aws:iot:us-west-2:123456789012:thing/CoreDevice2" }] }, tags: { Environment: "Development", Team: "IoT" }, adopt: true // Allow adoption of existing CoreDefinition if it already exists});
Custom Core Device Configuration
Section titled “Custom Core Device Configuration”Create a CoreDefinition that includes specific configurations for a core device.
const customCoreDefinition = await AWS.Greengrass.CoreDefinition("customCoreDefinition", { name: "CustomCoreDefinition", initialVersion: { cores: [{ id: "customCoreDevice", certificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx", idCertificateArn: "arn:aws:iot:us-west-2:123456789012:cert/abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx", thingArn: "arn:aws:iot:us-west-2:123456789012:thing/CustomCoreDevice", // Additional properties can be added if needed }] }});
This demonstrates how to create a CoreDefinition resource in AWS Greengrass using Alchemy, allowing you to manage your IoT devices effectively.