Domain
You can use DCDN to improve the overall performance of your website and accelerate content delivery to improve user experience. For information about Alicloud DCDN Domain and how to use it, see What is Resource Alicloud DCDN Domain.
NOTE: Available since v1.94.0. NOTE: You must activate the Dynamic Route for CDN (DCDN) service before you create an accelerated domain. NOTE: Make sure that you have obtained an Internet content provider (ICP) filling for the accelerated domain. NOTE: If the origin content is not saved on Alibaba Cloud, the content must be reviewed by Alibaba Cloud. The review will be completed by the next working day after you submit the application.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";
const config = new pulumi.Config();
const domainName = config.get("domainName") || "tf-example.com";
const _default = new random.index.Integer("default", {
min: 10000,
max: 99999,
});
const example = new alicloud.dcdn.Domain("example", {
domainName: `${domainName}-${_default.result}`,
scope: "overseas",
sources: [{
content: "1.1.1.1",
port: 80,
priority: "20",
type: "ipaddr",
weight: "10",
}],
});import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random
config = pulumi.Config()
domain_name = config.get("domainName")
if domain_name is None:
domain_name = "tf-example.com"
default = random.index.Integer("default",
min=10000,
max=99999)
example = alicloud.dcdn.Domain("example",
domain_name=f"{domain_name}-{default['result']}",
scope="overseas",
sources=[alicloud.dcdn.DomainSourceArgs(
content="1.1.1.1",
port=80,
priority="20",
type="ipaddr",
weight="10",
)])using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var domainName = config.Get("domainName") ?? "tf-example.com";
var @default = new Random.Index.Integer("default", new()
{
Min = 10000,
Max = 99999,
});
var example = new AliCloud.Dcdn.Domain("example", new()
{
DomainName = $"{domainName}-{@default.Result}",
Scope = "overseas",
Sources = new[]
{
new AliCloud.Dcdn.Inputs.DomainSourceArgs
{
Content = "1.1.1.1",
Port = 80,
Priority = "20",
Type = "ipaddr",
Weight = "10",
},
},
});
});package main
import (
"fmt"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/dcdn"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
domainName := "tf-example.com"
if param := cfg.Get("domainName"); param != "" {
domainName = param
}
_, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Min: 10000,
Max: 99999,
})
if err != nil {
return err
}
_, err = dcdn.NewDomain(ctx, "example", &dcdn.DomainArgs{
DomainName: pulumi.String(fmt.Sprintf("%v-%v", domainName, _default.Result)),
Scope: pulumi.String("overseas"),
Sources: dcdn.DomainSourceArray{
&dcdn.DomainSourceArgs{
Content: pulumi.String("1.1.1.1"),
Port: pulumi.Int(80),
Priority: pulumi.String("20"),
Type: pulumi.String("ipaddr"),
Weight: pulumi.String("10"),
},
},
})
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.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.dcdn.Domain;
import com.pulumi.alicloud.dcdn.DomainArgs;
import com.pulumi.alicloud.dcdn.inputs.DomainSourceArgs;
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) {
final var config = ctx.config();
final var domainName = config.get("domainName").orElse("tf-example.com");
var default_ = new Integer("default", IntegerArgs.builder()
.min(10000)
.max(99999)
.build());
var example = new Domain("example", DomainArgs.builder()
.domainName(String.format("%s-%s", domainName,default_.result()))
.scope("overseas")
.sources(DomainSourceArgs.builder()
.content("1.1.1.1")
.port("80")
.priority("20")
.type("ipaddr")
.weight("10")
.build())
.build());
}
}configuration:
domainName:
type: string
default: tf-example.com
resources:
default:
type: random:integer
properties:
min: 10000
max: 99999
example:
type: alicloud:dcdn:Domain
properties:
domainName: ${domainName}-${default.result}
scope: overseas
sources:
- content: 1.1.1.1
port: '80'
priority: '20'
type: ipaddr
weight: '10'Import
DCDN Domain can be imported using the id or DCDN Domain name, e.g.
$ pulumi import alicloud:dcdn/domain:Domain example <id>Properties
The name of the accelerated domain.
The ID of the resource group.
The top-level domain name.
The origin information. See sources below.
Indicates whether the SSL certificate is enabled. Valid values: on enabled, off disabled.
The top-level domain name.