Skip to content
GitHubXDiscord

ImageBuilder

The ImageBuilder resource lets you manage AWS AppStream ImageBuilders for creating and managing application images for streaming.

Create a basic ImageBuilder with required properties and one optional property for description.

import AWS from "alchemy/aws/control";
const imageBuilder = await AWS.AppStream.ImageBuilder("myImageBuilder", {
name: "MyImageBuilder",
instanceType: "stream.standard.medium",
description: "An ImageBuilder for creating application images."
});

Configure an ImageBuilder with VPC settings and enable default internet access.

const advancedImageBuilder = await AWS.AppStream.ImageBuilder("advancedImageBuilder", {
name: "AdvancedImageBuilder",
instanceType: "stream.standard.large",
vpcConfig: {
securityGroupIds: ["sg-0123456789abcdef0"],
subnets: ["subnet-0123456789abcdef0"]
},
enableDefaultInternetAccess: true
});

Create an ImageBuilder that joins a domain for enterprise environments.

const domainJoinedImageBuilder = await AWS.AppStream.ImageBuilder("domainImageBuilder", {
name: "DomainJoinedImageBuilder",
instanceType: "stream.standard.large",
domainJoinInfo: {
directoryName: "corp.example.com",
organizationalUnitDistinguishedName: "OU=ImageBuilders,DC=corp,DC=example,DC=com"
}
});

Configure an ImageBuilder with custom access endpoints for application streaming.

const accessEndpointsImageBuilder = await AWS.AppStream.ImageBuilder("accessEndpointsImageBuilder", {
name: "AccessEndpointsImageBuilder",
instanceType: "stream.standard.medium",
accessEndpoints: [{
endpointType: "STREAMING",
url: "https://stream.example.com",
name: "CustomStreamingEndpoint"
}]
});

Create an ImageBuilder with tags for better resource management.

const taggedImageBuilder = await AWS.AppStream.ImageBuilder("taggedImageBuilder", {
name: "TaggedImageBuilder",
instanceType: "stream.standard.medium",
tags: [
{ key: "Environment", value: "Development" },
{ key: "Project", value: "ImageBuilderDemo" }
]
});