DomainAssociationArgs

data class DomainAssociationArgs(val appId: Output<String>? = null, val certificateSettings: Output<DomainAssociationCertificateSettingsArgs>? = null, val domainName: Output<String>? = null, val enableAutoSubDomain: Output<Boolean>? = null, val subDomains: Output<List<DomainAssociationSubDomainArgs>>? = null, val waitForVerification: Output<Boolean>? = null) : ConvertibleToJava<DomainAssociationArgs>

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",
},
],
});
import pulumi
import pulumi_aws as aws
example = aws.amplify.App("example",
name="app",
custom_rules=[{
"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=[
{
"branch_name": master.branch_name,
"prefix": "",
},
{
"branch_name": master.branch_name,
"prefix": "www",
},
])
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",
},
},
});
});
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", &amplify.AppArgs{
Name: pulumi.String("app"),
CustomRules: amplify.AppCustomRuleArray{
&amplify.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", &amplify.BranchArgs{
AppId: example.ID(),
BranchName: pulumi.String("master"),
})
if err != nil {
return err
}
_, err = amplify.NewDomainAssociation(ctx, "example", &amplify.DomainAssociationArgs{
AppId: example.ID(),
DomainName: pulumi.String("example.com"),
SubDomains: amplify.DomainAssociationSubDomainArray{
&amplify.DomainAssociationSubDomainArgs{
BranchName: master.BranchName,
Prefix: pulumi.String(""),
},
&amplify.DomainAssociationSubDomainArgs{
BranchName: master.BranchName,
Prefix: pulumi.String("www"),
},
},
})
if err != nil {
return err
}
return nil
})
}
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());
}
}
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: www

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.com

Constructors

Link copied to clipboard
constructor(appId: Output<String>? = null, certificateSettings: Output<DomainAssociationCertificateSettingsArgs>? = null, domainName: Output<String>? = null, enableAutoSubDomain: Output<Boolean>? = null, subDomains: Output<List<DomainAssociationSubDomainArgs>>? = null, waitForVerification: Output<Boolean>? = null)

Properties

Link copied to clipboard
val appId: Output<String>? = null

Unique ID for an Amplify app.

Link copied to clipboard

The type of SSL/TLS certificate to use for your custom domain. If you don't specify a certificate type, Amplify uses the default certificate that it provisions and manages for you.

Link copied to clipboard
val domainName: Output<String>? = null

Domain name for the domain association.

Link copied to clipboard
val enableAutoSubDomain: Output<Boolean>? = null

Enables the automated creation of subdomains for branches.

Link copied to clipboard

Setting for the subdomain. Documented below.

Link copied to clipboard
val waitForVerification: Output<Boolean>? = null

If enabled, the resource will wait for the domain association status to change to PENDING_DEPLOYMENT or AVAILABLE. Setting this to false will skip the process. Default: true.

Functions

Link copied to clipboard
open override fun toJava(): DomainAssociationArgs