Skip to content
GitHubXDiscord

ResourceDefinitionVersion

The ResourceDefinitionVersion resource allows you to manage versions of resource definitions in AWS Greengrass, facilitating the management of resources used by Greengrass groups. For more information, refer to the AWS Greengrass ResourceDefinitionVersions documentation.

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

import AWS from "alchemy/aws/control";
const resourceDefinitionVersion = await AWS.Greengrass.ResourceDefinitionVersion("myResourceDefinitionVersion", {
ResourceDefinitionId: "myResourceDefinitionId",
Resources: [
{
Id: "MyResource1",
Name: "MyResource1",
ResourceDataContainer: {
LocalVolumeResourceData: {
SourcePath: "/mnt/myLocalPath",
DestinationPath: "/myGreengrassDestinationPath",
GroupOwnerSetting: {
GroupOwner: "None"
}
}
}
}
],
adopt: true // Optional: Adopt existing resource if it already exists
});

Configure a ResourceDefinitionVersion with multiple resources and advanced settings.

const advancedResourceDefinitionVersion = await AWS.Greengrass.ResourceDefinitionVersion("advancedResourceDefinitionVersion", {
ResourceDefinitionId: "advancedResourceDefinitionId",
Resources: [
{
Id: "MyResource2",
Name: "MyResource2",
ResourceDataContainer: {
LocalVolumeResourceData: {
SourcePath: "/mnt/anotherLocalPath",
DestinationPath: "/anotherGreengrassDestinationPath",
GroupOwnerSetting: {
GroupOwner: "GID",
GroupId: "1001"
}
}
}
},
{
Id: "MyResource3",
Name: "MyResource3",
ResourceDataContainer: {
S3ResourceData: {
S3Uri: "s3://my-bucket/my-resource-data",
GroupOwnerSetting: {
GroupOwner: "None"
}
}
}
}
]
});

This example shows how to define a ResourceDefinitionVersion that uses local volume resource data.

const localVolumeResourceDefinitionVersion = await AWS.Greengrass.ResourceDefinitionVersion("localVolumeResourceDefinitionVersion", {
ResourceDefinitionId: "localVolumeResourceDefinitionId",
Resources: [
{
Id: "MyLocalResource",
Name: "MyLocalResource",
ResourceDataContainer: {
LocalVolumeResourceData: {
SourcePath: "/mnt/myLocalVolume",
DestinationPath: "/greengrass/localDestination",
GroupOwnerSetting: {
GroupOwner: "None"
}
}
}
}
]
});

This example demonstrates creating a ResourceDefinitionVersion with S3 resource data.

const s3ResourceDefinitionVersion = await AWS.Greengrass.ResourceDefinitionVersion("s3ResourceDefinitionVersion", {
ResourceDefinitionId: "s3ResourceDefinitionId",
Resources: [
{
Id: "MyS3Resource",
Name: "MyS3Resource",
ResourceDataContainer: {
S3ResourceData: {
S3Uri: "s3://my-other-bucket/my-s3-resource-data",
GroupOwnerSetting: {
GroupOwner: "None"
}
}
}
}
]
});