Creates a log delivery configuration for hybrid cloud environments.
Operation description
Before you call this operation, make sure that the WAF instance has hybrid cloud extension nodes purchased. You can call the DescribeInstance operation to query instance details. If the value of the Details.HybridCloudNodeExtend response parameter is greater than 0, hybrid cloud extension nodes have been purchased. If not, log on to the WAF console and upgrade the instance to purchase hybrid cloud extension nodes.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
yundun-waf:CreateLogDeliveryConfig |
create |
*All Resource
|
|
None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| InstanceId |
string |
Yes |
The ID of the WAF instance. Note
You can call the DescribeInstance operation to query the ID of the current WAF instance. |
waf_elasticity-cn-0xldbqt**** |
| DeliveryName |
string |
Yes |
The name of the log delivery configuration. |
test1 |
| DeliveryType |
string |
Yes |
The type of the log delivery configuration. Valid values:
|
syslog |
| DeliveryDetail |
string |
Yes |
The content of the log delivery configuration. The value is a JSON string constructed from a series of parameters. Note
The parameters vary based on the specified delivery type (DeliveryType). For more information, see Description of delivery configuration content parameters. |
{ "rfcVersion": "rfc3164", "protocol": "tcp", "servers": [ { "address": "1.1.1.1", "port": 20 } ] } |
| RegionId |
string |
No |
The region where the WAF instance resides. Valid values:
|
cn-hangzhou |
| ResourceManagerResourceGroupId |
string |
No |
The ID of the Alibaba Cloud resource group. |
rg-acfm***q |
Description of delivery configuration content parameters.
Deliver logs to a syslog service (syslog)
Parameter description
| Name | Type | Required | Example | Description |
| servers | Array | Yes | [{"address":"11.11.XX.XX","port":8000}] | The remote address configuration of the syslog service. When the delivery type is syslog, only one address is supported. Fields: - address: the domain name or IP address of the server. IPv4 and IPv6 are supported. Required. - port: the Server Port. Required. |
| rfcVersion | String | No | rfc3164 | The RFC version of syslog. Valid values: - rfc3164 (default): RFC 3164. - rfc5424: RFC 5424. |
| protocol | String | Yes | tcp | The protocol type of syslog. Valid values: - tcp: TCP connection. - udp: UDP connection. |
Example
{
"InstanceId": "waf_v2_public_cn-n*******",
"DeliveryName": "test1",
"DeliveryType": "syslog",
"DeliveryDetail": "{\"rfcVersion\":\"rfc3164\",\"protocol\":\"tcp\",\"servers\":[{\"address\":\"11.11.XX.XX\",\"port\":8000}]}"
}
Deliver logs to a Kafka service (kafka)
Parameter description
| Name | Type | Required | Example | Description |
| servers | Array | Yes | [{"address":"a.com","port":8000}] | The remote address configuration of the Kafka service. When the delivery type is kafka, up to three addresses are supported. Fields: - address: the domain name or IP address of the server. IPv4 and IPv6 are supported. Required. - port: the Server Port. Required. |
| kafkaTopic | String | Yes | test | The topic ID or name of Kafka. |
| protocol | String | Yes | PLAINTEXT | The security protocol of Kafka. Valid values: - PLAINTEXT (default): PLAINTEXT protocol. - SASL_PLAINTEXT: SASL_PLAINTEXT protocol. - SASL_SSL: SASL_SSL protocol. |
| saslUserName | String | No | user123 | The username for Kafka SASL authentication. Required when the security protocol (protocol) is set to SASL_PLAINTEXT or SASL_SSL. |
| saslPassword | String | No | user*** | The password for Kafka SASL authentication. Required when the security protocol (protocol) is set to SASL_PLAINTEXT or SASL_SSL. |
| pemCert | String | No | Cert | The custom certificate for Kafka. PEM format is supported. |
| compressionCodec | String | No | none | The compression type of Kafka. Valid values: - none (default): no compression. - gzip: gzip compression. - zstd: zstd compression. - lz4: lz4 compression. - snappy: snappy compression. |
Example
{
"InstanceId": "waf_v2_public_cn-n*********",
"DeliveryName": "test2",
"DeliveryType": "kafka",
"DeliveryDetail": "{\"kafkaTopic\":\"topictest1\",\"protocol\":\"SASL_PLAINTEXT\",\"servers\":[{\"address\":\"a.com\",\"port\":1000},{\"address\":\"ba.com\",\"port\":1000},{\"address\":\"c.com\",\"port\":1000}],\"saslUserName\":\"user123\",\"saslPassword\":\"user****\"}"
}
Response elements
|
Element |
Type |
Description |
Example |
|
object |
|||
| DeliveryName |
string |
The name of the log delivery configuration. |
test1 |
| RequestId |
string |
The request ID. |
26E46541-7AAB-5565-801D-F14DBDC5**** |
Examples
Success response
JSON format
{
"DeliveryName": "test1",
"RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****"
}
Error codes
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.