All Products
Search
Document Center

Web Application Firewall:CreateCloudResource

Last Updated:Aug 20, 2026

Connects a cloud service to WAF in cloud native mode. Supported cloud services include ECS, CLB, NLB, and Anti-DDoS.

Operation description

Before invoking this operation, complete the following steps:

  1. Confirm that you have a WAF instance. Invoke DescribeInstance to query the ID of your WAF instance.

  2. Confirm that the cloud service to be connected meets the applicable scope. For ECS, CLB, and NLB connections, verify the instance specifications and region. Refer to the "Applicable Scope" section in the ECS connection, CLB connection, and NLB connection documentation. For Anti-DDoS connections, which are configured for domain names, refer to the "Applicable Scope" section in the Anti-DDoS connection documentation. After completing the preceding steps, invoke this operation to connect the cloud service to WAF in cloud native mode.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

yundun-waf:CreateCloudResource

create

*DefenseResource

acs:yundun-waf:{#regionId}:{#accountId}:defenseresource/*

None None

Request parameters

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

The ID of the WAF instance.

Note

Call DescribeInstance to query the ID of your WAF instance.

waf_v3prepaid_public_cn-***

ResourceManagerResourceGroupId

string

No

The ID of the Alibaba Cloud resource group.

rg-acfm***q

Listen

object

Yes

The listener configuration.

TLSVersion

string

No

The TLS version to add. This parameter is used only when HttpsPorts is not empty, which indicates that the domain name uses HTTPS. Valid values:

  • tlsv1: TLS 1.0 and later. Highest compatibility, lower security.

  • tlsv1.1: TLS 1.1 and later. Good compatibility, good security.

  • tlsv1.2: TLS 1.2 and later. Good compatibility, highest security.

  • tlsv1.3: TLS 1.3 only. Highest security, lower compatibility.

tlsv1

EnableTLSv3

boolean

No

Specifies whether TLS 1.3 is supported. Valid values:

  • true: TLS 1.3 is supported.

  • false: TLS 1.3 is not supported.

Note

This parameter is used only when HttpsPorts is not empty, which indicates that the domain name uses HTTPS. When TLSVersion is set to tlsv1.3, this value must be true.

true

CipherSuite

integer

No

The type of cipher suite to add. This parameter is used only when HttpsPorts is not empty, which indicates that the domain name uses HTTPS. Valid values:

  • 1: all cipher suites.

  • 2: strong cipher suites. This value is available only when TLSVersion is set to tlsv1.2.

  • 99: custom cipher suites. This value is available only when TLSVersion is not set to tlsv1.3.

1

CustomCiphers

array

No

The specific custom cipher suites to add. This parameter is used only when CipherSuite is set to 99.

string

No

The specific custom cipher suites to add. This parameter is used only when CipherSuite is set to 99.

ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384

ResourceProduct

string

Yes

The cloud service type.

Valid values:

  • clb7 :

    Layer 7 CLB.

  • ecs :

    ECS.

  • clb4 :

    Layer 4 CLB.

  • nlb :

    NLB.

  • ddos :

    Anti-DDoS.

clb4

Port

integer

No

The port of the cloud service connected to WAF.

80

ResourceInstanceId

string

No

The ID of the cloud service instance.

Note

The instance must meet the applicable scope of the corresponding cloud service (instance specifications, region, etc.). Refer to the corresponding product connection documentation listed in the operation description.

This parameter is required when ResourceProduct is set to ecs, clb4, clb7, or nlb.

lb-bp1*****

Protocol

string

No

The protocol type.

Valid values:

  • http :

    HTTP.

  • https :

    HTTPS.

http

Certificates

array<object>

No

The list of certificate IDs.

object

No

The certificate information.

CertificateId

string

No

The ID of the certificate to add.

Note

Call DescribeResourceInstanceCerts to query the IDs of all SSL certificates associated with the cloud service instance.

123-cn-hangzhou

AppliedType

string

No

The certificate type for the HTTPS protocol. Valid values:

  • default: default certificate.

  • extension: extension certificate.

default

Http2Enabled

boolean

No

Specifies whether to enable HTTP/2. This parameter is used only when HttpsPorts is not empty, which indicates that the domain name uses HTTPS. Valid values:

  • true: HTTP/2 is enabled.

  • false (default): HTTP/2 is not enabled.

true

ResourceRegionId

string

No

The region ID of the cloud service.

Note

This parameter is required when the instance ID to be connected has not been synchronized to WAF. Call SyncProductInstance to synchronize ECS, CLB, and NLB assets, and call DescribeProductInstances to query the synchronized cloud service assets and their region IDs.

cn-hangzhou

Domain

string

No

The domain name to connect to WAF.

Note

This parameter is required only when the cloud service type is ddos. For other service types, leave this field empty. Refer to the Anti-DDoS connection documentation listed in the operation description for the applicable scope of domain names.

www.c**sw.net

Redirect

object

No

The forwarding configuration.

RequestHeaders

array<object>

No

The value of this parameter is in the format of [{"k":"key","v":"value"}], where key specifies the custom request header field and value specifies the value set for the field.

Note

If the custom header field already exists in the request, the system overwrites the value of the custom field in the request with the specified traffic mark value.

object

No

The value of this parameter is in the format of [{"k":"key","v":"value"}], where key specifies the custom request header field and value specifies the value set for the field.

Key

string

No

The custom request header field.

key1

Value

string

No

The value set for the custom request header field.

value1

XffHeaderMode

integer

No

The method that WAF uses to obtain the originating IP address of the client. Valid values:

  • 0: No Layer 7 proxy is deployed in front of WAF.

  • 1: WAF reads the first value in the X-Forwarded-For (XFF) header as the client IP address.

  • 2: WAF reads the value of a custom header field that you specify as the client IP address.

  • 3: WAF reads the Client IP from the Proxy Protocol header as the client IP address.

1

XffHeaders

array

No

The list of custom header fields used to obtain the client IP address, in the format of ["header1","header2",……].

Note

This parameter is required only when XffHeaderMode is set to 2, which indicates that WAF reads the value of a custom header field that you specify as the client IP address.

string

No

The list of custom header fields used to obtain the client IP address, in the format of ["header1","header2",……].

Note

This parameter is required only when XffHeaderMode is set to 2, which indicates that WAF reads the value of a custom header field that you specify as the client IP address.

header1

ReadTimeout

integer

No

The read timeout period. Unit: seconds. Valid values: 1 to 3600.

1

WriteTimeout

integer

No

The write timeout period. Unit: seconds. Valid values: 1 to 3600.

1

Keepalive

boolean

No

Specifies whether to enable persistent connections. Valid values:

  • true (default): Persistent connections are enabled.

  • false: Persistent connections are not enabled.

true

KeepaliveRequests

integer

No

The number of requests that can reuse a persistent connection. Valid values: 60 to 1000.

Note

After persistent connections are enabled, this parameter specifies how many requests can reuse a persistent connection.

1000

KeepaliveTimeout

integer

No

The idle timeout period for persistent connections. Valid values: 10 to 3600. Default value: 3600. Unit: seconds.

Note

Specifies how long an idle persistent connection remains open before it is released.

3600

XffProto

boolean

No

Specifies whether to use X-Forward-For-Proto to pass the protocol used by WAF. Valid values:

  • true (default): The protocol used by WAF is passed.

  • false: The protocol used by WAF is not passed.

true

MaxBodySize

integer

No

The maximum request body size. Valid values: 2 to 10. Default value: 2. Unit: GB.

Note

Only the Ultimate Edition supports this parameter.

2

Tag

array<object>

No

The list of tags. A maximum of 20 tags can be specified.

object

No

Key

string

No

The tag key.

TagKey1

Value

string

No

The tag value.

TagValue1

RegionId

string

Yes

The region where the WAF instance resides. Valid values:

  • cn-hangzhou: the Chinese mainland.

  • ap-southeast-1: outside the Chinese mainland.

cn-hangzhou

OwnerUserId

string

No

The UID of the current resource ownership.

123

Response elements

Element

Type

Description

Example

object

RequestId

string

The request ID.

66A98669-ER12-WE34-23PO-301469*****E

CloudResourceId

string

The ID of the connected resource, automatically generated by WAF.

lb-***

Examples

Success response

JSON format

{
  "RequestId": "66A98669-ER12-WE34-23PO-301469*****E",
  "CloudResourceId": "lb-***"
}

Error codes

HTTP status code

Error code

Error message

Description

400 Waf.Pullin.CertNotExist Certificate does not exist in SSL Certificate Center, certificate type:%s, certificate ID:%s. Certificate does not exist in SSL Certificate Center, certificate type:%s, certificate ID:%s.
400 Waf.Pullin.CertExpired Certificate expired, certificate ID:%s . Certificate expired, certificate ID:%s.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.