ComponentVersion
The ComponentVersion resource allows you to create and manage versions of AWS GreengrassV2 components, enabling efficient deployment and updates of your IoT applications. For more information, visit the AWS GreengrassV2 ComponentVersions documentation.
Minimal Example
Section titled “Minimal Example”Create a basic component version with a lambda function as the recipe source.
import AWS from "alchemy/aws/control";
const basicComponent = await AWS.GreengrassV2.ComponentVersion("basicComponent", { LambdaFunction: { // Define the Lambda function recipe source FunctionArn: "arn:aws:lambda:us-east-1:123456789012:function:myLambdaFunction", // Specify other Lambda function properties if necessary }, Tags: { Environment: "Development", Project: "IoTApp" }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a component version using an inline recipe for more complex setups.
const advancedComponent = await AWS.GreengrassV2.ComponentVersion("advancedComponent", { InlineRecipe: JSON.stringify({ RecipeFormatVersion: "2020-01-25", Component: { Name: "com.example.advancedComponent", Version: "1.0.0", ComponentType: "aws.greengrass.generic", Manifests: [{ Platform: { os: "linux", architecture: "arm64" }, Lifecycle: { Run: { Path: "/usr/bin/myExecutable" } } }] } }), Tags: { Environment: "Production", Project: "IoTApp" }});
Using Inline Recipe with Additional Tags
Section titled “Using Inline Recipe with Additional Tags”Create a component version with an inline recipe and additional tags for better organization.
const taggedComponent = await AWS.GreengrassV2.ComponentVersion("taggedComponent", { InlineRecipe: JSON.stringify({ RecipeFormatVersion: "2020-01-25", Component: { Name: "com.example.taggedComponent", Version: "1.0.1", ComponentType: "aws.greengrass.generic", Manifests: [{ Platform: { os: "linux", architecture: "x86_64" }, Lifecycle: { Run: { Path: "/usr/bin/myExecutable", Permissions: { "/usr/bin/myExecutable": { "Thing": "Allow" } } } } }] } }), Tags: { Environment: "Staging", Project: "IoTApp", Version: "v1.0.1" }});