ModuleVersion ​
The ModuleVersion resource allows you to create and manage AWS CloudFormation ModuleVersions, which are useful for versioning your CloudFormation modules.
Minimal Example ​
This example demonstrates how to create a basic ModuleVersion with the required properties, including an optional adopt
flag.
ts
import AWS from "alchemy/aws/control";
const moduleVersion = await AWS.CloudFormation.ModuleVersion("myModuleVersion", {
ModuleName: "MyAwesomeModule",
ModulePackage: "s3://my-bucket/my-module-package.zip",
adopt: true // Allows adoption of existing resources
});
Advanced Configuration ​
In this example, we create a ModuleVersion with additional properties to manage its lifecycle.
ts
const advancedModuleVersion = await AWS.CloudFormation.ModuleVersion("myAdvancedModuleVersion", {
ModuleName: "MyAdvancedModule",
ModulePackage: "s3://my-bucket/my-advanced-module.zip",
adopt: true // Enables adoption of existing resources
});
ModuleVersion with Metadata ​
This example illustrates how to retrieve additional metadata properties such as Arn
, CreationTime
, and LastUpdateTime
.
ts
const moduleVersionMetadata = await AWS.CloudFormation.ModuleVersion("myModuleVersionWithMetadata", {
ModuleName: "MyModuleWithMetadata",
ModulePackage: "s3://my-bucket/my-module-with-metadata.zip"
});
// Accessing metadata properties
console.log(`ARN: ${moduleVersionMetadata.Arn}`);
console.log(`Created At: ${moduleVersionMetadata.CreationTime}`);
console.log(`Last Updated At: ${moduleVersionMetadata.LastUpdateTime}`);
Handling Existing ModuleVersions ​
This example shows how to handle situations where a ModuleVersion already exists by using the adopt
property.
ts
const existingModuleVersion = await AWS.CloudFormation.ModuleVersion("myExistingModuleVersion", {
ModuleName: "ExistingModule",
ModulePackage: "s3://my-bucket/existing-module-package.zip",
adopt: true // Adopts the existing resource instead of failing
});