Distribution
The Distribution resource allows you to manage AWS Lightsail Distributions for delivering content with low latency and high transfer speeds.
Minimal Example
Section titled “Minimal Example”Create a basic Lightsail distribution with required properties and a few common optional configurations.
import AWS from "alchemy/aws/control";
const minimalDistribution = await AWS.Lightsail.Distribution("myBasicDistribution", {  Origin: {    Name: "myOrigin",    ProtocolPolicy: "https-only",    Source: "http://myorigin.com"  },  DistributionName: "my-basic-distribution",  BundleId: "small",  DefaultCacheBehavior: {    Behavior: "allow",    CacheBehavior: {      Caching: {        DefaultTtl: 300,        MaxTtl: 86400,        MinTtl: 60      }    }  },  IsEnabled: true});Advanced Configuration
Section titled “Advanced Configuration”Configure a distribution with detailed caching settings and multiple cache behaviors.
const advancedDistribution = await AWS.Lightsail.Distribution("myAdvancedDistribution", {  Origin: {    Name: "myAdvancedOrigin",    ProtocolPolicy: "http-only",    Source: "http://myadvancedorigin.com"  },  DistributionName: "my-advanced-distribution",  BundleId: "medium",  DefaultCacheBehavior: {    Behavior: "allow",    CacheBehavior: {      Caching: {        DefaultTtl: 600,        MaxTtl: 172800,        MinTtl: 300      }    }  },  CacheBehaviors: [    {      Path: "/images/*",      Behavior: "allow",      CacheBehavior: {        Caching: {          DefaultTtl: 1200,          MaxTtl: 259200,          MinTtl: 600        }      }    }  ],  IsEnabled: true,  Tags: [    { Key: "Environment", Value: "Production" },    { Key: "Project", Value: "LightsailApp" }  ],  CertificateName: "myCertificate"});Using Cache Behavior Settings
Section titled “Using Cache Behavior Settings”Create a distribution that utilizes cache behavior settings to optimize content delivery.
const cacheSettingsDistribution = await AWS.Lightsail.Distribution("myCacheSettingsDistribution", {  Origin: {    Name: "myCacheOrigin",    ProtocolPolicy: "https-only",    Source: "http://mycacheorigin.com"  },  DistributionName: "my-cache-settings-distribution",  BundleId: "large",  DefaultCacheBehavior: {    Behavior: "allow",    CacheBehavior: {      Caching: {        DefaultTtl: 1200,        MaxTtl: 604800,        MinTtl: 300      }    }  },  CacheBehaviorSettings: {    Caching: {      DefaultTtl: 1800,      MaxTtl: 86400,      MinTtl: 300    }  },  IsEnabled: true});