Skip to content
GitHubXDiscord

Image

The Image resource allows you to create and manage AWS ImageBuilder Images for automating the creation, management, and deployment of virtual machine images.

Create a basic Image using the required properties along with a few common optional configurations.

import AWS from "alchemy/aws/control";
const basicImage = await AWS.ImageBuilder.Image("basicImage", {
InfrastructureConfigurationArn: "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-infrastructure-configuration",
ImageRecipeArn: "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-image-recipe",
DistributionConfigurationArn: "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-distribution-configuration",
ImageScanningConfiguration: {
imageScanningConfiguration: {
imageScanOnCreate: true
}
}
});

Configure an Image with advanced settings such as workflows and enhanced image metadata.

const advancedImage = await AWS.ImageBuilder.Image("advancedImage", {
InfrastructureConfigurationArn: "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-infrastructure-configuration",
ImageRecipeArn: "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-image-recipe",
DistributionConfigurationArn: "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-distribution-configuration",
Workflows: [{
name: "buildWorkflow",
steps: [{
name: "build",
action: "build",
parameters: {}
}]
}],
EnhancedImageMetadataEnabled: true
});

Create an Image with image tests configuration to validate the image during the build process.

const imageWithTests = await AWS.ImageBuilder.Image("imageWithTests", {
InfrastructureConfigurationArn: "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-infrastructure-configuration",
ImageRecipeArn: "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-image-recipe",
ImageTestsConfiguration: {
imageTestsEnabled: true,
timeoutMinutes: 30
}
});

Create an Image with custom tags for better resource management.

const taggedImage = await AWS.ImageBuilder.Image("taggedImage", {
InfrastructureConfigurationArn: "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-infrastructure-configuration",
ImageRecipeArn: "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-image-recipe",
Tags: {
Project: "WebApp",
Environment: "Production"
}
});