Skip to content

DistributionTenant ​

The DistributionTenant resource lets you manage AWS CloudFront DistributionTenants for serving content with customizable domain settings and configurations.

Minimal Example ​

Create a basic CloudFront DistributionTenant with required properties and a few common optional settings.

ts
import AWS from "alchemy/aws/control";

const distributionTenant = await AWS.CloudFront.DistributionTenant("myDistributionTenant", {
  Domains: ["mywebsite.com", "www.mywebsite.com"],
  Enabled: true,
  DistributionId: "E1234567890ABC",
  Name: "Main Distribution Tenant"
});

Advanced Configuration ​

Configure a DistributionTenant with additional customization options and managed certificate request.

ts
const advancedDistributionTenant = await AWS.CloudFront.DistributionTenant("advancedDistributionTenant", {
  Domains: ["secure.mywebsite.com"],
  Enabled: true,
  DistributionId: "E0987654321XYZ",
  Name: "Secure Distribution Tenant",
  Customizations: {
    behavior: {
      cachePolicy: "myCachePolicy",
      originRequestPolicy: "myOriginRequestPolicy"
    }
  },
  ManagedCertificateRequest: {
    Domains: ["secure.mywebsite.com"],
    ValidationMethod: "DNS"
  }
});

Using Connection Groups ​

Create a DistributionTenant that is part of a connection group for better management of related distributions.

ts
const connectionGroupTenant = await AWS.CloudFront.DistributionTenant("connectionGroupTenant", {
  Domains: ["group.mywebsite.com"],
  Enabled: true,
  DistributionId: "E1234567890XYZ",
  Name: "Connection Group Tenant",
  ConnectionGroupId: "myConnectionGroup"
});

Adding Tags for Organization ​

Create a DistributionTenant and include tags for better organization and management.

ts
const taggedDistributionTenant = await AWS.CloudFront.DistributionTenant("taggedDistributionTenant", {
  Domains: ["tagged.mywebsite.com"],
  Enabled: true,
  DistributionId: "E1234567890LMN",
  Name: "Tagged Distribution Tenant",
  Tags: [
    { Key: "Environment", Value: "Production" },
    { Key: "Project", Value: "WebsiteRevamp" }
  ]
});