Skip to content
GitHubXDiscordRSS

WebApp

Learn how to create, update, and manage AWS Transfer WebApps using Alchemy Cloud Control.

The WebApp resource lets you manage AWS Transfer WebApps for file transfer services, providing a customizable web interface for your users.

Create a basic AWS Transfer WebApp with essential properties and one optional customization.

import AWS from "alchemy/aws/control";
const basicWebApp = await AWS.Transfer.WebApp("basicWebApp", {
IdentityProviderDetails: {
ProviderType: "SERVICE_MANAGED"
},
WebAppCustomization: {
Title: "My WebApp",
Logo: "https://example.com/logo.png"
}
});

Configure an AWS Transfer WebApp with advanced settings including a custom endpoint policy and additional web app units.

const advancedWebApp = await AWS.Transfer.WebApp("advancedWebApp", {
IdentityProviderDetails: {
ProviderType: "API_GATEWAY",
Url: "https://example.com/auth"
},
WebAppUnits: {
User: {
Enable: true,
MaxSize: 5000
}
},
WebAppEndpointPolicy: JSON.stringify({
Version: "2012-10-17",
Statement: [
{
Effect: "Allow",
Action: "transfer:ListUsers",
Resource: "*"
}
]
}),
Tags: [
{
Key: "Project",
Value: "WebAppProject"
}
]
});

Set up a web app with a specific access endpoint to control user access.

const customAccessWebApp = await AWS.Transfer.WebApp("customAccessWebApp", {
IdentityProviderDetails: {
ProviderType: "SERVICE_MANAGED"
},
AccessEndpoint: "https://transfer.example.com",
WebAppCustomization: {
Title: "Custom Access WebApp",
Logo: "https://example.com/custom-logo.png"
}
});

If you need to adopt an existing AWS Transfer WebApp instead of creating a new one, set the adopt property to true.

const adoptedWebApp = await AWS.Transfer.WebApp("adoptedWebApp", {
IdentityProviderDetails: {
ProviderType: "SERVICE_MANAGED"
},
adopt: true
});