Domain Association Args
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",
},
],
});
Content copied to clipboard
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",
},
])
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: www
Content 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.com
Content copied to clipboard
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
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
Domain name for the domain association.
Link copied to clipboard
Enables the automated creation of subdomains for branches.
Link copied to clipboard
Setting for the subdomain. Documented below.
Link copied to clipboard
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
.