Skip to content

Group

The Group resource allows you to manage AWS Greengrass Groups for deploying and managing IoT applications at the edge.

Minimal Example

Create a basic Greengrass Group with a specified name and role ARN.

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

const greengrassGroup = await AWS.Greengrass.Group("myGreengrassGroup", {
  name: "MyGreengrassGroup",
  roleArn: "arn:aws:iam::123456789012:role/GreengrassGroupRole"
});

Advanced Configuration

Configure a Greengrass Group with an initial version and tags for better management.

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

const initialVersion = {
  // Define the initial version structure according to your needs
  groupId: "myGreengrassGroup",
  // Additional version configurations can go here
};

const advancedGreengrassGroup = await AWS.Greengrass.Group("advancedGreengrassGroup", {
  name: "AdvancedGreengrassGroup",
  roleArn: "arn:aws:iam::123456789012:role/GreengrassGroupRole",
  initialVersion: initialVersion,
  tags: {
    Project: "IoTApp",
    Environment: "Production"
  }
});

Adding Existing Resources

If you want to adopt an existing Greengrass Group instead of failing when it already exists, you can set the adopt property to true.

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

const adoptGreengrassGroup = await AWS.Greengrass.Group("existingGreengrassGroup", {
  name: "ExistingGreengrassGroup",
  adopt: true
});

Using Initial Version with Lambda Functions

Create a Greengrass Group with an initial version that defines Lambda functions.

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

const lambdaFunction = {
  // Define Lambda function configuration here
  functionArn: "arn:aws:lambda:us-west-2:123456789012:function:MyGreengrassFunction",
  functionConfiguration: {
    // Add your function configuration details here
    memorySize: 128,
    timeout: 3,
    environment: {
      MY_ENV_VARIABLE: "value"
    }
  }
};

const greengrassGroupWithLambda = await AWS.Greengrass.Group("greengrassWithLambda", {
  name: "GreengrassWithLambda",
  roleArn: "arn:aws:iam::123456789012:role/GreengrassGroupRole",
  initialVersion: {
    groupId: "greengrassWithLambda",
    functions: [lambdaFunction]
  }
});