Domain Association
    Provides an Amplify Domain Association resource.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.amplify.App("example", {
    name: "app",
    customRules: [{
        source: "https://example.com",
        status: "302",
        target: "https://www.example.com",
    }],
});
const master = new aws.amplify.Branch("master", {
    appId: example.id,
    branchName: "master",
});
const exampleDomainAssociation = new aws.amplify.DomainAssociation("example", {
    appId: example.id,
    domainName: "example.com",
    subDomains: [
        {
            branchName: master.branchName,
            prefix: "",
        },
        {
            branchName: master.branchName,
            prefix: "www",
        },
    ],
});Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.amplify.App("example",
    name="app",
    custom_rules=[aws.amplify.AppCustomRuleArgs(
        source="https://example.com",
        status="302",
        target="https://www.example.com",
    )])
master = aws.amplify.Branch("master",
    app_id=example.id,
    branch_name="master")
example_domain_association = aws.amplify.DomainAssociation("example",
    app_id=example.id,
    domain_name="example.com",
    sub_domains=[
        aws.amplify.DomainAssociationSubDomainArgs(
            branch_name=master.branch_name,
            prefix="",
        ),
        aws.amplify.DomainAssociationSubDomainArgs(
            branch_name=master.branch_name,
            prefix="www",
        ),
    ])Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
    var example = new Aws.Amplify.App("example", new()
    {
        Name = "app",
        CustomRules = new[]
        {
            new Aws.Amplify.Inputs.AppCustomRuleArgs
            {
                Source = "https://example.com",
                Status = "302",
                Target = "https://www.example.com",
            },
        },
    });
    var master = new Aws.Amplify.Branch("master", new()
    {
        AppId = example.Id,
        BranchName = "master",
    });
    var exampleDomainAssociation = new Aws.Amplify.DomainAssociation("example", new()
    {
        AppId = example.Id,
        DomainName = "example.com",
        SubDomains = new[]
        {
            new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs
            {
                BranchName = master.BranchName,
                Prefix = "",
            },
            new Aws.Amplify.Inputs.DomainAssociationSubDomainArgs
            {
                BranchName = master.BranchName,
                Prefix = "www",
            },
        },
    });
});Content copied to clipboard
package main
import (
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amplify"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := amplify.NewApp(ctx, "example", &lify.AppArgs{
			Name: pulumi.String("app"),
			CustomRules: amplify.AppCustomRuleArray{
				&lify.AppCustomRuleArgs{
					Source: pulumi.String("https://example.com"),
					Status: pulumi.String("302"),
					Target: pulumi.String("https://www.example.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		master, err := amplify.NewBranch(ctx, "master", &lify.BranchArgs{
			AppId:      example.ID(),
			BranchName: pulumi.String("master"),
		})
		if err != nil {
			return err
		}
		_, err = amplify.NewDomainAssociation(ctx, "example", &lify.DomainAssociationArgs{
			AppId:      example.ID(),
			DomainName: pulumi.String("example.com"),
			SubDomains: amplify.DomainAssociationSubDomainArray{
				&lify.DomainAssociationSubDomainArgs{
					BranchName: master.BranchName,
					Prefix:     pulumi.String(""),
				},
				&lify.DomainAssociationSubDomainArgs{
					BranchName: master.BranchName,
					Prefix:     pulumi.String("www"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.amplify.App;
import com.pulumi.aws.amplify.AppArgs;
import com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;
import com.pulumi.aws.amplify.Branch;
import com.pulumi.aws.amplify.BranchArgs;
import com.pulumi.aws.amplify.DomainAssociation;
import com.pulumi.aws.amplify.DomainAssociationArgs;
import com.pulumi.aws.amplify.inputs.DomainAssociationSubDomainArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        var example = new App("example", AppArgs.builder()
            .name("app")
            .customRules(AppCustomRuleArgs.builder()
                .source("https://example.com")
                .status("302")
                .target("https://www.example.com")
                .build())
            .build());
        var master = new Branch("master", BranchArgs.builder()
            .appId(example.id())
            .branchName("master")
            .build());
        var exampleDomainAssociation = new DomainAssociation("exampleDomainAssociation", DomainAssociationArgs.builder()
            .appId(example.id())
            .domainName("example.com")
            .subDomains(
                DomainAssociationSubDomainArgs.builder()
                    .branchName(master.branchName())
                    .prefix("")
                    .build(),
                DomainAssociationSubDomainArgs.builder()
                    .branchName(master.branchName())
                    .prefix("www")
                    .build())
            .build());
    }
}Content copied to clipboard
resources:
  example:
    type: aws:amplify:App
    properties:
      name: app
      customRules:
        - source: https://example.com
          status: '302'
          target: https://www.example.com
  master:
    type: aws:amplify:Branch
    properties:
      appId: ${example.id}
      branchName: master
  exampleDomainAssociation:
    type: aws:amplify:DomainAssociation
    name: example
    properties:
      appId: ${example.id}
      domainName: example.com
      subDomains:
        - branchName: ${master.branchName}
          prefix:
        - branchName: ${master.branchName}
          prefix: wwwContent copied to clipboard
Import
Using pulumi import, import Amplify domain association using app_id and domain_name. For example:
$ pulumi import aws:amplify/domainAssociation:DomainAssociation app d2ypk4k47z8u6/example.comContent copied to clipboard