published on Saturday, Mar 14, 2026 by Pulumi
published on Saturday, Mar 14, 2026 by Pulumi
Provides a DdosCoo Domain Precise Access Rule resource.
Precise access control rules for website business.
For information about DdosCoo Domain Precise Access Rule and how to use it, see What is Domain Precise Access Rule.
NOTE: Available since v1.271.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "terraform";
const domain = config.get("domain") || "terraform-example.alibaba.com";
const _default = alicloud.ddos.getDdosCooInstances({});
const defaultDomainResource = new alicloud.ddos.DomainResource("default", {
domain: domain,
instanceIds: [_default.then(_default => _default.ids?.[0])],
proxyTypes: [{
proxyPorts: [443],
proxyType: "https",
}],
realServers: ["177.167.32.11"],
rsType: 0,
});
const defaultCooDomainPreciseAccessRule = new alicloud.ddos.CooDomainPreciseAccessRule("default", {
conditions: [{
matchMethod: "contain",
field: "header",
content: "222",
headerName: "15",
}],
action: "accept",
expires: 0,
domain: defaultDomainResource.id,
name: name,
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform"
domain = config.get("domain")
if domain is None:
domain = "terraform-example.alibaba.com"
default = alicloud.ddos.get_ddos_coo_instances()
default_domain_resource = alicloud.ddos.DomainResource("default",
domain=domain,
instance_ids=[default.ids[0]],
proxy_types=[{
"proxy_ports": [443],
"proxy_type": "https",
}],
real_servers=["177.167.32.11"],
rs_type=0)
default_coo_domain_precise_access_rule = alicloud.ddos.CooDomainPreciseAccessRule("default",
conditions=[{
"match_method": "contain",
"field": "header",
"content": "222",
"header_name": "15",
}],
action="accept",
expires=0,
domain=default_domain_resource.id,
name=name)
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ddos"
"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, "")
name := "terraform"
if param := cfg.Get("name"); param != "" {
name = param
}
domain := "terraform-example.alibaba.com"
if param := cfg.Get("domain"); param != "" {
domain = param
}
_default, err := ddos.GetDdosCooInstances(ctx, &ddos.GetDdosCooInstancesArgs{}, nil)
if err != nil {
return err
}
defaultDomainResource, err := ddos.NewDomainResource(ctx, "default", &ddos.DomainResourceArgs{
Domain: pulumi.String(domain),
InstanceIds: pulumi.StringArray{
pulumi.String(_default.Ids[0]),
},
ProxyTypes: ddos.DomainResourceProxyTypeArray{
&ddos.DomainResourceProxyTypeArgs{
ProxyPorts: pulumi.IntArray{
pulumi.Int(443),
},
ProxyType: pulumi.String("https"),
},
},
RealServers: pulumi.StringArray{
pulumi.String("177.167.32.11"),
},
RsType: pulumi.Int(0),
})
if err != nil {
return err
}
_, err = ddos.NewCooDomainPreciseAccessRule(ctx, "default", &ddos.CooDomainPreciseAccessRuleArgs{
Conditions: ddos.CooDomainPreciseAccessRuleConditionArray{
&ddos.CooDomainPreciseAccessRuleConditionArgs{
MatchMethod: pulumi.String("contain"),
Field: pulumi.String("header"),
Content: pulumi.String("222"),
HeaderName: pulumi.String("15"),
},
},
Action: pulumi.String("accept"),
Expires: pulumi.Int(0),
Domain: defaultDomainResource.ID(),
Name: pulumi.String(name),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "terraform";
var domain = config.Get("domain") ?? "terraform-example.alibaba.com";
var @default = AliCloud.Ddos.GetDdosCooInstances.Invoke();
var defaultDomainResource = new AliCloud.Ddos.DomainResource("default", new()
{
Domain = domain,
InstanceIds = new[]
{
@default.Apply(@default => @default.Apply(getDdosCooInstancesResult => getDdosCooInstancesResult.Ids[0])),
},
ProxyTypes = new[]
{
new AliCloud.Ddos.Inputs.DomainResourceProxyTypeArgs
{
ProxyPorts = new[]
{
443,
},
ProxyType = "https",
},
},
RealServers = new[]
{
"177.167.32.11",
},
RsType = 0,
});
var defaultCooDomainPreciseAccessRule = new AliCloud.Ddos.CooDomainPreciseAccessRule("default", new()
{
Conditions = new[]
{
new AliCloud.Ddos.Inputs.CooDomainPreciseAccessRuleConditionArgs
{
MatchMethod = "contain",
Field = "header",
Content = "222",
HeaderName = "15",
},
},
Action = "accept",
Expires = 0,
Domain = defaultDomainResource.Id,
Name = name,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ddos.DdosFunctions;
import com.pulumi.alicloud.ddos.inputs.GetDdosCooInstancesArgs;
import com.pulumi.alicloud.ddos.DomainResource;
import com.pulumi.alicloud.ddos.DomainResourceArgs;
import com.pulumi.alicloud.ddos.inputs.DomainResourceProxyTypeArgs;
import com.pulumi.alicloud.ddos.CooDomainPreciseAccessRule;
import com.pulumi.alicloud.ddos.CooDomainPreciseAccessRuleArgs;
import com.pulumi.alicloud.ddos.inputs.CooDomainPreciseAccessRuleConditionArgs;
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 name = config.get("name").orElse("terraform");
final var domain = config.get("domain").orElse("terraform-example.alibaba.com");
final var default = DdosFunctions.getDdosCooInstances(GetDdosCooInstancesArgs.builder()
.build());
var defaultDomainResource = new DomainResource("defaultDomainResource", DomainResourceArgs.builder()
.domain(domain)
.instanceIds(default_.ids()[0])
.proxyTypes(DomainResourceProxyTypeArgs.builder()
.proxyPorts(443)
.proxyType("https")
.build())
.realServers("177.167.32.11")
.rsType(0)
.build());
var defaultCooDomainPreciseAccessRule = new CooDomainPreciseAccessRule("defaultCooDomainPreciseAccessRule", CooDomainPreciseAccessRuleArgs.builder()
.conditions(CooDomainPreciseAccessRuleConditionArgs.builder()
.matchMethod("contain")
.field("header")
.content("222")
.headerName("15")
.build())
.action("accept")
.expires(0)
.domain(defaultDomainResource.id())
.name(name)
.build());
}
}
configuration:
name:
type: string
default: terraform
domain:
type: string
default: terraform-example.alibaba.com
resources:
defaultDomainResource:
type: alicloud:ddos:DomainResource
name: default
properties:
domain: ${domain}
instanceIds:
- ${default.ids[0]}
proxyTypes:
- proxyPorts:
- 443
proxyType: https
realServers:
- 177.167.32.11
rsType: 0
defaultCooDomainPreciseAccessRule:
type: alicloud:ddos:CooDomainPreciseAccessRule
name: default
properties:
conditions:
- matchMethod: contain
field: header
content: '222'
headerName: '15'
action: accept
expires: '0'
domain: ${defaultDomainResource.id}
name: ${name}
variables:
default:
fn::invoke:
function: alicloud:ddos:getDdosCooInstances
arguments: {}
📚 Need more examples? VIEW MORE EXAMPLES
Create CooDomainPreciseAccessRule Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CooDomainPreciseAccessRule(name: string, args: CooDomainPreciseAccessRuleArgs, opts?: CustomResourceOptions);@overload
def CooDomainPreciseAccessRule(resource_name: str,
args: CooDomainPreciseAccessRuleArgs,
opts: Optional[ResourceOptions] = None)
@overload
def CooDomainPreciseAccessRule(resource_name: str,
opts: Optional[ResourceOptions] = None,
action: Optional[str] = None,
conditions: Optional[Sequence[CooDomainPreciseAccessRuleConditionArgs]] = None,
domain: Optional[str] = None,
expires: Optional[int] = None,
name: Optional[str] = None)func NewCooDomainPreciseAccessRule(ctx *Context, name string, args CooDomainPreciseAccessRuleArgs, opts ...ResourceOption) (*CooDomainPreciseAccessRule, error)public CooDomainPreciseAccessRule(string name, CooDomainPreciseAccessRuleArgs args, CustomResourceOptions? opts = null)
public CooDomainPreciseAccessRule(String name, CooDomainPreciseAccessRuleArgs args)
public CooDomainPreciseAccessRule(String name, CooDomainPreciseAccessRuleArgs args, CustomResourceOptions options)
type: alicloud:ddos:CooDomainPreciseAccessRule
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args CooDomainPreciseAccessRuleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CooDomainPreciseAccessRuleArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CooDomainPreciseAccessRuleArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CooDomainPreciseAccessRuleArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CooDomainPreciseAccessRuleArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var cooDomainPreciseAccessRuleResource = new AliCloud.Ddos.CooDomainPreciseAccessRule("cooDomainPreciseAccessRuleResource", new()
{
Action = "string",
Conditions = new[]
{
new AliCloud.Ddos.Inputs.CooDomainPreciseAccessRuleConditionArgs
{
Content = "string",
Field = "string",
MatchMethod = "string",
HeaderName = "string",
},
},
Domain = "string",
Expires = 0,
Name = "string",
});
example, err := ddos.NewCooDomainPreciseAccessRule(ctx, "cooDomainPreciseAccessRuleResource", &ddos.CooDomainPreciseAccessRuleArgs{
Action: pulumi.String("string"),
Conditions: ddos.CooDomainPreciseAccessRuleConditionArray{
&ddos.CooDomainPreciseAccessRuleConditionArgs{
Content: pulumi.String("string"),
Field: pulumi.String("string"),
MatchMethod: pulumi.String("string"),
HeaderName: pulumi.String("string"),
},
},
Domain: pulumi.String("string"),
Expires: pulumi.Int(0),
Name: pulumi.String("string"),
})
var cooDomainPreciseAccessRuleResource = new CooDomainPreciseAccessRule("cooDomainPreciseAccessRuleResource", CooDomainPreciseAccessRuleArgs.builder()
.action("string")
.conditions(CooDomainPreciseAccessRuleConditionArgs.builder()
.content("string")
.field("string")
.matchMethod("string")
.headerName("string")
.build())
.domain("string")
.expires(0)
.name("string")
.build());
coo_domain_precise_access_rule_resource = alicloud.ddos.CooDomainPreciseAccessRule("cooDomainPreciseAccessRuleResource",
action="string",
conditions=[{
"content": "string",
"field": "string",
"match_method": "string",
"header_name": "string",
}],
domain="string",
expires=0,
name="string")
const cooDomainPreciseAccessRuleResource = new alicloud.ddos.CooDomainPreciseAccessRule("cooDomainPreciseAccessRuleResource", {
action: "string",
conditions: [{
content: "string",
field: "string",
matchMethod: "string",
headerName: "string",
}],
domain: "string",
expires: 0,
name: "string",
});
type: alicloud:ddos:CooDomainPreciseAccessRule
properties:
action: string
conditions:
- content: string
field: string
headerName: string
matchMethod: string
domain: string
expires: 0
name: string
CooDomainPreciseAccessRule Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The CooDomainPreciseAccessRule resource accepts the following input properties:
- Action string
- Action to take on match. Valid values:
- Conditions
List<Pulumi.
Ali Cloud. Ddos. Inputs. Coo Domain Precise Access Rule Condition> - List of matching conditions. See
conditionbelow. - Domain string
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- Expires int
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - Name string
- Rule name.
- Action string
- Action to take on match. Valid values:
- Conditions
[]Coo
Domain Precise Access Rule Condition Args - List of matching conditions. See
conditionbelow. - Domain string
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- Expires int
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - Name string
- Rule name.
- action String
- Action to take on match. Valid values:
- conditions
List<Coo
Domain Precise Access Rule Condition> - List of matching conditions. See
conditionbelow. - domain String
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires Integer
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name String
- Rule name.
- action string
- Action to take on match. Valid values:
- conditions
Coo
Domain Precise Access Rule Condition[] - List of matching conditions. See
conditionbelow. - domain string
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires number
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name string
- Rule name.
- action str
- Action to take on match. Valid values:
- conditions
Sequence[Coo
Domain Precise Access Rule Condition Args] - List of matching conditions. See
conditionbelow. - domain str
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires int
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name str
- Rule name.
- action String
- Action to take on match. Valid values:
- conditions List<Property Map>
- List of matching conditions. See
conditionbelow. - domain String
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires Number
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name String
- Rule name.
Outputs
All input properties are implicitly available as output properties. Additionally, the CooDomainPreciseAccessRule resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing CooDomainPreciseAccessRule Resource
Get an existing CooDomainPreciseAccessRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: CooDomainPreciseAccessRuleState, opts?: CustomResourceOptions): CooDomainPreciseAccessRule@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
action: Optional[str] = None,
conditions: Optional[Sequence[CooDomainPreciseAccessRuleConditionArgs]] = None,
domain: Optional[str] = None,
expires: Optional[int] = None,
name: Optional[str] = None) -> CooDomainPreciseAccessRulefunc GetCooDomainPreciseAccessRule(ctx *Context, name string, id IDInput, state *CooDomainPreciseAccessRuleState, opts ...ResourceOption) (*CooDomainPreciseAccessRule, error)public static CooDomainPreciseAccessRule Get(string name, Input<string> id, CooDomainPreciseAccessRuleState? state, CustomResourceOptions? opts = null)public static CooDomainPreciseAccessRule get(String name, Output<String> id, CooDomainPreciseAccessRuleState state, CustomResourceOptions options)resources: _: type: alicloud:ddos:CooDomainPreciseAccessRule get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Action string
- Action to take on match. Valid values:
- Conditions
List<Pulumi.
Ali Cloud. Ddos. Inputs. Coo Domain Precise Access Rule Condition> - List of matching conditions. See
conditionbelow. - Domain string
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- Expires int
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - Name string
- Rule name.
- Action string
- Action to take on match. Valid values:
- Conditions
[]Coo
Domain Precise Access Rule Condition Args - List of matching conditions. See
conditionbelow. - Domain string
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- Expires int
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - Name string
- Rule name.
- action String
- Action to take on match. Valid values:
- conditions
List<Coo
Domain Precise Access Rule Condition> - List of matching conditions. See
conditionbelow. - domain String
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires Integer
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name String
- Rule name.
- action string
- Action to take on match. Valid values:
- conditions
Coo
Domain Precise Access Rule Condition[] - List of matching conditions. See
conditionbelow. - domain string
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires number
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name string
- Rule name.
- action str
- Action to take on match. Valid values:
- conditions
Sequence[Coo
Domain Precise Access Rule Condition Args] - List of matching conditions. See
conditionbelow. - domain str
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires int
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name str
- Rule name.
- action String
- Action to take on match. Valid values:
- conditions List<Property Map>
- List of matching conditions. See
conditionbelow. - domain String
Domain name of the website service.
NOTE: The domain name must already have a website service forwarding rule configured. You can call DescribeDomains to query all domain names.
- expires Number
- Rule validity period, in seconds. This parameter takes effect only when the rule's matching action is set to block (
actionisblock), blocking access requests during the validity period. If this parameter is not specified, the rule remains effective permanently. - name String
- Rule name.
Supporting Types
CooDomainPreciseAccessRuleCondition, CooDomainPreciseAccessRuleConditionArgs
- Content string
- Matching content.
- Field string
- Matching field.
- Match
Method string - Matching method.
- Header
Name string Custom HTTP header field name.
NOTE: Valid only when
Fieldisheader.
- Content string
- Matching content.
- Field string
- Matching field.
- Match
Method string - Matching method.
- Header
Name string Custom HTTP header field name.
NOTE: Valid only when
Fieldisheader.
- content String
- Matching content.
- field String
- Matching field.
- match
Method String - Matching method.
- header
Name String Custom HTTP header field name.
NOTE: Valid only when
Fieldisheader.
- content string
- Matching content.
- field string
- Matching field.
- match
Method string - Matching method.
- header
Name string Custom HTTP header field name.
NOTE: Valid only when
Fieldisheader.
- content str
- Matching content.
- field str
- Matching field.
- match_
method str - Matching method.
- header_
name str Custom HTTP header field name.
NOTE: Valid only when
Fieldisheader.
- content String
- Matching content.
- field String
- Matching field.
- match
Method String - Matching method.
- header
Name String Custom HTTP header field name.
NOTE: Valid only when
Fieldisheader.
Import
DdosCoo Domain Precise Access Rule can be imported using the id, e.g.
$ pulumi import alicloud:ddos/cooDomainPreciseAccessRule:CooDomainPreciseAccessRule example <domain>:<name>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloudTerraform Provider.
published on Saturday, Mar 14, 2026 by Pulumi
