summaryrefslogtreecommitdiff
path: root/data/zh_cn/waf-openapi/2019-09-10/api-docs.php
diff options
context:
space:
mode:
authorZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
committerZhineng Li <im@zhineng.li>2026-07-12 17:11:17 +0800
commit1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch)
tree5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/waf-openapi/2019-09-10/api-docs.php
parent7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff)
downloadafterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz
afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip
update APIs 20260712
Diffstat (limited to 'data/zh_cn/waf-openapi/2019-09-10/api-docs.php')
-rw-r--r--data/zh_cn/waf-openapi/2019-09-10/api-docs.php11383
1 files changed, 5394 insertions, 5989 deletions
diff --git a/data/zh_cn/waf-openapi/2019-09-10/api-docs.php b/data/zh_cn/waf-openapi/2019-09-10/api-docs.php
index 7c436ae..ba1a2f2 100644
--- a/data/zh_cn/waf-openapi/2019-09-10/api-docs.php
+++ b/data/zh_cn/waf-openapi/2019-09-10/api-docs.php
@@ -1,372 +1,93 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'waf-openapi',
- 'version' => '2019-09-10',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'waf-openapi', 'version' => '2019-09-10'],
'directories' => [
[
- 'id' => 40429,
- 'title' => '实例信息',
+ 'children' => ['DescribeInstanceInfo', 'DescribeInstanceSpecInfo'],
'type' => 'directory',
- 'children' => [
- 'DescribeInstanceInfo',
- 'DescribeInstanceSpecInfo',
- 'DeleteInstance',
- ],
+ 'title' => '实例信息',
+ 'id' => 8014,
],
[
- 'id' => 40434,
- 'title' => '域名配置',
+ 'children' => ['DescribeDomainNames', 'DescribeDomain', 'ModifyDomain', 'DescribeCertificates', 'DescribeCertMatchStatus', 'CreateCertificateByCertificateId', 'DescribeDomainBasicConfigs', 'DescribeDomainAdvanceConfigs'],
'type' => 'directory',
- 'children' => [
- 'DescribeDomainNames',
- 'DescribeDomain',
- 'CreateDomain',
- 'ModifyDomain',
- 'DeleteDomain',
- 'DescribeCertificates',
- 'DescribeCertMatchStatus',
- 'CreateCertificate',
- 'CreateCertificateByCertificateId',
- 'DescribeDomainBasicConfigs',
- 'DescribeDomainAdvanceConfigs',
- 'DescribeDomainList',
- ],
+ 'title' => '域名配置',
+ 'id' => 8018,
],
[
- 'id' => 40447,
- 'title' => '防护配置',
+ 'children' => ['DescribeProtectionModuleMode', 'ModifyDomainIpv6Status', 'DescribeProtectionModuleStatus', 'ModifyProtectionModuleStatus', 'ModifyProtectionModuleMode', 'DescribeProtectionModuleRules', 'CreateProtectionModuleRule', 'ModifyProtectionModuleRule', 'ModifyProtectionRuleStatus', 'DescribeDomainRuleGroup', 'SetDomainRuleGroup', 'ModifyProtectionRuleCacheStatus', 'DeleteProtectionModuleRule', 'DescribeProtectionModuleCodeConfig', 'DescribeRuleGroups', 'DescribeRules'],
'type' => 'directory',
- 'children' => [
- 'DescribeProtectionModuleMode',
- 'ModifyDomainIpv6Status',
- 'DescribeProtectionModuleStatus',
- 'ModifyProtectionModuleStatus',
- 'ModifyProtectionModuleMode',
- 'DescribeProtectionModuleRules',
- 'CreateProtectionModuleRule',
- 'ModifyProtectionModuleRule',
- 'ModifyProtectionRuleStatus',
- 'DescribeDomainRuleGroup',
- 'SetDomainRuleGroup',
- 'ModifyProtectionRuleCacheStatus',
- 'DeleteProtectionModuleRule',
- 'DescribeProtectionModuleCodeConfig',
- 'DescribeRuleGroups',
- 'DescribeRules',
- ],
+ 'title' => '防护配置',
+ 'id' => 8031,
],
[
- 'id' => 40462,
- 'title' => '日志管理',
+ 'children' => ['DescribeWafSourceIpSegment'],
'type' => 'directory',
- 'children' => [
- 'ModifyLogRetrievalStatus',
- 'ModifyLogServiceStatus',
- 'DescribeLogServiceStatus',
- ],
- ],
- [
- 'id' => 40466,
'title' => '系统管理',
- 'type' => 'directory',
- 'children' => [
- 'DescribeWafSourceIpSegment',
- ],
+ 'id' => 8052,
],
[
- 'id' => 171036,
- 'title' => '资源相关接口',
+ 'children' => ['CreateCertificate', 'CreateDomain', 'DeleteDomain', 'DeleteInstance', 'DescribeDomainList', 'DescribeLogServiceStatus', 'ModifyLogRetrievalStatus', 'ModifyLogServiceStatus', 'MoveResourceGroup'],
+ 'title' => '其他',
'type' => 'directory',
- 'children' => [
- 'MoveResourceGroup',
- ],
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'DescribeInstanceInfo' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateCertificate' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'InstanceId',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的WAF实例的ID。'."\n"
- ."\n"
- .'不设置该参数表示查询中国内地地域或非中国内地地域的所有WAF实例信息。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf-cn-tl32ast****',
- ],
+ 'schema' => ['description' => '已接入WAF的域名名称。', 'type' => 'string', 'required' => false, 'example' => 'www.example.com'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'Certificate',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => '证书文件内容。', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE----- 62EcYPWd2Oy1vs6MTXcJSfN9Z7rZ9fmxWr2BFN2XbahgnsSXM48ixZJ4krc+1M+j2kcubVpsE2cgHdj4v8H6jUz9Ji4mr7vMNS6dXv8PUkl/qoDeNGCNdyTS5NIL5ir+g92cL8IGOkjgvhlqt9vc65Cgb4mL+n5+DV9uOyTZTW/MojmlgfUekC2xiXa54nxJf17Y1TADGSbyJbsC0Q9nIrHsPl8YKkvRWvIAqYxXZ7wRwWWmv4TMxFhWRiNY7yZIo2ZUhl02SIDNggIEeg== -----END CERTIFICATE-----', 'default' => 'cn'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'PrivateKey',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '证书对应的私钥文件内容。', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN RSA PRIVATE KEY----- DADTPZoOHd9WtZ3UKHJTRgNQmioPQn2bqdKHop+B/dn/4VZL7Jt8zSDGM9sTMThLyvsmLQKBgQCr+ujntC1kN6pGBj2Fw2l/EA/W3rYEce2tyhjgmG7rZ+A/jVE9fld5sQra6ZdwBcQJaiygoIYoaMF2EjRwc0qwHaluq0C15f6ujSoHh2e+D5zdmkTg/3NKNjqNv6xA2gYpinVDzFdZ9Zujxvuh9o4Vqf0YF8bv5UK5G04RtKadOw== -----END RSA PRIVATE KEY-----'],
],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
- 'InstanceInfo' => [
- 'description' => 'WAF实例的详情。',
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => 'WAF实例是否过期。取值:'."\n"
- .'- **0**:表示已过期。'."\n"
- .'- **1**:表示未过期。'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'EndDate' => [
- 'description' => 'WAF实例的到期时间。使用时间戳表示,单位:秒。'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1512921600',
- ],
- 'Version' => [
- 'description' => 'WAF实例的版本。取值:'."\n"
- ."\n"
- .'<props="china">- **version_3**:表示中国内地高级版。</props>'."\n"
- .'<props="china">- **version_4**:表示中国内地企业版。</props>'."\n"
- .'<props="china">- **version_5**:表示中国内地旗舰版。</props>'."\n"
- .'<props="china">- **version_exclusive_cluster**:表示中国内地虚拟独享集群版。</props>'."\n"
- .'<props="china">- **version_hybrid_cloud_standard**:表示中国内地混合云WAF版。</props>'."\n"
- .'<props="china">- **version_pro_asia**:表示非中国内地高级版。</props>'."\n"
- .'<props="china">- **version_business_asia**:表示非中国内地企业版。</props>'."\n"
- .'<props="china">- **version_enterprise_asia**:表示非中国内地旗舰版。</props>'."\n"
- .'<props="china">- **version_exclusive_cluster_asia**:表示非中国内地虚拟独享集群版。</props>'."\n"
- .'<props="china">- **version_hybrid_cloud_standard_asia**:表示非中国内地混合云WAF版。</props>'."\n"
- .'<props="china">- **version_elastic_bill**:表示按量计费版。</props>'."\n"
- .'<props="china">- **version_elastic_bill_new**:表示按量计费2.0版。</props>'."\n"
- ."\n"
- .'<props="china">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云中国站云账号。</props> '."\n"
- ."\n"
- .'<props="intl">- **version_pro_china**:表示中国内地高级版。</props>'."\n"
- .'<props="intl">- **version_business_china**:表示中国内地企业版。</props>'."\n"
- .'<props="intl">- **version_enterprise_china**:表示中国内地旗舰版。</props>'."\n"
- .'<props="intl">- **version_exclusive_china**:表示中国内地虚拟独享集群版。</props>'."\n"
- .'<props="intl">- **version_hybrid_cloud_standard_china**:表示中国内地混合云WAF版。</props>'."\n"
- .'<props="intl">- **version_pro**:表示非中国内地高级版。</props>'."\n"
- .'<props="intl">- **version_business**:表示非中国内地企业版。</props>'."\n"
- .'<props="intl">- **version_enterprise**:表示非中国内地旗舰版。</props>'."\n"
- .'<props="intl">- **version_exclusive**:表示非中国内地虚拟独享集群版。</props>'."\n"
- .'<props="intl">- **version_hybrid_cloud_standard**:表示非中国内地混合云WAF版。</props>'."\n"
- ."\n"
- .'<props="intl">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云国际站云账号。</props>'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。'."\n",
- 'type' => 'string',
- 'example' => 'version_3',
- ],
- 'RemainDay' => [
- 'description' => '试用版WAF实例的剩余可用天数。'."\n"
- ."\n"
- .'> 只有当**Trial**为**1**(表示已开通试用版WAF实例)时,才返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Region' => [
- 'description' => 'WAF实例的地域。取值:'."\n"
- ."\n"
- .'- **cn**:表示中国内地。'."\n"
- .'- **cn-hongkong**:表示非中国内地。'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。',
- 'type' => 'string',
- 'example' => 'cn',
- ],
- 'PayType' => [
- 'description' => 'WAF实例的开通状态。取值:'."\n"
- ."\n"
- .'- **0**:表示当前阿里云账号未开通WAF实例。'."\n"
- .'- **1**:表示当前阿里云账号已开通WAF包年包月实例。'."\n"
- .'<props="china">- **2**:表示当前阿里云账号已开通WAF按量计费实例。</props>',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'InDebt' => [
- 'description' => 'WAF实例是否存在欠费。取值:'."\n"
- ."\n"
- .'- **0**:表示已欠费。'."\n"
- .'- **1**:表示未欠费。'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'InstanceId' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。',
- 'type' => 'string',
- 'example' => 'waf-cn-tl32ast****',
- ],
- 'SubscriptionType' => [
- 'description' => '<props="china">WAF实例的计费方式。取值:</props>'."\n"
- .'<props="china">- **Subscription**:表示包年包月。</props>'."\n"
- .'<props="china">- **PayAsYouGo**:表示按量计费。</props>'."\n"
- ."\n"
- .'<props="intl">WAF实例的计费方式。取值固定为**Subscription**,表示包年包月。</props>'."\n"
- ."\n"
- .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。',
- 'type' => 'string',
- 'example' => 'Subscription',
- ],
- 'Trial' => [
- 'description' => '当前阿里云账号是否开通了试用版WAF实例。取值:'."\n"
- ."\n"
- .'- **0**:表示否。'."\n"
- .'- **1**:表示是。'."\n"
- ."\n"
- .'> 只有当前阿里云账号已开通试用版WAF实例时,才会返回该参数。 ',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'Forbbiden',
- 'errorMessage' => 'User not authorized to operate on the specified resource.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"InstanceInfo\\": {\\n \\"Status\\": 1,\\n \\"EndDate\\": 1512921600,\\n \\"Version\\": \\"version_3\\",\\n \\"RemainDay\\": 1,\\n \\"Region\\": \\"cn\\",\\n \\"PayType\\": 1,\\n \\"InDebt\\": 1,\\n \\"InstanceId\\": \\"waf-cn-tl32ast****\\",\\n \\"SubscriptionType\\": \\"Subscription\\",\\n \\"Trial\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceInfoResponse>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n <InstanceInfo>\\n <Status>1</Status>\\n <EndDate>1512921600</EndDate>\\n <Version>version_3</Version>\\n <Region>cn</Region>\\n <PayType>1</PayType>\\n <InDebt>1</InDebt>\\n <InstanceId>waf-cn-tl32ast****</InstanceId>\\n <SubscriptionType>Subscription</SubscriptionType>\\n </InstanceInfo>\\n</DescribeInstanceInfoResponse>","errorExample":""}]',
- 'title' => '获取WAF实例的当前信息',
- 'summary' => '查询当前阿里云账号下WAF实例的详情。',
- 'description' => '本接口用于查询当前阿里云账号下WAF实例的详情,例如,实例的ID、版本、状态、到期时间等。请注意,为了确保系统稳定性,对单用户QPS限制为50次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeInstanceSpecInfo' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
[
- 'AK' => [],
+ 'name' => 'CertificateName',
+ 'in' => 'query',
+ 'schema' => ['description' => '证书名称。', 'type' => 'string', 'required' => true, 'example' => 'CertName'],
],
- ],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf-cn-st2225l****',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => "\n"
- .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -374,228 +95,28 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'E906513E-F6B5-495E-98DC-7BA8****1D76',
- ],
- 'InstanceId' => [
- 'description' => 'WAF实例ID。',
- 'type' => 'string',
- 'example' => 'waf-cn-st2225l****',
- ],
- 'ExpireTime' => [
- 'description' => 'WAF实例的到期时间。格式为毫秒级时间戳。'."\n"
- ."\n"
- .'> 对于按量计费实例,返回的值表示试用版的到期时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1677168000000',
- ],
- 'Version' => [
- 'description' => 'WAF实例的版本。取值:'."\n"
- ."\n"
- .'<props="china">'."\n"
- ."\n"
- .'- **version_3**:表示中国内地高级版。'."\n"
- ."\n"
- .'- **version_4**:表示中国内地企业版。'."\n"
- ."\n"
- .'- **version_5**:表示中国内地旗舰版。'."\n"
- ."\n"
- .'- **version_exclusive_cluster**:表示中国内地虚拟独享集群版。'."\n"
- ."\n"
- .'- **version_hybrid_clou_standard**:表示中国内地混合云WAF版。'."\n"
- ."\n"
- .'- **version_pro_asia**:表示海外地区高级版。'."\n"
- ."\n"
- .'- **version_business_asia**:表示海外地区企业版。'."\n"
- ."\n"
- .'- **version_enterprise_asia**:表示海外地区旗舰版。'."\n"
- ."\n"
- .'- **version_exclusive_cluster_asia**:表示海外地区虚拟独享集群版。'."\n"
- ."\n"
- .'- **version_hybrid_cloud_standard_asia**:表示海外地区混合云WAF版。'."\n"
- ."\n"
- .'- **version_elastic_bill**:表示按量计费版。'."\n"
- ."\n"
- .'- **version_elastic_bill_new**:表示按量计费2.0版。'."\n"
- ."\n"
- .'</props>'."\n"
- ."\n"
- .'<props="intl">'."\n"
- ."\n"
- .'- **version_pro_china**:表示中国内地高级版。'."\n"
- ."\n"
- .'- **version_business_china**:表示中国内地企业版。'."\n"
- ."\n"
- .'- **version_enterprise_china**:表示中国内地旗舰版。'."\n"
- ."\n"
- .'- **version_exclusive_china**:表示中国内地虚拟独享集群版。'."\n"
- ."\n"
- .'- **version_hybrid_cloud_standard_china**:表示中国内地混合云WAF版。'."\n"
- ."\n"
- .'- **version_pro**:表示海外地区高级版。'."\n"
- ."\n"
- .'- **version_business**:表示海外地区企业版。'."\n"
- ."\n"
- .'- **version_enterprise**:表示海外地区旗舰版。'."\n"
- ."\n"
- .'- **version_exclusive**:表示海外地区虚拟独享集群版。'."\n"
- ."\n"
- .'- **version_hybrid_cloud_standard**:表示海外地区混合云WAF版。'."\n"
- ."\n"
- .'</props>'."\n"
- ."\n"
- .'<props="china">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云中国站账号。</props>'."\n"
- ."\n"
- .'<props="intl">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云国际站账号。</props>'."\n",
- 'type' => 'string',
- 'example' => 'version_3',
- ],
- 'InstanceSpecInfos' => [
- 'description' => 'WAF实例的规格信息,以**Code**与**Value**的数组形式返回实例的各项规格信息。其中,**Code**表示规格代码,**Value**表示对应的规格值。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Code' => [
- 'description' => 'WAF实例规格的代码。取值:'."\n"
- ."\n"
- .'- **100**:表示是否支持HTTPS业务防护。'."\n"
- .'- **101**:表示日常业务流量阈值。'."\n"
- .'- **102**:表示CC攻击防护阈值。'."\n"
- .'- **103**:表示支持接入防护的域名总数。'."\n"
- .'- **104**:表示是否支持泛域名。'."\n"
- .'- **105**:表示支持配置的自定义防护策略(ACL访问控制)规则的数量。'."\n"
- .'- **106**:表示域名回源IP的数量。'."\n"
- .'- **107**:表示是否支持云外房机。'."\n"
- .'- **108**:表示是否支持自定义高级Web访问控制功能。'."\n"
- .'- **109**:表示是否支持非标准端口。'."\n"
- .'- **110**:表示是否支持扫描防护功能。'."\n"
- .'- **111**:表示是否支持数据风控。'."\n"
- .'- **112**:表示支持配置的数据风控记录数。'."\n"
- .'- **113**:表示支持接入防护的主域名数(一级域名)。'."\n"
- .'- **114**:表示正常业务带宽阈值。'."\n"
- .'- **115**:表示绑定的域名包的数量。'."\n"
- .'- **116**:表示是否支持添加不同阿里云账号下的ECS IP作为源站服务器IP。'."\n"
- .'- **117**:表示是否支持添加虚拟主机IP作为源站服务器IP。'."\n"
- .'- **118**:表示支持配置的数据风控规则场景的数量。'."\n"
- .'- **119**:表示是否支持语义分析引擎功能。'."\n"
- .'- **12**:表示是否支持业务流量分析功能。'."\n"
- .'- **120**:表示接入域名是否需要判断备案。'."\n"
- .'- **121**:表示是否支持配置自定义防护策略(CC攻击防护)规则。'."\n"
- .'- **122**:表示支持配置的自定义防护策略(CC攻击防护)规则的数量。'."\n"
- .'- **123**:表示是否支持地域级IP黑名单功能。'."\n"
- .'- **124**:表示是否支持网站防篡改功能。'."\n"
- .'- **125**:表示支持配置的自定义防篡改防护规则的数量。'."\n"
- .'- **126**:表示是否支持收集日志功能。'."\n"
- .'- **127**:表示支持添加的非标端口数。'."\n"
- .'- **128**:表示支持添加的HTTP协议端口。'."\n"
- .'- **129**:表示支持添加的HTTPS协议端口。'."\n"
- .'- **13**:表示是否支持切换CC安全防护的模式。'."\n"
- .'- **130**:表示是否支持黑客画像功能。'."\n"
- .'- **131**:表示是否支持防敏感信息泄露功能。'."\n"
- .'- **132**:表示支持配置的防敏感信息泄露规则的数量。'."\n"
- .'- **133**:表示自定义防护策略及白名单策略中支持使用的条件字段。'."\n"
- .'- **134**:表示绑定的独享IP的数量。'."\n"
- .'- **135**:表示是否支持数据大屏功能。'."\n"
- .'- **136**:表示支持的数据大屏数量。'."\n"
- .'- **137**:表示是否支持深度学习引擎功能。'."\n"
- .'- **138**:表示是否支持全量日志功能。'."\n"
- .'- **139**:表示全量日志的存储时长。'."\n"
- .'- **14**:表示是否支持查看CC攻击日志详情。'."\n"
- .'- **140**:表示全量日志的最大存储容量。'."\n"
- .'- **141**:表示是否支持告警设置功能。'."\n"
- .'- **142**:表示全量日志的存储空间可清空次数。'."\n"
- .'- **143**:表示是否支持自定义防护规则组功能。'."\n"
- .'- **144**:表示支持配置的自定义规则组的数量。'."\n"
- .'- **145**:表示是否支持使用防护模块通用网关代理。'."\n"
- .'- **146**:表示是否支持使用防护模块通用规则代理。'."\n"
- .'- **147**:表示是否支持安全专家服务平台。'."\n"
- .'- **148**:表示是否支持试用。'."\n"
- .'- **149**:表示是否支持使用透明代理模式。'."\n"
- .'- **150**:表示是否支持IPv6。'."\n"
- .'- **151**:表示是否支持主动防御功能。'."\n"
- .'- **152**:表示支持配置的主动防护规则的数量。'."\n"
- .'- **153**:表示是否支持HTTP 2.0业务防护。'."\n"
- .'- **154**:表示是否支持域名配置功能。'."\n"
- .'- **155**:表示是否支持资产识别功能。'."\n"
- .'- **156**:表示是否具有预发测试规格。'."\n"
- .'- **157**:表示是否支持使用虚拟独立集群。'."\n"
- .'- **158**:表示虚拟独立集群支持的端口数量。'."\n"
- .'- **159**:表示是否支持账号安全功能。'."\n"
- .'- **160**:表示账号安全防护的接口数量。'."\n"
- .'- **162**:表示支持添加的白名单规则的数量。'."\n"
- .'- **163**:表示自定义防护规则的数量。'."\n"
- .'- **164**:表示IP黑名单规则的数量。'."\n"
- .'- **167**:表示是否支持自定义扫描防护配置。'."\n"
- .'- **168**:表示全局负载均衡(GSLB)防护域名的数量。'."\n"
- .'- **169**:表示是否支持智能负载均衡。'."\n"
- .'- **171**:表示是否支持App防护功能。'."\n"
- .'- **172**:表示App防护的规则数量。'."\n"
- .'- **173**:表示是否支持典型爬虫行为识别功能。'."\n"
- .'- **176**:表示是否支持合法爬虫功能。'."\n"
- .'- **177**:表示是否支持爬虫威胁情报功能。'."\n"
- .'- **181**:表示透明接入支持添加的引流配置(对应一个具体的实例IP+端口)的数量。'."\n"
- .'- **190**:表示是否支持CC防护能力。'."\n"
- .'- **191**:表示是否支持账户安全防御能力。'."\n"
- .'- **192**:表示是否支持扫描防护能力。'."\n"
- .'- **193**:表示是否支持自定义TLS安全策略。'."\n"
- .'- **194**:表示是否支持自定义TLS安全策略的高级设置。'."\n"
- .'- **196**:表示透明接入是否支持接入任意接口。'."\n"
- .'- **199**:表示是否支持IPv6回源。'."\n"
- .'- **200**:表示是否支持防爬场景化配置。'."\n"
- .'- **201**:表示防爬场景化配置的数量。',
- 'type' => 'string',
- 'example' => '103',
- ],
- 'Value' => [
- 'description' => 'WAF实例规格代码对应的值。取值可以为**true**(表示是)或**false**(表示否);也可以为具体的数值。'."\n"
- ."\n"
- .'> 例如,如果**Code**取值为**103**,则**Value**取值为**640**;如果**Code**取值为**104**,则**Value**取值为**true**。'."\n",
- 'type' => 'string',
- 'example' => '640',
- ],
- ],
- ],
- ],
+ 'CertificateId' => ['description' => '系统自动生成的证书记录ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2329260'],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
],
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'Forbbiden',
- 'errorMessage' => 'User not authorized to operate on the specified resource.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertificateId\\": 2329260,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateCertificateResponse>\\n\\t<CertificateId>2329260</CertificateId>\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</CreateCertificateResponse>","errorExample":""}]',
+ 'title' => '为已添加域名上传证书及私钥信息',
+ 'summary' => '为已添加的域名配置记录上传证书及私钥信息。',
+ 'description' => '本接口为指定域名配置更新已上传的证书及私钥信息。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCertificate'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E906513E-F6B5-495E-98DC-7BA8****1D76\\",\\n \\"InstanceId\\": \\"waf-cn-st2225l****\\",\\n \\"ExpireTime\\": 1677168000000,\\n \\"Version\\": \\"version_3\\",\\n \\"InstanceSpecInfos\\": [\\n {\\n \\"Code\\": \\"103\\",\\n \\"Value\\": \\"640\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceSpecInfoResponse>\\n <RequestId>E906513E-F6B5-495E-98DC-7BA888671D76</RequestId>\\n <InstanceId>waf-cn-st2225l****</InstanceId>\\n <ExpireTime>1677168000000</ExpireTime>\\n <Version>version_3或version_pro_china</Version>\\n <InstanceSpecInfos>\\n <Code>103</Code>\\n <Value>640</Value>\\n </InstanceSpecInfos>\\n</DescribeInstanceSpecInfoResponse>","errorExample":""}]',
- 'title' => '获取WAF实例的规格信息',
- 'summary' => '查询WAF实例的规格信息。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'ramActions' => [],
],
- 'DeleteInstance' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'CreateCertificateByCertificateId' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -604,605 +125,87 @@
'systemTags' => [],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '相关的资源组ID。'."\n"
- ."\n"
- .'默认为空,表示属于默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => '要添加SSL证书的域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'CertificateId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '阿里云为此次API调用请求生成的唯一标识符。',
- 'type' => 'string',
- 'example' => 'F35F45B0-5D6B-4238-BE02-A62D****E840',
- ],
- ],
- ],
- ],
- ],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F35F45B0-5D6B-4238-BE02-A62D****E840\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteInstanceResponse>\\r\\n<RequestId>F35F45B0-5D6B-4238-BE02-A62D0760E840</RequestId>\\r\\n</DeleteInstanceResponse>","errorExample":""}]',
- 'title' => '释放Web应用防火墙(WAF)实例',
- 'summary' => '释放Web应用防火墙(WAF)按量付费实例或者到期的包年包月实例。',
- 'description' => '释放实例后,实例的相关数据将全部丢失且不可恢复,请谨慎操作。',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeDomainNames' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ 'schema' => ['description' => '要添加的证书的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeCertificates](~~160783~~)查询域名关联的所有SSL证书的ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '3384669'],
],
- ],
- 'systemTags' => [
- 'operationType' => 'list',
- ],
- 'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-zz11sr5****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '域名在资源管理产品中所属的资源组ID。默认为空,即属于默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
- 'DomainNames' => [
- 'description' => '已添加的域名列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '域名。',
- 'type' => 'string',
- 'example' => '1.example.com',
- ],
- ],
+ 'CertificateId' => ['description' => '已添加的证书的ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '3384669'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
],
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'Forbbiden',
- 'errorMessage' => 'User not authorized to operate on the specified resource.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"DomainNames\\": [\\n \\"1.example.com\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeDomainNamesResponse>\\n\\t<DomainNames>1.example.com</DomainNames>\\n\\t<DomainNames>2.example.com</DomainNames>\\n\\t<DomainNames>3.example.com</DomainNames>\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</DescribeDomainNamesResponse>","errorExample":""}]',
- 'title' => '获取指定实例中已添加的域名名称列表',
- 'summary' => '获取指定WAF实例中已添加的域名名称列表。',
- 'requestParamsDescription' => ' ',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertificateId\\": 3384669,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCertificateByCertificateIdResponse>\\n <CertificateId>3384669</CertificateId>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</CreateCertificateByCertificateIdResponse>","errorExample":""}]',
+ 'title' => '根据证书ID为指定域名创建证书',
+ 'summary' => '调用CreateCertificateByCertificateId接口根据证书ID为指定域名创建证书。',
+ 'description' => '本接口用于通过证书ID,为指定域名添加SSL证书。调用本接口前,您可以调用[DescribeCertificates](~~160783~~)查询域名关联的所有SSL证书的ID。请注意,为确保系统稳定性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeDomain' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCertificateByCertificateId'],
],
],
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-7pp26f1****',
- ],
- ],
+ 'ramActions' => [
[
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要查询的域名名称。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D827FCFE-90A7-4330-9326-D33C8B4C7726',
- ],
- 'Domain' => [
- 'description' => '域名的配置信息。',
- 'type' => 'object',
- 'properties' => [
- 'HttpToUserIp' => [
- 'description' => '是否开启了HTTP回源功能。取值:'."\n"
- ."\n"
- .'- **0**:表示未开启。'."\n"
- .'- **1**:表示已开启。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'SniStatus' => [
- 'description' => '是否开启了回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。取值:'."\n"
- ."\n"
- .'- **0**:表示未开启。'."\n"
- .'- **1**:表示已开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'IsAccessProduct' => [
- 'description' => '域名在WAF前是否配置有其他七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:'."\n"
- ."\n"
- .'- **0**:表示否。'."\n"
- .'- **1**:表示是。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'AccessHeaderMode' => [
- 'description' => 'WAF获取客户端真实IP的方式。取值:'."\n"
- ."\n"
- .'- **0**:表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。'."\n"
- .'- **1**:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。'."\n"
- ."\n"
- .'> 仅当**IsAccessProduct**取值为**1**(表示WAF前有其他七层代理服务)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'HttpsRedirect' => [
- 'description' => '是否开启了HTTPS强制跳转。取值:'."\n"
- ."\n"
- .'- **0**:表示未开启。'."\n"
- .'- **1**:表示已开启。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'IpFollowStatus' => [
- 'description' => '是否开启了IPv4/IPv6回源协议跟随。取值:'."\n"
- .'- **0**:表示未开启。'."\n"
- .'- **1**:表示已开启。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'LoadBalancing' => [
- 'description' => '回源时采用的负载均衡算法。取值:'."\n"
- ."\n"
- .'- **0**:表示IP Hash算法。'."\n"
- .'- **1**:表示轮询算法。'."\n"
- .'- **2**:表示Least Time算法。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'AccessType' => [
- 'description' => '域名接入方式。取值:'."\n"
- .'- **waf-cloud-dns**:表示CNAME接入。'."\n"
- .'- **waf-cloud-native**:表示透明接入。',
- 'type' => 'string',
- 'example' => 'waf-cloud-dns',
- ],
- 'Version' => [
- 'description' => '当前域名配置的版本。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '40',
- ],
- 'ClusterType' => [
- 'description' => 'WAF实例对应的集群类型。取值:'."\n"
- ."\n"
- .'- **0**:表示物理集群。'."\n"
- .'- **1**:表示虚拟集群,即WAF独享集群。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'ReadTime' => [
- 'description' => 'WAF集群的读连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '120',
- ],
- 'WriteTime' => [
- 'description' => 'WAF集群的写连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '120',
- ],
- 'SniHost' => [
- 'description' => 'SNI扩展字段的自定义值。取值为空表示未自定义SNI值,默认使用请求头中**Host**字段的值作为SNI扩展字段的值。'."\n"
- ."\n"
- .'> 仅在**SniStatus**取值为**1**(表示开启SNI回源)时,返回该参数。',
- 'type' => 'string',
- 'example' => 'waf.example.com',
- ],
- 'ResourceGroupId' => [
- 'description' => 'WAF实例所属资源组ID。',
- 'type' => 'string',
- 'example' => 'rg-acfm2mkrunv****',
- ],
- 'Cname' => [
- 'description' => 'WAF为域名分配的CNAME地址。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'string',
- 'example' => 'kdmqyi3ck7xogegxpiyfpb0fj21mgkxn.****.com',
- ],
- 'ConnectionTime' => [
- 'description' => 'WAF集群的连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '5',
- ],
- 'LogHeaders' => [
- 'description' => '域名的流量标记字段和值,用于标记经过WAF处理的流量。'."\n"
- ."\n"
- .'> 仅当域名开启了流量标记功能时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'k' => [
- 'description' => '流量标记字段的名称。',
- 'type' => 'string',
- 'example' => 'ALIWAF-TAG',
- ],
- 'v' => [
- 'description' => '流量标记字段的值。',
- 'type' => 'string',
- 'example' => 'Yes',
- ],
- ],
- ],
- ],
- 'CloudNativeInstances' => [
- 'description' => '透明接入的配置列表。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-native**(表示域名使用透明接入方式接入WAF)时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'RedirectionTypeName' => [
- 'description' => '引流端口的类型。取值:'."\n"
- ."\n"
- .'- **SLB-L4**:表示从传统型负载均衡CLB(原SLB)实例的四层监听端口引流到WAF进行防护。'."\n"
- .'- **SLB-L7**:表示从传统型负载均衡CLB(原SLB)实例的七层监听端口引流到WAF进行防护。'."\n"
- .'- **ECS**:表示从云服务器ECS实例的监听端口引流到WAF进行防护。'."\n"
- .'- **ALB**:表示从应用型负载均衡ALB实例的HTTP、HTTPS监听端口引流到WAF进行防护。',
- 'type' => 'string',
- 'example' => 'ALB',
- ],
- 'CloudNativeProductName' => [
- 'description' => '云产品实例的类型。取值:'."\n"
- ."\n"
- .'- **SLB**:表示传统型负载均衡CLB(原SLB)实例。'."\n"
- .'- **ECS**:表示云服务器ECS实例。'."\n"
- .'- **ALB**:表示应用型负载均衡ALB实例。'."\n",
- 'type' => 'string',
- 'example' => 'ALB',
- ],
- 'InstanceId' => [
- 'description' => '云产品实例的ID。',
- 'type' => 'string',
- 'example' => 'alb-s65nua68wdedsp****',
- ],
- 'IPAddressList' => [
- 'description' => '云产品实例的公网IP地址列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '云产品实例的公网IP地址。',
- 'type' => 'string',
- 'example' => '39.XX.XX.197',
- ],
- 'example' => '["39.XX.XX.197"]',
- ],
- 'ProtocolPortConfigs' => [
- 'description' => '协议及端口配置列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '协议及端口配置。',
- 'type' => 'object',
- 'properties' => [
- 'Ports' => [
- 'description' => '端口列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '80',
- ],
- 'example' => '[80]',
- ],
- 'Protocol' => [
- 'description' => '协议类型。取值:'."\n"
- .'- **http**:表示HTTP协议。'."\n"
- .'- **https**:表示HTTPS协议。',
- 'type' => 'string',
- 'example' => 'http',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'HttpPort' => [
- 'description' => 'HTTP端口列表。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'HTTP端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '80',
- ],
- ],
- 'Http2Port' => [
- 'description' => 'HTTP 2.0端口列表。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'HTTP 2.0端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '8443',
- ],
- ],
- 'SourceIps' => [
- 'description' => '源站服务器地址。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'description' => '源站服务器地址。',
- 'type' => 'string',
- 'example' => '39.XX.XX.197',
- ],
- ],
- 'HttpsPort' => [
- 'description' => 'HTTPS端口列表。'."\n"
- ."\n"
- .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'description' => 'HTTPS端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '443',
- ],
- ],
- 'AccessHeaders' => [
- 'description' => '用于获取客户端IP的自定义字段列表。'."\n"
- ."\n"
- .'> 仅当**AccessHeaderMode**取值为**1**(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,返回该参数。',
- 'type' => 'array',
- 'items' => [
- 'description' => '用于获取客户端IP的自定义字段。',
- 'type' => 'string',
- 'example' => 'X-Client-IP',
- ],
- ],
- 'Retry' => [
- 'description' => 'WAF回源失败时,是否重试。取值:'."\n"
- ."\n"
- .'- **true**:表示重试。'."\n"
- ."\n"
- .'- **false**:表示不重试。',
- 'type' => 'boolean',
- 'example' => 'false',
- 'default' => 'true',
- ],
- 'Keepalive' => [
- 'description' => '是否保持长连接。取值:'."\n"
- ."\n"
- .'- **true**:表示保持长连接。'."\n"
- ."\n"
- .'- **false**:表示不保持长连接。',
- 'type' => 'boolean',
- 'example' => 'true',
- 'default' => 'true',
- ],
- 'KeepaliveRequests' => [
- 'description' => '复用长连接的请求个数。取值范围:60~1000,单位:个。'."\n"
- ."\n"
- .'> 开启长连接后,复用多少个长连接。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1000',
- 'default' => '1000',
- ],
- 'KeepaliveTimeout' => [
- 'description' => '空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。'."\n"
- ."\n"
- .'> 复用的长连接空闲多少长后释放。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '15',
- 'default' => '15',
- ],
- ],
- ],
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:CreateCertificateByCertificateId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D827FCFE-90A7-4330-9326-D33C8B4C7726\\",\\n \\"Domain\\": {\\n \\"HttpToUserIp\\": 0,\\n \\"SniStatus\\": 1,\\n \\"IsAccessProduct\\": 1,\\n \\"AccessHeaderMode\\": 1,\\n \\"HttpsRedirect\\": 0,\\n \\"IpFollowStatus\\": 1,\\n \\"LoadBalancing\\": 2,\\n \\"AccessType\\": \\"waf-cloud-dns\\",\\n \\"Version\\": 40,\\n \\"ClusterType\\": 0,\\n \\"ReadTime\\": 120,\\n \\"WriteTime\\": 120,\\n \\"SniHost\\": \\"waf.example.com\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2mkrunv****\\",\\n \\"Cname\\": \\"kdmqyi3ck7xogegxpiyfpb0fj21mgkxn.****.com\\",\\n \\"ConnectionTime\\": 5,\\n \\"LogHeaders\\": [\\n {\\n \\"k\\": \\"ALIWAF-TAG\\",\\n \\"v\\": \\"Yes\\"\\n }\\n ],\\n \\"CloudNativeInstances\\": [\\n {\\n \\"RedirectionTypeName\\": \\"ALB\\",\\n \\"CloudNativeProductName\\": \\"ALB\\",\\n \\"InstanceId\\": \\"alb-s65nua68wdedsp****\\",\\n \\"IPAddressList\\": [\\n \\"39.XX.XX.197\\"\\n ],\\n \\"ProtocolPortConfigs\\": [\\n {\\n \\"Ports\\": [\\n 80\\n ],\\n \\"Protocol\\": \\"http\\"\\n }\\n ]\\n }\\n ],\\n \\"HttpPort\\": [\\n 80\\n ],\\n \\"Http2Port\\": [\\n 8443\\n ],\\n \\"SourceIps\\": [\\n \\"39.XX.XX.197\\"\\n ],\\n \\"HttpsPort\\": [\\n 443\\n ],\\n \\"AccessHeaders\\": [\\n \\"X-Client-IP\\"\\n ],\\n \\"Retry\\": false,\\n \\"Keepalive\\": true,\\n \\"KeepaliveRequests\\": 1000,\\n \\"KeepaliveTimeout\\": 15\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeDomainResponse>\\n\\t<RequestId>D827FCFE-90A7-4330-9326-D33C8B4C7726</RequestId>\\n\\t<Domain>\\n\\t\\t<HttpToUserIp>0</HttpToUserIp>\\n\\t\\t<HttpPort>80</HttpPort>\\n\\t\\t<IsAccessProduct>1</IsAccessProduct>\\n\\t\\t<AccessHeaderMode>1</AccessHeaderMode>\\n\\t\\t<ResourceGroupId>rg-acfm2mkrunv****</ResourceGroupId>\\n\\t\\t<AccessHeaders>X-Client-IP</AccessHeaders>\\n\\t\\t<ReadTime>120</ReadTime>\\n\\t\\t<SourceIps>39.XX.XX.197</SourceIps>\\n\\t\\t<IpFollowStatus>1</IpFollowStatus>\\n\\t\\t<ClusterType>0</ClusterType>\\n\\t\\t<LoadBalancing>2</LoadBalancing>\\n\\t\\t<Cname>kdmqyi3ck7xogegxpiyfpb0fj21mgkxn.****.com</Cname>\\n\\t\\t<LogHeaders>\\n\\t\\t\\t<v>Yes</v>\\n\\t\\t\\t<k>ALIWAF-TAG</k>\\n\\t\\t</LogHeaders>\\n\\t\\t<WriteTime>120</WriteTime>\\n\\t\\t<Http2Port>443</Http2Port>\\n\\t\\t<Http2Port>8443</Http2Port>\\n\\t\\t<Version>40</Version>\\n\\t\\t<HttpsRedirect>0</HttpsRedirect>\\n\\t\\t<ConnectionTime>5</ConnectionTime>\\n\\t\\t<AccessType>waf-cloud-dns</AccessType>\\n\\t\\t<HttpsPort>443</HttpsPort>\\n\\t\\t<HttpsPort>8443</HttpsPort>\\n\\t</Domain>\\n</DescribeDomainResponse>\\n","errorExample":""}]',
- 'title' => '获取已添加的域名配置信息',
- 'summary' => '查询已添加到WAF防护的域名的配置信息。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
],
'CreateDomain' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1214,414 +217,245 @@
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-7pp26f1****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-7pp26f1****'],
],
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '要添加到WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => '要添加到WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
'name' => 'SourceIps',
'in' => 'query',
- 'schema' => [
- 'description' => '域名对应的源站服务器IP或服务器回源域名。您只能选择设置源站服务器IP或服务器回源域名中的一种:'."\n"
- ."\n"
- .'- 设置源站服务器IP时,使用`["ip1","ip2",……]`格式表示。最多支持添加20个IP。'."\n"
- .'- 设置服务器回源域名时,使用`["domain"]`格式表示。只能填写1个域名地址。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["39.XX.XX.197"]',
- ],
+ 'schema' => ['description' => '域名对应的源站服务器IP或服务器回源域名。您只能选择设置源站服务器IP或服务器回源域名中的一种:'."\n"
+ ."\n"
+ .'- 设置源站服务器IP时,使用`["ip1","ip2",……]`格式表示。最多支持添加20个IP。'."\n"
+ .'- 设置服务器回源域名时,使用`["domain"]`格式表示。只能填写1个域名地址。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '["39.XX.XX.197"]'],
],
[
'name' => 'IsAccessProduct',
'in' => 'query',
- 'schema' => [
- 'description' => '域名在WAF前是否配置有七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:'."\n"
- ."\n"
- .'- **0**:表示否。'."\n"
- .'- **1**:表示是。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '0',
- ],
+ 'schema' => ['description' => '域名在WAF前是否配置有七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:'."\n"
+ ."\n"
+ .'- **0**:表示否。'."\n"
+ .'- **1**:表示是。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0'],
],
[
'name' => 'AccessHeaderMode',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF获取客户端真实IP的方式。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。'."\n"
- .'- **1**:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。'."\n"
- ."\n"
- .'> 仅在**IsAccessProduct**取值为**1**(表示WAF前有其他七层代理服务)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
+ 'schema' => ['description' => 'WAF获取客户端真实IP的方式。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。'."\n"
+ .'- **1**:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。'."\n"
+ ."\n"
+ .'> 仅在**IsAccessProduct**取值为**1**(表示WAF前有其他七层代理服务)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
],
[
'name' => 'AccessHeaders',
'in' => 'query',
- 'schema' => [
- 'description' => '设置用于获取客户端IP的自定义字段列表,使用`["header1","header2",……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessHeaderMode**取值为**1**(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["X-Client-IP"]',
- ],
+ 'schema' => ['description' => '设置用于获取客户端IP的自定义字段列表,使用`["header1","header2",……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessHeaderMode**取值为**1**(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '["X-Client-IP"]'],
],
[
'name' => 'LoadBalancing',
'in' => 'query',
- 'schema' => [
- 'description' => '回源时采用的负载均衡算法。取值:'."\n"
- ."\n"
- .'- **0**:表示IP Hash算法。'."\n"
- .'- **1**:表示轮询算法。'."\n"
- .'- **2**:表示Least Time算法。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
+ 'schema' => ['description' => '回源时采用的负载均衡算法。取值:'."\n"
+ ."\n"
+ .'- **0**:表示IP Hash算法。'."\n"
+ .'- **1**:表示轮询算法。'."\n"
+ .'- **2**:表示Least Time算法。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
],
[
'name' => 'LogHeaders',
'in' => 'query',
- 'schema' => [
- 'description' => '域名的流量标记字段和值,用于标记经过WAF处理的流量。'."\n"
- ."\n"
- .'该参数值的格式为`[{"k":"_key_","v":"_value_"}]`。其中,`_key_`表示所指定的自定义请求头部字段,`_value_`表示为该字段设定的值。'."\n"
- ."\n"
- .'通过指定自定义请求头部字段和对应的值,当域名的访问流量经过WAF时,WAF自动在请求头部中添加所设定的自定义字段值作为流量标记,便于后端服务统计相关信息。'."\n"
- ."\n"
- .'> 如果请求中已存在该自定义头部字段,系统将用所设定的流量标记值覆盖请求中该自定义字段的值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"k":"ALIWAF-TAG","v":"Yes"}]',
- ],
+ 'schema' => ['description' => '域名的流量标记字段和值,用于标记经过WAF处理的流量。'."\n"
+ ."\n"
+ .'该参数值的格式为`[{"k":"_key_","v":"_value_"}]`。其中,`_key_`表示所指定的自定义请求头部字段,`_value_`表示为该字段设定的值。'."\n"
+ ."\n"
+ .'通过指定自定义请求头部字段和对应的值,当域名的访问流量经过WAF时,WAF自动在请求头部中添加所设定的自定义字段值作为流量标记,便于后端服务统计相关信息。'."\n"
+ ."\n"
+ .'> 如果请求中已存在该自定义头部字段,系统将用所设定的流量标记值覆盖请求中该自定义字段的值。', 'type' => 'string', 'required' => false, 'example' => '[{"k":"ALIWAF-TAG","v":"Yes"}]'],
],
[
'name' => 'HttpPort',
'in' => 'query',
- 'schema' => [
- 'description' => 'HTTP协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTP协议。**HttpPort**与**HttpsPort**不允许同时为空。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[80]',
- ],
+ 'schema' => ['description' => 'HTTP协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTP协议。**HttpPort**与**HttpsPort**不允许同时为空。', 'type' => 'string', 'required' => false, 'example' => '[80]'],
],
[
'name' => 'HttpsPort',
'in' => 'query',
- 'schema' => [
- 'description' => 'HTTPS协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTPS协议。**HttpPort**与**HttpsPort**不允许同时为空。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[443]',
- ],
+ 'schema' => ['description' => 'HTTPS协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTPS协议。**HttpPort**与**HttpsPort**不允许同时为空。', 'type' => 'string', 'required' => false, 'example' => '[443]'],
],
[
'name' => 'Http2Port',
'in' => 'query',
- 'schema' => [
- 'description' => 'HTTP 2.0协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[443]',
- ],
+ 'schema' => ['description' => 'HTTP 2.0协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '[443]'],
],
[
'name' => 'HttpToUserIp',
'in' => 'query',
- 'schema' => [
- 'description' => '是否开启HTTP回源。开启HTTP回源后,HTTPS访问请求将通过HTTP协议转发回源站,默认回源端口为80。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
+ 'schema' => ['description' => '是否开启HTTP回源。开启HTTP回源后,HTTPS访问请求将通过HTTP协议转发回源站,默认回源端口为80。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
],
[
'name' => 'HttpsRedirect',
'in' => 'query',
- 'schema' => [
- 'description' => '是否开启HTTPS强制跳转。开启强制跳转后,客户端的HTTP请求将被强制跳转成HTTPS请求,默认跳转端口为443。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。'."\n"
- ."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
+ 'schema' => ['description' => '是否开启HTTPS强制跳转。开启强制跳转后,客户端的HTTP请求将被强制跳转成HTTPS请求,默认跳转端口为443。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。'."\n"
+ ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
],
[
'name' => 'ClusterType',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF防护集群类型。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示物理集群。'."\n"
- .'- **1**:表示虚拟集群,即WAF独享集群。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
+ 'schema' => ['description' => 'WAF防护集群类型。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示物理集群。'."\n"
+ .'- **1**:表示虚拟集群,即WAF独享集群。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'ConnectionTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF独享集群的连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示域名使用WAF独享集群)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5',
- 'default' => '5',
- ],
+ 'schema' => ['description' => 'WAF独享集群的连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示域名使用WAF独享集群)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'default' => '5'],
],
[
'name' => 'ReadTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF独享集群的读连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示域名使用WAF独享集群)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '120',
- 'default' => '120',
- ],
+ 'schema' => ['description' => 'WAF独享集群的读连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示域名使用WAF独享集群)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120', 'default' => '120'],
],
[
'name' => 'WriteTime',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF独享集群的写连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示域名使用WAF独享集群)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '120',
- 'default' => '120',
- ],
+ 'schema' => ['description' => 'WAF独享集群的写连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示域名使用WAF独享集群)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120', 'default' => '120'],
],
[
'name' => 'AccessType',
'in' => 'query',
- 'schema' => [
- 'description' => '域名接入方式。取值:'."\n"
- ."\n"
- .'- **waf-cloud-dns**(默认):表示CNAME接入。'."\n"
- ."\n"
- .'- **waf-cloud-native**:表示透明接入。'."\n"
- ."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf-cloud-dns',
- ],
+ 'schema' => ['description' => '域名接入方式。取值:'."\n"
+ ."\n"
+ .'- **waf-cloud-dns**(默认):表示CNAME接入。'."\n"
+ ."\n"
+ .'- **waf-cloud-native**:表示透明接入。'."\n"
+ ."\n", 'type' => 'string', 'required' => false, 'example' => 'waf-cloud-dns'],
],
[
'name' => 'CloudNativeInstances',
'in' => 'query',
- 'schema' => [
- 'description' => '透明接入的服务器及端口配置列表。使用JSON数组转化的字符串格式表示。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
- ."\n"
- .'- **ProtocolPortConfigs**:JSON Array类型 | 必选 | 表示协议及端口配置列表。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
- .' - **Ports**:Array类型 | 必选 | 表示端口列表,格式为`[port1,port2,……]`。'."\n"
- .' - **Protocol**:String类型 | 必选 | 表示协议类型。取值:**http**、**https**。'."\n"
- .'- **CloudNativeProductName**:String类型 | 必选 | 表示云产品实例的类型。取值:**ECS**、**SLB**、**ALB**。'."\n"
- .'- **RedirectionTypeName**:String类型 | 必选 | 表示引流端口的类型。取值:**ECS**(表示ECS端口)、**SLB-L4**(表示SLB四层端口)、**SLB-L7**(表示SLB七层端口)、**ALB**(表示ALB端口)。'."\n"
- .'- **InstanceId**:String类型 | 必选 | 表示云产品实例的ID。'."\n"
- .'- **IPAddressList**:Array类型 | 必选 | 表示云产品实例的公网IP列表。格式为`["ip1","ip2",……]`。'."\n"
- ."\n"
- .'> 仅在**AccessType**为**waf-cloud-native**(表示域名使用透明接入方式)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"ProtocolPortConfigs":[{"Ports":[80],"Protocol":"http"}],"RedirectionTypeName":"ALB","InstanceId":"alb-s65nua68wdedsp****","IPAddressList":["182.XX.XX.113"],"CloudNativeProductName":"ALB"}]',
- ],
+ 'schema' => ['description' => '透明接入的服务器及端口配置列表。使用JSON数组转化的字符串格式表示。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
+ ."\n"
+ .'- **ProtocolPortConfigs**:JSON Array类型 | 必选 | 表示协议及端口配置列表。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
+ .' - **Ports**:Array类型 | 必选 | 表示端口列表,格式为`[port1,port2,……]`。'."\n"
+ .' - **Protocol**:String类型 | 必选 | 表示协议类型。取值:**http**、**https**。'."\n"
+ .'- **CloudNativeProductName**:String类型 | 必选 | 表示云产品实例的类型。取值:**ECS**、**SLB**、**ALB**。'."\n"
+ .'- **RedirectionTypeName**:String类型 | 必选 | 表示引流端口的类型。取值:**ECS**(表示ECS端口)、**SLB-L4**(表示SLB四层端口)、**SLB-L7**(表示SLB七层端口)、**ALB**(表示ALB端口)。'."\n"
+ .'- **InstanceId**:String类型 | 必选 | 表示云产品实例的ID。'."\n"
+ .'- **IPAddressList**:Array类型 | 必选 | 表示云产品实例的公网IP列表。格式为`["ip1","ip2",……]`。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**为**waf-cloud-native**(表示域名使用透明接入方式)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '[{"ProtocolPortConfigs":[{"Ports":[80],"Protocol":"http"}],"RedirectionTypeName":"ALB","InstanceId":"alb-s65nua68wdedsp****","IPAddressList":["182.XX.XX.113"],"CloudNativeProductName":"ALB"}]'],
],
[
'name' => 'IpFollowStatus',
'in' => 'query',
- 'schema' => [
- 'description' => '源站服务器地址同时包含IPv4和IPv6地址时,是否开启IPv4/IPv6回源协议跟随。开启回源协议跟随后,WAF将来自IPv4地址的请求转发到IPv4源站、将来自IPv6地址的请求转发到IPv6源站。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '源站服务器地址同时包含IPv4和IPv6地址时,是否开启IPv4/IPv6回源协议跟随。开启回源协议跟随后,WAF将来自IPv4地址的请求转发到IPv4源站、将来自IPv6地址的请求转发到IPv6源站。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'SniStatus',
'in' => 'query',
- 'schema' => [
- 'description' => '设置是否开启回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则您需要开启回源SNI。取值:'."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'中国内地WAF实例默认关闭SNI回源;海外地区WAF实例默认开启SNI回源。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '设置是否开启回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则您需要开启回源SNI。取值:'."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'中国内地WAF实例默认关闭SNI回源;海外地区WAF实例默认开启SNI回源。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'SniHost',
'in' => 'query',
- 'schema' => [
- 'description' => '自定义SNI扩展字段的值。如果不设置该参数,则默认使用请求头中**Host**字段的值作为SNI扩展字段的值。'."\n"
- ."\n"
- .'一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。'."\n"
- ."\n"
- .'> 仅在**SniStatus**取值为**1**(表示开启SNI回源)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf.example.com',
- ],
+ 'schema' => ['description' => '自定义SNI扩展字段的值。如果不设置该参数,则默认使用请求头中**Host**字段的值作为SNI扩展字段的值。'."\n"
+ ."\n"
+ .'一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。'."\n"
+ ."\n"
+ .'> 仅在**SniStatus**取值为**1**(表示开启SNI回源)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => 'waf.example.com'],
],
[
'name' => 'Retry',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF回源失败时,是否重试。取值:'."\n"
- ."\n"
- .'- **true**(默认):表示重试。'."\n"
- .'- **false**:表示不重试。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'true',
- ],
+ 'schema' => ['description' => 'WAF回源失败时,是否重试。取值:'."\n"
+ ."\n"
+ .'- **true**(默认):表示重试。'."\n"
+ .'- **false**:表示不重试。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'],
],
[
'name' => 'Keepalive',
'in' => 'query',
- 'schema' => [
- 'description' => '是否保持长连接。取值:'."\n"
- ."\n"
- .'- **true**(默认):表示保持长连接。'."\n"
- ."\n"
- .'- **false**:表示不保持长连接。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'true',
- ],
+ 'schema' => ['description' => '是否保持长连接。取值:'."\n"
+ ."\n"
+ .'- **true**(默认):表示保持长连接。'."\n"
+ ."\n"
+ .'- **false**:表示不保持长连接。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'true'],
],
[
'name' => 'KeepaliveRequests',
'in' => 'query',
- 'schema' => [
- 'description' => '复用长连接的请求个数。取值范围:60~1000,单位:个。'."\n"
- ."\n"
- .'> 开启长连接后,复用多少个长连接。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '60',
- 'example' => '1000',
- 'default' => '1000',
- ],
+ 'schema' => ['description' => '复用长连接的请求个数。取值范围:60~1000,单位:个。'."\n"
+ ."\n"
+ .'> 开启长连接后,复用多少个长连接。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '60', 'example' => '1000', 'default' => '1000'],
],
[
'name' => 'KeepaliveTimeout',
'in' => 'query',
- 'schema' => [
- 'description' => '空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。'."\n"
- ."\n"
- .'> 复用的长连接空闲多少长后释放。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '3600',
- 'minimum' => '1',
- 'example' => '15',
- 'default' => '15',
- ],
+ 'schema' => ['description' => '空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。'."\n"
+ ."\n"
+ .'> 复用的长连接空闲多少长后释放。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '1', 'example' => '15', 'default' => '15'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -1629,18 +463,10 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'Cname' => [
- 'description' => 'WAF为域名分配的CNAME地址。'."\n"
- ."\n"
- .'> 仅当域名使用CNAME接入方式(请求参数**AccessType**取值为**waf-cloud-dns**)时,返回该参数。',
- 'type' => 'string',
- 'example' => 'mmspx7qhfvnfzggheh1g2wnbhog66vcv.****.com',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'Cname' => ['description' => 'WAF为域名分配的CNAME地址。'."\n"
+ ."\n"
+ .'> 仅当域名使用CNAME接入方式(请求参数**AccessType**取值为**waf-cloud-dns**)时,返回该参数。', 'type' => 'string', 'example' => 'mmspx7qhfvnfzggheh1g2wnbhog66vcv.****.com'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
@@ -1653,450 +479,91 @@
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyDomain' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-08-28T12:42:34.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2023-05-23T05:46:03.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2022-08-22T10:01:08.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDomain'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'CreateProtectionModuleRule' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-7pp26f1****',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-7pp26f1****',
- ],
- ],
- [
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '要操作的域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
- ],
- [
- 'name' => 'SourceIps',
- 'in' => 'query',
- 'schema' => [
- 'description' => '域名对应的源站服务器IP或服务器回源域名。您只能选择设置源站服务器IP或服务器回源域名中的一种:'."\n"
- ."\n"
- .'- 设置源站服务器IP时,使用`["ip1","ip2",……]`格式表示。最多支持添加20个IP。'."\n"
- .'- 设置服务器回源域名时,使用`["domain"]`格式表示。只能填写1个域名地址。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["39.XX.XX.197"]',
- ],
- ],
- [
- 'name' => 'LoadBalancing',
- 'in' => 'query',
- 'schema' => [
- 'description' => '回源时采用的负载均衡算法。取值:'."\n"
- ."\n"
- .'- **0**:表示IP Hash算法。'."\n"
- .'- **1**:表示轮询算法。'."\n"
- .'- **2**:表示Least Time算法。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
- ],
- [
- 'name' => 'HttpPort',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'HTTP协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTP协议。**HttpPort**与**HttpsPort**不允许同时为空。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[80]',
- ],
- ],
- [
- 'name' => 'HttpsPort',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'HTTPS协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTPS协议。**HttpPort**与**HttpsPort**不允许同时为空。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[443]',
- ],
- ],
- [
- 'name' => 'Http2Port',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'HTTP 2.0协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[443]',
- ],
- ],
- [
- 'name' => 'HttpsRedirect',
- 'in' => 'query',
- 'schema' => [
- 'description' => '是否开启HTTPS强制跳转。开启强制跳转后,客户端的HTTP请求将被强制跳转成HTTPS请求,默认跳转端口为443。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。'."\n"
- ."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
- ],
- [
- 'name' => 'HttpToUserIp',
- 'in' => 'query',
- 'schema' => [
- 'description' => '是否开启HTTP回源。开启HTTP回源后,HTTPS访问请求将通过HTTP协议转发回源站,默认回源端口为80。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
- ],
- [
- 'name' => 'IsAccessProduct',
- 'in' => 'query',
- 'schema' => [
- 'description' => '域名在WAF前是否配置有七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:'."\n"
- ."\n"
- .'- **0**:表示否。'."\n"
- .'- **1**:表示是。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'AccessHeaderMode',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF获取客户端真实IP的方式。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。'."\n"
- .'- **1**:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。'."\n"
- ."\n"
- .'> 仅在**IsAccessProduct**取值为**1**(表示WAF前有其他七层代理服务)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'AccessHeaders',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置用于获取客户端IP的自定义字段列表,使用`["header1","header2",……]`格式表示。'."\n"
- ."\n"
- .'> 仅在**AccessHeaderMode**取值为**1**(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '["X-Client-IP"]',
- ],
- ],
- [
- 'name' => 'LogHeaders',
- 'in' => 'query',
- 'schema' => [
- 'description' => '域名的流量标记字段和值,用于标记经过WAF处理的流量。'."\n"
- ."\n"
- .'该参数值的格式为`[{"k":"_key_","v":"_value_"}]`。其中,`_key_`表示所指定的自定义请求头部字段,`_value_`表示为该字段设定的值。'."\n"
- ."\n"
- .'通过指定自定义请求头部字段和对应的值,当域名的访问流量经过WAF时,WAF自动在请求头部中添加所设定的自定义字段值作为流量标记,便于后端服务统计相关信息。'."\n"
- ."\n"
- .'> 如果请求中已存在该自定义头部字段,系统将用所设定的流量标记值覆盖请求中该自定义字段的值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"k":"ALIWAF-TAG","v":"Yes"}]',
- ],
- ],
- [
- 'name' => 'ClusterType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF防护集群类型。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示物理集群。'."\n"
- .'- **1**:表示虚拟集群,即WAF独享集群。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'ConnectionTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF独享集群的连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示使用WAF独享集群)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '5',
- 'default' => '5',
- ],
- ],
- [
- 'name' => 'ReadTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF独享集群的读连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示使用WAF独享集群)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '120',
- 'default' => '120',
- ],
- ],
- [
- 'name' => 'WriteTime',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF独享集群的写连接超时时长。单位:秒。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示使用WAF独享集群)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '120',
- 'default' => '120',
- ],
- ],
- [
- 'name' => 'AccessType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '域名接入方式。取值:'."\n"
- ."\n"
- .'- **waf-cloud-dns**(默认):表示CNAME接入。'."\n"
- ."\n"
- .'- **waf-cloud-native**:表示透明接入。'."\n"
- ."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf-cloud-dns',
- ],
- ],
- [
- 'name' => 'CloudNativeInstances',
- 'in' => 'query',
- 'schema' => [
- 'description' => '透明接入的服务器及端口配置列表。使用JSON数组转化的字符串格式表示。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
- ."\n"
- .'- **ProtocolPortConfigs**:JSON Array类型 | 必选 | 表示协议及端口配置列表。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
- .' - **Ports**:Array类型 | 必选 | 表示端口列表,格式为`[port1,port2,……]`。'."\n"
- .' - **Protocol**:String类型 | 必选 | 表示协议类型。取值:**http**、**https**。'."\n"
- .'- **CloudNativeProductName**:String类型 | 必选 | 表示云产品实例的类型。取值:**ECS**、**SLB**、**ALB**。'."\n"
- .'- **RedirectionTypeName**:String类型 | 必选 | 表示引流端口的类型。取值:**ECS**(表示ECS端口)、**SLB-L4**(表示SLB四层端口)、**SLB-L7**(表示SLB七层端口)、**ALB**(表示ALB端口)。'."\n"
- .'- **InstanceId**:String类型 | 必选 | 表示云产品实例的ID。'."\n"
- .'- **IPAddressList**:Array类型 | 必选 | 表示云产品实例的公网IP列表。格式为`["ip1","ip2",……]`。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-native**(表示域名使用透明接入方式)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '[{"ProtocolPortConfigs":[{"Ports":[80],"Protocol":"http"}],"RedirectionTypeName":"ALB","InstanceId":"alb-s65nua68wdedsp****","IPAddressList":["182.XX.XX.113"],"CloudNativeProductName":"ALB"}]',
- ],
- ],
- [
- 'name' => 'IpFollowStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => '源站服务器地址同时包含IPv4和IPv6地址时,是否开启IPv4/IPv6回源协议跟随。开启回源协议跟随后,WAF将来自IPv4地址的请求转发到IPv4源站、将来自IPv6地址的请求转发到IPv6源站。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'SniStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置是否开启回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则您需要开启回源SNI。取值:'."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'中国内地WAF实例默认关闭SNI回源;海外地区WAF实例默认开启SNI回源。'."\n"
- ."\n"
- .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '要添加防护规则配置的域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF进行防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
- 'name' => 'SniHost',
- 'in' => 'query',
- 'schema' => [
- 'description' => '自定义SNI扩展字段的值。如果不设置该参数,则默认使用请求头中**Host**字段的值作为SNI扩展字段的值。'."\n"
- ."\n"
- .'一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。'."\n"
- ."\n"
- .'> 仅在**SniStatus**取值为**1**(表示开启SNI回源)时,需要设置该参数。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf.example.com',
- ],
- ],
- [
- 'name' => 'Retry',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF回源失败时,是否重试。取值:'."\n"
- ."\n"
- .'- **true**(默认):表示重试。'."\n"
- ."\n"
- .'- **false**:表示不重试。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
- ],
- ],
- [
- 'name' => 'Keepalive',
+ 'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '是否保持长连接。取值:'."\n"
- ."\n"
- .'- **true**(默认):表示保持长连接。'."\n"
- ."\n"
- .'- **false**:表示不保持长连接。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => '要配置的防护功能模块。取值:'."\n"
+ ."\n"
+ .'- **waf-codec**:表示规则防护引擎解码设置。'."\n"
+ ."\n"
+ .'- **tamperproof**:表示网站防篡改规则配置。'."\n"
+ ."\n"
+ .'- **dlp**:表示防敏感信息泄漏规则配置。'."\n"
+ ."\n"
+ .'- **ng_account**:表示账户安全规则配置。'."\n"
+ ."\n"
+ .'- **antifraud**:表示数据风控防护请求配置。'."\n"
+ ."\n"
+ .'- **antifraud_js**:表示数据风控JS插入页面配置。'."\n"
+ ."\n"
+ .'- **bot_algorithm**:表示Bot管理的智能算法规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb_pkg**:表示App防护的版本防护规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb**:表示App防护的路径防护规则。'."\n"
+ ."\n"
+ .'- **ac_custom**:表示自定义防护策略规则配置。'."\n"
+ ."\n"
+ .'- **whitelist**:表示白名单规则配置。', 'type' => 'string', 'required' => true, 'example' => 'ac_custom'],
],
[
- 'name' => 'KeepaliveRequests',
+ 'name' => 'Rule',
'in' => 'query',
- 'schema' => [
- 'description' => '复用长连接的请求个数。取值范围:60~1000,单位:个。'."\n"
- ."\n"
- .'> 开启长连接后,复用多少个长连接。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '1000',
- 'minimum' => '60',
- 'example' => '1000',
- 'default' => '1000',
- ],
+ 'schema' => ['description' => '规则配置内容,以一系列参数构造的JSON格式转化成字符串。'."\n"
+ ."\n"
+ .'> 根据所指定的防护功能模块配置(**DefenseType**)不同,具体涉及的参数有所不同。详细信息,请参见Rule参数具体说明。', 'type' => 'string', 'required' => true, 'example' => ' {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}'],
],
[
- 'name' => 'KeepaliveTimeout',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。'."\n"
- ."\n"
- .'> 复用的长连接空闲多久后释放。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '3600',
- 'minimum' => '1',
- 'example' => '60',
- 'default' => '15',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-0xldbqt****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2104,33 +571,510 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyDomainResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyDomainResponse>","errorExample":""}]',
- 'title' => '修改指定域名配置信息',
- 'summary' => '修改已创建的域名配置。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateProtectionModuleRuleResponse>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</CreateProtectionModuleRuleResponse>","errorExample":""}]',
+ 'title' => '在WAF防护功能模块中创建配置规则',
+ 'summary' => '在指定的WAF防护功能模块创建配置规则,如Web入侵防护、数据安全、高级防护、Bot、访问控制、限流。',
+ 'description' => '本接口用于在指定的WAF防护功能模块(包括Web入侵防护、数据安全、高级防护、Bot管理、访问控制或限流等模块)中创建规则配置。您可以通过设置**DefenseType**参数值指定防护功能模块配置。具体参数值的含义,请参见请求参数**DefenseType**的描述。'."\n"
+ .'请注意,为了确保系统的文档性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '**Rule参数具体说明**'."\n"
+ ."\n"
+ .' - 规则防护引擎解码设置(**waf-codec**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **codecList**:Array类型 | 必选 | 启用的解码配置项。您可在Web应用防火墙控制台中查看该参数支持填写的参数值。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "codecList":["url","base64"]'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- 网站防篡改规则配置(**tamperproof**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **uri**:String类型 | 必选 | 所需防护的具体URL。'."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name":"example",'."\n"
+ .' "uri":"http://www.aliyundoc.com/example"'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- 防敏感信息泄露规则配置(**dlp**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **conditions**:Array类型 | 必选 | 以JSON字符串格式描述匹配条件,支持设置最多两条匹配条件且条件间的关系为并且。其中包含以下具体参数:'."\n"
+ ."\n"
+ .' - **key**:匹配项。取值:'."\n"
+ ."\n"
+ .' - **0**:表示防护的URL。'."\n"
+ .' - **10**:表示敏感信息。'."\n"
+ .' - **11**:表示响应码。'."\n"
+ .' > 您无法在**conditions**参数中同时为响应码(**11**)和敏感信息(**10**)设置匹配条件。'."\n"
+ ."\n"
+ .' - **operation**:匹配逻辑。取值固定为**1**,表示包含。'."\n"
+ ."\n"
+ .' - **value**:以JSON字符串描述匹配条件值,支持填写多个条件值。其中包含以下具体参数:'."\n"
+ ."\n"
+ .' - **v**:仅适用于匹配项(**key**)为URL(**0**)或响应码(**11**)的场景。'."\n"
+ .' - URL:当`"key":0`时,参数值为URL地址。'."\n"
+ .' - 响应码:当`"key":11`,参数取值范围包括**400**、**401**、**402**、**403**、**404**、**405-499**、**500**、**501**、**502**、**503**、**504**、**505-599**。'."\n"
+ .' - **k**:仅适用于匹配项(**key**)为敏感信息(**10**)的场景。取值范围:'."\n"
+ .' - **100**:表示身份证。'."\n"
+ .' - **101**:表示信用卡。'."\n"
+ .' - **102**:表示电话号码。'."\n"
+ .' - **103**:表示默认敏感词。'."\n"
+ ."\n"
+ .' - **action**:匹配动作。取值:'."\n"
+ .' - **3**:表示告警。'."\n"
+ .' - **10**:表示敏感信息过滤,该动作仅适用于包含敏感信息(`"key":10`)的匹配条件场景。'."\n"
+ .' - **11**:表示返回系统内置拦截页面,该动作仅适用于包含响应码(`"key":11`)的匹配条件场景。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name":"example",'."\n"
+ .' "conditions":[{"key":11,"operation":1,"value":[{"v":401}]},{"key":"0","operation":1,"value":[{"v":"www.aliyundoc.com"}]}],'."\n"
+ .' "action":3'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- 账户安全规则配置(**ng_account**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **url_path**:String类型 | 必选 | 检测接口,以URL路径表示,必须以正斜线(/)开头。'."\n"
+ .' - **method**:String类型 | 必选 | 检测的请求方式,包括POST、GET、PUT、DELETE。支持设定多个请求方式,以英文逗号(,)分隔。'."\n"
+ .' - **account_left**:String类型 | 必选 | 账号参数名。'."\n"
+ .' - **password_left**:String类型 | 可选 | 密码参数名。'."\n"
+ .' - **action**:String类型 | 必选 | 防护动作。取值:'."\n"
+ .' - **monitor**:表示预警。'."\n"
+ .' - **block**:表示拦截。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "url_path":"/example",'."\n"
+ .' "method":"POST,GET,PUT,DELETE",'."\n"
+ .' "account_left":"aaa",'."\n"
+ .' "password_left:"123",'."\n"
+ .' "action":"monitor"'."\n"
+ .' }'."\n"
+ .' ``` '."\n"
+ ."\n"
+ .'- 数据风控防护请求配置(**antifraud**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **uri**:String类型 | 必选 | 具体的防护请求URL。'."\n"
+ .' '."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "uri": "http://1.example.com/example"'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- 数据风控JS插入页面配置(**antifraud_js**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **uri**:String类型 | 必选 | 需要插入数据风控JS页面的URL,系统将为所指定的URL路径下的所有页面插入数据风控JS,必须以正斜线(/)开头。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "uri": "/example/example"'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- Bot管理的智能算法规则配置(**bot_algorithm**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **algorithmName**:String类型 | 必选 | 算法名称。取值:'."\n"
+ .' - **RR**:表示专项资源爬虫识别算法。'."\n"
+ .' - **PR**:表示定向路径爬虫识别算法。'."\n"
+ .' - **DPR**:表示参数轮询爬虫识别算法。'."\n"
+ .' - **SR**:表示动态IP爬虫识别算法。'."\n"
+ .' - **IND**:表示代理设备爬虫识别算法。'."\n"
+ .' - **Periodicity**:表示周期性爬虫识别算法。'."\n"
+ .' - **timeInterval**:Integer类型 | 必选 | 检测周期。取值:30、60、120、300、600,单位:秒。'."\n"
+ .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
+ .' - **monitor**:表示观察。'."\n"
+ .' - **captcha**:表示滑块。'."\n"
+ .' - **js**:表示JavaScript校验。'."\n"
+ .' - **block**:表示阻断。选择阻断作为处置动作时,必须传入阻断时长(**blocktime**)参数。'."\n"
+ .' - **blocktime**:Integer类型 | 可选 | 阻断时长。单位:分钟。取值范围:1~600。'."\n"
+ .' - **config**:String类型 | 必选 | 算法配置信息,以JSON字符串格式表示。算法配置信息中的具体子参数与所选择的算法名称(**algorithmName**)相关。'."\n"
+ .' - 专项资源爬虫识别算法(**RR**)对应的配置信息应包含以下子参数:'."\n"
+ .' - **resourceType**:Integer类型 | 可选 | 请求的资源类型。取值:'."\n"
+ .' - **1**:表示动态资源类型。'."\n"
+ .' - **2**:表示静态资源类型。'."\n"
+ .' - **-1**:表示自定义资源类型。选择自定义资源组时,需要再传入**extensions**参数,以字符串格式指定具体的资源后缀名,多个后缀名间以英文逗号(,)分隔,例如`css,jpg,xls`。'."\n"
+ .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
+ .' - **minRatio**:Float类型 | 必选 | 风险判定条件,即IP访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或IP访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。'."\n"
+ .' - 定向路径爬虫识别算法(**PR**)对应的配置信息应包含以下子参数:'."\n"
+ .' - **keyPathConfiguration**:Array类型 | 可选 | 请求的路径信息,支持指定最多10条路径,只在使用定向路径爬虫识别算法时需传入该子参数。以JSON字符串格式表示,具体包含以下参数:'."\n"
+ .' - **method**:String类型 | 必选 | 请求方法。取值:**POST**、**GET**、**PUT**、**DELETE**、**HEAD**、**OPTIONS**。'."\n"
+ .' - **url**:String类型 | 必选 | 请求路径关键字,必须以正斜线(/)开头。'."\n"
+ .' - **matchType**:String类型 | 必选 | 匹配方式,与请求路径关键字(**url**)参数结合指定请求路径。取值:**all**(精准匹配)、**prefix**(前缀匹配)、**regex**(正则匹配)。'."\n"
+ .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
+ .' - **minRatio**:Float类型 | 必选 | 风险判定条件,即IP访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或IP访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。'."\n"
+ .' - 参数轮询爬虫识别算法(**DPR**)对应的配置信息应包含以下子参数:'."\n"
+ .' - **method**:String类型 | 必选 | 请求方法。取值:**POST**、**GET**、**PUT**、**DELETE**、**HEAD**、**OPTIONS**。'."\n"
+ .' - **urlPattern**:String类型 | 必选 | 关键参数路径,必须以正斜线(/)开头。用{}表示关键参数,配置多个{}时将拼接这些参数作为关键参数。例如,`/company/{}/{}/{}/user.php?uid={}`。'."\n"
+ .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
+ .' - **minRatio**:Float类型 | 必选 | 风险判定条件,即IP访问请求中不同关键参数值的计数占比阈值,超过阈值后判定为风险。取值范围:0.01~1。'."\n"
+ .' - 动态IP爬虫识别算法(**SR**)对应的配置信息应包含以下子参数:'."\n"
+ .' - **maxRequestCountPerSrSession**:Integer类型 | 必选 | 通过设定每个会话中存在的最小请求次数定义异常会话,即单个会话中的请求次数小于该值即判定为异常会话。取值范围:1~8。'."\n"
+ .' - **minSrSessionCountPerIp**:Integer类型 | 必选 | 风险判定条件,即IP访问请求中存在的异常会话数量阈值,单个IP访问请求中的异常会话次数超过该值后判定为风险。取值范围:5~300。'."\n"
+ .' - 代理设备爬虫识别算法(**IND**)对应的配置信息应包含以下子参数:'."\n"
+ .' - **minIpCount**:Integer类型 | 必选 | 恶意设备判定条件,即设备使用WIFI关联的IP变换个数阈值,超过该阈值后判定为风险。取值范围:5~500。'."\n"
+ .' - **keyPathConfiguration**:Array类型 | 可选 | 检测路径信息,支持指定最多10条路径。以JSON字符串格式表示,具体包含以下参数:'."\n"
+ .' - **method**:String类型 | 必选 | 请求方法。取值:**POST**、**GET**、**PUT**、**DELETE**、**HEAD**、**OPTIONS**。'."\n"
+ .' - **url**:String类型 | 必选 | 检测路径关键字,必须以正斜线(/)开头。'."\n"
+ .' - **matchType**:String类型 | 必选 | 匹配方式,与检测路径关键字(**url**)参数结合指定请求路径。取值:**all**(精准匹配)、**prefix**(前缀匹配)、**regex**(正则匹配)。'."\n"
+ .' - 周期性爬虫识别算法(**Periodicity**)对应的配置信息应包含以下子参数:'."\n"
+ .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
+ .' - **level**:Integer类型 | 必选 | 风险判定等级,即访问IP的周期性特征的明显程度。取值:'."\n"
+ .' - **0**:表示明显。'."\n"
+ .' - **1**:表示中等。'."\n"
+ .' - **2**:表示较弱。'."\n"
+ .' - **示例**'."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name":"代理设备爬虫识别",'."\n"
+ .' "algorithmName":"IND",'."\n"
+ .' "timeInterval":"60",'."\n"
+ .' "action":"monitor",'."\n"
+ .' "config":{'."\n"
+ .' "minIpCount":5,'."\n"
+ .' "keyPathConfiguration":[{"url":"/index","method":"GET","matchType":"prefix"}]'."\n"
+ .' }'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- App防护的版本防护规则配置(**bot_wxbb_pkg**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
+ .' - **test**:表示观察。'."\n"
+ .' - **close**:表示阻断。'."\n"
+ .' - **nameList**:Array类型 | 必选 | 合法版本信息,最多指定五条规则。以JSON字符串方式表示,具体包含以下参数:'."\n"
+ .' - **name**:String类型 | 必选 | 合法包名称。'."\n"
+ .' - **signList**:Array类型 | 必选 | 对应的包签名,最多填写15个,以英文逗号(,)分隔。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name":"test",'."\n"
+ .' "action":"close",'."\n"
+ .' "nameList":[{'."\n"
+ .' "name":"apk-xxxx",'."\n"
+ .' "signList":["xxxxxx","xxxxx","xxxx","xx"]'."\n"
+ .' }]'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- App防护的路径防护规则配置(**bot_wxbb**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **uri**:String类型 | 必选 | 防护路径,必须以正斜线(/)开头。'."\n"
+ .' - **matchType**:String类型 | 必选 | 匹配方式。取值:**all**(精准匹配)、**prefix**(前缀匹配)、**regex**(正则匹配)。'."\n"
+ .' - **arg**:String类型 | 必选 | 参数包含,与匹配方式(**matchType**)参数结合指定防护路径配置。'."\n"
+ .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
+ .' - **test**:表示观察。'."\n"
+ .' - **close**:表示阻断。'."\n"
+ .' - **hasTag**:Boolean类型 | 必选 | 是否需要自定义加签字段。'."\n"
+ .' - **true**:表示是。选择需要自定义加签字段时,需传入**wxbbVmpFieldType**和**wxbbVmpFieldValue**参数指定加签字段的类型和对应值。'."\n"
+ .' - **false**:表示否。'."\n"
+ .' - **wxbbVmpFieldType**:Integer类型 | 可选 | 自定义加签字段类型。当**hasTag**参数值为**true**时,必须传入参数。取值:'."\n"
+ .' - **0**:表示header。'."\n"
+ .' - **1**:表示参数。'."\n"
+ .' - **2**:表示cookie。'."\n"
+ .' - **wxbbVmpFieldValue**:String类型 | 可选 | 自定义加签字段值。当**hasTag**参数值为**true**时,必须传入参数。'."\n"
+ .' - **blockInvalidSign**:Integer类型 | 必选 | 是否对非法签名执行处置动作,固定值**1**。路径防护规则的默认防护策略。'."\n"
+ .' - **blockProxy**:Integer类型 | 可选 | 是否对代理执行处置动作,固定值**1**。如果无需对代理行为执行处置动作时无需传入该参数。'."\n"
+ .' - **blockSimulator**:Integer类型 | 可选 | 是否对模拟器执行处置动作,固定值**1**。如果无需对模拟器行为执行处置动作时无需传入该参数。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name":"test",'."\n"
+ .' "uri":"/index",'."\n"
+ .' "matchType":"all",'."\n"
+ .' "arg":"test",'."\n"
+ .' "action":"close",'."\n"
+ .' "hasTag":true,'."\n"
+ .' "wxbbVmpFieldType":2,'."\n"
+ .' "wxbbVmpFieldValue":"test",'."\n"
+ .' "blockInvalidSign":1,'."\n"
+ .' "blockProxy":1'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- 自定义防护策略规则配置(**ac_custom**),通过其对应的JSON字符串中的**scene**参数来设置ACL访问控制规则和CC攻击防护规则。'."\n"
+ ."\n"
+ .' - 设置ACL访问控制规则(**scene**参数值为**custom_acl**),其对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **scene**:String类型 | 必选 | 防护类型。设置ACL访问控制规则时。取值固定为**custom_acl**。'."\n"
+ .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
+ .' - **monitor**:表示观察。'."\n"
+ .' - **captcha**:表示滑块。'."\n"
+ .' - **captcha_strict**:表示严格滑块。'."\n"
+ .' - **js**:表示JS验证。'."\n"
+ .' - **block**:表示阻断。'."\n"
+ ."\n"
+ .' - **conditions**:Array类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
+ ."\n"
+ .' - **key**:匹配字段。取值范围:**URL**、**IP**、**Referer**、**User-Agent**、**Params**、**Cookie**、**Content-Type**、**Content-Length**、**X-Forwarded-For**、**Post-Body**、**Http-Method**、**Header**、**URLPath**。'."\n"
+ ."\n"
+ .' - **opCode**:逻辑符。取值:'."\n"
+ ."\n"
+ .' > 并不是每一个自定义规则的匹配字段(**key**)都能对应配置全部的逻辑符(**opcode**)。关于不同匹配字段支持使用的逻辑符,请以[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)自定义规则中匹配字段和逻辑符的关联关系为准。'."\n"
+ ."\n"
+ .' - **11**:表示等于。'."\n"
+ .' - **10**:表示不等于。'."\n"
+ .' - **41**:表示等于多值之一。'."\n"
+ .' - **50**:表示不等于任一值。'."\n"
+ .' - **1**:表示包含。'."\n"
+ .' - **0**:表示不包含。'."\n"
+ .' - **51**:表示包含多值之一。'."\n"
+ .' - **52**:表示不包含任一值。'."\n"
+ .' - **82**:表示存在。'."\n"
+ .' - **2**:表示不存在。'."\n"
+ .' - **21**:表示长度等于。'."\n"
+ .' - **22**:表示长度大于。'."\n"
+ .' - **20**:表示长度小于。'."\n"
+ .' - **60**:表示正则不匹配。'."\n"
+ .' - **61**:表示正则匹配。'."\n"
+ .' - **72**:表示前缀匹配。'."\n"
+ .' - **81**:表示后缀匹配。'."\n"
+ .' - **80**:表示内容为空。'."\n"
+ ."\n"
+ .' - **values**:匹配内容。根据需要填写相应的内容,以String类型表示。'."\n"
+ ."\n"
+ .' > 匹配条件参数中的逻辑符(**opCode**)、匹配内容(**values**)参数取值范围与所指定的匹配字段(**key**)相关。关于支持的匹配条件配置详细信息,请参见[匹配条件字段说明](~~147945~~)。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "action":"monitor",'."\n"
+ .' "name":"test",'."\n"
+ .' "scene":"custom_acl",'."\n"
+ .' "conditions":[{"opCode":1,"key":"URL","values":"/example"}]'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .' - 设置CC攻击防护规则(**scene**参数值为**custom_cc**),对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **scene**:String类型 | 必选 | 防护类型。设置CC攻击防护规则时,固定为**custom_cc**。'."\n"
+ .' - **conditions**:Array类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
+ ."\n"
+ .' - **key**:匹配字段。取值范围:**URL**、**IP**、**Referer**、**User-Agent**、**Params**、**Cookie**、**Content-Type**、**Content-Length**、**X-Forwarded-For**、**Post-Body**、**Http-Method**、**Header**、**URLPath**。'."\n"
+ ."\n"
+ .' - **opCode**:逻辑符。取值:'."\n"
+ ."\n"
+ .' > 并不是每一个自定义规则的匹配字段(**key**)都能对应配置全部的逻辑符(**opcode**)。关于不同匹配字段支持使用的逻辑符,请以[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)自定义规则中匹配字段和逻辑符的关联关系为准。'."\n"
+ .' '."\n"
+ .' - **11**:表示等于。'."\n"
+ .' - **10**:表示不等于。'."\n"
+ .' - **41**:表示等于多值之一。'."\n"
+ .' - **50**:表示不等于任一值。'."\n"
+ .' - **1**:表示包含。'."\n"
+ .' - **0**:表示不包含。'."\n"
+ .' - **51**:表示包含多值之一。'."\n"
+ .' - **52**:表示不包含任一值。'."\n"
+ .' - **82**:表示存在。'."\n"
+ .' - **2**:表示不存在。'."\n"
+ .' - **21**:表示长度等于。'."\n"
+ .' - **22**:表示长度大于。'."\n"
+ .' - **20**:表示长度小于。'."\n"
+ .' - **60**:表示正则不匹配。'."\n"
+ .' - **61**:表示正则匹配。'."\n"
+ .' - **72**:表示前缀匹配。'."\n"
+ .' - **81**:表示后缀匹配。'."\n"
+ .' - **80**:表示内容为空。'."\n"
+ ."\n"
+ .' - **values**:匹配内容。根据需要填写相应的内容,以String类型表示。'."\n"
+ ."\n"
+ .' > 匹配条件参数中的逻辑符(**opCode**)、匹配内容(**values**)参数取值范围与所指定的匹配字段(**key**)相关。'."\n"
+ ."\n"
+ .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
+ ."\n"
+ .' - **monitor**:表示观察。'."\n"
+ .' - **captcha**:表示滑块。'."\n"
+ .' - **captcha_strict**:表示严格滑块。'."\n"
+ .' - **js**:表示JS验证。'."\n"
+ .' - **block**:表示阻断。'."\n"
+ ."\n"
+ .' - **ratelimit**:JSON格式 | 必选 | 频率设置。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
+ ."\n"
+ .' - **target**:String类型 | 必选 | 统计对象类型。取值:'."\n"
+ .' - **remote_addr**:表示IP。'."\n"
+ .' - **cookie.acw_tc**:表示Session。'."\n"
+ .' - **queryarg**:表示自定义参数。选择自定义参数时,必须在**subkey**参数中填写需要统计的自定义参数名称。'."\n"
+ .' - **cookie**:表示自定义cookie。选择自定义cookie时,必选在**subkey**参数中填写需要统计的cookie内容。'."\n"
+ .' - **header**:表示自定义header。选择自定义header时,必选在**subkey**参数中填写需要统计的header内容。'."\n"
+ .' - **subkey**:String类型 | 可选 | 当**target**参数值为**cookie**、**header**或**queryarg**时,必选在**subkey**参数中填写对应的信息。'."\n"
+ .' - **interval**: Integer类型 | 必选 | 统计时长(单位:秒),即访问次数的统计周期,与阈值(**threshold**)参数配合。'."\n"
+ .' - **threshold**:Integer类型 | 必选 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。'."\n"
+ .' - **status**:JSON格式 | 可选 | 响应码频率设置。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
+ .' - **code**:Integer类型 | 必选 | 指定响应码。'."\n"
+ .' - **count**:Integer类型 | 可选 | 出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则。取值范围:1~999999999。**count**参数与**ratio**参数两者选其一,不可同时配置。'."\n"
+ .' - **ratio**:Integer类型 | 可选 | 出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则。取值范围:1~100。**count**参数与**ratio**参数两者选其一,不可同时配置。'."\n"
+ .' - **scope**:String类型 | 必选 | 生效范围。取值:'."\n"
+ .' - **rule**:表示当前特征匹配范围内。'."\n"
+ .' - **domain**:表示当前规则作用的域名范围内。'."\n"
+ .' - **ttl**:Integer类型 | 必选 | 处置动作的生效时长(单位:秒)。取值范围:60~86400。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ ."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name":"CC防护",'."\n"
+ .' "conditions":[{"opCode":1,"key":"URL","values":"/example"}],'."\n"
+ .' "action":"block", '."\n"
+ .' "scene":"custom_cc", '."\n"
+ .' "ratelimit":{'."\n"
+ .' "target": "remote_addr", '."\n"
+ .' "interval": 300,'."\n"
+ .' "threshold": 2000,'."\n"
+ .' "status": {'."\n"
+ .' "code": 404,'."\n"
+ .' "count": 200'."\n"
+ .' },'."\n"
+ .' "scope": "rule",'."\n"
+ .' "ttl": 1800'."\n"
+ .' }'."\n"
+ .' }'."\n"
+ .' ```'."\n"
+ ."\n"
+ .'- 网站白名单规则配置(**whitelist**)对应的JSON字符串中包含以下参数:'."\n"
+ ."\n"
+ .' - **name**:String类型 | 必选 | 规则名称。'."\n"
+ .' - **tags**:Array类型 | 必选 | 不检测模块。不同类型的白名单规则支持设置的不检测模块(**tags**)不同,具体说明如下:'."\n"
+ ."\n"
+ .' > **tags**的取值只能包含具体白名单类型下罗列的取值。例如,**tags**取值不允许同时包含**regular**和**cc**,因为**regular**属于Web入侵防护白名单下的取值、**cc**属于访问控制/限流白名单下的取值。'."\n"
+ ."\n"
+ .' - 如需设置全局白名单,**tags**取值:'."\n"
+ .' - **waf**:表示不检测所有防护模块。'."\n"
+ ."\n"
+ .' - 如需设置Web入侵防护白名单,**tags**取值(可设置多个):'."\n"
+ .' - **regular**:表示不检测规则防护引擎(包含所有防护规则)。'."\n"
+ .' - **regular_rule**:表示不检测规则防护引擎中的指定防护规则(如选择该取值,必须通过**regularRules**参数设置不检测的规则ID)。'."\n"
+ .' - **regular_type**:表示不检测规则防护引擎中指定类型的防护规则(如选择该取值,必须通过**regularTypes**参数设置不检测的规则类型)。'."\n"
+ .' - **deeplearning**:表示不检测深度学习引擎。'."\n"
+ ."\n"
+ .' - 如需设置访问控制/限流白名单,**tags**取值(可设置多个):'."\n"
+ .' - **cc**:表示不检测CC安全防护模块。'."\n"
+ .' - **customrule**:表示不检测自定义防护策略。'."\n"
+ .' - **blacklist**:表示不检测IP黑名单模块。'."\n"
+ .' - **antiscan**:表示不检测扫描防护模块。'."\n"
+ ."\n"
+ .' - 如需设置数据安全白名单,**tags**取值(可设置多个):'."\n"
+ .' - **dlp**:表示不检测防敏感信息泄露模块。'."\n"
+ .' - **tamperproof**:表示不检测网站防篡改模块。'."\n"
+ .' - **account**:表示不检测账户安全模块。'."\n"
+ ."\n"
+ .' - 如需设置Bot防护白名单,**tags**取值(可设置多个):'."\n"
+ .' - **bot_intelligence**:表示不检测爬虫威胁情报模块。'."\n"
+ .' - **bot_algorithm**:表示不检测典型爬虫行为识别模块。'."\n"
+ .' - **bot_wxbb**:表示不检测App防护模块。'."\n"
+ .' - **antifraud**:表示不检测数据风控模块。'."\n"
+ ."\n"
+ .' - **regularRules**:Array类型 | 可选 | 不检测的防护规则ID列表。如果**tags**参数的取值中包含**regular_rule**,必须填写该参数。您可以在[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)的**防护规则组**页面,通过**新建规则组**,查询WAF包含的所有Web攻击防护规则,获取相关规则的ID。具体操作,请参见[自定义防护规则组](~~99262~~)。'."\n"
+ .' - **regularTypes**:Array类型 | 可选 | 不检测的防护规则类型列表。如果**tags**参数取值中包含**regular_type**,必须填写该参数。取值:'."\n"
+ .' - **sqli**: 表示SQL注入。'."\n"
+ .' - **xss**: 表示跨站脚本。'."\n"
+ .' - **code_exec**: 表示代码执行。'."\n"
+ .' - **lfilei**: 表示本地文件包含。'."\n"
+ .' - **rfilei**: 表示远程文件包含。'."\n"
+ .' - **webshell**: 表示WebShell。'."\n"
+ .' - **vvip**: 表示定制的防护规则。'."\n"
+ .' - **other**: 表示其他类型。'."\n"
+ .' '."\n"
+ .' - **conditions**:Array类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
+ ."\n"
+ .' - **key**:匹配字段。取值范围:**URL**、**IP**、**Referer**、**User-Agent**、**Params**、**Cookie**、**Content-Type**、**Content-Length**、**X-Forwarded-For**、**Post-Body**、**Http-Method**、**Header**、**URLPath**。'."\n"
+ ."\n"
+ .' - **opCode**:逻辑符。取值:'."\n"
+ ."\n"
+ .' > 并不是每一个自定义规则的匹配字段(**key**)都能对应配置全部的逻辑符(**opcode**)。关于不同匹配字段支持使用的逻辑符,请以[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)自定义规则中匹配字段和逻辑符的关联关系为准。'."\n"
+ ."\n"
+ .' - **11**:表示等于。'."\n"
+ .' - **10**:表示不等于。'."\n"
+ .' - **41**:表示等于多值之一。'."\n"
+ .' - **50**:表示不等于任一值。'."\n"
+ .' - **1**:表示包含或属于。'."\n"
+ .' - **0**:表示不包含或不属于。'."\n"
+ .' - **51**:表示包含多值之一。'."\n"
+ .' - **52**:表示不包含任一值。'."\n"
+ .' - **82**:表示存在。'."\n"
+ .' - **2**:表示不存在。'."\n"
+ .' - **21**:表示长度等于。'."\n"
+ .' - **22**:表示长度大于。'."\n"
+ .' - **20**:表示长度小于。'."\n"
+ .' - **60**:表示正则不匹配。'."\n"
+ .' - **61**:表示正则匹配。'."\n"
+ .' - **72**:表示前缀匹配。'."\n"
+ .' - **81**:表示后缀匹配。'."\n"
+ .' - **80**:表示内容为空。'."\n"
+ .' - **30**:表示值小于。'."\n"
+ .' - **31**:表示值大于。'."\n"
+ ."\n"
+ .' - **values**:匹配内容。根据需要填写相应的内容,以String类型表示。'."\n"
+ ."\n"
+ .' > 匹配条件参数中的逻辑符(**opCode**)、匹配内容(**values**)参数取值范围与所指定的匹配字段(**key**)相关。'."\n"
+ ."\n"
+ .' - **示例**'."\n"
+ .' '."\n"
+ .' ```'."\n"
+ .' {'."\n"
+ .' "name": "test",'."\n"
+ .' "tags": ["cc","customrule"],'."\n"
+ .' "conditions":[{"opCode":1,"key":"URL","values":"/example"}],'."\n"
+ .' }'."\n"
+ .' ``` '."\n"
+ ."\n\n"
+ .'调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteDomain' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProtectionModuleRule'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:CreateProtectionModuleRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteDomain' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2142,51 +1086,30 @@
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '已接入WAF的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => '已接入WAF的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2194,11 +1117,7 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
@@ -2210,75 +1129,56 @@
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeCertificates' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDomain'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DeleteDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteInstance' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'list',
- ],
+ 'systemTags' => [],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)获取当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-zz11sr5****',
- ],
- ],
- [
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要查询关联SSL证书的域名。'."\n"
- ."\n"
- .'不设置该参数表示查询所有域名关联的SSL证书。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => 'WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aekzz2e****pp7i',
- ],
+ 'schema' => ['description' => '相关的资源组ID。'."\n"
+ ."\n"
+ .'默认为空,表示属于默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2286,158 +1186,112 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'ECF65091-3704-55D5-BC88-EC208B0E238C',
- ],
- 'Certificates' => [
- 'description' => '域名关联的SSL证书信息。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'IsUsing' => [
- 'description' => '是否是该域名当前所使用的证书。取值:'."\n"
- ."\n"
- .'- **true**:表示是。'."\n"
- .'- **false**:表示否。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'CertificateName' => [
- 'description' => '证书名称。',
- 'type' => 'string',
- 'example' => '*.aliyundoc.com',
- ],
- 'CertificateId' => [
- 'description' => '证书ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2329260',
- ],
- 'CommonName' => [
- 'description' => '证书绑定的域名。',
- 'type' => 'string',
- 'example' => '*.aliyundoc.com',
- ],
- 'Sans' => [
- 'description' => '证书的SAN扩展属性列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '证书绑定的其他域名。',
- 'type' => 'string',
- 'example' => '*.aliyundoc.com',
- ],
- ],
- 'EndTime' => [
- 'description' => '证书到期时间,格式为Unix时间戳(UTC时间),单位为毫秒。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1971273600000',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => '阿里云为此次API调用请求生成的唯一标识符。', 'type' => 'string', 'example' => 'F35F45B0-5D6B-4238-BE02-A62D****E840'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ECF65091-3704-55D5-BC88-EC208B0E238C\\",\\n \\"Certificates\\": [\\n {\\n \\"IsUsing\\": false,\\n \\"CertificateName\\": \\"*.aliyundoc.com\\",\\n \\"CertificateId\\": 2329260,\\n \\"CommonName\\": \\"*.aliyundoc.com\\",\\n \\"Sans\\": [\\n \\"*.aliyundoc.com\\"\\n ],\\n \\"EndTime\\": 1971273600000\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCertificatesResponse>\\n <RequestId>ECF65091-3704-55D5-BC88-EC208B0E238C</RequestId>\\n <Certificates>\\n <IsUsing>false</IsUsing>\\n <CertificateName>*.aliyundoc.com</CertificateName>\\n <CertificateId>2329260</CertificateId>\\n <CommonName>*.aliyundoc.com</CommonName>\\n <Sans>*.aliyundoc.com</Sans>\\n </Certificates>\\n</DescribeCertificatesResponse>","errorExample":""}]',
- 'title' => '获取指定域名可选证书',
- 'summary' => '获取指定域名可选的已有证书,即已在SSL证书中进行管理的证书。',
- 'description' => '本接口用于查询域名关联的SSL证书列表(通过阿里云SSL证书服务购买、已上传到SSL证书服务进行托管),例如,证书的ID、名称、关联的域名、SAN(Subject Alternative Name)扩展属性等。请注意,为了确保系统稳定系,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F35F45B0-5D6B-4238-BE02-A62D****E840\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteInstanceResponse>\\r\\n<RequestId>F35F45B0-5D6B-4238-BE02-A62D0760E840</RequestId>\\r\\n</DeleteInstanceResponse>","errorExample":""}]',
+ 'title' => '释放Web应用防火墙(WAF)实例',
+ 'summary' => '释放Web应用防火墙(WAF)按量付费实例或者到期的包年包月实例。',
+ 'description' => '释放实例后,实例的相关数据将全部丢失且不可恢复,请谨慎操作。',
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeCertMatchStatus' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstance'],
+ ],
],
- 'schemes' => [
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DeleteInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DeleteProtectionModuleRule' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => [],
'parameters' => [
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '已接入WAF的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => '要删除防护规则的域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
],
[
- 'name' => 'Certificate',
+ 'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '证书文件内容。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN CERTIFICATE----- 62EcYPWd2Oy1vs6MTXcJSfN9*****9fmxWr2BFN2XbahgnsSXM48ixZJ4krc+1M+j2kcubVpsE2cgHdj4v8H6jUz9Ji4mr7vMNS6dXv8PUkl/qoDeNGCNdyTS5NIL5ir+g92cL8IGOkjgvhlqt9vc65Cgb4mL+n5+DV9uOyTZTW/MojmlgfUekC2xiXa54nxJf17Y1TADGSbyJbsC0Q9nIrHsPl8YKkvRWvIAqYxXZ7wRwWWmv4TMxFhWRiNY7yZIo2ZUhl02SIDNggIEeg== -----END CERTIFICATE-----',
- ],
+ 'schema' => ['description' => '要删除的防护规则所属防护功能模块。取值:'."\n"
+ ."\n"
+ .'- **waf-codec**:表示规则防护引擎解码设置。'."\n"
+ ."\n"
+ .'- **tamperproof**:表示网站防篡改规则配置。'."\n"
+ ."\n"
+ .'- **dlp**:表示防敏感信息泄漏规则配置。'."\n"
+ ."\n"
+ .'- **ng_account**:表示账户安全规则配置。'."\n"
+ ."\n"
+ .'- **antifraud**:表示数据风控防护请求配置。'."\n"
+ ."\n"
+ .'- **antifraud_js**:表示数据风控JS插入页面配置。'."\n"
+ ."\n"
+ .'- **bot_algorithm**:表示Bot管理的智能算法规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb_pkg**:表示App防护的版本防护规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb**:表示App防护的路径防护规则。'."\n"
+ ."\n"
+ .'- **ac_custom**:表示自定义防护策略规则配置。'."\n"
+ ."\n"
+ .'- **whitelist**:表示白名单规则配置。'."\n", 'type' => 'string', 'required' => true, 'example' => 'ac_custom'],
],
[
- 'name' => 'PrivateKey',
+ 'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => '私钥文件内容。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN RSA PRIVATE KEY----- DADTPZoOHd9WtZ3UKHJTRgNQ****Qn2bqdKHop+B/dn/4VZL7Jt8zSDGM9sTMThLyvsmLQKBgQCr+ujntC1kN6pGBj2Fw2l/EA/W3rYEce2tyhjgmG7rZ+A/jVE9fld5sQra6ZdwBcQJaiygoIYoaMF2EjRwc0qwHaluq0C15f6ujSoHh2e+D5zdmkTg/3NKNjqNv6xA2gYpinVDzFdZ9Zujxvuh9o4Vqf0YF8bv5UK5G04RtKadOw== -----END RSA PRIVATE KEY-----',
- ],
+ 'schema' => ['description' => '要删除的防护规则的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeProtectionModuleRules](~~100398~~)查询指定防护功能模块下的所有规则ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '42754'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-mp9153****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2445,123 +1299,89 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'MatchStatus' => [
- 'description' => '证书与私钥内容是否匹配。',
- 'type' => 'boolean',
- 'example' => 'false',
- ],
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => '1557B42F-B889-460A-B17F-1DE5C5AD7FF2'],
],
],
],
],
'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"MatchStatus\\": false,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeCertMatchStatusResponse>\\n\\t<MatchStatus>false</MatchStatus>\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</DescribeCertMatchStatusResponse>","errorExample":""}]',
- 'title' => '检查域名上传的证书和私钥是否匹配',
- 'summary' => '检查指定域名配置上传的证书和私钥信息是否匹配。',
- 'requestParamsDescription' => ' ',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1557B42F-B889-460A-B17F-1DE5C5AD7FF2\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteProtectionModuleRuleResponse>\\n <RequestId>1557B42F-B889-460A-B17F-1DE5C5AD7FF2</RequestId>\\n</DeleteProtectionModuleRuleResponse>","errorExample":""}]',
+ 'title' => '删除防护配置模块的规则',
+ 'summary' => '调用DeleteProtectionModuleRule删除指定防护模块中配置的规则。',
+ 'description' => '本接口用于删除指定防护模块中配置的规则。'."\n"
+ .'请注意,为确保系统稳定性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'CreateCertificate' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProtectionModuleRule'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DeleteProtectionModuleRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeCertMatchStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '已接入WAF的域名名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => '已接入WAF的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
'name' => 'Certificate',
'in' => 'query',
- 'schema' => [
- 'description' => '证书文件内容。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '-----BEGIN CERTIFICATE----- 62EcYPWd2Oy1vs6MTXcJSfN9Z7rZ9fmxWr2BFN2XbahgnsSXM48ixZJ4krc+1M+j2kcubVpsE2cgHdj4v8H6jUz9Ji4mr7vMNS6dXv8PUkl/qoDeNGCNdyTS5NIL5ir+g92cL8IGOkjgvhlqt9vc65Cgb4mL+n5+DV9uOyTZTW/MojmlgfUekC2xiXa54nxJf17Y1TADGSbyJbsC0Q9nIrHsPl8YKkvRWvIAqYxXZ7wRwWWmv4TMxFhWRiNY7yZIo2ZUhl02SIDNggIEeg== -----END CERTIFICATE-----',
- 'default' => 'cn',
- ],
+ 'schema' => ['description' => '证书文件内容。', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN CERTIFICATE----- 62EcYPWd2Oy1vs6MTXcJSfN9*****9fmxWr2BFN2XbahgnsSXM48ixZJ4krc+1M+j2kcubVpsE2cgHdj4v8H6jUz9Ji4mr7vMNS6dXv8PUkl/qoDeNGCNdyTS5NIL5ir+g92cL8IGOkjgvhlqt9vc65Cgb4mL+n5+DV9uOyTZTW/MojmlgfUekC2xiXa54nxJf17Y1TADGSbyJbsC0Q9nIrHsPl8YKkvRWvIAqYxXZ7wRwWWmv4TMxFhWRiNY7yZIo2ZUhl02SIDNggIEeg== -----END CERTIFICATE-----'],
],
[
'name' => 'PrivateKey',
'in' => 'query',
- 'schema' => [
- 'description' => '证书对应的私钥文件内容。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '-----BEGIN RSA PRIVATE KEY----- DADTPZoOHd9WtZ3UKHJTRgNQmioPQn2bqdKHop+B/dn/4VZL7Jt8zSDGM9sTMThLyvsmLQKBgQCr+ujntC1kN6pGBj2Fw2l/EA/W3rYEce2tyhjgmG7rZ+A/jVE9fld5sQra6ZdwBcQJaiygoIYoaMF2EjRwc0qwHaluq0C15f6ujSoHh2e+D5zdmkTg/3NKNjqNv6xA2gYpinVDzFdZ9Zujxvuh9o4Vqf0YF8bv5UK5G04RtKadOw== -----END RSA PRIVATE KEY-----',
- ],
- ],
- [
- 'name' => 'CertificateName',
- 'in' => 'query',
- 'schema' => [
- 'description' => '证书名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'CertName',
- ],
+ 'schema' => ['description' => '私钥文件内容。', 'type' => 'string', 'required' => true, 'example' => '-----BEGIN RSA PRIVATE KEY----- DADTPZoOHd9WtZ3UKHJTRgNQ****Qn2bqdKHop+B/dn/4VZL7Jt8zSDGM9sTMThLyvsmLQKBgQCr+ujntC1kN6pGBj2Fw2l/EA/W3rYEce2tyhjgmG7rZ+A/jVE9fld5sQra6ZdwBcQJaiygoIYoaMF2EjRwc0qwHaluq0C15f6ujSoHh2e+D5zdmkTg/3NKNjqNv6xA2gYpinVDzFdZ9Zujxvuh9o4Vqf0YF8bv5UK5G04RtKadOw== -----END RSA PRIVATE KEY-----'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2569,259 +1389,169 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'CertificateId' => [
- 'description' => '系统自动生成的证书记录ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2329260',
- ],
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
+ 'MatchStatus' => ['description' => '证书与私钥内容是否匹配。', 'type' => 'boolean', 'example' => 'false'],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
],
'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertificateId\\": 2329260,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<CreateCertificateResponse>\\n\\t<CertificateId>2329260</CertificateId>\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</CreateCertificateResponse>","errorExample":""}]',
- 'title' => '为已添加域名上传证书及私钥信息',
- 'summary' => '为已添加的域名配置记录上传证书及私钥信息。',
- 'description' => '本接口为指定域名配置更新已上传的证书及私钥信息。',
- ],
- 'CreateCertificateByCertificateId' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"MatchStatus\\": false,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeCertMatchStatusResponse>\\n\\t<MatchStatus>false</MatchStatus>\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</DescribeCertMatchStatusResponse>","errorExample":""}]',
+ 'title' => '检查域名上传的证书和私钥是否匹配',
+ 'summary' => '检查指定域名配置上传的证书和私钥信息是否匹配。',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCertMatchStatus'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DescribeCertificates' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'list'],
'parameters' => [
[
- 'name' => 'Domain',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '要添加SSL证书的域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)获取当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-zz11sr5****'],
],
[
- 'name' => 'CertificateId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要添加的证书的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeCertificates](~~160783~~)查询域名关联的所有SSL证书的ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '3384669',
- ],
- ],
- [
- 'name' => 'InstanceId',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-zz11sr5****',
- ],
+ 'schema' => ['description' => '要查询关联SSL证书的域名。'."\n"
+ ."\n"
+ .'不设置该参数表示查询所有域名关联的SSL证书。', 'type' => 'string', 'required' => false, 'example' => 'www.aliyundoc.com'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzz2e****pp7i'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
- 'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
- 'CertificateId' => [
- 'description' => '已添加的证书的ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '3384669',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'ECF65091-3704-55D5-BC88-EC208B0E238C'],
+ 'Certificates' => [
+ 'description' => '域名关联的SSL证书信息。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'IsUsing' => ['description' => '是否是该域名当前所使用的证书。取值:'."\n"
+ ."\n"
+ .'- **true**:表示是。'."\n"
+ .'- **false**:表示否。', 'type' => 'boolean', 'example' => 'false'],
+ 'CertificateName' => ['description' => '证书名称。', 'type' => 'string', 'example' => '*.aliyundoc.com'],
+ 'CertificateId' => ['description' => '证书ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2329260'],
+ 'CommonName' => ['description' => '证书绑定的域名。', 'type' => 'string', 'example' => '*.aliyundoc.com'],
+ 'Sans' => [
+ 'description' => '证书的SAN扩展属性列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '证书绑定的其他域名。', 'type' => 'string', 'example' => '*.aliyundoc.com'],
+ ],
+ 'EndTime' => ['description' => '证书到期时间,格式为Unix时间戳(UTC时间),单位为毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1971273600000'],
+ ],
+ ],
],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertificateId\\": 3384669,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCertificateByCertificateIdResponse>\\n <CertificateId>3384669</CertificateId>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</CreateCertificateByCertificateIdResponse>","errorExample":""}]',
- 'title' => '根据证书ID为指定域名创建证书',
- 'summary' => '调用CreateCertificateByCertificateId接口根据证书ID为指定域名创建证书。',
- 'description' => '本接口用于通过证书ID,为指定域名添加SSL证书。调用本接口前,您可以调用[DescribeCertificates](~~160783~~)查询域名关联的所有SSL证书的ID。请注意,为确保系统稳定性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ECF65091-3704-55D5-BC88-EC208B0E238C\\",\\n \\"Certificates\\": [\\n {\\n \\"IsUsing\\": false,\\n \\"CertificateName\\": \\"*.aliyundoc.com\\",\\n \\"CertificateId\\": 2329260,\\n \\"CommonName\\": \\"*.aliyundoc.com\\",\\n \\"Sans\\": [\\n \\"*.aliyundoc.com\\"\\n ],\\n \\"EndTime\\": 1971273600000\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCertificatesResponse>\\n <RequestId>ECF65091-3704-55D5-BC88-EC208B0E238C</RequestId>\\n <Certificates>\\n <IsUsing>false</IsUsing>\\n <CertificateName>*.aliyundoc.com</CertificateName>\\n <CertificateId>2329260</CertificateId>\\n <CommonName>*.aliyundoc.com</CommonName>\\n <Sans>*.aliyundoc.com</Sans>\\n </Certificates>\\n</DescribeCertificatesResponse>","errorExample":""}]',
+ 'title' => '获取指定域名可选证书',
+ 'summary' => '获取指定域名可选的已有证书,即已在SSL证书中进行管理的证书。',
+ 'description' => '本接口用于查询域名关联的SSL证书列表(通过阿里云SSL证书服务购买、已上传到SSL证书服务进行托管),例如,证书的ID、名称、关联的域名、SAN(Subject Alternative Name)扩展属性等。请注意,为了确保系统稳定系,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeDomainBasicConfigs' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-04-18T02:30:35.000Z', 'description' => '响应参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCertificates'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeCertificates',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeDomain' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-tl32ast****',
- ],
- ],
- [
- 'name' => 'DomainKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置域名关键字,查询包含指定关键字的域名配置。'."\n"
- ."\n"
- .'不设置该参数表示查询所有域名配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'aliyundoc',
- ],
- ],
- [
- 'name' => 'AccessType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置域名接入模式,查询使用指定方式接入WAF防护的域名配置。取值:'."\n"
- ."\n"
- .'- **waf-cloud-dns**:表示CNAME接入。'."\n"
- .'- **waf-cloud-native**:表示透明接入。'."\n"
- ."\n"
- .'不设置该参数表示查询所有域名配置。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'waf-cloud-dns',
- ],
- ],
- [
- 'name' => 'CloudNativeProductId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置源站类型,查询在透明接入方式下通过指定源站类型接入WAF防护的域名配置。取值:'."\n"
- .'- **0**:表示云服务器ECS实例。'."\n"
- .'- **1**:表示传统型负载均衡CLB实例。'."\n"
- .'- **2**:表示应用型负载均衡ALB实例。'."\n"
- ."\n"
- .'不设置该参数表示查询所有域名配置。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,设置当前页面的页码。默认值为**1**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-7pp26f1****'],
],
[
- 'name' => 'PageSize',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,设置每页包含域名配置的数量。默认值为**10**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => '要查询的域名名称。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '网站域名在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
+ 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -2829,203 +1559,265 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => '查询到的域名配置的总数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
- 'DomainConfigs' => [
- 'description' => '域名配置详情列表。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Status' => [
- 'description' => '域名配置的状态。取值:'."\n"
- ."\n"
- .'- **0**:表示无效(已删除)。'."\n"
- .'- **1**:表示有效(创建成功)。'."\n"
- .'- **10**:表示创建中。'."\n"
- .'- **11**:表示创建失败。'."\n"
- .'- **20**:表示删除中。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'Domain' => [
- 'description' => '域名。',
- 'type' => 'string',
- 'example' => 'www.aliyundoc.com',
- ],
- 'Owner' => [
- 'description' => '域名配置的来源。取值固定为**WAF**,表示通过Web应用防火墙服务添加。',
- 'type' => 'string',
- 'example' => 'WAF',
- ],
- 'CcMode' => [
- 'description' => 'CC安全防护功能的模式。取值:'."\n"
- ."\n"
- .'- **0**:表示**防护**模式。'."\n"
- .'- **1**:表示**防护-紧急**模式。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'CcStatus' => [
- 'description' => 'CC安全防护功能的状态。取值:'."\n"
- ."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**:表示开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'AccessType' => [
- 'description' => '域名接入模式。取值:'."\n"
- ."\n"
- .'- **waf-cloud-dns**:表示CNAME接入。'."\n"
- .'- **waf-cloud-native**:表示透明接入。',
- 'type' => 'string',
- 'example' => 'waf-cloud-dns',
- ],
- 'Version' => [
- 'description' => '当前配置的版本号。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '0',
- ],
- 'AclStatus' => [
- 'description' => '自定义防护策略功能的状态。取值:'."\n"
- ."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**:表示开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'WafStatus' => [
- 'description' => '规则防护引擎功能的状态。取值:'."\n"
- ."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**:表示开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D827FCFE-90A7-4330-9326-D33C8B4C7726'],
+ 'Domain' => [
+ 'description' => '域名的配置信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'HttpToUserIp' => ['description' => '是否开启了HTTP回源功能。取值:'."\n"
+ ."\n"
+ .'- **0**:表示未开启。'."\n"
+ .'- **1**:表示已开启。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'SniStatus' => ['description' => '是否开启了回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。取值:'."\n"
+ ."\n"
+ .'- **0**:表示未开启。'."\n"
+ .'- **1**:表示已开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'IsAccessProduct' => ['description' => '域名在WAF前是否配置有其他七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:'."\n"
+ ."\n"
+ .'- **0**:表示否。'."\n"
+ .'- **1**:表示是。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'AccessHeaderMode' => ['description' => 'WAF获取客户端真实IP的方式。取值:'."\n"
+ ."\n"
+ .'- **0**:表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。'."\n"
+ .'- **1**:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。'."\n"
+ ."\n"
+ .'> 仅当**IsAccessProduct**取值为**1**(表示WAF前有其他七层代理服务)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'HttpsRedirect' => ['description' => '是否开启了HTTPS强制跳转。取值:'."\n"
+ ."\n"
+ .'- **0**:表示未开启。'."\n"
+ .'- **1**:表示已开启。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'IpFollowStatus' => ['description' => '是否开启了IPv4/IPv6回源协议跟随。取值:'."\n"
+ .'- **0**:表示未开启。'."\n"
+ .'- **1**:表示已开启。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'LoadBalancing' => ['description' => '回源时采用的负载均衡算法。取值:'."\n"
+ ."\n"
+ .'- **0**:表示IP Hash算法。'."\n"
+ .'- **1**:表示轮询算法。'."\n"
+ .'- **2**:表示Least Time算法。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'AccessType' => ['description' => '域名接入方式。取值:'."\n"
+ .'- **waf-cloud-dns**:表示CNAME接入。'."\n"
+ .'- **waf-cloud-native**:表示透明接入。', 'type' => 'string', 'example' => 'waf-cloud-dns'],
+ 'Version' => ['description' => '当前域名配置的版本。', 'type' => 'integer', 'format' => 'int64', 'example' => '40'],
+ 'ClusterType' => ['description' => 'WAF实例对应的集群类型。取值:'."\n"
+ ."\n"
+ .'- **0**:表示物理集群。'."\n"
+ .'- **1**:表示虚拟集群,即WAF独享集群。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'ReadTime' => ['description' => 'WAF集群的读连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '120'],
+ 'WriteTime' => ['description' => 'WAF集群的写连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '120'],
+ 'SniHost' => ['description' => 'SNI扩展字段的自定义值。取值为空表示未自定义SNI值,默认使用请求头中**Host**字段的值作为SNI扩展字段的值。'."\n"
+ ."\n"
+ .'> 仅在**SniStatus**取值为**1**(表示开启SNI回源)时,返回该参数。', 'type' => 'string', 'example' => 'waf.example.com'],
+ 'ResourceGroupId' => ['description' => 'WAF实例所属资源组ID。', 'type' => 'string', 'example' => 'rg-acfm2mkrunv****'],
+ 'Cname' => ['description' => 'WAF为域名分配的CNAME地址。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'string', 'example' => 'kdmqyi3ck7xogegxpiyfpb0fj21mgkxn.****.com'],
+ 'ConnectionTime' => ['description' => 'WAF集群的连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '5'],
+ 'LogHeaders' => [
+ 'description' => '域名的流量标记字段和值,用于标记经过WAF处理的流量。'."\n"
+ ."\n"
+ .'> 仅当域名开启了流量标记功能时,返回该参数。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'k' => ['description' => '流量标记字段的名称。', 'type' => 'string', 'example' => 'ALIWAF-TAG'],
+ 'v' => ['description' => '流量标记字段的值。', 'type' => 'string', 'example' => 'Yes'],
+ ],
],
- 'WafMode' => [
- 'description' => '规则防护引擎功能的模式。取值:'."\n"
- ."\n"
- .'- **0**:表示**拦截**模式。'."\n"
- .'- **1**:表示**告警**模式。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
+ ],
+ 'CloudNativeInstances' => [
+ 'description' => '透明接入的配置列表。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-native**(表示域名使用透明接入方式接入WAF)时,返回该参数。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RedirectionTypeName' => ['description' => '引流端口的类型。取值:'."\n"
+ ."\n"
+ .'- **SLB-L4**:表示从传统型负载均衡CLB(原SLB)实例的四层监听端口引流到WAF进行防护。'."\n"
+ .'- **SLB-L7**:表示从传统型负载均衡CLB(原SLB)实例的七层监听端口引流到WAF进行防护。'."\n"
+ .'- **ECS**:表示从云服务器ECS实例的监听端口引流到WAF进行防护。'."\n"
+ .'- **ALB**:表示从应用型负载均衡ALB实例的HTTP、HTTPS监听端口引流到WAF进行防护。', 'type' => 'string', 'example' => 'ALB'],
+ 'CloudNativeProductName' => ['description' => '云产品实例的类型。取值:'."\n"
+ ."\n"
+ .'- **SLB**:表示传统型负载均衡CLB(原SLB)实例。'."\n"
+ .'- **ECS**:表示云服务器ECS实例。'."\n"
+ .'- **ALB**:表示应用型负载均衡ALB实例。'."\n", 'type' => 'string', 'example' => 'ALB'],
+ 'InstanceId' => ['description' => '云产品实例的ID。', 'type' => 'string', 'example' => 'alb-s65nua68wdedsp****'],
+ 'IPAddressList' => [
+ 'description' => '云产品实例的公网IP地址列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '云产品实例的公网IP地址。', 'type' => 'string', 'example' => '39.XX.XX.197'],
+ 'example' => '["39.XX.XX.197"]',
+ ],
+ 'ProtocolPortConfigs' => [
+ 'description' => '协议及端口配置列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '协议及端口配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Ports' => [
+ 'description' => '端口列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
+ 'example' => '[80]',
+ ],
+ 'Protocol' => ['description' => '协议类型。取值:'."\n"
+ .'- **http**:表示HTTP协议。'."\n"
+ .'- **https**:表示HTTPS协议。', 'type' => 'string', 'example' => 'http'],
+ ],
+ ],
+ ],
+ ],
],
],
+ 'HttpPort' => [
+ 'description' => 'HTTP端口列表。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
+ 'type' => 'array',
+ 'items' => ['description' => 'HTTP端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
+ ],
+ 'Http2Port' => [
+ 'description' => 'HTTP 2.0端口列表。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,返回该参数。',
+ 'type' => 'array',
+ 'items' => ['description' => 'HTTP 2.0端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8443'],
+ ],
+ 'SourceIps' => [
+ 'description' => '源站服务器地址。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
+ 'type' => 'array',
+ 'items' => ['description' => '源站服务器地址。', 'type' => 'string', 'example' => '39.XX.XX.197'],
+ ],
+ 'HttpsPort' => [
+ 'description' => 'HTTPS端口列表。'."\n"
+ ."\n"
+ .'> 仅当**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式接入WAF)时,返回该参数。',
+ 'type' => 'array',
+ 'items' => ['description' => 'HTTPS端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'],
+ ],
+ 'AccessHeaders' => [
+ 'description' => '用于获取客户端IP的自定义字段列表。'."\n"
+ ."\n"
+ .'> 仅当**AccessHeaderMode**取值为**1**(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,返回该参数。',
+ 'type' => 'array',
+ 'items' => ['description' => '用于获取客户端IP的自定义字段。', 'type' => 'string', 'example' => 'X-Client-IP'],
+ ],
+ 'Retry' => ['description' => 'WAF回源失败时,是否重试。取值:'."\n"
+ ."\n"
+ .'- **true**:表示重试。'."\n"
+ ."\n"
+ .'- **false**:表示不重试。', 'type' => 'boolean', 'example' => 'false', 'default' => 'true'],
+ 'Keepalive' => ['description' => '是否保持长连接。取值:'."\n"
+ ."\n"
+ .'- **true**:表示保持长连接。'."\n"
+ ."\n"
+ .'- **false**:表示不保持长连接。', 'type' => 'boolean', 'example' => 'true', 'default' => 'true'],
+ 'KeepaliveRequests' => ['description' => '复用长连接的请求个数。取值范围:60~1000,单位:个。'."\n"
+ ."\n"
+ .'> 开启长连接后,复用多少个长连接。', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'default' => '1000'],
+ 'KeepaliveTimeout' => ['description' => '空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。'."\n"
+ ."\n"
+ .'> 复用的长连接空闲多少长后释放。', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'default' => '15'],
],
],
],
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'Forbbiden',
- 'errorMessage' => 'User not authorized to operate on the specified resource.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
- ],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"DomainConfigs\\": [\\n {\\n \\"Status\\": 1,\\n \\"Domain\\": \\"www.aliyundoc.com\\",\\n \\"Owner\\": \\"WAF\\",\\n \\"CcMode\\": 0,\\n \\"CcStatus\\": 1,\\n \\"AccessType\\": \\"waf-cloud-dns\\",\\n \\"Version\\": 0,\\n \\"AclStatus\\": 1,\\n \\"WafStatus\\": 1,\\n \\"WafMode\\": 0\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainBasicConfigsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n <DomainConfigs>\\n <Status>1</Status>\\n <Domain>www.aliyundoc.com</Domain>\\n <Owner>WAF</Owner>\\n <CcMode>0</CcMode>\\n <CcStatus>1</CcStatus>\\n <Version>0</Version>\\n <AclStatus>1</AclStatus>\\n <WafStatus>1</WafStatus>\\n <WafMode>0</WafMode>\\n </DomainConfigs>\\n</DescribeDomainBasicConfigsResponse>","errorExample":""}]',
- 'title' => '获取域名配置记录的防护设置状态',
- 'summary' => '调用DescribeDomainBasicConfigs查询已接入WAF防护的网站域名的基本配置。',
- 'description' => '本接口用于分页查询已接入WAF防护的网站域名的基本配置(以下简称域名配置),例如,域名配置的状态、默认防护模块(包括规则防护引擎、CC安全防护、自定义防护策略)的状态和模式等。请注意,为确保系统稳定性,对单用户QPS限制为50次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D827FCFE-90A7-4330-9326-D33C8B4C7726\\",\\n \\"Domain\\": {\\n \\"HttpToUserIp\\": 0,\\n \\"SniStatus\\": 1,\\n \\"IsAccessProduct\\": 1,\\n \\"AccessHeaderMode\\": 1,\\n \\"HttpsRedirect\\": 0,\\n \\"IpFollowStatus\\": 1,\\n \\"LoadBalancing\\": 2,\\n \\"AccessType\\": \\"waf-cloud-dns\\",\\n \\"Version\\": 40,\\n \\"ClusterType\\": 0,\\n \\"ReadTime\\": 120,\\n \\"WriteTime\\": 120,\\n \\"SniHost\\": \\"waf.example.com\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2mkrunv****\\",\\n \\"Cname\\": \\"kdmqyi3ck7xogegxpiyfpb0fj21mgkxn.****.com\\",\\n \\"ConnectionTime\\": 5,\\n \\"LogHeaders\\": [\\n {\\n \\"k\\": \\"ALIWAF-TAG\\",\\n \\"v\\": \\"Yes\\"\\n }\\n ],\\n \\"CloudNativeInstances\\": [\\n {\\n \\"RedirectionTypeName\\": \\"ALB\\",\\n \\"CloudNativeProductName\\": \\"ALB\\",\\n \\"InstanceId\\": \\"alb-s65nua68wdedsp****\\",\\n \\"IPAddressList\\": [\\n \\"39.XX.XX.197\\"\\n ],\\n \\"ProtocolPortConfigs\\": [\\n {\\n \\"Ports\\": [\\n 80\\n ],\\n \\"Protocol\\": \\"http\\"\\n }\\n ]\\n }\\n ],\\n \\"HttpPort\\": [\\n 80\\n ],\\n \\"Http2Port\\": [\\n 8443\\n ],\\n \\"SourceIps\\": [\\n \\"39.XX.XX.197\\"\\n ],\\n \\"HttpsPort\\": [\\n 443\\n ],\\n \\"AccessHeaders\\": [\\n \\"X-Client-IP\\"\\n ],\\n \\"Retry\\": false,\\n \\"Keepalive\\": true,\\n \\"KeepaliveRequests\\": 1000,\\n \\"KeepaliveTimeout\\": 15\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeDomainResponse>\\n\\t<RequestId>D827FCFE-90A7-4330-9326-D33C8B4C7726</RequestId>\\n\\t<Domain>\\n\\t\\t<HttpToUserIp>0</HttpToUserIp>\\n\\t\\t<HttpPort>80</HttpPort>\\n\\t\\t<IsAccessProduct>1</IsAccessProduct>\\n\\t\\t<AccessHeaderMode>1</AccessHeaderMode>\\n\\t\\t<ResourceGroupId>rg-acfm2mkrunv****</ResourceGroupId>\\n\\t\\t<AccessHeaders>X-Client-IP</AccessHeaders>\\n\\t\\t<ReadTime>120</ReadTime>\\n\\t\\t<SourceIps>39.XX.XX.197</SourceIps>\\n\\t\\t<IpFollowStatus>1</IpFollowStatus>\\n\\t\\t<ClusterType>0</ClusterType>\\n\\t\\t<LoadBalancing>2</LoadBalancing>\\n\\t\\t<Cname>kdmqyi3ck7xogegxpiyfpb0fj21mgkxn.****.com</Cname>\\n\\t\\t<LogHeaders>\\n\\t\\t\\t<v>Yes</v>\\n\\t\\t\\t<k>ALIWAF-TAG</k>\\n\\t\\t</LogHeaders>\\n\\t\\t<WriteTime>120</WriteTime>\\n\\t\\t<Http2Port>443</Http2Port>\\n\\t\\t<Http2Port>8443</Http2Port>\\n\\t\\t<Version>40</Version>\\n\\t\\t<HttpsRedirect>0</HttpsRedirect>\\n\\t\\t<ConnectionTime>5</ConnectionTime>\\n\\t\\t<AccessType>waf-cloud-dns</AccessType>\\n\\t\\t<HttpsPort>443</HttpsPort>\\n\\t\\t<HttpsPort>8443</HttpsPort>\\n\\t</Domain>\\n</DescribeDomainResponse>\\n","errorExample":""}]',
+ 'title' => '获取已添加的域名配置信息',
+ 'summary' => '查询已添加到WAF防护的域名的配置信息。',
'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeDomainAdvanceConfigs' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2023-08-22T06:08:27.000Z', 'description' => '响应参数发生变更'],
+ ['createdAt' => '2023-05-23T05:46:04.000Z', 'description' => '响应参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomain'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeDomainAdvanceConfigs' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-2r427ng****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-2r427ng****'],
],
[
'name' => 'DomainList',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询配置详情的域名。支持同时设置多个域名,多个域名间使用半角逗号(,)分隔。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => '要查询配置详情的域名。支持同时设置多个域名,多个域名间使用半角逗号(,)分隔。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '网站域名在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => '网站域名在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3033,22 +1825,14 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
'DomainConfigs' => [
'description' => '域名的详细配置信息。',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Domain' => [
- 'description' => '域名。',
- 'type' => 'string',
- 'example' => 'www.aliyundoc.com',
- ],
+ 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.aliyundoc.com'],
'Profile' => [
'description' => '域名配置。',
'type' => 'object',
@@ -3056,120 +1840,63 @@
'Http2Port' => [
'description' => 'HTTP 2.0端口列表。',
'type' => 'array',
- 'items' => [
- 'description' => 'HTTP 2.0端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '443',
- ],
- ],
- 'Ipv6Status' => [
- 'description' => '是否开启IPv6安全防护。取值:'."\n"
- ."\n"
- .'- **0**:表示关闭。'."\n"
- ."\n"
- .'- **1**:表示开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
+ 'items' => ['description' => 'HTTP 2.0端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'],
],
+ 'Ipv6Status' => ['description' => '是否开启IPv6安全防护。取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭。'."\n"
+ ."\n"
+ .'- **1**:表示开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'HttpPort' => [
'description' => 'HTTP端口列表。',
'type' => 'array',
- 'items' => [
- 'description' => 'HTTP端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '80',
- ],
- ],
- 'GSLBStatus' => [
- 'description' => '是否启用智能负载均衡。取值:'."\n"
- ."\n"
- .'- **off**:表示否。'."\n"
- ."\n"
- .'- **on**:表示是。',
- 'type' => 'string',
- 'example' => 'on',
+ 'items' => ['description' => 'HTTP端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '80'],
],
+ 'GSLBStatus' => ['description' => '是否启用智能负载均衡。取值:'."\n"
+ ."\n"
+ .'- **off**:表示否。'."\n"
+ ."\n"
+ .'- **on**:表示是。', 'type' => 'string', 'example' => 'on'],
'Rs' => [
'description' => '源站服务器地址列表。',
'type' => 'array',
- 'items' => [
- 'description' => '源站服务器地址。',
- 'type' => 'string',
- 'example' => '38.XX.XX.42',
- ],
+ 'items' => ['description' => '源站服务器地址。', 'type' => 'string', 'example' => '38.XX.XX.42'],
'example' => '["39.XX.XX.197"]',
],
- 'VipServiceStatus' => [
- 'description' => '当前使用的WAF实例IP(或WAF虚拟集群IP)的服务状态。取值:'."\n"
- ."\n"
- .'- **0**:表示正常。'."\n"
- ."\n"
- .'- **1**:表示正在进行流量清洗。'."\n"
- ."\n"
- .'- **2**:表示处于黑洞状态。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'ClusterType' => [
- 'description' => 'WAF实例的集群类别。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示物理集群。'."\n"
- .'- **1**:表示虚拟集群,即WAF独享集群。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'ExclusiveVipStatus' => [
- 'description' => '是否使用独享IP。取值:'."\n"
- ."\n"
- .'- **0**:表示否。'."\n"
- ."\n"
- .'- **1**:表示是。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'Cname' => [
- 'description' => 'WAF实例为该域名配置分配的CNAME地址。',
- 'type' => 'string',
- 'example' => '****dsbpkt75zeiok5mta2j5l7hggcrm.****.com',
- ],
- 'CertStatus' => [
- 'description' => '证书状态(即HTTPS协议状态)。取值:'."\n"
- ."\n"
- .'- **0**:表示异常,例如,未上传证书、上传的证书无效。'."\n"
- ."\n"
- .'- **1**:表示正常,已上传证书且证书有效。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
+ 'VipServiceStatus' => ['description' => '当前使用的WAF实例IP(或WAF虚拟集群IP)的服务状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示正常。'."\n"
+ ."\n"
+ .'- **1**:表示正在进行流量清洗。'."\n"
+ ."\n"
+ .'- **2**:表示处于黑洞状态。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'ClusterType' => ['description' => 'WAF实例的集群类别。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示物理集群。'."\n"
+ .'- **1**:表示虚拟集群,即WAF独享集群。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'ExclusiveVipStatus' => ['description' => '是否使用独享IP。取值:'."\n"
+ ."\n"
+ .'- **0**:表示否。'."\n"
+ ."\n"
+ .'- **1**:表示是。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'Cname' => ['description' => 'WAF实例为该域名配置分配的CNAME地址。', 'type' => 'string', 'example' => '****dsbpkt75zeiok5mta2j5l7hggcrm.****.com'],
+ 'CertStatus' => ['description' => '证书状态(即HTTPS协议状态)。取值:'."\n"
+ ."\n"
+ .'- **0**:表示异常,例如,未上传证书、上传的证书无效。'."\n"
+ ."\n"
+ .'- **1**:表示正常,已上传证书且证书有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
'HttpsPort' => [
'description' => 'HTTPS端口列表。',
'type' => 'array',
- 'items' => [
- 'description' => 'HTTPS端口。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '443',
- ],
- ],
- 'ResolvedType' => [
- 'description' => 'CNAME解析记录类型。取值:'."\n"
- ."\n"
- .'- **-1**:表示指向源站服务器。'."\n"
- ."\n"
- .'- **0**:表示指向WAF实例IP。'."\n"
- ."\n"
- .'- **1**:表示指向WAF虚拟集群IP。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
+ 'items' => ['description' => 'HTTPS端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'],
],
+ 'ResolvedType' => ['description' => 'CNAME解析记录类型。取值:'."\n"
+ ."\n"
+ .'- **-1**:表示指向源站服务器。'."\n"
+ ."\n"
+ .'- **0**:表示指向WAF实例IP。'."\n"
+ ."\n"
+ .'- **1**:表示指向WAF虚拟集群IP。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
],
],
],
@@ -3188,99 +1915,237 @@
.'调用API的请求格式,请参见本文**示例**中的请求示例。'."\n",
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeDomainList' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2021-10-18T07:56:27.000Z', 'description' => '响应参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainAdvanceConfigs'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainAdvanceConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeDomainBasicConfigs' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-tl32ast****'],
+ ],
+ [
+ 'name' => 'DomainKey',
+ 'in' => 'query',
+ 'schema' => ['description' => '设置域名关键字,查询包含指定关键字的域名配置。'."\n"
+ ."\n"
+ .'不设置该参数表示查询所有域名配置。', 'type' => 'string', 'required' => false, 'example' => 'aliyundoc'],
+ ],
+ [
+ 'name' => 'AccessType',
+ 'in' => 'query',
+ 'schema' => ['description' => '设置域名接入模式,查询使用指定方式接入WAF防护的域名配置。取值:'."\n"
+ ."\n"
+ .'- **waf-cloud-dns**:表示CNAME接入。'."\n"
+ .'- **waf-cloud-native**:表示透明接入。'."\n"
+ ."\n"
+ .'不设置该参数表示查询所有域名配置。', 'type' => 'string', 'required' => false, 'example' => 'waf-cloud-dns'],
+ ],
+ [
+ 'name' => 'CloudNativeProductId',
+ 'in' => 'query',
+ 'schema' => ['description' => '设置源站类型,查询在透明接入方式下通过指定源站类型接入WAF防护的域名配置。取值:'."\n"
+ .'- **0**:表示云服务器ECS实例。'."\n"
+ .'- **1**:表示传统型负载均衡CLB实例。'."\n"
+ .'- **2**:表示应用型负载均衡ALB实例。'."\n"
+ ."\n"
+ .'不设置该参数表示查询所有域名配置。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,设置当前页面的页码。默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,设置每页包含域名配置的数量。默认值为**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ ],
+ [
'name' => 'ResourceGroupId',
'in' => 'query',
+ 'schema' => ['description' => '网站域名在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => ['description' => '查询到的域名配置的总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ 'DomainConfigs' => [
+ 'description' => '域名配置详情列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => ['description' => '域名配置的状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示无效(已删除)。'."\n"
+ .'- **1**:表示有效(创建成功)。'."\n"
+ .'- **10**:表示创建中。'."\n"
+ .'- **11**:表示创建失败。'."\n"
+ .'- **20**:表示删除中。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'Domain' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.aliyundoc.com'],
+ 'Owner' => ['description' => '域名配置的来源。取值固定为**WAF**,表示通过Web应用防火墙服务添加。', 'type' => 'string', 'example' => 'WAF'],
+ 'CcMode' => ['description' => 'CC安全防护功能的模式。取值:'."\n"
+ ."\n"
+ .'- **0**:表示**防护**模式。'."\n"
+ .'- **1**:表示**防护-紧急**模式。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'CcStatus' => ['description' => 'CC安全防护功能的状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**:表示开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'AccessType' => ['description' => '域名接入模式。取值:'."\n"
+ ."\n"
+ .'- **waf-cloud-dns**:表示CNAME接入。'."\n"
+ .'- **waf-cloud-native**:表示透明接入。', 'type' => 'string', 'example' => 'waf-cloud-dns'],
+ 'Version' => ['description' => '当前配置的版本号。', 'type' => 'integer', 'format' => 'int64', 'example' => '0'],
+ 'AclStatus' => ['description' => '自定义防护策略功能的状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**:表示开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'WafStatus' => ['description' => '规则防护引擎功能的状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**:表示开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'WafMode' => ['description' => '规则防护引擎功能的模式。取值:'."\n"
+ ."\n"
+ .'- **0**:表示**拦截**模式。'."\n"
+ .'- **1**:表示**告警**模式。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ ],
+ ],
+ ],
+ ],
],
],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"DomainConfigs\\": [\\n {\\n \\"Status\\": 1,\\n \\"Domain\\": \\"www.aliyundoc.com\\",\\n \\"Owner\\": \\"WAF\\",\\n \\"CcMode\\": 0,\\n \\"CcStatus\\": 1,\\n \\"AccessType\\": \\"waf-cloud-dns\\",\\n \\"Version\\": 0,\\n \\"AclStatus\\": 1,\\n \\"WafStatus\\": 1,\\n \\"WafMode\\": 0\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainBasicConfigsResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n <DomainConfigs>\\n <Status>1</Status>\\n <Domain>www.aliyundoc.com</Domain>\\n <Owner>WAF</Owner>\\n <CcMode>0</CcMode>\\n <CcStatus>1</CcStatus>\\n <Version>0</Version>\\n <AclStatus>1</AclStatus>\\n <WafStatus>1</WafStatus>\\n <WafMode>0</WafMode>\\n </DomainConfigs>\\n</DescribeDomainBasicConfigsResponse>","errorExample":""}]',
+ 'title' => '获取域名配置记录的防护设置状态',
+ 'summary' => '调用DescribeDomainBasicConfigs查询已接入WAF防护的网站域名的基本配置。',
+ 'description' => '本接口用于分页查询已接入WAF防护的网站域名的基本配置(以下简称域名配置),例如,域名配置的状态、默认防护模块(包括规则防护引擎、CC安全防护、自定义防护策略)的状态和模式等。请注意,为确保系统稳定性,对单用户QPS限制为50次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBasicConfigs'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainBasicConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeDomainList' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
+ ],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~),查看当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-7pp26f1****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~),查看当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-7pp26f1****'],
],
[
'name' => 'DomainName',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的域名名称。'."\n"
- ."\n"
- .'您可以设置该参数,前缀匹配某个域名是否已接入WAF防护。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'example.com',
- ],
+ 'schema' => ['description' => '要查询的域名名称。'."\n"
+ ."\n"
+ .'您可以设置该参数,前缀匹配某个域名是否已接入WAF防护。', 'type' => 'string', 'required' => false, 'example' => 'example.com'],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,返回第几页数据。默认值为**1**,表示返回第1页数据。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
- ],
+ 'schema' => ['description' => '分页查询时,返回第几页数据。默认值为**1**,表示返回第1页数据。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'],
],
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,每页包含多少条结果。默认值为**10**,表示每页包含10条结果。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
- ],
+ 'schema' => ['description' => '分页查询时,每页包含多少条结果。默认值为**10**,表示每页包含10条结果。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10'],
],
[
'name' => 'IsSub',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的域名类型。取值:'."\n"
- ."\n"
- .'- **0**(默认):表示查询所有域名(包含具体域名和泛域名)。'."\n"
- .'- **1**:表示仅查询具体域名。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- 'default' => '0',
- ],
+ 'schema' => ['description' => '要查询的域名类型。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示查询所有域名(包含具体域名和泛域名)。'."\n"
+ .'- **1**:表示仅查询具体域名。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
],
[
'name' => 'DomainNames',
@@ -3291,12 +2156,7 @@
."\n"
.'您可以设置该参数,模糊查询多个域名是否已接入WAF防护。',
'type' => 'array',
- 'items' => [
- 'description' => '要查询的域名。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'example.com '."\n",
- ],
+ 'items' => ['description' => '要查询的域名。', 'type' => 'string', 'required' => false, 'example' => 'example.com '."\n"],
'required' => false,
'example' => 'example.com',
'maxItems' => 100,
@@ -3305,17 +2165,11 @@
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3323,25 +2177,12 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => '查询到的域名的数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => '592E866F-6C05-4E7C-81DE-B4D8E86B91EF',
- ],
+ 'TotalCount' => ['description' => '查询到的域名的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => '592E866F-6C05-4E7C-81DE-B4D8E86B91EF'],
'DomainNames' => [
'description' => '查询到的域名列表。',
'type' => 'array',
- 'items' => [
- 'description' => '域名。',
- 'type' => 'string',
- 'example' => 'www.example.com',
- ],
+ 'items' => ['description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'],
],
],
],
@@ -3357,82 +2198,134 @@
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeProtectionModuleMode' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainList'],
+ ],
],
+ 'ramActions' => [],
+ ],
+ 'DescribeDomainNames' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'list'],
'parameters' => [
[
- 'name' => 'Domain',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的网站域名。'."\n"
- .'> 网站域名必须已经接入WAF防护。您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的网站域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
- 'name' => 'DefenseType',
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '域名在资源管理产品中所属的资源组ID。默认为空,即属于默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
+ ],
+ [
+ 'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '要查询其模式的防护模块。取值:'."\n"
- ."\n"
- .'- **waf**:表示规则防护引擎。'."\n"
- .'- **dld**:表示深度学习引擎。'."\n"
- .'- **ac_cc**:表示CC安全防护。'."\n"
- .'- **antifraud**:表示数据风控。'."\n"
- .'- **normalized**:表示主动防御。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ 'DomainNames' => [
+ 'description' => '已添加的域名列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '域名。', 'type' => 'string', 'example' => '1.example.com'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"DomainNames\\": [\\n \\"1.example.com\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeDomainNamesResponse>\\n\\t<DomainNames>1.example.com</DomainNames>\\n\\t<DomainNames>2.example.com</DomainNames>\\n\\t<DomainNames>3.example.com</DomainNames>\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</DescribeDomainNamesResponse>","errorExample":""}]',
+ 'title' => '获取指定实例中已添加的域名名称列表',
+ 'summary' => '获取指定WAF实例中已添加的域名名称列表。',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainNames'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainNames',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ 'DescribeDomainRuleGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => '要查询的域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
+ ],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-tl32ast****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-tl32ast****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '网站域名在资源管理服务中所属的资源组ID。不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2oij****hbfi'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3440,138 +2333,247 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'DE14845A-F46F-59BE-B8F7-6ED7A787D213',
- ],
- 'Mode' => [
- 'description' => '防护模块当前使用的防护模式。根据请求参数**DefenseType**不同,该参数的取值和含义不同,具体说明如下:'."\n"
- ."\n"
- .'- **DefenseType**为**waf**(表示查询规则防护引擎),**Mode**取值:'."\n"
- ."\n"
- .' - **0**:表示拦截模式。'."\n"
- .' - **1**:表示告警模式。'."\n"
- ."\n"
- .'- **DefenseType**为**dld**(表示查询深度学习引擎),**Mode**取值:'."\n"
- ."\n"
- .' - **0**:表示告警模式。'."\n"
- .' - **1**:表示拦截模式。'."\n"
- ."\n"
- .'- **DefenseType**为**ac_cc**(表示查询CC安全防护模块),**Mode**取值:'."\n"
- ."\n"
- .' - **0**:表示防护模式。'."\n"
- .' - **1**:表示防护-紧急模式。'."\n"
- ."\n"
- .'- **DefenseType**为**antifraud**(表示查询数据风控模块),**Mode**取值:'."\n"
- ."\n"
- .' - **0**:表示告警模式。'."\n"
- .' - **1**:表示拦截模式。'."\n"
- .' - **2**:表示强拦截模式。'."\n"
- ."\n"
- .'- **DefenseType**为**normalized**(表示查询主动防御模块),**Mode**取值:'."\n"
- ."\n"
- .' - **0**:表示告警模式。'."\n"
- .' - **1**:表示拦截模式。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
+ 'RuleGroupId' => ['description' => '域名绑定的防护规则组的ID。取值:'."\n"
+ ."\n"
+ .'- **1011**:表示WAF内置的严格规则组。'."\n"
+ .'- **1012**:表示WAF内置的中等规则组。'."\n"
+ .'- **1013**:表示WAF内置的宽松规则组。'."\n"
+ ."\n"
+ .'其他取值表示您自定义的规则组的ID。'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1012'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ 'WafAiStatus' => ['description' => '智能规则托管功能的启用状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**:表示开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE14845A-F46F-59BE-B8F7-6ED7A787D213\\",\\n \\"Mode\\": 0\\n}","errorExample":""},{"type":"xml","example":"<DescribeProtectionModuleModeResponse>\\n <LearnStatus>3</LearnStatus>\\n <RequestId>DE14845A-F46F-59BE-B8F7-6ED7A787D213</RequestId>\\n <Mode>0</Mode>\\n</DescribeProtectionModuleModeResponse>","errorExample":""}]',
- 'title' => '获取域名当前的防护模式',
- 'summary' => '获取指定域名配置当前的防护模式,如正则防护引擎、大数据深度学习引擎、CC安全防护、数据风控、主动防御。',
- 'description' => '本接口用于查询网站防护配置中,指定防护模块(包括规则防护引擎、深度学习引擎、CC安全防护、数据风控、主动防御)当前使用的防护模式。'."\n"
- .'您可以通过设置**DefenseType**参数值指定要查询的防护模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。'."\n"
- .'调用接口前,您必须已经调用[CreateDomain](~~160780~~)创建了网站接入配置,将网站域名接入WAF防护。'."\n"
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RuleGroupId\\": 1012,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"WafAiStatus\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainRuleGroupResponse>\\n <RuleGroupId>1012</RuleGroupId>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n <WafAiStatus>1</WafAiStatus>\\n</DescribeDomainRuleGroupResponse>","errorExample":""}]',
+ 'title' => 'DescribeDomainRuleGroup',
+ 'summary' => '调用DescribeDomainRuleGroup查询域名绑定的防护规则组的ID及智能规则托管功能的启用状态。',
+ 'description' => '本接口用于查询规则防护引擎下,指定域名绑定的防护规则组的ID及智能规则托管功能的启用状态。'."\n"
.'请注意,为了确保系统的文档性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyDomainIpv6Status' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2022-01-18T08:24:59.000Z', 'description' => '响应参数发生变更、错误码发生变更'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRuleGroup'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainRuleGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeInstanceInfo' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'deprecated' => false,
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-mp9153****',
- ],
+ 'schema' => ['description' => '要查询的WAF实例的ID。'."\n"
+ ."\n"
+ .'不设置该参数表示查询中国内地地域或非中国内地地域的所有WAF实例信息。', 'type' => 'string', 'required' => false, 'example' => 'waf-cn-tl32ast****'],
],
[
- 'name' => 'Domain',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '已添加的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
- 'name' => 'Enabled',
+ 'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '是否启用IPv6安全防护,取值:'."\n"
- ."\n"
- .'- **0**:关闭'."\n"
- ."\n"
- .'- **1**:开启',
- 'type' => 'string',
- 'required' => true,
- 'example' => '0',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ 'InstanceInfo' => [
+ 'description' => 'WAF实例的详情。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => ['description' => 'WAF实例是否过期。取值:'."\n"
+ .'- **0**:表示已过期。'."\n"
+ .'- **1**:表示未过期。'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'EndDate' => ['description' => 'WAF实例的到期时间。使用时间戳表示,单位:秒。'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1512921600'],
+ 'Version' => ['description' => 'WAF实例的版本。取值:'."\n"
+ ."\n"
+ .'<props="china">- **version_3**:表示中国内地高级版。</props>'."\n"
+ .'<props="china">- **version_4**:表示中国内地企业版。</props>'."\n"
+ .'<props="china">- **version_5**:表示中国内地旗舰版。</props>'."\n"
+ .'<props="china">- **version_exclusive_cluster**:表示中国内地虚拟独享集群版。</props>'."\n"
+ .'<props="china">- **version_hybrid_cloud_standard**:表示中国内地混合云WAF版。</props>'."\n"
+ .'<props="china">- **version_pro_asia**:表示非中国内地高级版。</props>'."\n"
+ .'<props="china">- **version_business_asia**:表示非中国内地企业版。</props>'."\n"
+ .'<props="china">- **version_enterprise_asia**:表示非中国内地旗舰版。</props>'."\n"
+ .'<props="china">- **version_exclusive_cluster_asia**:表示非中国内地虚拟独享集群版。</props>'."\n"
+ .'<props="china">- **version_hybrid_cloud_standard_asia**:表示非中国内地混合云WAF版。</props>'."\n"
+ .'<props="china">- **version_elastic_bill**:表示按量计费版。</props>'."\n"
+ .'<props="china">- **version_elastic_bill_new**:表示按量计费2.0版。</props>'."\n"
+ ."\n"
+ .'<props="china">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云中国站云账号。</props> '."\n"
+ ."\n"
+ .'<props="intl">- **version_pro_china**:表示中国内地高级版。</props>'."\n"
+ .'<props="intl">- **version_business_china**:表示中国内地企业版。</props>'."\n"
+ .'<props="intl">- **version_enterprise_china**:表示中国内地旗舰版。</props>'."\n"
+ .'<props="intl">- **version_exclusive_china**:表示中国内地虚拟独享集群版。</props>'."\n"
+ .'<props="intl">- **version_hybrid_cloud_standard_china**:表示中国内地混合云WAF版。</props>'."\n"
+ .'<props="intl">- **version_pro**:表示非中国内地高级版。</props>'."\n"
+ .'<props="intl">- **version_business**:表示非中国内地企业版。</props>'."\n"
+ .'<props="intl">- **version_enterprise**:表示非中国内地旗舰版。</props>'."\n"
+ .'<props="intl">- **version_exclusive**:表示非中国内地虚拟独享集群版。</props>'."\n"
+ .'<props="intl">- **version_hybrid_cloud_standard**:表示非中国内地混合云WAF版。</props>'."\n"
+ ."\n"
+ .'<props="intl">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云国际站云账号。</props>'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。'."\n", 'type' => 'string', 'example' => 'version_3'],
+ 'RemainDay' => ['description' => '试用版WAF实例的剩余可用天数。'."\n"
+ ."\n"
+ .'> 只有当**Trial**为**1**(表示已开通试用版WAF实例)时,才返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'Region' => ['description' => 'WAF实例的地域。取值:'."\n"
+ ."\n"
+ .'- **cn**:表示中国内地。'."\n"
+ .'- **cn-hongkong**:表示非中国内地。'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。', 'type' => 'string', 'example' => 'cn'],
+ 'PayType' => ['description' => 'WAF实例的开通状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示当前阿里云账号未开通WAF实例。'."\n"
+ .'- **1**:表示当前阿里云账号已开通WAF包年包月实例。'."\n"
+ .'<props="china">- **2**:表示当前阿里云账号已开通WAF按量计费实例。</props>', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'InDebt' => ['description' => 'WAF实例是否存在欠费。取值:'."\n"
+ ."\n"
+ .'- **0**:表示已欠费。'."\n"
+ .'- **1**:表示未欠费。'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'InstanceId' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。', 'type' => 'string', 'example' => 'waf-cn-tl32ast****'],
+ 'SubscriptionType' => ['description' => '<props="china">WAF实例的计费方式。取值:</props>'."\n"
+ .'<props="china">- **Subscription**:表示包年包月。</props>'."\n"
+ .'<props="china">- **PayAsYouGo**:表示按量计费。</props>'."\n"
+ ."\n"
+ .'<props="intl">WAF实例的计费方式。取值固定为**Subscription**,表示包年包月。</props>'."\n"
+ ."\n"
+ .'> **PayType**为**0**(表示未开通WAF实例)时,不返回该参数。', 'type' => 'string', 'example' => 'Subscription'],
+ 'Trial' => ['description' => '当前阿里云账号是否开通了试用版WAF实例。取值:'."\n"
+ ."\n"
+ .'- **0**:表示否。'."\n"
+ .'- **1**:表示是。'."\n"
+ ."\n"
+ .'> 只有当前阿里云账号已开通试用版WAF实例时,才会返回该参数。 ', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ ],
+ ],
+ ],
],
],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"InstanceInfo\\": {\\n \\"Status\\": 1,\\n \\"EndDate\\": 1512921600,\\n \\"Version\\": \\"version_3\\",\\n \\"RemainDay\\": 1,\\n \\"Region\\": \\"cn\\",\\n \\"PayType\\": 1,\\n \\"InDebt\\": 1,\\n \\"InstanceId\\": \\"waf-cn-tl32ast****\\",\\n \\"SubscriptionType\\": \\"Subscription\\",\\n \\"Trial\\": 1\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceInfoResponse>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n <InstanceInfo>\\n <Status>1</Status>\\n <EndDate>1512921600</EndDate>\\n <Version>version_3</Version>\\n <Region>cn</Region>\\n <PayType>1</PayType>\\n <InDebt>1</InDebt>\\n <InstanceId>waf-cn-tl32ast****</InstanceId>\\n <SubscriptionType>Subscription</SubscriptionType>\\n </InstanceInfo>\\n</DescribeInstanceInfoResponse>","errorExample":""}]',
+ 'title' => '获取WAF实例的当前信息',
+ 'summary' => '查询当前阿里云账号下WAF实例的详情。',
+ 'description' => '本接口用于查询当前阿里云账号下WAF实例的详情,例如,实例的ID、版本、状态、到期时间等。请注意,为了确保系统稳定性,对单用户QPS限制为50次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceInfo'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeInstanceInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeInstanceSpecInfo' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '要查询的WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => false, 'example' => 'waf-cn-st2225l****'],
+ ],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
+ 'schema' => ['description' => "\n"
+ .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3579,122 +2581,268 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'E906513E-F6B5-495E-98DC-7BA8****1D76'],
+ 'InstanceId' => ['description' => 'WAF实例ID。', 'type' => 'string', 'example' => 'waf-cn-st2225l****'],
+ 'ExpireTime' => ['description' => 'WAF实例的到期时间。格式为毫秒级时间戳。'."\n"
+ ."\n"
+ .'> 对于按量计费实例,返回的值表示试用版的到期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1677168000000'],
+ 'Version' => ['description' => 'WAF实例的版本。取值:'."\n"
+ ."\n"
+ .'<props="china">'."\n"
+ ."\n"
+ .'- **version_3**:表示中国内地高级版。'."\n"
+ ."\n"
+ .'- **version_4**:表示中国内地企业版。'."\n"
+ ."\n"
+ .'- **version_5**:表示中国内地旗舰版。'."\n"
+ ."\n"
+ .'- **version_exclusive_cluster**:表示中国内地虚拟独享集群版。'."\n"
+ ."\n"
+ .'- **version_hybrid_clou_standard**:表示中国内地混合云WAF版。'."\n"
+ ."\n"
+ .'- **version_pro_asia**:表示海外地区高级版。'."\n"
+ ."\n"
+ .'- **version_business_asia**:表示海外地区企业版。'."\n"
+ ."\n"
+ .'- **version_enterprise_asia**:表示海外地区旗舰版。'."\n"
+ ."\n"
+ .'- **version_exclusive_cluster_asia**:表示海外地区虚拟独享集群版。'."\n"
+ ."\n"
+ .'- **version_hybrid_cloud_standard_asia**:表示海外地区混合云WAF版。'."\n"
+ ."\n"
+ .'- **version_elastic_bill**:表示按量计费版。'."\n"
+ ."\n"
+ .'- **version_elastic_bill_new**:表示按量计费2.0版。'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="intl">'."\n"
+ ."\n"
+ .'- **version_pro_china**:表示中国内地高级版。'."\n"
+ ."\n"
+ .'- **version_business_china**:表示中国内地企业版。'."\n"
+ ."\n"
+ .'- **version_enterprise_china**:表示中国内地旗舰版。'."\n"
+ ."\n"
+ .'- **version_exclusive_china**:表示中国内地虚拟独享集群版。'."\n"
+ ."\n"
+ .'- **version_hybrid_cloud_standard_china**:表示中国内地混合云WAF版。'."\n"
+ ."\n"
+ .'- **version_pro**:表示海外地区高级版。'."\n"
+ ."\n"
+ .'- **version_business**:表示海外地区企业版。'."\n"
+ ."\n"
+ .'- **version_enterprise**:表示海外地区旗舰版。'."\n"
+ ."\n"
+ .'- **version_exclusive**:表示海外地区虚拟独享集群版。'."\n"
+ ."\n"
+ .'- **version_hybrid_cloud_standard**:表示海外地区混合云WAF版。'."\n"
+ ."\n"
+ .'</props>'."\n"
+ ."\n"
+ .'<props="china">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云中国站账号。</props>'."\n"
+ ."\n"
+ .'<props="intl">如果返回的version参数值不在上述列表中,请确认您使用的是阿里云国际站账号。</props>'."\n", 'type' => 'string', 'example' => 'version_3'],
+ 'InstanceSpecInfos' => [
+ 'description' => 'WAF实例的规格信息,以**Code**与**Value**的数组形式返回实例的各项规格信息。其中,**Code**表示规格代码,**Value**表示对应的规格值。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => ['description' => 'WAF实例规格的代码。取值:'."\n"
+ ."\n"
+ .'- **100**:表示是否支持HTTPS业务防护。'."\n"
+ .'- **101**:表示日常业务流量阈值。'."\n"
+ .'- **102**:表示CC攻击防护阈值。'."\n"
+ .'- **103**:表示支持接入防护的域名总数。'."\n"
+ .'- **104**:表示是否支持泛域名。'."\n"
+ .'- **105**:表示支持配置的自定义防护策略(ACL访问控制)规则的数量。'."\n"
+ .'- **106**:表示域名回源IP的数量。'."\n"
+ .'- **107**:表示是否支持云外房机。'."\n"
+ .'- **108**:表示是否支持自定义高级Web访问控制功能。'."\n"
+ .'- **109**:表示是否支持非标准端口。'."\n"
+ .'- **110**:表示是否支持扫描防护功能。'."\n"
+ .'- **111**:表示是否支持数据风控。'."\n"
+ .'- **112**:表示支持配置的数据风控记录数。'."\n"
+ .'- **113**:表示支持接入防护的主域名数(一级域名)。'."\n"
+ .'- **114**:表示正常业务带宽阈值。'."\n"
+ .'- **115**:表示绑定的域名包的数量。'."\n"
+ .'- **116**:表示是否支持添加不同阿里云账号下的ECS IP作为源站服务器IP。'."\n"
+ .'- **117**:表示是否支持添加虚拟主机IP作为源站服务器IP。'."\n"
+ .'- **118**:表示支持配置的数据风控规则场景的数量。'."\n"
+ .'- **119**:表示是否支持语义分析引擎功能。'."\n"
+ .'- **12**:表示是否支持业务流量分析功能。'."\n"
+ .'- **120**:表示接入域名是否需要判断备案。'."\n"
+ .'- **121**:表示是否支持配置自定义防护策略(CC攻击防护)规则。'."\n"
+ .'- **122**:表示支持配置的自定义防护策略(CC攻击防护)规则的数量。'."\n"
+ .'- **123**:表示是否支持地域级IP黑名单功能。'."\n"
+ .'- **124**:表示是否支持网站防篡改功能。'."\n"
+ .'- **125**:表示支持配置的自定义防篡改防护规则的数量。'."\n"
+ .'- **126**:表示是否支持收集日志功能。'."\n"
+ .'- **127**:表示支持添加的非标端口数。'."\n"
+ .'- **128**:表示支持添加的HTTP协议端口。'."\n"
+ .'- **129**:表示支持添加的HTTPS协议端口。'."\n"
+ .'- **13**:表示是否支持切换CC安全防护的模式。'."\n"
+ .'- **130**:表示是否支持黑客画像功能。'."\n"
+ .'- **131**:表示是否支持防敏感信息泄露功能。'."\n"
+ .'- **132**:表示支持配置的防敏感信息泄露规则的数量。'."\n"
+ .'- **133**:表示自定义防护策略及白名单策略中支持使用的条件字段。'."\n"
+ .'- **134**:表示绑定的独享IP的数量。'."\n"
+ .'- **135**:表示是否支持数据大屏功能。'."\n"
+ .'- **136**:表示支持的数据大屏数量。'."\n"
+ .'- **137**:表示是否支持深度学习引擎功能。'."\n"
+ .'- **138**:表示是否支持全量日志功能。'."\n"
+ .'- **139**:表示全量日志的存储时长。'."\n"
+ .'- **14**:表示是否支持查看CC攻击日志详情。'."\n"
+ .'- **140**:表示全量日志的最大存储容量。'."\n"
+ .'- **141**:表示是否支持告警设置功能。'."\n"
+ .'- **142**:表示全量日志的存储空间可清空次数。'."\n"
+ .'- **143**:表示是否支持自定义防护规则组功能。'."\n"
+ .'- **144**:表示支持配置的自定义规则组的数量。'."\n"
+ .'- **145**:表示是否支持使用防护模块通用网关代理。'."\n"
+ .'- **146**:表示是否支持使用防护模块通用规则代理。'."\n"
+ .'- **147**:表示是否支持安全专家服务平台。'."\n"
+ .'- **148**:表示是否支持试用。'."\n"
+ .'- **149**:表示是否支持使用透明代理模式。'."\n"
+ .'- **150**:表示是否支持IPv6。'."\n"
+ .'- **151**:表示是否支持主动防御功能。'."\n"
+ .'- **152**:表示支持配置的主动防护规则的数量。'."\n"
+ .'- **153**:表示是否支持HTTP 2.0业务防护。'."\n"
+ .'- **154**:表示是否支持域名配置功能。'."\n"
+ .'- **155**:表示是否支持资产识别功能。'."\n"
+ .'- **156**:表示是否具有预发测试规格。'."\n"
+ .'- **157**:表示是否支持使用虚拟独立集群。'."\n"
+ .'- **158**:表示虚拟独立集群支持的端口数量。'."\n"
+ .'- **159**:表示是否支持账号安全功能。'."\n"
+ .'- **160**:表示账号安全防护的接口数量。'."\n"
+ .'- **162**:表示支持添加的白名单规则的数量。'."\n"
+ .'- **163**:表示自定义防护规则的数量。'."\n"
+ .'- **164**:表示IP黑名单规则的数量。'."\n"
+ .'- **167**:表示是否支持自定义扫描防护配置。'."\n"
+ .'- **168**:表示全局负载均衡(GSLB)防护域名的数量。'."\n"
+ .'- **169**:表示是否支持智能负载均衡。'."\n"
+ .'- **171**:表示是否支持App防护功能。'."\n"
+ .'- **172**:表示App防护的规则数量。'."\n"
+ .'- **173**:表示是否支持典型爬虫行为识别功能。'."\n"
+ .'- **176**:表示是否支持合法爬虫功能。'."\n"
+ .'- **177**:表示是否支持爬虫威胁情报功能。'."\n"
+ .'- **181**:表示透明接入支持添加的引流配置(对应一个具体的实例IP+端口)的数量。'."\n"
+ .'- **190**:表示是否支持CC防护能力。'."\n"
+ .'- **191**:表示是否支持账户安全防御能力。'."\n"
+ .'- **192**:表示是否支持扫描防护能力。'."\n"
+ .'- **193**:表示是否支持自定义TLS安全策略。'."\n"
+ .'- **194**:表示是否支持自定义TLS安全策略的高级设置。'."\n"
+ .'- **196**:表示透明接入是否支持接入任意接口。'."\n"
+ .'- **199**:表示是否支持IPv6回源。'."\n"
+ .'- **200**:表示是否支持防爬场景化配置。'."\n"
+ .'- **201**:表示防爬场景化配置的数量。', 'type' => 'string', 'example' => '103'],
+ 'Value' => ['description' => 'WAF实例规格代码对应的值。取值可以为**true**(表示是)或**false**(表示否);也可以为具体的数值。'."\n"
+ ."\n"
+ .'> 例如,如果**Code**取值为**103**,则**Value**取值为**640**;如果**Code**取值为**104**,则**Value**取值为**true**。'."\n", 'type' => 'string', 'example' => '640'],
+ ],
+ ],
],
],
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyDomainIpv6StatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyDomainIpv6StatusResponse>","errorExample":""}]',
- 'title' => '开启或关闭域名配置的IPv6安全防护功能',
- 'summary' => '开启或关闭指定域名配置的IPv6安全防护功能。',
- 'requestParamsDescription' => ' ',
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E906513E-F6B5-495E-98DC-7BA8****1D76\\",\\n \\"InstanceId\\": \\"waf-cn-st2225l****\\",\\n \\"ExpireTime\\": 1677168000000,\\n \\"Version\\": \\"version_3\\",\\n \\"InstanceSpecInfos\\": [\\n {\\n \\"Code\\": \\"103\\",\\n \\"Value\\": \\"640\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceSpecInfoResponse>\\n <RequestId>E906513E-F6B5-495E-98DC-7BA888671D76</RequestId>\\n <InstanceId>waf-cn-st2225l****</InstanceId>\\n <ExpireTime>1677168000000</ExpireTime>\\n <Version>version_3或version_pro_china</Version>\\n <InstanceSpecInfos>\\n <Code>103</Code>\\n <Value>640</Value>\\n </InstanceSpecInfos>\\n</DescribeInstanceSpecInfoResponse>","errorExample":""}]',
+ 'title' => '获取WAF实例的规格信息',
+ 'summary' => '查询WAF实例的规格信息。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeProtectionModuleStatus' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeInstanceSpecInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeLogServiceStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'Domain',
+ 'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的网站域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用DescribeInstanceInfo查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-zz11sr5****'],
],
[
- 'name' => 'DefenseType',
+ 'name' => 'Region',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的WAF防护功能模块。取值:'."\n"
- ."\n"
- .'- **waf**:表示规则防护引擎。'."\n"
- .'- **dld**:表示深度学习引擎。'."\n"
- .'- **tamperproof**:表示网站防篡改。'."\n"
- .'- **dlp**:表示防敏感信息泄漏。'."\n"
- .'- **normalized**:表示主动防御。'."\n"
- .'- **bot_crawler**:表示合法爬虫。'."\n"
- .'- **bot_intelligence**:表示爬虫威胁情报。'."\n"
- .'- **antifraud**:表示数据风控。'."\n"
- .'- **bot_algorithm**:表示智能算法。'."\n"
- .'- **bot_wxbb**:表示App防护。'."\n"
- .'- **bot_wxbb_pkg**:表示App防护中的版本防护。'."\n"
- .'- **ac_cc**:表示CC安全防护。'."\n"
- .'- **ac_blacklist**:表示IP黑名单。'."\n"
- .'- **ac_highfreq**:表示扫描防护中的高频Web攻击封禁。'."\n"
- .'- **ac_dirscan**:表示扫描防护中的目录遍历防护。'."\n"
- .'- **ac_scantools**:表示扫描防护中的扫描工具封禁。'."\n"
- .'- **ac_collaborative**:表示扫描防护中的协同防御。'."\n"
- .'- **ac_custom**:表示自定义防护策略。'."\n"
- ."\n"
- .'> 只支持设置一个功能模块。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf',
- ],
+ 'schema' => ['description' => '日志服务地域ID。取值: '."\n"
+ .'- **cn**:中国内地地区(默认)'."\n"
+ .'- **cn-hongkong**:海外地区', 'type' => 'string', 'required' => false, 'example' => 'cn', 'default' => 'cn'],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-zz11sr5****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'PageNumber',
'in' => 'query',
+ 'schema' => ['description' => '当前页码。默认值:**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'default' => '1'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时每页的行数。默认值为**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '10'],
+ ],
+ [
+ 'name' => 'DomainNames',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ 'description' => '要查询的域名列表。一次最多允许查询10个域名。不填写该参数表示查询所有域名。'."\n"
."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
+ .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已经接入当前WAF实例进行防护的域名。',
+ 'type' => 'array',
+ 'items' => ['description' => '域名。', 'type' => 'string', 'required' => false, 'example' => 'www.aliyunXXXX.com'],
'required' => false,
- 'example' => 'rg-aek2hw7****ftqi',
+ 'maxItems' => 100,
],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3702,147 +2850,96 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'ModuleStatus' => [
- 'description' => '防护功能模块的启用状态。取值:'."\n"
- ."\n"
- .'- **0**:表示功能模块已关闭。'."\n"
- .'- **1**:表示功能模块已开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
+ 'TotalCount' => ['description' => '返回结果的总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '63'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
+ 'DomainStatus' => [
+ 'description' => '域名的日志采集状态(是否开启了日志采集)。',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Domain' => ['description' => '域名名称。', 'type' => 'string', 'example' => 'www.aliyun.com'],
+ 'SlsLogActive' => ['description' => '该域名是否开启了日志采集。取值:'."\n"
+ ."\n"
+ .'- **1**:表示已开启。'."\n"
+ .'- **0**:表示未开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ ],
+ ],
],
],
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"ModuleStatus\\": 1,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeProtectionModuleStatusResponse>\\n <ModuleStatus>1</ModuleStatus>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</DescribeProtectionModuleStatusResponse>","errorExample":""}]',
- 'title' => '查询WAF各防护功能状态',
- 'summary' => '查询WAF各防护功能的状态,包括Web入侵防护、数据安全、高级防护、Bot管理、访问控制或限流等模块。',
- 'description' => '本接口用于查询指定的WAF防护功能模块的启用状态。您可以通过设置**DefenseType**参数值指定要查询的某个防护功能模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。请注意,为确保系统稳定性。对单用户QPS限制为50次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 63,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\",\\n \\"DomainStatus\\": [\\n {\\n \\"Domain\\": \\"www.aliyun.com\\",\\n \\"SlsLogActive\\": 1\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeLogServiceStatusResponse>\\r\\n\\t<RequestId>C2E97B3F-1623-4CDF-A7E2-FD9D4CF1027A</RequestId>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<DomainStatus>\\r\\n\\t\\t<Domain>www.aliyun.com</Domain>\\r\\n\\t\\t<SlsLogActive>1</SlsLogActive>\\r\\n\\t</DomainStatus>\\r\\n</DescribeLogServiceStatusResponse>","errorExample":""}]',
+ 'title' => '查询日志采集状态',
+ 'summary' => '查询已接入WAF进行防护的域名的日志采集状态(是否开启日志采集)。',
'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyProtectionModuleStatus' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2022-08-23T11:43:34.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLogServiceStatus'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeLogServiceStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeProtectionModuleCodeConfig' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'Domain',
+ 'name' => 'CodeType',
'in' => 'query',
- 'schema' => [
- 'description' => '要操作的网站域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。'."\n"
- ."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => '要查询的代码类型。取值固定为**14**,表示查询适用于WAF地域级IP黑名单配置的地域代码。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '14'],
],
[
- 'name' => 'DefenseType',
+ 'name' => 'CodeValue',
'in' => 'query',
- 'schema' => [
- 'description' => '要操作的WAF防护功能模块。取值:'."\n"
- ."\n"
- .'- **waf**:表示规则防护引擎。'."\n"
- .'- **dld**:表示深度学习引擎。'."\n"
- .'- **tamperproof**:表示网站防篡改。'."\n"
- .'- **dlp**:表示防敏感信息泄漏。'."\n"
- .'- **normalized**:表示主动防御。'."\n"
- .'- **bot_crawler**:表示合法爬虫。'."\n"
- .'- **bot_intelligence**:表示爬虫威胁情报。'."\n"
- .'- **antifraud**:表示数据风控。'."\n"
- .'- **bot_algorithm**:表示智能算法。'."\n"
- .'- **bot_wxbb**:表示App防护。'."\n"
- .'- **bot_wxbb_pkg**:表示App防护中的版本防护。'."\n"
- .'- **ac_cc**:表示CC安全防护。'."\n"
- .'- **ac_blacklist**:表示IP黑名单。'."\n"
- .'- **ac_highfreq**:表示扫描防护中的高频Web攻击封禁。'."\n"
- .'- **ac_dirscan**:表示扫描防护中的目录遍历防护。'."\n"
- .'- **ac_scantools**:表示扫描防护中的扫描工具封禁。'."\n"
- .'- **ac_collaborative**:表示扫描防护中的协同防御。'."\n"
- .'- **ac_custom**:表示自定义防护策略。'."\n"
- ."\n"
- .'> 只支持设置一个功能模块。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf',
- ],
- ],
- [
- 'name' => 'ModuleStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置防护功能模块的开关状态。取值:'."\n"
- ."\n"
- .'- **0**:表示关闭功能模块。'."\n"
- .'- **1**:表示开启功能模块。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '要查询的地域代码的类型。取值:'."\n"
+ .'- **0**:表示查询中国境内地域的代码。'."\n"
+ .'- **1**:表示查询中国境外地域的代码。'."\n"
+ ."\n"
+ .'不设置该参数表示查询所有类型。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => '要操作的WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-zz11sr5****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-tl32ast****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aekztsixucs****',
- ],
+ 'schema' => ['description' => '网站域名在资源管理服务中所属的资源组ID。不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示海外地区。'."\n",
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['type' => 'string', 'required' => false, 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3850,143 +2947,375 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
+ 'CodeConfigs' => ['description' => '地域代码的具体配置。使用JSON数组转化的字符串表示。JSON数组中的每个元素表示一种类型的地域代码,包含以下字段:'."\n"
+ ."\n"
+ .'- **code**:Integer类型 | 表示地域代码的类型。取值:**0**(表示中国境内地域代码) | **1**(表示中国境外地域代码)。'."\n"
+ ."\n"
+ .'- **name**:String类型 | 表示该类型包含的所有地域代码。不同地域代码间使用半角逗号(,)分隔。关于地域代码的具体含义,请参见**返回数据**表格下方的说明。'."\n"
+ ."\n"
+ .'- **env**:String类型 | 表示地域代码是否可用。取值:**online**(表示地域代码可用) | **offline**(表示地域代码不可用)。', 'type' => 'string', 'example' => '[{"code":0,"name":"310000,530000,150000,110000,TW_01,220000,510000,120000,640000,340000,370000,140000,440000,450000,650000,320000,360000,130000,410000,330000,460000,420000,430000,MO_01,620000,350000,540000,520000,210000,500000,610000,630000,HK_01,230000","env":"online"}]'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'BE3911B8-9D96-5B39-8875-503BBC9DA4BF'],
],
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","type":"json"}]',
- 'title' => '打开或关闭指定WAF防护功能',
- 'summary' => '打开或关闭指定的WAF防护功能,如Web入侵防护、数据安全、高级防护、Bot管理、访问控制或限流。',
- 'description' => '本接口用于开启或关闭指定的WAF防护功能模块。'."\n"
- .'您可以通过设置**DefenseType**参数值指定要操作的某个防护功能模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。'."\n"
- .'请注意,为了确保系统的文档性,对单用户QPS限制为20次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CodeConfigs\\": \\"[{\\\\\\"code\\\\\\":0,\\\\\\"name\\\\\\":\\\\\\"310000,530000,150000,110000,TW_01,220000,510000,120000,640000,340000,370000,140000,440000,450000,650000,320000,360000,130000,410000,330000,460000,420000,430000,MO_01,620000,350000,540000,520000,210000,500000,610000,630000,HK_01,230000\\\\\\",\\\\\\"env\\\\\\":\\\\\\"online\\\\\\"}]\\",\\n \\"RequestId\\": \\"BE3911B8-9D96-5B39-8875-503BBC9DA4BF\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeProtectionModuleCodeConfigResponse>\\r\\n\\t<RequestId>BE3911B8-9D96-5B39-8875-503BBC9DA4BF</RequestId>\\r\\n\\t<CodeConfigs>\\r\\n\\t\\t<code>0</code>\\r\\n\\t\\t<name>310000,530000,150000,110000,TW_01,220000,510000,120000,640000,340000,370000,140000,440000,450000,650000,320000,360000,130000,410000,330000,460000,420000,430000,MO_01,620000,350000,540000,520000,210000,500000,610000,630000,HK_01,230000</name>\\r\\n\\t\\t<env>online</env>\\r\\n\\t</CodeConfigs>\\r\\n</DescribeProtectionModuleCodeConfigResponse>","errorExample":""}]',
+ 'title' => '获取WAF防护功能模块代码配置',
+ 'summary' => '调用DescribeProtectionModuleCodeConfig查询WAF地域级IP黑名单中支持配置的地域代码。',
+ 'description' => '本接口用于查询WAF地域级IP黑名单中支持配置的地域代码。'."\n"
+ .'请注意,为确保系统稳定性,对单用户QPS限制为100次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'ModifyProtectionModuleMode' => [
- 'methods' => [
- 'post',
- 'get',
+ 'responseParamsDescription' => '**中国境内地域代码(`"code": 0`)含义说明**'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "310000": "上海市",'."\n"
+ .' "610000": "陕西省",'."\n"
+ .' "360000": "江西省",'."\n"
+ .' "230000": "黑龙江省",'."\n"
+ .' "530000": "云南省",'."\n"
+ .' "140000": "山西省",'."\n"
+ .' "440000": "广东省",'."\n"
+ .' "320000": "江苏省",'."\n"
+ .' "110000": "北京市",'."\n"
+ .' "MO_01": "中国澳门",'."\n"
+ .' "620000": "甘肃省",'."\n"
+ .' "370000": "山东省",'."\n"
+ .' "150000": "内蒙古自治区",'."\n"
+ .' "450000": "广西壮族自治区",'."\n"
+ .' "410000": "河南省",'."\n"
+ .' "500000": "重庆市",'."\n"
+ .' "120000": "天津市",'."\n"
+ .' "630000": "青海省",'."\n"
+ .' "460000": "海南省",'."\n"
+ .' "640000": "宁夏回族自治区",'."\n"
+ .' "330000": "浙江省",'."\n"
+ .' "HK_01": "中国香港",'."\n"
+ .' "420000": "湖北省",'."\n"
+ .' "430000": "湖南省",'."\n"
+ .' "130000": "河北省",'."\n"
+ .' "510000": "四川省",'."\n"
+ .' "350000": "福建省",'."\n"
+ .' "210000": "辽宁省",'."\n"
+ .' "220000": "吉林省",'."\n"
+ .' "340000": "安徽省",'."\n"
+ .' "520000": "贵州省",'."\n"
+ .' "TW_01": "中国台湾"'."\n"
+ .'}'."\n"
+ .'```'."\n"
+ ."\n"
+ .'**中国境外地域代码(`"code": 1`)含义说明**'."\n"
+ ."\n"
+ .'```'."\n"
+ .'{'."\n"
+ .' "KE": "肯尼亚",'."\n"
+ .' "KG": "吉尔吉斯斯坦",'."\n"
+ .' "KH": "柬埔寨",'."\n"
+ .' "KI": "基里巴斯",'."\n"
+ .' "KM": "科摩罗",'."\n"
+ .' "KN": "圣基茨和尼维斯联邦",'."\n"
+ .' "KP": "朝鲜",'."\n"
+ .' "KR": "韩国",'."\n"
+ .' "KW": "科威特",'."\n"
+ .' "KY": "开曼群岛",'."\n"
+ .' "KZ": "哈萨克斯坦",'."\n"
+ .' "LA": "老挝",'."\n"
+ .' "LB": "黎巴嫩",'."\n"
+ .' "LC": "圣卢西亚",'."\n"
+ .' "LI": "列支敦士登",'."\n"
+ .' "LK": "斯里兰卡",'."\n"
+ .' "LR": "利比里亚",'."\n"
+ .' "LS": "莱索托",'."\n"
+ .' "LT": "立陶宛",'."\n"
+ .' "LU": "卢森堡",'."\n"
+ .' "LV": "拉脱维亚",'."\n"
+ .' "LY": "利比亚",'."\n"
+ .' "MA": "摩洛哥",'."\n"
+ .' "MC": "摩纳哥",'."\n"
+ .' "MD": "摩尔多瓦",'."\n"
+ .' "ME": "黑山共和国",'."\n"
+ .' "MF": "圣马丁",'."\n"
+ .' "MG": "马达加斯加",'."\n"
+ .' "MH": "马绍尔群岛",'."\n"
+ .' "MK": "马其顿",'."\n"
+ .' "ML": "马里",'."\n"
+ .' "MM": "缅甸",'."\n"
+ .' "MN": "蒙古",'."\n"
+ .' "MP": "北马里亚纳群岛",'."\n"
+ .' "MQ": "马提尼克岛",'."\n"
+ .' "MR": "毛里塔尼亚",'."\n"
+ .' "MS": "蒙塞拉特岛",'."\n"
+ .' "MT": "马耳他",'."\n"
+ .' "MU": "毛里求斯",'."\n"
+ .' "MV": "马尔代夫",'."\n"
+ .' "MW": "马拉维",'."\n"
+ .' "MX": "墨西哥",'."\n"
+ .' "MY": "马来西亚",'."\n"
+ .' "MZ": "莫桑比克",'."\n"
+ .' "NA": "纳米比亚",'."\n"
+ .' "NC": "新喀里多尼亚",'."\n"
+ .' "NE": "尼日尔",'."\n"
+ .' "NF": "诺福克岛",'."\n"
+ .' "NG": "尼日利亚",'."\n"
+ .' "NI": "尼加拉瓜",'."\n"
+ .' "NL": "荷兰",'."\n"
+ .' "NO": "挪威",'."\n"
+ .' "NP": "尼泊尔",'."\n"
+ .' "NR": "瑙鲁",'."\n"
+ .' "NU": "纽埃岛",'."\n"
+ .' "NZ": "新西兰",'."\n"
+ .' "GA": "加蓬",'."\n"
+ .' "GB": "英国",'."\n"
+ .' "WS": "萨摩亚群岛",'."\n"
+ .' "GD": "格林纳达",'."\n"
+ .' "GE": "格鲁吉亚",'."\n"
+ .' "GF": "法属圭亚那",'."\n"
+ .' "GG": "根西岛",'."\n"
+ .' "GH": "加纳",'."\n"
+ .' "GI": "直布罗陀",'."\n"
+ .' "GL": "格陵兰岛",'."\n"
+ .' "GM": "冈比亚共和国",'."\n"
+ .' "GN": "几内亚",'."\n"
+ .' "GP": "瓜德罗普",'."\n"
+ .' "GQ": "赤道几内亚",'."\n"
+ .' "GR": "希腊",'."\n"
+ .' "GT": "危地马拉",'."\n"
+ .' "GU": "关岛",'."\n"
+ .' "GW": "几内亚比绍共和国",'."\n"
+ .' "GY": "圭亚那",'."\n"
+ .' "HN": "洪都拉斯",'."\n"
+ .' "HR": "克罗地亚",'."\n"
+ .' "HT": "海地",'."\n"
+ .' "YE": "也门",'."\n"
+ .' "HU": "匈牙利",'."\n"
+ .' "YT": "马约特岛",'."\n"
+ .' "ID": "印度尼西亚",'."\n"
+ .' "IE": "爱尔兰",'."\n"
+ .' "IL": "以色列",'."\n"
+ .' "IM": "马恩岛",'."\n"
+ .' "IN": "印度",'."\n"
+ .' "IO": "英属印度洋领地",'."\n"
+ .' "ZA": "南非",'."\n"
+ .' "IQ": "伊拉克共和国",'."\n"
+ .' "IR": "伊朗",'."\n"
+ .' "IS": "冰岛",'."\n"
+ .' "IT": "意大利",'."\n"
+ .' "ZM": "赞比亚",'."\n"
+ .' "JE": "泽西岛",'."\n"
+ .' "ZW": "津巴布韦",'."\n"
+ .' "JM": "牙买加",'."\n"
+ .' "JO": "约旦",'."\n"
+ .' "JP": "日本",'."\n"
+ .' "SI": "斯洛文尼亚",'."\n"
+ .' "BY": "白俄罗斯",'."\n"
+ .' "SK": "斯洛伐克",'."\n"
+ .' "BZ": "伯利兹",'."\n"
+ .' "SL": "塞拉利昂",'."\n"
+ .' "SM": "圣马力诺",'."\n"
+ .' "SN": "塞内加尔",'."\n"
+ .' "SO": "索马里",'."\n"
+ .' "CA": "加拿大",'."\n"
+ .' "SR": "苏里南",'."\n"
+ .' "SS": "南苏丹",'."\n"
+ .' "ST": "圣多美和普林西比",'."\n"
+ .' "CD": "刚果民主共和国",'."\n"
+ .' "CF": "中非共和国",'."\n"
+ .' "SV": "萨尔瓦多",'."\n"
+ .' "CG": "刚果",'."\n"
+ .' "CH": "瑞士",'."\n"
+ .' "SX": "荷属圣马丁",'."\n"
+ .' "SY": "阿拉伯叙利亚共和国",'."\n"
+ .' "CI": "科特迪瓦",'."\n"
+ .' "SZ": "斯威士兰",'."\n"
+ .' "CK": "库克群岛",'."\n"
+ .' "CL": "智利",'."\n"
+ .' "CM": "喀麦隆",'."\n"
+ .' "CN": "中华人民共和国",'."\n"
+ .' "CO": "哥伦比亚",'."\n"
+ .' "TC": "特克斯和凯科斯岛",'."\n"
+ .' "CR": "哥斯达黎加",'."\n"
+ .' "TD": "乍得",'."\n"
+ .' "CU": "古巴",'."\n"
+ .' "CV": "佛得角",'."\n"
+ .' "TG": "多哥",'."\n"
+ .' "CW": "库拉索",'."\n"
+ .' "TH": "泰国",'."\n"
+ .' "CX": "澳大利亚圣诞岛",'."\n"
+ .' "TJ": "塔吉克斯坦",'."\n"
+ .' "CY": "塞浦路斯",'."\n"
+ .' "CZ": "捷克共和国",'."\n"
+ .' "TK": "托克劳群岛",'."\n"
+ .' "TL": "东帝汶",'."\n"
+ .' "TM": "土库曼斯坦",'."\n"
+ .' "TN": "突尼斯",'."\n"
+ .' "TO": "汤加",'."\n"
+ .' "TR": "土耳其",'."\n"
+ .' "TT": "特立尼达和多巴哥",'."\n"
+ .' "DE": "德国",'."\n"
+ .' "TV": "图瓦卢",'."\n"
+ .' "DJ": "吉布提",'."\n"
+ .' "TZ": "坦桑尼亚",'."\n"
+ .' "DK": "丹麦",'."\n"
+ .' "DM": "多米尼克国",'."\n"
+ .' "DO": "多米尼加共和国",'."\n"
+ .' "UA": "乌克兰",'."\n"
+ .' "UG": "乌干达",'."\n"
+ .' "DZ": "阿尔及利亚",'."\n"
+ .' "UM": "美国本土外小岛屿",'."\n"
+ .' "US": "美国",'."\n"
+ .' "EC": "厄瓜多尔",'."\n"
+ .' "EE": "爱沙尼亚",'."\n"
+ .' "EG": "埃及",'."\n"
+ .' "UY": "乌拉圭",'."\n"
+ .' "UZ": "乌兹别克斯坦",'."\n"
+ .' "VA": "梵蒂冈",'."\n"
+ .' "VC": "圣文森特和格林纳丁斯",'."\n"
+ .' "ER": "厄立特里亚",'."\n"
+ .' "ES": "西班牙",'."\n"
+ .' "VE": "委内瑞拉",'."\n"
+ .' "ET": "埃塞俄比亚",'."\n"
+ .' "VG": "英属维尔京群岛",'."\n"
+ .' "VI": "美属维尔京群岛",'."\n"
+ .' "VN": "越南",'."\n"
+ .' "VU": "瓦努阿图",'."\n"
+ .' "FI": "芬兰",'."\n"
+ .' "FJ": "斐济",'."\n"
+ .' "FK": "马尔维纳斯群岛",'."\n"
+ .' "FM": "密克罗尼西亚联邦",'."\n"
+ .' "FO": "法罗群岛",'."\n"
+ .' "FR": "法国",'."\n"
+ .' "WF": "瓦利斯群岛和富图纳群岛",'."\n"
+ .' "OM": "阿曼",'."\n"
+ .' "PA": "巴拿马",'."\n"
+ .' "PE": "秘鲁",'."\n"
+ .' "PF": "法属波利尼西亚",'."\n"
+ .' "PG": "巴布亚新几内亚",'."\n"
+ .' "PH": "菲律宾",'."\n"
+ .' "PK": "巴基斯坦",'."\n"
+ .' "PL": "波兰",'."\n"
+ .' "PM": "圣皮埃尔和密克隆岛",'."\n"
+ .' "PR": "波多黎各",'."\n"
+ .' "PS": "巴勒斯坦",'."\n"
+ .' "PT": "葡萄牙",'."\n"
+ .' "PW": "帕劳",'."\n"
+ .' "PY": "巴拉圭",'."\n"
+ .' "QA": "卡塔尔",'."\n"
+ .' "AD": "安道尔",'."\n"
+ .' "AE": "阿拉伯联合酋长国",'."\n"
+ .' "AF": "阿富汗",'."\n"
+ .' "AG": "安提瓜和巴布达",'."\n"
+ .' "AI": "安圭拉",'."\n"
+ .' "AL": "阿尔巴尼亚",'."\n"
+ .' "AM": "亚美尼亚",'."\n"
+ .' "AO": "安哥拉",'."\n"
+ .' "AP": "亚太地区",'."\n"
+ .' "AQ": "南极洲",'."\n"
+ .' "AR": "阿根廷",'."\n"
+ .' "AS": "美属萨摩亚",'."\n"
+ .' "RE": "留尼旺岛",'."\n"
+ .' "AT": "奥地利",'."\n"
+ .' "AU": "澳大利亚",'."\n"
+ .' "AW": "阿鲁巴",'."\n"
+ .' "AX": "奥兰群岛",'."\n"
+ .' "AZ": "阿塞拜疆",'."\n"
+ .' "RO": "罗马尼亚",'."\n"
+ .' "BA": "波黑",'."\n"
+ .' "BB": "巴巴多斯",'."\n"
+ .' "RS": "塞尔维亚",'."\n"
+ .' "BD": "孟加拉共和国",'."\n"
+ .' "BE": "比利时",'."\n"
+ .' "RU": "俄罗斯",'."\n"
+ .' "BF": "布基纳法索",'."\n"
+ .' "RW": "卢旺达",'."\n"
+ .' "BG": "保加利亚",'."\n"
+ .' "BH": "巴林",'."\n"
+ .' "BI": "布隆迪共和国",'."\n"
+ .' "BJ": "贝宁",'."\n"
+ .' "BL": "圣巴泰勒米岛",'."\n"
+ .' "BM": "百慕大群岛",'."\n"
+ .' "BN": "文莱达鲁萨兰国",'."\n"
+ .' "BO": "玻利维亚",'."\n"
+ .' "SA": "沙特阿拉伯",'."\n"
+ .' "BQ": "博内尔、圣尤斯蒂休斯和萨巴",'."\n"
+ .' "SB": "所罗门群岛",'."\n"
+ .' "BR": "巴西",'."\n"
+ .' "SC": "塞舌尔",'."\n"
+ .' "SD": "苏丹",'."\n"
+ .' "BS": "巴哈马群岛",'."\n"
+ .' "SE": "瑞典",'."\n"
+ .' "BT": "不丹",'."\n"
+ .' "SG": "新加坡",'."\n"
+ .' "BW": "博茨瓦纳"'."\n"
+ .'}'."\n"
+ ."\n"
+ .'```',
+ 'changeSet' => [
+ ['createdAt' => '2021-12-07T10:18:56.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleCodeConfig'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleCodeConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeProtectionModuleMode' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '已添加的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => '要查询的网站域名。'."\n"
+ .'> 网站域名必须已经接入WAF防护。您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的网站域名。', 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
],
[
'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '防护功能模块,取值:'."\n"
- ."\n"
- .'- **waf**:正则防护引擎'."\n"
- ."\n"
- .'- **dld**:大数据深度学习引擎'."\n"
- ."\n"
- .'- **ac_cc**:CC安全防护'."\n"
- ."\n"
- .'- **antifraud**:数据风控'."\n"
- ."\n"
- .'- **normalized**:主动防御',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf',
- ],
- ],
- [
- 'name' => 'Mode',
- 'in' => 'query',
- 'schema' => [
- 'description' => '防护模式。'."\n"
- ."\n"
- .'> 根据所指定的防护模块(**DefenseType**)不同,防护模式(**Mode**)值的含义有所不同。'."\n"
- ."\n"
- .'- 正则防护引擎(**waf**)'."\n"
- .' - **0**:表示拦截模式。'."\n"
- .' - **1**:表示告警模式。'."\n"
- .'- 大数据深度学习引擎(**dld**)'."\n"
- .' - **0**:表示告警模式。'."\n"
- .' - **1**:表示拦截模式。'."\n"
- .'- CC安全防护(**ac_cc**)'."\n"
- .' - **0**:表示防护模式。'."\n"
- .' - **1**:表示防护-紧急模式。'."\n"
- .'- 数据风控(**antifraud**)'."\n"
- .' - **0**:表示告警模式。'."\n"
- .' - **1**:表示拦截模式。'."\n"
- .' - **2**:表示强拦截模式。'."\n"
- .'- 主动防御(**normalized**)'."\n"
- .' - **1**:表示拦截模式。'."\n"
- .' - **0**:表示告警模式。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '0',
- ],
+ 'schema' => ['description' => '要查询其模式的防护模块。取值:'."\n"
+ ."\n"
+ .'- **waf**:表示规则防护引擎。'."\n"
+ .'- **dld**:表示深度学习引擎。'."\n"
+ .'- **ac_cc**:表示CC安全防护。'."\n"
+ .'- **antifraud**:表示数据风控。'."\n"
+ .'- **normalized**:表示主动防御。', 'type' => 'string', 'required' => true, 'example' => 'waf'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-tl32ast****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => "\n"
- .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => '网站域名在资源管理服务中所属的资源组ID。不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['type' => 'string', 'required' => false, 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -3994,241 +3323,230 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'DE14845A-F46F-59BE-B8F7-6ED7A787D213'],
+ 'Mode' => ['description' => '防护模块当前使用的防护模式。根据请求参数**DefenseType**不同,该参数的取值和含义不同,具体说明如下:'."\n"
+ ."\n"
+ .'- **DefenseType**为**waf**(表示查询规则防护引擎),**Mode**取值:'."\n"
+ ."\n"
+ .' - **0**:表示拦截模式。'."\n"
+ .' - **1**:表示告警模式。'."\n"
+ ."\n"
+ .'- **DefenseType**为**dld**(表示查询深度学习引擎),**Mode**取值:'."\n"
+ ."\n"
+ .' - **0**:表示告警模式。'."\n"
+ .' - **1**:表示拦截模式。'."\n"
+ ."\n"
+ .'- **DefenseType**为**ac_cc**(表示查询CC安全防护模块),**Mode**取值:'."\n"
+ ."\n"
+ .' - **0**:表示防护模式。'."\n"
+ .' - **1**:表示防护-紧急模式。'."\n"
+ ."\n"
+ .'- **DefenseType**为**antifraud**(表示查询数据风控模块),**Mode**取值:'."\n"
+ ."\n"
+ .' - **0**:表示告警模式。'."\n"
+ .' - **1**:表示拦截模式。'."\n"
+ .' - **2**:表示强拦截模式。'."\n"
+ ."\n"
+ .'- **DefenseType**为**normalized**(表示查询主动防御模块),**Mode**取值:'."\n"
+ ."\n"
+ .' - **0**:表示告警模式。'."\n"
+ .' - **1**:表示拦截模式。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
],
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyProtectionModuleModeResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyProtectionModuleModeResponse>","errorExample":""}]',
- 'title' => '修改WAF防护模式',
- 'summary' => '修改WAF防护模式,如正则防护引擎、大数据深度学习引擎、CC安全防护、数据风控、主动防御等模块。',
- 'description' => '您可以通过设置**DefenseType**参数值指定防护功能模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。',
- 'requestParamsDescription' => ' ',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DE14845A-F46F-59BE-B8F7-6ED7A787D213\\",\\n \\"Mode\\": 0\\n}","errorExample":""},{"type":"xml","example":"<DescribeProtectionModuleModeResponse>\\n <LearnStatus>3</LearnStatus>\\n <RequestId>DE14845A-F46F-59BE-B8F7-6ED7A787D213</RequestId>\\n <Mode>0</Mode>\\n</DescribeProtectionModuleModeResponse>","errorExample":""}]',
+ 'title' => '获取域名当前的防护模式',
+ 'summary' => '获取指定域名配置当前的防护模式,如正则防护引擎、大数据深度学习引擎、CC安全防护、数据风控、主动防御。',
+ 'description' => '本接口用于查询网站防护配置中,指定防护模块(包括规则防护引擎、深度学习引擎、CC安全防护、数据风控、主动防御)当前使用的防护模式。'."\n"
+ .'您可以通过设置**DefenseType**参数值指定要查询的防护模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。'."\n"
+ .'调用接口前,您必须已经调用[CreateDomain](~~160780~~)创建了网站接入配置,将网站域名接入WAF防护。'."\n"
+ .'请注意,为了确保系统的文档性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeProtectionModuleRules' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleMode'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleMode',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeProtectionModuleRules' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'PageSize',
'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,设置每页返回规则的数量。默认值为**10**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
+ 'schema' => ['description' => '分页查询时,设置每页返回规则的数量。默认值为**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
'name' => 'PageNumber',
'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,设置当前页面的页面。默认值为**1**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '分页查询时,设置当前页面的页面。默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的域名。具体说明如下:'."\n"
- ."\n"
- .'- **DefenseType**取值为**ng_account**以外的值(即查询除账户安全规则配置以外的其他网站防护配置)时,必须设置该参数。'."\n"
- .' > 您可以调用[DescribeDomainList](~~255880~~)查询所有已添加到WAF防护的域名。'."\n"
- ."\n"
- .'- **DefenseType**取值是**ng_account**(即查询账户安全规则配置)时,不要设置该参数,否则会返回错误信息。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => '要查询的域名。具体说明如下:'."\n"
+ ."\n"
+ .'- **DefenseType**取值为**ng_account**以外的值(即查询除账户安全规则配置以外的其他网站防护配置)时,必须设置该参数。'."\n"
+ .' > 您可以调用[DescribeDomainList](~~255880~~)查询所有已添加到WAF防护的域名。'."\n"
+ ."\n"
+ .'- **DefenseType**取值是**ng_account**(即查询账户安全规则配置)时,不要设置该参数,否则会返回错误信息。', 'type' => 'string', 'required' => false, 'example' => 'www.aliyundoc.com'],
],
[
'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的防护功能配置的类型。取值:'."\n"
- ."\n"
- .'- **waf-codec**:表示查询规则防护引擎解码设置。'."\n"
- ."\n"
- .'- **tamperproof**:表示查询网站防篡改规则配置。'."\n"
- ."\n"
- .'- **dlp**:表示查询防敏感信息泄漏规则配置。'."\n"
- ."\n"
- .'- **ng_account**:表示查询账户安全规则配置。'."\n"
- ."\n"
- .'- **bot_crawler**:表示查询合法爬虫规则配置。'."\n"
- ."\n"
- .'- **bot_intelligence**:表示查询爬虫威胁情报规则配置。'."\n"
- ."\n"
- .'- **antifraud**:表示查询数据风控防护请求配置。'."\n"
- ."\n"
- .'- **antifraud_js**:表示查询数据风控JS插入页面配置。'."\n"
- ."\n"
- .'- **bot_algorithm**:表示查询智能算法规则配置。'."\n"
- ."\n"
- .'- **bot_wxbb_pkg**:表示查询App防护的版本防护规则。'."\n"
- ."\n"
- .'- **bot_wxbb**:表示查询App防护的路径防护规则。'."\n"
- ."\n"
- .'- **ac_blacklist**:表示查询IP黑名单规则配置。'."\n"
- ."\n"
- .'- **ac_highfreq**:表示查询高频Web攻击IP自动封禁规则配置。'."\n"
- ."\n"
- .'- **ac_dirscan**:表示查询目录扫描防护规则配置。'."\n"
- ."\n"
- .'- **ac_custom**:表示查询自定义防护策略规则配置。'."\n"
- ."\n"
- .'- **whitelist**:表示查询白名单规则配置。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ac_highfreq',
- ],
+ 'schema' => ['description' => '要查询的防护功能配置的类型。取值:'."\n"
+ ."\n"
+ .'- **waf-codec**:表示查询规则防护引擎解码设置。'."\n"
+ ."\n"
+ .'- **tamperproof**:表示查询网站防篡改规则配置。'."\n"
+ ."\n"
+ .'- **dlp**:表示查询防敏感信息泄漏规则配置。'."\n"
+ ."\n"
+ .'- **ng_account**:表示查询账户安全规则配置。'."\n"
+ ."\n"
+ .'- **bot_crawler**:表示查询合法爬虫规则配置。'."\n"
+ ."\n"
+ .'- **bot_intelligence**:表示查询爬虫威胁情报规则配置。'."\n"
+ ."\n"
+ .'- **antifraud**:表示查询数据风控防护请求配置。'."\n"
+ ."\n"
+ .'- **antifraud_js**:表示查询数据风控JS插入页面配置。'."\n"
+ ."\n"
+ .'- **bot_algorithm**:表示查询智能算法规则配置。'."\n"
+ ."\n"
+ .'- **bot_wxbb_pkg**:表示查询App防护的版本防护规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb**:表示查询App防护的路径防护规则。'."\n"
+ ."\n"
+ .'- **ac_blacklist**:表示查询IP黑名单规则配置。'."\n"
+ ."\n"
+ .'- **ac_highfreq**:表示查询高频Web攻击IP自动封禁规则配置。'."\n"
+ ."\n"
+ .'- **ac_dirscan**:表示查询目录扫描防护规则配置。'."\n"
+ ."\n"
+ .'- **ac_custom**:表示查询自定义防护策略规则配置。'."\n"
+ ."\n"
+ .'- **whitelist**:表示查询白名单规则配置。', 'type' => 'string', 'required' => true, 'example' => 'ac_highfreq'],
],
[
'name' => 'Query',
'in' => 'query',
- 'schema' => [
- 'description' => '设置规则的过滤和排序,以JSON格式字符串表达,具体包含以下参数:'."\n"
- ."\n"
- .'> 该参数必须使用Base64编码格式,请按照以下参数说明构造JSON格式字符串后将其转换为Base64编码格式。'."\n"
- ."\n"
- .'- **filter**:JSON格式字符串 | 可选 | 过滤条件。以JSON字符串格式描述,具体包含以下参数:'."\n"
- ."\n"
- .' - **nameId**:String类型 | 可选 | 查询规则ID等于该参数值或规则名称中包含该参数值的规则。'."\n"
- ."\n"
- .' - **scene**:String类型 | 可选 | 设置要查询的防护模块,取值与**DefenseType**参数相同。'."\n"
- ."\n"
- .' - **enabled**:Boolean类型 | 可选 | 设置要查询的规则状态,取值:'."\n"
- ."\n"
- .' - **false**:表示已禁用。'."\n"
- ."\n"
- .' - **true**:表示已启用。'."\n"
- ."\n"
- .' - **status**:Integer类型 | 可选 | 设置要查询的规则状态,与**enabled**参数含义相同,取值:'."\n"
- ."\n"
- .' - **0**:表示已禁用。'."\n"
- ."\n"
- .' - **1**:表示已启用。'."\n"
- ."\n"
- .' - **ruleId**:Integer类型 | 可选 | 设置要查询的规则ID。'."\n"
- ."\n"
- .' - **ruleIdList**:Array类型 | 可选 | 设置要查询的规则ID列表,多个规则ID间用半角逗号(,)分隔。'."\n"
- ."\n"
- .' - **sceneList**:Array类型 | 可选 | 设置要查询的防护模块列表,取值与**DefenseType**参数相同,多个防护模块间用半角逗号(,)分隔。'."\n"
- ."\n"
- .' - **originList**:Array类型 | 可选 | 设置规则来源,取值为**system**(表示系统自动生成)和**custom**(表示自定义创建),设置多个规则来源时用半角逗号(,)分隔。'."\n"
- ."\n"
- .' - **tag**:String类型 | 可选 | 当设置的查询防护模块为白名单(**whitelist**)时,可通过设置该参数查询不检测指定模块的白名单规则。**tag**参数的取值和含义可参考返回参数中白名单规则配置中的描述。'."\n"
- ."\n"
- .' - **origin**:String类型 | 可选 | 当设置的查询防护模块为白名单(**whitelist**)时,可通过设置该参数查询WAF智能规则托管功能自动添加的白名单规则。取值固定为**ai**。不设置该参数表示查询所有白名单规则(包括您手动添加的规则和智能规则托管功能自动添加的规则)。'."\n"
- ."\n"
- .' - **category**:String类型 | 可选 | 当设置的查询防护模块为白名单(**whitelist**)时,可通过设置该参数查询指定白名单分类,取值:'."\n"
- ."\n"
- .' - **waf**:表示网站白名单。'."\n"
- ."\n"
- .' - **ws**:表示Web入侵防护白名单。'."\n"
- ."\n"
- .' - **ac**:表示访问控制/限流白名单。'."\n"
- ."\n"
- .' - **ds**:表示数据安全白名单。'."\n"
- ."\n"
- .'- **orderBy**:String类型 | 可选 | 排序字段,取值:'."\n"
- ."\n"
- .' - **action**:表示规则处置动作,该参数值仅在查询自定义防护策略规则时有效。'."\n"
- ."\n"
- .' - **gmt_modified**(默认):表示最后一次修改时间。'."\n"
- ."\n"
- .' - **name**:表示规则名称。'."\n"
- ."\n"
- .' - **status**:表示规则状态。'."\n"
- ."\n"
- .'- **desc**:Boolean类型 | 可选 | 是否倒序排列,取值:'."\n"
- ."\n"
- .' - **false**:表示正序排列。'."\n"
- ."\n"
- .' - **true**(默认):表示倒序排列。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'e2ZpbHRlcjp7InJ1bGVJZCI6NDI3NTV9LG9yZGVyQnk6ImdtdF9tb2RpZmllZCIsZGVzYzp0cnVlfQ==',
- ],
+ 'schema' => ['description' => '设置规则的过滤和排序,以JSON格式字符串表达,具体包含以下参数:'."\n"
+ ."\n"
+ .'> 该参数必须使用Base64编码格式,请按照以下参数说明构造JSON格式字符串后将其转换为Base64编码格式。'."\n"
+ ."\n"
+ .'- **filter**:JSON格式字符串 | 可选 | 过滤条件。以JSON字符串格式描述,具体包含以下参数:'."\n"
+ ."\n"
+ .' - **nameId**:String类型 | 可选 | 查询规则ID等于该参数值或规则名称中包含该参数值的规则。'."\n"
+ ."\n"
+ .' - **scene**:String类型 | 可选 | 设置要查询的防护模块,取值与**DefenseType**参数相同。'."\n"
+ ."\n"
+ .' - **enabled**:Boolean类型 | 可选 | 设置要查询的规则状态,取值:'."\n"
+ ."\n"
+ .' - **false**:表示已禁用。'."\n"
+ ."\n"
+ .' - **true**:表示已启用。'."\n"
+ ."\n"
+ .' - **status**:Integer类型 | 可选 | 设置要查询的规则状态,与**enabled**参数含义相同,取值:'."\n"
+ ."\n"
+ .' - **0**:表示已禁用。'."\n"
+ ."\n"
+ .' - **1**:表示已启用。'."\n"
+ ."\n"
+ .' - **ruleId**:Integer类型 | 可选 | 设置要查询的规则ID。'."\n"
+ ."\n"
+ .' - **ruleIdList**:Array类型 | 可选 | 设置要查询的规则ID列表,多个规则ID间用半角逗号(,)分隔。'."\n"
+ ."\n"
+ .' - **sceneList**:Array类型 | 可选 | 设置要查询的防护模块列表,取值与**DefenseType**参数相同,多个防护模块间用半角逗号(,)分隔。'."\n"
+ ."\n"
+ .' - **originList**:Array类型 | 可选 | 设置规则来源,取值为**system**(表示系统自动生成)和**custom**(表示自定义创建),设置多个规则来源时用半角逗号(,)分隔。'."\n"
+ ."\n"
+ .' - **tag**:String类型 | 可选 | 当设置的查询防护模块为白名单(**whitelist**)时,可通过设置该参数查询不检测指定模块的白名单规则。**tag**参数的取值和含义可参考返回参数中白名单规则配置中的描述。'."\n"
+ ."\n"
+ .' - **origin**:String类型 | 可选 | 当设置的查询防护模块为白名单(**whitelist**)时,可通过设置该参数查询WAF智能规则托管功能自动添加的白名单规则。取值固定为**ai**。不设置该参数表示查询所有白名单规则(包括您手动添加的规则和智能规则托管功能自动添加的规则)。'."\n"
+ ."\n"
+ .' - **category**:String类型 | 可选 | 当设置的查询防护模块为白名单(**whitelist**)时,可通过设置该参数查询指定白名单分类,取值:'."\n"
+ ."\n"
+ .' - **waf**:表示网站白名单。'."\n"
+ ."\n"
+ .' - **ws**:表示Web入侵防护白名单。'."\n"
+ ."\n"
+ .' - **ac**:表示访问控制/限流白名单。'."\n"
+ ."\n"
+ .' - **ds**:表示数据安全白名单。'."\n"
+ ."\n"
+ .'- **orderBy**:String类型 | 可选 | 排序字段,取值:'."\n"
+ ."\n"
+ .' - **action**:表示规则处置动作,该参数值仅在查询自定义防护策略规则时有效。'."\n"
+ ."\n"
+ .' - **gmt_modified**(默认):表示最后一次修改时间。'."\n"
+ ."\n"
+ .' - **name**:表示规则名称。'."\n"
+ ."\n"
+ .' - **status**:表示规则状态。'."\n"
+ ."\n"
+ .'- **desc**:Boolean类型 | 可选 | 是否倒序排列,取值:'."\n"
+ ."\n"
+ .' - **false**:表示正序排列。'."\n"
+ ."\n"
+ .' - **true**(默认):表示倒序排列。', 'type' => 'string', 'required' => false, 'example' => 'e2ZpbHRlcjp7InJ1bGVJZCI6NDI3NTV9LG9yZGVyQnk6ImdtdF9tb2RpZmllZCIsZGVzYzp0cnVlfQ=='],
],
[
'name' => 'Lang',
'in' => 'query',
- 'schema' => [
- 'description' => '设置规则名称的语言属性,取值:'."\n"
- ."\n"
- .'- **zh**:表示规则名称为中文。'."\n"
- .'- **en**:表示规则名称为英文。'."\n"
- .'- **ja**:表示规则名称为日文。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh',
- ],
+ 'schema' => ['description' => '设置规则名称的语言属性,取值:'."\n"
+ ."\n"
+ .'- **zh**:表示规则名称为中文。'."\n"
+ .'- **en**:表示规则名称为英文。'."\n"
+ .'- **ja**:表示规则名称为日文。', 'type' => 'string', 'required' => false, 'example' => 'zh'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -4236,58 +3554,25 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'TotalCount' => [
- 'description' => '查询到的规则配置的总数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
+ 'TotalCount' => ['description' => '查询到的规则配置的总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
'Rules' => [
'description' => '规则配置信息,包含规则ID、创建时间、状态等。',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
- 'Status' => [
- 'description' => '规则状态。取值:'."\n"
- ."\n"
- .'- **0**:表示已禁用。'."\n"
- ."\n"
- .'- **1**:表示已启用。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'Time' => [
- 'description' => '规则创建时间。使用时间戳表示,单位:秒。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1570700044',
- ],
- 'Content' => [
- 'description' => '规则配置内容,以一系列参数构造的JSON格式转化成字符串。'."\n"
- ."\n"
- .'> 根据所指定的防护功能模块配置(**DefenseType**)不同,具体涉及的参数有所不同。详细信息,请参见**Content**参数具体说明。',
- 'type' => 'object',
- 'example' => '{"count":60,"interval":60,"ttl":300}',
- ],
- 'Version' => [
- 'description' => '当前规则配置的版本号。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '2',
- ],
- 'RuleId' => [
- 'description' => '规则ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '42755',
- ],
+ 'Status' => ['description' => '规则状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示已禁用。'."\n"
+ ."\n"
+ .'- **1**:表示已启用。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'Time' => ['description' => '规则创建时间。使用时间戳表示,单位:秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1570700044'],
+ 'Content' => ['description' => '规则配置内容,以一系列参数构造的JSON格式转化成字符串。'."\n"
+ ."\n"
+ .'> 根据所指定的防护功能模块配置(**DefenseType**)不同,具体涉及的参数有所不同。详细信息,请参见**Content**参数具体说明。', 'type' => 'object', 'example' => '{"count":60,"interval":60,"ttl":300}'],
+ 'Version' => ['description' => '当前规则配置的版本号。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'],
+ 'RuleId' => ['description' => '规则ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '42755'],
],
],
],
@@ -4885,619 +4170,1076 @@
.' }'."\n"
.' ```',
'extraInfo' => ' ',
- ],
- 'CreateProtectionModuleRule' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleRules'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleRules',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'DescribeProtectionModuleStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
'name' => 'Domain',
'in' => 'query',
+ 'schema' => ['description' => '要查询的网站域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
+ ],
+ [
+ 'name' => 'DefenseType',
+ 'in' => 'query',
+ 'schema' => ['description' => '要查询的WAF防护功能模块。取值:'."\n"
+ ."\n"
+ .'- **waf**:表示规则防护引擎。'."\n"
+ .'- **dld**:表示深度学习引擎。'."\n"
+ .'- **tamperproof**:表示网站防篡改。'."\n"
+ .'- **dlp**:表示防敏感信息泄漏。'."\n"
+ .'- **normalized**:表示主动防御。'."\n"
+ .'- **bot_crawler**:表示合法爬虫。'."\n"
+ .'- **bot_intelligence**:表示爬虫威胁情报。'."\n"
+ .'- **antifraud**:表示数据风控。'."\n"
+ .'- **bot_algorithm**:表示智能算法。'."\n"
+ .'- **bot_wxbb**:表示App防护。'."\n"
+ .'- **bot_wxbb_pkg**:表示App防护中的版本防护。'."\n"
+ .'- **ac_cc**:表示CC安全防护。'."\n"
+ .'- **ac_blacklist**:表示IP黑名单。'."\n"
+ .'- **ac_highfreq**:表示扫描防护中的高频Web攻击封禁。'."\n"
+ .'- **ac_dirscan**:表示扫描防护中的目录遍历防护。'."\n"
+ .'- **ac_scantools**:表示扫描防护中的扫描工具封禁。'."\n"
+ .'- **ac_collaborative**:表示扫描防护中的协同防御。'."\n"
+ .'- **ac_custom**:表示自定义防护策略。'."\n"
+ ."\n"
+ .'> 只支持设置一个功能模块。', 'type' => 'string', 'required' => true, 'example' => 'waf'],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '要查询的WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-zz11sr5****'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2hw7****ftqi'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '要添加防护规则配置的域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF进行防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
+ 'type' => 'object',
+ 'properties' => [
+ 'ModuleStatus' => ['description' => '防护功能模块的启用状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示功能模块已关闭。'."\n"
+ .'- **1**:表示功能模块已开启。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ ],
],
],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"ModuleStatus\\": 1,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeProtectionModuleStatusResponse>\\n <ModuleStatus>1</ModuleStatus>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</DescribeProtectionModuleStatusResponse>","errorExample":""}]',
+ 'title' => '查询WAF各防护功能状态',
+ 'summary' => '查询WAF各防护功能的状态,包括Web入侵防护、数据安全、高级防护、Bot管理、访问控制或限流等模块。',
+ 'description' => '本接口用于查询指定的WAF防护功能模块的启用状态。您可以通过设置**DefenseType**参数值指定要查询的某个防护功能模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。请注意,为确保系统稳定性。对单用户QPS限制为50次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleStatus'],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'DescribeRuleGroups' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'DefenseType',
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '93352',
+ 'abilityTreeNodes' => ['FEATUREwaf10VDFG'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceIp',
+ 'in' => 'query',
+ 'schema' => ['description' => '请求源ip。无需填写,系统自动获取。', 'type' => 'string', 'required' => false, 'example' => '60.208.*.*'],
+ ],
+ [
+ 'name' => 'Lang',
+ 'in' => 'query',
+ 'schema' => ['description' => '返回消息的语言类型。取值:'."\n"
+ ."\n"
+ .'- **zh**(默认):中文'."\n"
+ .'- **en**:英文', 'type' => 'string', 'required' => false, 'example' => 'zh'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,每页的行数。默认值为**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,当前页的页码。默认值为**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'WafLang',
+ 'in' => 'query',
+ 'schema' => ['description' => '返回消息的语言类型。取值:'."\n"
+ ."\n"
+ .'- **ZH**(默认):中文'."\n"
+ .'- **EN**:英文', 'type' => 'string', 'required' => false, 'example' => 'ZH'],
+ ],
+ [
+ 'name' => 'Type',
'in' => 'query',
'schema' => [
- 'description' => '要配置的防护功能模块。取值:'."\n"
- ."\n"
- .'- **waf-codec**:表示规则防护引擎解码设置。'."\n"
- ."\n"
- .'- **tamperproof**:表示网站防篡改规则配置。'."\n"
- ."\n"
- .'- **dlp**:表示防敏感信息泄漏规则配置。'."\n"
- ."\n"
- .'- **ng_account**:表示账户安全规则配置。'."\n"
- ."\n"
- .'- **antifraud**:表示数据风控防护请求配置。'."\n"
- ."\n"
- .'- **antifraud_js**:表示数据风控JS插入页面配置。'."\n"
- ."\n"
- .'- **bot_algorithm**:表示Bot管理的智能算法规则。'."\n"
- ."\n"
- .'- **bot_wxbb_pkg**:表示App防护的版本防护规则。'."\n"
- ."\n"
- .'- **bot_wxbb**:表示App防护的路径防护规则。'."\n"
- ."\n"
- .'- **ac_custom**:表示自定义防护策略规则配置。'."\n"
- ."\n"
- .'- **whitelist**:表示白名单规则配置。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ac_custom',
+ 'description' => '规则组类型。取值:'."\n"
+ .'- 默认空'."\n"
+ .'- **10**:系统规则组'."\n"
+ .'- **1**:自定义规则组',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'enum' => ['1', '10'],
],
],
[
- 'name' => 'Rule',
+ 'name' => 'PolicyId',
'in' => 'query',
+ 'schema' => ['description' => '规则组ID,仅支持单个输入。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1011'],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_cdnsdf3****'],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。取值: '."\n"
+ .'- **cn**:中国大陆地区(默认)'."\n"
+ .'- **cn-hongkong**:海外地区', 'type' => 'string', 'required' => false, 'example' => 'cn', 'default' => 'cn'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2**'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '规则配置内容,以一系列参数构造的JSON格式转化成字符串。'."\n"
- ."\n"
- .'> 根据所指定的防护功能模块配置(**DefenseType**)不同,具体涉及的参数有所不同。详细信息,请参见Rule参数具体说明。',
- 'type' => 'string',
- 'required' => true,
- 'example' => ' {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求id。', 'type' => 'string', 'example' => '02E9A4B8-90FB-5F41-A049-*'],
+ 'TaskStatus' => ['description' => '当前请求的执行状态: '."\n"
+ .'- **0**:等待执行。 '."\n"
+ .'- **1**:正在执行中。 '."\n"
+ .'- **2**:已执行完成。 '."\n"
+ .' ', 'type' => 'integer', 'format' => 'int32', 'example' => '2'],
+ 'Total' => ['description' => '返回结果的总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'WafTaskId' => ['description' => 'waf的请求id。', 'type' => 'string', 'example' => '123'],
+ 'RuleGroups' => [
+ 'description' => '规则组列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '规则组列表。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => ['description' => '规则组类型。取值:'."\n"
+ .'- **10**:系统规则组'."\n"
+ .'- **1**:自定义规则组', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RuleCnt' => ['description' => '当前规则的数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RuleGroupUpdateTime' => ['description' => '规则组更新时间,秒级时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1711445265'],
+ 'PolicyId' => ['description' => '规则组ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '116562'],
+ 'Name' => ['description' => '规则组名称。', 'type' => 'string', 'example' => 'rule_group_test'],
+ 'TemplatePolicyId' => ['description' => '规则组模板', 'type' => 'integer', 'format' => 'int64', 'example' => '1102'],
+ 'RuleGroupTemplateName' => ['description' => '规则模板的名称。', 'type' => 'string', 'example' => 'rule_group_test'],
+ 'Desc' => ['description' => '规则组描述。', 'type' => 'string', 'example' => 'desc'],
+ 'WafVersion' => ['description' => '为当前配置设置一个版本号(用于实现乐观锁控制)。', 'type' => 'integer', 'format' => 'int64', 'example' => '11'],
+ 'DomainList' => [
+ 'description' => '引用当前规则组的域名列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '引用当前规则组的域名', 'type' => 'string', 'example' => 'test.aliyundome.com'],
+ ],
+ ],
+ ],
+ ],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"02E9A4B8-90FB-5F41-A049-*\\",\\n \\"TaskStatus\\": 2,\\n \\"Total\\": 1,\\n \\"WafTaskId\\": \\"123\\",\\n \\"RuleGroups\\": [\\n {\\n \\"Type\\": 1,\\n \\"RuleCnt\\": 1,\\n \\"RuleGroupUpdateTime\\": 1711445265,\\n \\"PolicyId\\": 116562,\\n \\"Name\\": \\"rule_group_test\\",\\n \\"TemplatePolicyId\\": 1102,\\n \\"RuleGroupTemplateName\\": \\"rule_group_test\\",\\n \\"Desc\\": \\"desc\\",\\n \\"WafVersion\\": 11,\\n \\"DomainList\\": [\\n \\"test.aliyundome.com\\"\\n ]\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => '分页查询正则规则组',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRuleGroups'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeRuleGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'DescribeRules' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '93355',
+ 'abilityTreeNodes' => ['FEATUREwaf10VDFG'],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SourceIp',
+ 'in' => 'query',
+ 'schema' => ['description' => '请求源IP。无需填写,系统自动获取。', 'type' => 'string', 'required' => false, 'example' => '42.84.*.*'],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => ['description' => '分页查询时,每页的行数。默认值为**10**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => ['description' => '当前页码。默认值:**1**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'RuleIdKey',
+ 'in' => 'query',
+ 'schema' => ['description' => '规则的id,支持模糊查询', 'type' => 'string', 'required' => false, 'example' => ' 1131*0'],
+ ],
+ [
+ 'name' => 'CveIdKey',
+ 'in' => 'query',
+ 'schema' => ['description' => 'CVE ID', 'type' => 'string', 'required' => false, 'example' => 'CVE-*-*5'],
+ ],
+ [
+ 'name' => 'ProtectionType',
+ 'in' => 'query',
+ 'schema' => ['description' => '防护类型。取值如下:'."\n"
+ .'- **11**:SQL注入 '."\n"
+ .'- **12**:跨站脚本 '."\n"
+ .'- **13**:代码执行 '."\n"
+ .'- **14**:CRLF '."\n"
+ .'- **15**:本地文件包含 '."\n"
+ .'- **16**:远程文件包含'."\n"
+ .'- **17**:webshell '."\n"
+ .'- **19**:跨站请求伪造 '."\n"
+ .'- **20**:其他 '."\n"
+ .'- **21**:SEMA', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '11'],
+ ],
+ [
+ 'name' => 'ApplicationType',
+ 'in' => 'query',
+ 'schema' => ['description' => '应用类型。取值如下:'."\n"
+ .'- **0**:通用'."\n"
+ .'- **1**:wordpress'."\n"
+ .'- **2**:dedecms'."\n"
+ .'- **3**:Discuz'."\n"
+ .'- **4**:phpcms'."\n"
+ .'- **5**:ecshop'."\n"
+ .'- **6**:shopex'."\n"
+ .'- **7**:Drupal'."\n"
+ .'- **8**:joomla'."\n"
+ .'- **9**:Metinfo'."\n"
+ .'- **10**:Struts2'."\n"
+ .'- **11**:SpringBoot'."\n"
+ .'- **12**:Jboss'."\n"
+ .'- **13**:weblogic'."\n"
+ .'- **14**:websphere'."\n"
+ .'- **15**:tomcat'."\n"
+ .'- **16**:es'."\n"
+ .'- **17**:ThinkPHP'."\n"
+ .'- **18**:fastjosn'."\n"
+ .'- **19**:ImageMagick'."\n"
+ .'- **20**:PHPWind'."\n"
+ .'- **21**:PHPAdmin'."\n"
+ .'- **99**:其它', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ ],
+ [
+ 'name' => 'RiskLevel',
+ 'in' => 'query',
+ 'schema' => ['description' => '要查询的检查项风险等级。取值:'."\n"
+ ."\n"
+ .'- **0**:高危'."\n"
+ .'- **1**:中危'."\n"
+ .'- **2**:低危', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ ],
+ [
+ 'name' => 'RuleGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => '正则规则组ID', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1012'],
+ ],
+ [
+ 'name' => 'Lang',
+ 'in' => 'query',
+ 'schema' => ['description' => '设置规则名称的语言属性,取值:'."\n"
+ ."\n"
+ .'- **zh**:表示规则名称为中文。'."\n"
+ .'- **en**:表示规则名称为英文。', 'type' => 'string', 'required' => false, 'example' => 'zh'],
+ ],
[
'name' => 'InstanceId',
'in' => 'query',
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstance](~~433756~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-*'],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => ['description' => '地域ID。取值: '."\n"
+ .'- **cn**:中国大陆地区(默认)'."\n"
+ .'- **cn-hongkong**:海外地区', 'type' => 'string', 'required' => false, 'example' => 'cn', 'default' => 'cn'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-*'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-0xldbqt****',
+ 'type' => 'object',
+ 'properties' => [
+ 'RuleGroupTemplateId' => ['description' => '正则规则组ID。', 'type' => 'string', 'example' => '1012'],
+ 'RuleGroupName' => ['description' => '正则规则组名称。', 'type' => 'string', 'example' => 'test111'],
+ 'RequestId' => ['description' => '本次请求的id。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-*'],
+ 'TotalCount' => ['description' => '查询到的规则总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'],
+ 'RuleGroupTemplateName' => ['description' => '规则组的名称。', 'type' => 'string', 'example' => 'rule_group_test'],
+ 'IsSubscribe' => ['description' => '规则组自动更新状态。'."\n"
+ ."\n"
+ .'- 1:表示自动更新。'."\n"
+ ."\n"
+ .'- 2:表示不自动更新。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'],
+ 'Rules' => [
+ 'description' => '规则列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '规则列表。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RiskLevel' => ['description' => '规则风险等级。取值:'."\n"
+ ."\n"
+ .'- **0**:高风险。'."\n"
+ .'- **1**:中风险。'."\n"
+ .'- **2**:低风险。', 'type' => 'integer', 'format' => 'int32', 'example' => '0'],
+ 'UpdateTime' => ['description' => '规则的更新时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1684120148.0'],
+ 'Description' => ['description' => '规则的描述信息。', 'type' => 'string', 'example' => '默认'],
+ 'CveUrl' => ['description' => 'CVE链接。', 'type' => 'string', 'example' => 'https://avd.aliyun.com/'],
+ 'ApplicationType' => ['description' => '应用类型。取值如下:'."\n"
+ .'- **0**:通用'."\n"
+ .'- **1**:wordpress'."\n"
+ .'- **2**:dedecms'."\n"
+ .'- **3**:Discuz'."\n"
+ .'- **4**:phpcms'."\n"
+ .'- **5**:ecshop'."\n"
+ .'- **6**:shopex'."\n"
+ .'- **7**:Drupal'."\n"
+ .'- **8**:joomla'."\n"
+ .'- **9**:Metinfo'."\n"
+ .'- **10**:Struts2'."\n"
+ .'- **11**:SpringBoot'."\n"
+ .'- **12**:Jboss'."\n"
+ .'- **13**:weblogic'."\n"
+ .'- **14**:websphere'."\n"
+ .'- **15**:tomcat'."\n"
+ .'- **16**:es'."\n"
+ .'- **17**:ThinkPHP'."\n"
+ .'- **18**:fastjosn'."\n"
+ .'- **19**:ImageMagick'."\n"
+ .'- **20**:PHPWind'."\n"
+ .'- **21**:PHPAdmin'."\n"
+ .'- **99**:其它', 'type' => 'integer', 'format' => 'int32', 'example' => '15'],
+ 'CveId' => ['description' => 'CVE ID。', 'type' => 'string', 'example' => 'CVE-2021-*'],
+ 'ProtectionType' => ['description' => '防护类型。取值如下:'."\n"
+ .'- **11**:SQL注入 '."\n"
+ .'- **12**:跨站脚本 '."\n"
+ .'- **13**:代码执行 '."\n"
+ .'- **14**:CRLF '."\n"
+ .'- **15**:本地文件包含 '."\n"
+ .'- **16**:远程文件包含'."\n"
+ .'- **17**:webshell '."\n"
+ .'- **19**:跨站请求伪造 '."\n"
+ .'- **20**:其他 '."\n"
+ .'- **21**:SEMA', 'type' => 'integer', 'format' => 'int32', 'example' => '11'],
+ 'RuleName' => ['description' => '规则名称。', 'type' => 'string', 'example' => 'rules_41'],
+ 'RuleId' => ['description' => '规则id。', 'type' => 'integer', 'format' => 'int64', 'example' => '42755'],
+ ],
+ ],
+ ],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RuleGroupTemplateId\\": \\"1012\\",\\n \\"RuleGroupName\\": \\"test111\\",\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-*\\",\\n \\"TotalCount\\": 1,\\n \\"RuleGroupTemplateName\\": \\"rule_group_test\\",\\n \\"IsSubscribe\\": 1,\\n \\"Rules\\": [\\n {\\n \\"RiskLevel\\": 0,\\n \\"UpdateTime\\": 1684120148,\\n \\"Description\\": \\"默认\\",\\n \\"CveUrl\\": \\"https://avd.aliyun.com/\\",\\n \\"ApplicationType\\": 15,\\n \\"CveId\\": \\"CVE-2021-*\\",\\n \\"ProtectionType\\": 11,\\n \\"RuleName\\": \\"rules_41\\",\\n \\"RuleId\\": 42755\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => '分页查询正则规则组中的规则',
+ 'changeSet' => [
+ ['createdAt' => '2024-05-27T10:59:51.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRules'],
+ ],
+ ],
+ 'ramActions' => [],
+ ],
+ 'DescribeWafSourceIpSegment' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '要查询的WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-zz11sr5****'],
+ ],
[
'name' => 'ResourceGroupId',
'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'AB2F5E31-EE96-4FD7-9560-45FF****77FF'],
+ 'Ips' => ['description' => 'IPv4防护集群使用的WAF回源IP网段列表。', 'type' => 'string', 'example' => '47.XXX.XXX.192/26,……,47.XXX.XXX.0/24'],
+ 'IpV6s' => ['description' => 'IPv6防护集群使用的WAF回源IP网段列表。', 'type' => 'string', 'example' => '39.XXX.XXX.0/24,……,2408:400a:XXXX:XXXX::/56'],
+ ],
],
],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AB2F5E31-EE96-4FD7-9560-45FF****77FF\\",\\n \\"Ips\\": \\"47.XXX.XXX.192/26,……,47.XXX.XXX.0/24\\",\\n \\"IpV6s\\": \\"39.XXX.XXX.0/24,……,2408:400a:XXXX:XXXX::/56\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeWafSourceIpSegmentResponse>\\r\\n\\t<RequestId>AB2F5E31-EE96-4FD7-9560-45FF5D5377FF</RequestId>\\r\\n\\t<IpV6s>39.XXX.XXX.0/24,……,2408:400a:XXXX:XXXX::/56</IpV6s>\\r\\n\\t<Ips>47.XXX.XXX.192/26,……,47.XXX.XXX.0/24</Ips>\\r\\n</DescribeWafSourceIpSegmentResponse>\\t","errorExample":""}]',
+ 'title' => '获取WAF实例的回源IP网段列表',
+ 'summary' => '查询WAF防护集群使用的回源IP网段。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2022-09-08T14:06:07.000Z', 'description' => '错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeWafSourceIpSegment'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeWafSourceIpSegment',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ModifyDomain' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-7pp26f1****'],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-7pp26f1****'],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => '要操作的域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
+ ],
+ [
+ 'name' => 'SourceIps',
+ 'in' => 'query',
+ 'schema' => ['description' => '域名对应的源站服务器IP或服务器回源域名。您只能选择设置源站服务器IP或服务器回源域名中的一种:'."\n"
+ ."\n"
+ .'- 设置源站服务器IP时,使用`["ip1","ip2",……]`格式表示。最多支持添加20个IP。'."\n"
+ .'- 设置服务器回源域名时,使用`["domain"]`格式表示。只能填写1个域名地址。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '["39.XX.XX.197"]'],
+ ],
+ [
+ 'name' => 'LoadBalancing',
+ 'in' => 'query',
+ 'schema' => ['description' => '回源时采用的负载均衡算法。取值:'."\n"
+ ."\n"
+ .'- **0**:表示IP Hash算法。'."\n"
+ .'- **1**:表示轮询算法。'."\n"
+ .'- **2**:表示Least Time算法。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
+ ],
+ [
+ 'name' => 'HttpPort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'HTTP协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTP协议。**HttpPort**与**HttpsPort**不允许同时为空。', 'type' => 'string', 'required' => false, 'example' => '[80]'],
+ ],
+ [
+ 'name' => 'HttpsPort',
+ 'in' => 'query',
+ 'schema' => ['description' => 'HTTPS协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。设置该参数表示域名使用HTTPS协议。**HttpPort**与**HttpsPort**不允许同时为空。', 'type' => 'string', 'required' => false, 'example' => '[443]'],
+ ],
+ [
+ 'name' => 'Http2Port',
+ 'in' => 'query',
+ 'schema' => ['description' => 'HTTP 2.0协议端口列表,使用`[port1,port2,……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '[443]'],
+ ],
+ [
+ 'name' => 'HttpsRedirect',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否开启HTTPS强制跳转。开启强制跳转后,客户端的HTTP请求将被强制跳转成HTTPS请求,默认跳转端口为443。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。'."\n"
+ ."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
+ ],
+ [
+ 'name' => 'HttpToUserIp',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否开启HTTP回源。开启HTTP回源后,HTTPS访问请求将通过HTTP协议转发回源站,默认回源端口为80。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'default' => '0'],
+ ],
+ [
+ 'name' => 'IsAccessProduct',
+ 'in' => 'query',
+ 'schema' => ['description' => '域名在WAF前是否配置有七层代理(例如高防、CDN等),即客户端访问流量到WAF前是否有经过其他七层代理转发。取值:'."\n"
+ ."\n"
+ .'- **0**:表示否。'."\n"
+ .'- **1**:表示是。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0'],
+ ],
+ [
+ 'name' => 'AccessHeaderMode',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF获取客户端真实IP的方式。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示WAF读取请求头中X-Forwarded-For(XFF)字段的第一个值作为客户端IP。'."\n"
+ .'- **1**:表示WAF读取请求头中由您设置的自定义字段值作为客户端IP。'."\n"
+ ."\n"
+ .'> 仅在**IsAccessProduct**取值为**1**(表示WAF前有其他七层代理服务)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ ],
+ [
+ 'name' => 'AccessHeaders',
+ 'in' => 'query',
+ 'schema' => ['description' => '设置用于获取客户端IP的自定义字段列表,使用`["header1","header2",……]`格式表示。'."\n"
+ ."\n"
+ .'> 仅在**AccessHeaderMode**取值为**1**(表示WAF读取请求头中由您设置的自定义字段值作为客户端IP)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '["X-Client-IP"]'],
+ ],
+ [
+ 'name' => 'LogHeaders',
+ 'in' => 'query',
+ 'schema' => ['description' => '域名的流量标记字段和值,用于标记经过WAF处理的流量。'."\n"
+ ."\n"
+ .'该参数值的格式为`[{"k":"_key_","v":"_value_"}]`。其中,`_key_`表示所指定的自定义请求头部字段,`_value_`表示为该字段设定的值。'."\n"
+ ."\n"
+ .'通过指定自定义请求头部字段和对应的值,当域名的访问流量经过WAF时,WAF自动在请求头部中添加所设定的自定义字段值作为流量标记,便于后端服务统计相关信息。'."\n"
+ ."\n"
+ .'> 如果请求中已存在该自定义头部字段,系统将用所设定的流量标记值覆盖请求中该自定义字段的值。', 'type' => 'string', 'required' => false, 'example' => '[{"k":"ALIWAF-TAG","v":"Yes"}]'],
+ ],
+ [
+ 'name' => 'ClusterType',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF防护集群类型。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示物理集群。'."\n"
+ .'- **1**:表示虚拟集群,即WAF独享集群。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ ],
+ [
+ 'name' => 'ConnectionTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF独享集群的连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示使用WAF独享集群)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '5', 'default' => '5'],
+ ],
+ [
+ 'name' => 'ReadTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF独享集群的读连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示使用WAF独享集群)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120', 'default' => '120'],
+ ],
+ [
+ 'name' => 'WriteTime',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF独享集群的写连接超时时长。单位:秒。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**ClusterType**取值为**1**(表示使用WAF独享集群)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '120', 'default' => '120'],
+ ],
+ [
+ 'name' => 'AccessType',
+ 'in' => 'query',
+ 'schema' => ['description' => '域名接入方式。取值:'."\n"
+ ."\n"
+ .'- **waf-cloud-dns**(默认):表示CNAME接入。'."\n"
+ ."\n"
+ .'- **waf-cloud-native**:表示透明接入。'."\n"
+ ."\n", 'type' => 'string', 'required' => false, 'example' => 'waf-cloud-dns'],
+ ],
+ [
+ 'name' => 'CloudNativeInstances',
+ 'in' => 'query',
+ 'schema' => ['description' => '透明接入的服务器及端口配置列表。使用JSON数组转化的字符串格式表示。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
+ ."\n"
+ .'- **ProtocolPortConfigs**:JSON Array类型 | 必选 | 表示协议及端口配置列表。JSON数组中的每个元素是一个结构体,包含以下字段:'."\n"
+ .' - **Ports**:Array类型 | 必选 | 表示端口列表,格式为`[port1,port2,……]`。'."\n"
+ .' - **Protocol**:String类型 | 必选 | 表示协议类型。取值:**http**、**https**。'."\n"
+ .'- **CloudNativeProductName**:String类型 | 必选 | 表示云产品实例的类型。取值:**ECS**、**SLB**、**ALB**。'."\n"
+ .'- **RedirectionTypeName**:String类型 | 必选 | 表示引流端口的类型。取值:**ECS**(表示ECS端口)、**SLB-L4**(表示SLB四层端口)、**SLB-L7**(表示SLB七层端口)、**ALB**(表示ALB端口)。'."\n"
+ .'- **InstanceId**:String类型 | 必选 | 表示云产品实例的ID。'."\n"
+ .'- **IPAddressList**:Array类型 | 必选 | 表示云产品实例的公网IP列表。格式为`["ip1","ip2",……]`。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-native**(表示域名使用透明接入方式)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => '[{"ProtocolPortConfigs":[{"Ports":[80],"Protocol":"http"}],"RedirectionTypeName":"ALB","InstanceId":"alb-s65nua68wdedsp****","IPAddressList":["182.XX.XX.113"],"CloudNativeProductName":"ALB"}]'],
+ ],
+ [
+ 'name' => 'IpFollowStatus',
+ 'in' => 'query',
+ 'schema' => ['description' => '源站服务器地址同时包含IPv4和IPv6地址时,是否开启IPv4/IPv6回源协议跟随。开启回源协议跟随后,WAF将来自IPv4地址的请求转发到IPv4源站、将来自IPv6地址的请求转发到IPv6源站。取值:'."\n"
+ ."\n"
+ .'- **0**(默认):表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0'],
+ ],
+ [
+ 'name' => 'SniStatus',
+ 'in' => 'query',
+ 'schema' => ['description' => '设置是否开启回源SNI。回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则您需要开启回源SNI。取值:'."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'中国内地WAF实例默认关闭SNI回源;海外地区WAF实例默认开启SNI回源。'."\n"
+ ."\n"
+ .'> 仅在**AccessType**取值为**waf-cloud-dns**(表示域名使用CNAME接入方式)且**HttpsPort**取值不为空(表示域名使用HTTPS协议)时,需要设置该参数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
+ ],
+ [
+ 'name' => 'SniHost',
+ 'in' => 'query',
+ 'schema' => ['description' => '自定义SNI扩展字段的值。如果不设置该参数,则默认使用请求头中**Host**字段的值作为SNI扩展字段的值。'."\n"
+ ."\n"
+ .'一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。'."\n"
+ ."\n"
+ .'> 仅在**SniStatus**取值为**1**(表示开启SNI回源)时,需要设置该参数。', 'type' => 'string', 'required' => false, 'example' => 'waf.example.com'],
+ ],
+ [
+ 'name' => 'Retry',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF回源失败时,是否重试。取值:'."\n"
+ ."\n"
+ .'- **true**(默认):表示重试。'."\n"
+ ."\n"
+ .'- **false**:表示不重试。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'],
+ ],
+ [
+ 'name' => 'Keepalive',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否保持长连接。取值:'."\n"
+ ."\n"
+ .'- **true**(默认):表示保持长连接。'."\n"
+ ."\n"
+ .'- **false**:表示不保持长连接。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'],
+ ],
+ [
+ 'name' => 'KeepaliveRequests',
+ 'in' => 'query',
+ 'schema' => ['description' => '复用长连接的请求个数。取值范围:60~1000,单位:个。'."\n"
+ ."\n"
+ .'> 开启长连接后,复用多少个长连接。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '60', 'example' => '1000', 'default' => '1000'],
+ ],
+ [
+ 'name' => 'KeepaliveTimeout',
+ 'in' => 'query',
+ 'schema' => ['description' => '空闲长连接超时时间,取值范围:1~60,默认15,单位:秒。'."\n"
+ ."\n"
+ .'> 复用的长连接空闲多久后释放。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '1', 'example' => '60', 'default' => '15'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
+ ],
[
'name' => 'RegionId',
'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyDomainResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyDomainResponse>","errorExample":""}]',
+ 'title' => '修改指定域名配置信息',
+ 'summary' => '修改已创建的域名配置。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2023-08-28T12:42:34.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2023-05-23T05:46:03.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2022-08-22T10:01:08.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDomain'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
+ ],
+ 'ModifyDomainIpv6Status' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-mp9153****'],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => '已添加的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
+ ],
+ [
+ 'name' => 'Enabled',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否启用IPv6安全防护,取值:'."\n"
+ ."\n"
+ .'- **0**:关闭'."\n"
+ ."\n"
+ .'- **1**:开启', 'type' => 'string', 'required' => true, 'example' => '0'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
],
'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateProtectionModuleRuleResponse>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</CreateProtectionModuleRuleResponse>","errorExample":""}]',
- 'title' => '在WAF防护功能模块中创建配置规则',
- 'summary' => '在指定的WAF防护功能模块创建配置规则,如Web入侵防护、数据安全、高级防护、Bot、访问控制、限流。',
- 'description' => '本接口用于在指定的WAF防护功能模块(包括Web入侵防护、数据安全、高级防护、Bot管理、访问控制或限流等模块)中创建规则配置。您可以通过设置**DefenseType**参数值指定防护功能模块配置。具体参数值的含义,请参见请求参数**DefenseType**的描述。'."\n"
- .'请注意,为了确保系统的文档性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
- 'requestParamsDescription' => '**Rule参数具体说明**'."\n"
- ."\n"
- .' - 规则防护引擎解码设置(**waf-codec**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **codecList**:Array类型 | 必选 | 启用的解码配置项。您可在Web应用防火墙控制台中查看该参数支持填写的参数值。'."\n"
- ."\n"
- .' - **示例**'."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "codecList":["url","base64"]'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- 网站防篡改规则配置(**tamperproof**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **uri**:String类型 | 必选 | 所需防护的具体URL。'."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- ."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name":"example",'."\n"
- .' "uri":"http://www.aliyundoc.com/example"'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- 防敏感信息泄露规则配置(**dlp**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **conditions**:Array类型 | 必选 | 以JSON字符串格式描述匹配条件,支持设置最多两条匹配条件且条件间的关系为并且。其中包含以下具体参数:'."\n"
- ."\n"
- .' - **key**:匹配项。取值:'."\n"
- ."\n"
- .' - **0**:表示防护的URL。'."\n"
- .' - **10**:表示敏感信息。'."\n"
- .' - **11**:表示响应码。'."\n"
- .' > 您无法在**conditions**参数中同时为响应码(**11**)和敏感信息(**10**)设置匹配条件。'."\n"
- ."\n"
- .' - **operation**:匹配逻辑。取值固定为**1**,表示包含。'."\n"
- ."\n"
- .' - **value**:以JSON字符串描述匹配条件值,支持填写多个条件值。其中包含以下具体参数:'."\n"
- ."\n"
- .' - **v**:仅适用于匹配项(**key**)为URL(**0**)或响应码(**11**)的场景。'."\n"
- .' - URL:当`"key":0`时,参数值为URL地址。'."\n"
- .' - 响应码:当`"key":11`,参数取值范围包括**400**、**401**、**402**、**403**、**404**、**405-499**、**500**、**501**、**502**、**503**、**504**、**505-599**。'."\n"
- .' - **k**:仅适用于匹配项(**key**)为敏感信息(**10**)的场景。取值范围:'."\n"
- .' - **100**:表示身份证。'."\n"
- .' - **101**:表示信用卡。'."\n"
- .' - **102**:表示电话号码。'."\n"
- .' - **103**:表示默认敏感词。'."\n"
- ."\n"
- .' - **action**:匹配动作。取值:'."\n"
- .' - **3**:表示告警。'."\n"
- .' - **10**:表示敏感信息过滤,该动作仅适用于包含敏感信息(`"key":10`)的匹配条件场景。'."\n"
- .' - **11**:表示返回系统内置拦截页面,该动作仅适用于包含响应码(`"key":11`)的匹配条件场景。'."\n"
- ."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name":"example",'."\n"
- .' "conditions":[{"key":11,"operation":1,"value":[{"v":401}]},{"key":"0","operation":1,"value":[{"v":"www.aliyundoc.com"}]}],'."\n"
- .' "action":3'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- 账户安全规则配置(**ng_account**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **url_path**:String类型 | 必选 | 检测接口,以URL路径表示,必须以正斜线(/)开头。'."\n"
- .' - **method**:String类型 | 必选 | 检测的请求方式,包括POST、GET、PUT、DELETE。支持设定多个请求方式,以英文逗号(,)分隔。'."\n"
- .' - **account_left**:String类型 | 必选 | 账号参数名。'."\n"
- .' - **password_left**:String类型 | 可选 | 密码参数名。'."\n"
- .' - **action**:String类型 | 必选 | 防护动作。取值:'."\n"
- .' - **monitor**:表示预警。'."\n"
- .' - **block**:表示拦截。'."\n"
- ."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "url_path":"/example",'."\n"
- .' "method":"POST,GET,PUT,DELETE",'."\n"
- .' "account_left":"aaa",'."\n"
- .' "password_left:"123",'."\n"
- .' "action":"monitor"'."\n"
- .' }'."\n"
- .' ``` '."\n"
- ."\n"
- .'- 数据风控防护请求配置(**antifraud**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **uri**:String类型 | 必选 | 具体的防护请求URL。'."\n"
- .' '."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "uri": "http://1.example.com/example"'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- 数据风控JS插入页面配置(**antifraud_js**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **uri**:String类型 | 必选 | 需要插入数据风控JS页面的URL,系统将为所指定的URL路径下的所有页面插入数据风控JS,必须以正斜线(/)开头。'."\n"
- ."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "uri": "/example/example"'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- Bot管理的智能算法规则配置(**bot_algorithm**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **algorithmName**:String类型 | 必选 | 算法名称。取值:'."\n"
- .' - **RR**:表示专项资源爬虫识别算法。'."\n"
- .' - **PR**:表示定向路径爬虫识别算法。'."\n"
- .' - **DPR**:表示参数轮询爬虫识别算法。'."\n"
- .' - **SR**:表示动态IP爬虫识别算法。'."\n"
- .' - **IND**:表示代理设备爬虫识别算法。'."\n"
- .' - **Periodicity**:表示周期性爬虫识别算法。'."\n"
- .' - **timeInterval**:Integer类型 | 必选 | 检测周期。取值:30、60、120、300、600,单位:秒。'."\n"
- .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
- .' - **monitor**:表示观察。'."\n"
- .' - **captcha**:表示滑块。'."\n"
- .' - **js**:表示JavaScript校验。'."\n"
- .' - **block**:表示阻断。选择阻断作为处置动作时,必须传入阻断时长(**blocktime**)参数。'."\n"
- .' - **blocktime**:Integer类型 | 可选 | 阻断时长。单位:分钟。取值范围:1~600。'."\n"
- .' - **config**:String类型 | 必选 | 算法配置信息,以JSON字符串格式表示。算法配置信息中的具体子参数与所选择的算法名称(**algorithmName**)相关。'."\n"
- .' - 专项资源爬虫识别算法(**RR**)对应的配置信息应包含以下子参数:'."\n"
- .' - **resourceType**:Integer类型 | 可选 | 请求的资源类型。取值:'."\n"
- .' - **1**:表示动态资源类型。'."\n"
- .' - **2**:表示静态资源类型。'."\n"
- .' - **-1**:表示自定义资源类型。选择自定义资源组时,需要再传入**extensions**参数,以字符串格式指定具体的资源后缀名,多个后缀名间以英文逗号(,)分隔,例如`css,jpg,xls`。'."\n"
- .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
- .' - **minRatio**:Float类型 | 必选 | 风险判定条件,即IP访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或IP访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。'."\n"
- .' - 定向路径爬虫识别算法(**PR**)对应的配置信息应包含以下子参数:'."\n"
- .' - **keyPathConfiguration**:Array类型 | 可选 | 请求的路径信息,支持指定最多10条路径,只在使用定向路径爬虫识别算法时需传入该子参数。以JSON字符串格式表示,具体包含以下参数:'."\n"
- .' - **method**:String类型 | 必选 | 请求方法。取值:**POST**、**GET**、**PUT**、**DELETE**、**HEAD**、**OPTIONS**。'."\n"
- .' - **url**:String类型 | 必选 | 请求路径关键字,必须以正斜线(/)开头。'."\n"
- .' - **matchType**:String类型 | 必选 | 匹配方式,与请求路径关键字(**url**)参数结合指定请求路径。取值:**all**(精准匹配)、**prefix**(前缀匹配)、**regex**(正则匹配)。'."\n"
- .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
- .' - **minRatio**:Float类型 | 必选 | 风险判定条件,即IP访问请求中访问指定资源类型的占比阈值(对应专项资源爬虫识别算法)或IP访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险。取值范围:0.01~1。'."\n"
- .' - 参数轮询爬虫识别算法(**DPR**)对应的配置信息应包含以下子参数:'."\n"
- .' - **method**:String类型 | 必选 | 请求方法。取值:**POST**、**GET**、**PUT**、**DELETE**、**HEAD**、**OPTIONS**。'."\n"
- .' - **urlPattern**:String类型 | 必选 | 关键参数路径,必须以正斜线(/)开头。用{}表示关键参数,配置多个{}时将拼接这些参数作为关键参数。例如,`/company/{}/{}/{}/user.php?uid={}`。'."\n"
- .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
- .' - **minRatio**:Float类型 | 必选 | 风险判定条件,即IP访问请求中不同关键参数值的计数占比阈值,超过阈值后判定为风险。取值范围:0.01~1。'."\n"
- .' - 动态IP爬虫识别算法(**SR**)对应的配置信息应包含以下子参数:'."\n"
- .' - **maxRequestCountPerSrSession**:Integer类型 | 必选 | 通过设定每个会话中存在的最小请求次数定义异常会话,即单个会话中的请求次数小于该值即判定为异常会话。取值范围:1~8。'."\n"
- .' - **minSrSessionCountPerIp**:Integer类型 | 必选 | 风险判定条件,即IP访问请求中存在的异常会话数量阈值,单个IP访问请求中的异常会话次数超过该值后判定为风险。取值范围:5~300。'."\n"
- .' - 代理设备爬虫识别算法(**IND**)对应的配置信息应包含以下子参数:'."\n"
- .' - **minIpCount**:Integer类型 | 必选 | 恶意设备判定条件,即设备使用WIFI关联的IP变换个数阈值,超过该阈值后判定为风险。取值范围:5~500。'."\n"
- .' - **keyPathConfiguration**:Array类型 | 可选 | 检测路径信息,支持指定最多10条路径。以JSON字符串格式表示,具体包含以下参数:'."\n"
- .' - **method**:String类型 | 必选 | 请求方法。取值:**POST**、**GET**、**PUT**、**DELETE**、**HEAD**、**OPTIONS**。'."\n"
- .' - **url**:String类型 | 必选 | 检测路径关键字,必须以正斜线(/)开头。'."\n"
- .' - **matchType**:String类型 | 必选 | 匹配方式,与检测路径关键字(**url**)参数结合指定请求路径。取值:**all**(精准匹配)、**prefix**(前缀匹配)、**regex**(正则匹配)。'."\n"
- .' - 周期性爬虫识别算法(**Periodicity**)对应的配置信息应包含以下子参数:'."\n"
- .' - **minRequestCountPerIp**:Integer类型 | 必选 | 检测周期中检测IP的范围,大于等于一定访问请求数量的IP才会被检测。通过该参数指定访问请求数量的最小值。取值范围:5~10000。'."\n"
- .' - **level**:Integer类型 | 必选 | 风险判定等级,即访问IP的周期性特征的明显程度。取值:'."\n"
- .' - **0**:表示明显。'."\n"
- .' - **1**:表示中等。'."\n"
- .' - **2**:表示较弱。'."\n"
- .' - **示例**'."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name":"代理设备爬虫识别",'."\n"
- .' "algorithmName":"IND",'."\n"
- .' "timeInterval":"60",'."\n"
- .' "action":"monitor",'."\n"
- .' "config":{'."\n"
- .' "minIpCount":5,'."\n"
- .' "keyPathConfiguration":[{"url":"/index","method":"GET","matchType":"prefix"}]'."\n"
- .' }'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- App防护的版本防护规则配置(**bot_wxbb_pkg**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
- .' - **test**:表示观察。'."\n"
- .' - **close**:表示阻断。'."\n"
- .' - **nameList**:Array类型 | 必选 | 合法版本信息,最多指定五条规则。以JSON字符串方式表示,具体包含以下参数:'."\n"
- .' - **name**:String类型 | 必选 | 合法包名称。'."\n"
- .' - **signList**:Array类型 | 必选 | 对应的包签名,最多填写15个,以英文逗号(,)分隔。'."\n"
- ."\n"
- .' - **示例**'."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name":"test",'."\n"
- .' "action":"close",'."\n"
- .' "nameList":[{'."\n"
- .' "name":"apk-xxxx",'."\n"
- .' "signList":["xxxxxx","xxxxx","xxxx","xx"]'."\n"
- .' }]'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- App防护的路径防护规则配置(**bot_wxbb**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **uri**:String类型 | 必选 | 防护路径,必须以正斜线(/)开头。'."\n"
- .' - **matchType**:String类型 | 必选 | 匹配方式。取值:**all**(精准匹配)、**prefix**(前缀匹配)、**regex**(正则匹配)。'."\n"
- .' - **arg**:String类型 | 必选 | 参数包含,与匹配方式(**matchType**)参数结合指定防护路径配置。'."\n"
- .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
- .' - **test**:表示观察。'."\n"
- .' - **close**:表示阻断。'."\n"
- .' - **hasTag**:Boolean类型 | 必选 | 是否需要自定义加签字段。'."\n"
- .' - **true**:表示是。选择需要自定义加签字段时,需传入**wxbbVmpFieldType**和**wxbbVmpFieldValue**参数指定加签字段的类型和对应值。'."\n"
- .' - **false**:表示否。'."\n"
- .' - **wxbbVmpFieldType**:Integer类型 | 可选 | 自定义加签字段类型。当**hasTag**参数值为**true**时,必须传入参数。取值:'."\n"
- .' - **0**:表示header。'."\n"
- .' - **1**:表示参数。'."\n"
- .' - **2**:表示cookie。'."\n"
- .' - **wxbbVmpFieldValue**:String类型 | 可选 | 自定义加签字段值。当**hasTag**参数值为**true**时,必须传入参数。'."\n"
- .' - **blockInvalidSign**:Integer类型 | 必选 | 是否对非法签名执行处置动作,固定值**1**。路径防护规则的默认防护策略。'."\n"
- .' - **blockProxy**:Integer类型 | 可选 | 是否对代理执行处置动作,固定值**1**。如果无需对代理行为执行处置动作时无需传入该参数。'."\n"
- .' - **blockSimulator**:Integer类型 | 可选 | 是否对模拟器执行处置动作,固定值**1**。如果无需对模拟器行为执行处置动作时无需传入该参数。'."\n"
- ."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name":"test",'."\n"
- .' "uri":"/index",'."\n"
- .' "matchType":"all",'."\n"
- .' "arg":"test",'."\n"
- .' "action":"close",'."\n"
- .' "hasTag":true,'."\n"
- .' "wxbbVmpFieldType":2,'."\n"
- .' "wxbbVmpFieldValue":"test",'."\n"
- .' "blockInvalidSign":1,'."\n"
- .' "blockProxy":1'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- 自定义防护策略规则配置(**ac_custom**),通过其对应的JSON字符串中的**scene**参数来设置ACL访问控制规则和CC攻击防护规则。'."\n"
- ."\n"
- .' - 设置ACL访问控制规则(**scene**参数值为**custom_acl**),其对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **scene**:String类型 | 必选 | 防护类型。设置ACL访问控制规则时。取值固定为**custom_acl**。'."\n"
- .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
- .' - **monitor**:表示观察。'."\n"
- .' - **captcha**:表示滑块。'."\n"
- .' - **captcha_strict**:表示严格滑块。'."\n"
- .' - **js**:表示JS验证。'."\n"
- .' - **block**:表示阻断。'."\n"
- ."\n"
- .' - **conditions**:Array类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
- ."\n"
- .' - **key**:匹配字段。取值范围:**URL**、**IP**、**Referer**、**User-Agent**、**Params**、**Cookie**、**Content-Type**、**Content-Length**、**X-Forwarded-For**、**Post-Body**、**Http-Method**、**Header**、**URLPath**。'."\n"
- ."\n"
- .' - **opCode**:逻辑符。取值:'."\n"
- ."\n"
- .' > 并不是每一个自定义规则的匹配字段(**key**)都能对应配置全部的逻辑符(**opcode**)。关于不同匹配字段支持使用的逻辑符,请以[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)自定义规则中匹配字段和逻辑符的关联关系为准。'."\n"
- ."\n"
- .' - **11**:表示等于。'."\n"
- .' - **10**:表示不等于。'."\n"
- .' - **41**:表示等于多值之一。'."\n"
- .' - **50**:表示不等于任一值。'."\n"
- .' - **1**:表示包含。'."\n"
- .' - **0**:表示不包含。'."\n"
- .' - **51**:表示包含多值之一。'."\n"
- .' - **52**:表示不包含任一值。'."\n"
- .' - **82**:表示存在。'."\n"
- .' - **2**:表示不存在。'."\n"
- .' - **21**:表示长度等于。'."\n"
- .' - **22**:表示长度大于。'."\n"
- .' - **20**:表示长度小于。'."\n"
- .' - **60**:表示正则不匹配。'."\n"
- .' - **61**:表示正则匹配。'."\n"
- .' - **72**:表示前缀匹配。'."\n"
- .' - **81**:表示后缀匹配。'."\n"
- .' - **80**:表示内容为空。'."\n"
- ."\n"
- .' - **values**:匹配内容。根据需要填写相应的内容,以String类型表示。'."\n"
- ."\n"
- .' > 匹配条件参数中的逻辑符(**opCode**)、匹配内容(**values**)参数取值范围与所指定的匹配字段(**key**)相关。关于支持的匹配条件配置详细信息,请参见[匹配条件字段说明](~~147945~~)。'."\n"
- ."\n"
- .' - **示例**'."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "action":"monitor",'."\n"
- .' "name":"test",'."\n"
- .' "scene":"custom_acl",'."\n"
- .' "conditions":[{"opCode":1,"key":"URL","values":"/example"}]'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .' - 设置CC攻击防护规则(**scene**参数值为**custom_cc**),对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **scene**:String类型 | 必选 | 防护类型。设置CC攻击防护规则时,固定为**custom_cc**。'."\n"
- .' - **conditions**:Array类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
- ."\n"
- .' - **key**:匹配字段。取值范围:**URL**、**IP**、**Referer**、**User-Agent**、**Params**、**Cookie**、**Content-Type**、**Content-Length**、**X-Forwarded-For**、**Post-Body**、**Http-Method**、**Header**、**URLPath**。'."\n"
- ."\n"
- .' - **opCode**:逻辑符。取值:'."\n"
- ."\n"
- .' > 并不是每一个自定义规则的匹配字段(**key**)都能对应配置全部的逻辑符(**opcode**)。关于不同匹配字段支持使用的逻辑符,请以[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)自定义规则中匹配字段和逻辑符的关联关系为准。'."\n"
- .' '."\n"
- .' - **11**:表示等于。'."\n"
- .' - **10**:表示不等于。'."\n"
- .' - **41**:表示等于多值之一。'."\n"
- .' - **50**:表示不等于任一值。'."\n"
- .' - **1**:表示包含。'."\n"
- .' - **0**:表示不包含。'."\n"
- .' - **51**:表示包含多值之一。'."\n"
- .' - **52**:表示不包含任一值。'."\n"
- .' - **82**:表示存在。'."\n"
- .' - **2**:表示不存在。'."\n"
- .' - **21**:表示长度等于。'."\n"
- .' - **22**:表示长度大于。'."\n"
- .' - **20**:表示长度小于。'."\n"
- .' - **60**:表示正则不匹配。'."\n"
- .' - **61**:表示正则匹配。'."\n"
- .' - **72**:表示前缀匹配。'."\n"
- .' - **81**:表示后缀匹配。'."\n"
- .' - **80**:表示内容为空。'."\n"
- ."\n"
- .' - **values**:匹配内容。根据需要填写相应的内容,以String类型表示。'."\n"
- ."\n"
- .' > 匹配条件参数中的逻辑符(**opCode**)、匹配内容(**values**)参数取值范围与所指定的匹配字段(**key**)相关。'."\n"
- ."\n"
- .' - **action**:String类型 | 必选 | 处置动作。取值:'."\n"
- ."\n"
- .' - **monitor**:表示观察。'."\n"
- .' - **captcha**:表示滑块。'."\n"
- .' - **captcha_strict**:表示严格滑块。'."\n"
- .' - **js**:表示JS验证。'."\n"
- .' - **block**:表示阻断。'."\n"
- ."\n"
- .' - **ratelimit**:JSON格式 | 必选 | 频率设置。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
- ."\n"
- .' - **target**:String类型 | 必选 | 统计对象类型。取值:'."\n"
- .' - **remote_addr**:表示IP。'."\n"
- .' - **cookie.acw_tc**:表示Session。'."\n"
- .' - **queryarg**:表示自定义参数。选择自定义参数时,必须在**subkey**参数中填写需要统计的自定义参数名称。'."\n"
- .' - **cookie**:表示自定义cookie。选择自定义cookie时,必选在**subkey**参数中填写需要统计的cookie内容。'."\n"
- .' - **header**:表示自定义header。选择自定义header时,必选在**subkey**参数中填写需要统计的header内容。'."\n"
- .' - **subkey**:String类型 | 可选 | 当**target**参数值为**cookie**、**header**或**queryarg**时,必选在**subkey**参数中填写对应的信息。'."\n"
- .' - **interval**: Integer类型 | 必选 | 统计时长(单位:秒),即访问次数的统计周期,与阈值(**threshold**)参数配合。'."\n"
- .' - **threshold**:Integer类型 | 必选 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。'."\n"
- .' - **status**:JSON格式 | 可选 | 响应码频率设置。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
- .' - **code**:Integer类型 | 必选 | 指定响应码。'."\n"
- .' - **count**:Integer类型 | 可选 | 出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则。取值范围:1~999999999。**count**参数与**ratio**参数两者选其一,不可同时配置。'."\n"
- .' - **ratio**:Integer类型 | 可选 | 出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则。取值范围:1~100。**count**参数与**ratio**参数两者选其一,不可同时配置。'."\n"
- .' - **scope**:String类型 | 必选 | 生效范围。取值:'."\n"
- .' - **rule**:表示当前特征匹配范围内。'."\n"
- .' - **domain**:表示当前规则作用的域名范围内。'."\n"
- .' - **ttl**:Integer类型 | 必选 | 处置动作的生效时长(单位:秒)。取值范围:60~86400。'."\n"
- ."\n"
- .' - **示例**'."\n"
- ."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name":"CC防护",'."\n"
- .' "conditions":[{"opCode":1,"key":"URL","values":"/example"}],'."\n"
- .' "action":"block", '."\n"
- .' "scene":"custom_cc", '."\n"
- .' "ratelimit":{'."\n"
- .' "target": "remote_addr", '."\n"
- .' "interval": 300,'."\n"
- .' "threshold": 2000,'."\n"
- .' "status": {'."\n"
- .' "code": 404,'."\n"
- .' "count": 200'."\n"
- .' },'."\n"
- .' "scope": "rule",'."\n"
- .' "ttl": 1800'."\n"
- .' }'."\n"
- .' }'."\n"
- .' ```'."\n"
- ."\n"
- .'- 网站白名单规则配置(**whitelist**)对应的JSON字符串中包含以下参数:'."\n"
- ."\n"
- .' - **name**:String类型 | 必选 | 规则名称。'."\n"
- .' - **tags**:Array类型 | 必选 | 不检测模块。不同类型的白名单规则支持设置的不检测模块(**tags**)不同,具体说明如下:'."\n"
- ."\n"
- .' > **tags**的取值只能包含具体白名单类型下罗列的取值。例如,**tags**取值不允许同时包含**regular**和**cc**,因为**regular**属于Web入侵防护白名单下的取值、**cc**属于访问控制/限流白名单下的取值。'."\n"
- ."\n"
- .' - 如需设置全局白名单,**tags**取值:'."\n"
- .' - **waf**:表示不检测所有防护模块。'."\n"
- ."\n"
- .' - 如需设置Web入侵防护白名单,**tags**取值(可设置多个):'."\n"
- .' - **regular**:表示不检测规则防护引擎(包含所有防护规则)。'."\n"
- .' - **regular_rule**:表示不检测规则防护引擎中的指定防护规则(如选择该取值,必须通过**regularRules**参数设置不检测的规则ID)。'."\n"
- .' - **regular_type**:表示不检测规则防护引擎中指定类型的防护规则(如选择该取值,必须通过**regularTypes**参数设置不检测的规则类型)。'."\n"
- .' - **deeplearning**:表示不检测深度学习引擎。'."\n"
- ."\n"
- .' - 如需设置访问控制/限流白名单,**tags**取值(可设置多个):'."\n"
- .' - **cc**:表示不检测CC安全防护模块。'."\n"
- .' - **customrule**:表示不检测自定义防护策略。'."\n"
- .' - **blacklist**:表示不检测IP黑名单模块。'."\n"
- .' - **antiscan**:表示不检测扫描防护模块。'."\n"
- ."\n"
- .' - 如需设置数据安全白名单,**tags**取值(可设置多个):'."\n"
- .' - **dlp**:表示不检测防敏感信息泄露模块。'."\n"
- .' - **tamperproof**:表示不检测网站防篡改模块。'."\n"
- .' - **account**:表示不检测账户安全模块。'."\n"
- ."\n"
- .' - 如需设置Bot防护白名单,**tags**取值(可设置多个):'."\n"
- .' - **bot_intelligence**:表示不检测爬虫威胁情报模块。'."\n"
- .' - **bot_algorithm**:表示不检测典型爬虫行为识别模块。'."\n"
- .' - **bot_wxbb**:表示不检测App防护模块。'."\n"
- .' - **antifraud**:表示不检测数据风控模块。'."\n"
- ."\n"
- .' - **regularRules**:Array类型 | 可选 | 不检测的防护规则ID列表。如果**tags**参数的取值中包含**regular_rule**,必须填写该参数。您可以在[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)的**防护规则组**页面,通过**新建规则组**,查询WAF包含的所有Web攻击防护规则,获取相关规则的ID。具体操作,请参见[自定义防护规则组](~~99262~~)。'."\n"
- .' - **regularTypes**:Array类型 | 可选 | 不检测的防护规则类型列表。如果**tags**参数取值中包含**regular_type**,必须填写该参数。取值:'."\n"
- .' - **sqli**: 表示SQL注入。'."\n"
- .' - **xss**: 表示跨站脚本。'."\n"
- .' - **code_exec**: 表示代码执行。'."\n"
- .' - **lfilei**: 表示本地文件包含。'."\n"
- .' - **rfilei**: 表示远程文件包含。'."\n"
- .' - **webshell**: 表示WebShell。'."\n"
- .' - **vvip**: 表示定制的防护规则。'."\n"
- .' - **other**: 表示其他类型。'."\n"
- .' '."\n"
- .' - **conditions**:Array类型 | 必选 | 匹配条件,支持填写最多五个匹配条件。以JSON字符串格式进行描述,具体包含以下参数:'."\n"
- ."\n"
- .' - **key**:匹配字段。取值范围:**URL**、**IP**、**Referer**、**User-Agent**、**Params**、**Cookie**、**Content-Type**、**Content-Length**、**X-Forwarded-For**、**Post-Body**、**Http-Method**、**Header**、**URLPath**。'."\n"
- ."\n"
- .' - **opCode**:逻辑符。取值:'."\n"
- ."\n"
- .' > 并不是每一个自定义规则的匹配字段(**key**)都能对应配置全部的逻辑符(**opcode**)。关于不同匹配字段支持使用的逻辑符,请以[WAF控制台](https://yundun.console.aliyun.com/?p=wafnext)自定义规则中匹配字段和逻辑符的关联关系为准。'."\n"
- ."\n"
- .' - **11**:表示等于。'."\n"
- .' - **10**:表示不等于。'."\n"
- .' - **41**:表示等于多值之一。'."\n"
- .' - **50**:表示不等于任一值。'."\n"
- .' - **1**:表示包含或属于。'."\n"
- .' - **0**:表示不包含或不属于。'."\n"
- .' - **51**:表示包含多值之一。'."\n"
- .' - **52**:表示不包含任一值。'."\n"
- .' - **82**:表示存在。'."\n"
- .' - **2**:表示不存在。'."\n"
- .' - **21**:表示长度等于。'."\n"
- .' - **22**:表示长度大于。'."\n"
- .' - **20**:表示长度小于。'."\n"
- .' - **60**:表示正则不匹配。'."\n"
- .' - **61**:表示正则匹配。'."\n"
- .' - **72**:表示前缀匹配。'."\n"
- .' - **81**:表示后缀匹配。'."\n"
- .' - **80**:表示内容为空。'."\n"
- .' - **30**:表示值小于。'."\n"
- .' - **31**:表示值大于。'."\n"
- ."\n"
- .' - **values**:匹配内容。根据需要填写相应的内容,以String类型表示。'."\n"
- ."\n"
- .' > 匹配条件参数中的逻辑符(**opCode**)、匹配内容(**values**)参数取值范围与所指定的匹配字段(**key**)相关。'."\n"
- ."\n"
- .' - **示例**'."\n"
- .' '."\n"
- .' ```'."\n"
- .' {'."\n"
- .' "name": "test",'."\n"
- .' "tags": ["cc","customrule"],'."\n"
- .' "conditions":[{"opCode":1,"key":"URL","values":"/example"}],'."\n"
- .' }'."\n"
- .' ``` '."\n"
- ."\n\n"
- .'调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyDomainIpv6StatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyDomainIpv6StatusResponse>","errorExample":""}]',
+ 'title' => '开启或关闭域名配置的IPv6安全防护功能',
+ 'summary' => '开启或关闭指定域名配置的IPv6安全防护功能。',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDomainIpv6Status'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyDomainIpv6Status',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ModifyLogRetrievalStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => '要操作的WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => '已添加的域名名称。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已经添加的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
+ ],
+ [
+ 'name' => 'Enabled',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否开启日志检索功能,取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭。'."\n"
+ ."\n"
+ .'- **1**:表示开启。'."\n"
+ ."\n"
+ .'> 只有为域名开启日志检索功能后,WAF才会记录该域名的访问请求日志。如果您关闭日志检索功能,则处于关闭状态期间的访问请求日志不会被记录;即使重新开启日志检索功能,您也无法查询到停用期间的访问请求日志。'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyLogRetrievalStatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyLogRetrievalStatusResponse>","errorExample":""}]',
+ 'title' => '为指定域名开启或关闭日志检索功能',
+ 'summary' => '为指定域名开启或关闭日志检索功能。',
+ 'description' => '日志检索功能已经升级为WAF日志服务功能,更多信息,请参见[WAF日志服务](~~100503~~)。该接口仅适用于保有日志检索功能的存量用户。如果您需要为域名开启或关闭WAF日志服务,请调用[ModifyLogServiceStatus](~~162742~~)。',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'ModifyProtectionModuleRule' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyLogRetrievalStatus'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyLogRetrievalStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
],
+ ],
+ 'ModifyLogServiceStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5506,129 +5248,299 @@
'systemTags' => [],
'parameters' => [
[
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
+ ],
+ [
'name' => 'Domain',
'in' => 'query',
+ 'schema' => ['description' => '已添加的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
+ ],
+ [
+ 'name' => 'Enabled',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否开启日志采集功能,取值:'."\n"
+ ."\n"
+ .'- **0**:关闭'."\n"
+ ."\n"
+ .'- **1**:开启', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => "\n"
+ .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '要修改规则配置的域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF进行防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ ['errorCode' => 'Forbbiden', 'errorMessage' => 'User not authorized to operate on the specified resource.', 'description' => ''],
+ ],
+ 500 => [
+ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyLogServiceStatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyLogServiceStatusResponse>","errorExample":""}]',
+ 'title' => '开启或关闭指定域名配置的日志采集功能',
+ 'summary' => '调用ModifyLogServiceStatus接口开启或关闭指定域名配置的日志采集功能。',
+ 'description' => '为域名配置开启日志采集功能前请确认WAF实例已开通日志实时查询分析功能并且授权WAF将记录的日志分发到您专属的日志服务Logstore中。'."\n"
+ ."\n"
+ .'更多详细信息,请参见[日志实时查询分析](~~100503~~)。',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyLogServiceStatus'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyLogServiceStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ 'ModifyProtectionModuleMode' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => '已添加的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
+ ],
[
'name' => 'DefenseType',
'in' => 'query',
+ 'schema' => ['description' => '防护功能模块,取值:'."\n"
+ ."\n"
+ .'- **waf**:正则防护引擎'."\n"
+ ."\n"
+ .'- **dld**:大数据深度学习引擎'."\n"
+ ."\n"
+ .'- **ac_cc**:CC安全防护'."\n"
+ ."\n"
+ .'- **antifraud**:数据风控'."\n"
+ ."\n"
+ .'- **normalized**:主动防御', 'type' => 'string', 'required' => true, 'example' => 'waf'],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => ['description' => '防护模式。'."\n"
+ ."\n"
+ .'> 根据所指定的防护模块(**DefenseType**)不同,防护模式(**Mode**)值的含义有所不同。'."\n"
+ ."\n"
+ .'- 正则防护引擎(**waf**)'."\n"
+ .' - **0**:表示拦截模式。'."\n"
+ .' - **1**:表示告警模式。'."\n"
+ .'- 大数据深度学习引擎(**dld**)'."\n"
+ .' - **0**:表示告警模式。'."\n"
+ .' - **1**:表示拦截模式。'."\n"
+ .'- CC安全防护(**ac_cc**)'."\n"
+ .' - **0**:表示防护模式。'."\n"
+ .' - **1**:表示防护-紧急模式。'."\n"
+ .'- 数据风控(**antifraud**)'."\n"
+ .' - **0**:表示告警模式。'."\n"
+ .' - **1**:表示拦截模式。'."\n"
+ .' - **2**:表示强拦截模式。'."\n"
+ .'- 主动防御(**normalized**)'."\n"
+ .' - **1**:表示拦截模式。'."\n"
+ .' - **0**:表示告警模式。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '0'],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => "\n"
+ .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'description' => '要修改的规则配置所属防护功能模块。取值:'."\n"
- ."\n"
- .'- **tamperproof**:表示配置网站防篡改规则。'."\n"
- ."\n"
- .'- **dlp**:表示配置防敏感信息泄漏规则。'."\n"
- ."\n"
- .'- **ng_account**:表示配置账户安全规则。'."\n"
- ."\n"
- .'- **bot_intelligence**:表示配置爬虫威胁情报。'."\n"
- ."\n"
- .'- **antifraud**:表示配置数据风控防护请求。'."\n"
- ."\n"
- .'- **antifraud_js**:表示配置数据风控JS插入页面。'."\n"
- ."\n"
- .'- **bot_algorithm**:表示配置Bot管理的智能算法规则。'."\n"
- ."\n"
- .'- **bot_wxbb_pkg**:表示配置App防护的版本防护规则。'."\n"
- ."\n"
- .'- **bot_wxbb**:表示配置App防护的路径防护规则。'."\n"
- ."\n"
- .'- **ac_blacklist**:表示配置IP黑名单规则。'."\n"
- ."\n"
- .'- **ac_highfreq**:表示配置高频Web攻击IP自动封禁规则。'."\n"
- ."\n"
- .'- **ac_dirscan**:表示配置目录扫描防护规则。'."\n"
- ."\n"
- .'- **ac_custom**:表示配置自定义防护策略规则。'."\n"
- ."\n"
- .'- **whitelist**:表示配置白名单规则。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ac_custom',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
+ ],
],
],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyProtectionModuleModeResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyProtectionModuleModeResponse>","errorExample":""}]',
+ 'title' => '修改WAF防护模式',
+ 'summary' => '修改WAF防护模式,如正则防护引擎、大数据深度学习引擎、CC安全防护、数据风控、主动防御等模块。',
+ 'description' => '您可以通过设置**DefenseType**参数值指定防护功能模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionModuleMode'],
+ ],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionModuleMode',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ModifyProtectionModuleRule' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => ['description' => '要修改规则配置的域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已添加到WAF进行防护的域名。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
+ ],
+ [
+ 'name' => 'DefenseType',
+ 'in' => 'query',
+ 'schema' => ['description' => '要修改的规则配置所属防护功能模块。取值:'."\n"
+ ."\n"
+ .'- **tamperproof**:表示配置网站防篡改规则。'."\n"
+ ."\n"
+ .'- **dlp**:表示配置防敏感信息泄漏规则。'."\n"
+ ."\n"
+ .'- **ng_account**:表示配置账户安全规则。'."\n"
+ ."\n"
+ .'- **bot_intelligence**:表示配置爬虫威胁情报。'."\n"
+ ."\n"
+ .'- **antifraud**:表示配置数据风控防护请求。'."\n"
+ ."\n"
+ .'- **antifraud_js**:表示配置数据风控JS插入页面。'."\n"
+ ."\n"
+ .'- **bot_algorithm**:表示配置Bot管理的智能算法规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb_pkg**:表示配置App防护的版本防护规则。'."\n"
+ ."\n"
+ .'- **bot_wxbb**:表示配置App防护的路径防护规则。'."\n"
+ ."\n"
+ .'- **ac_blacklist**:表示配置IP黑名单规则。'."\n"
+ ."\n"
+ .'- **ac_highfreq**:表示配置高频Web攻击IP自动封禁规则。'."\n"
+ ."\n"
+ .'- **ac_dirscan**:表示配置目录扫描防护规则。'."\n"
+ ."\n"
+ .'- **ac_custom**:表示配置自定义防护策略规则。'."\n"
+ ."\n"
+ .'- **whitelist**:表示配置白名单规则。', 'type' => 'string', 'required' => true, 'example' => 'ac_custom'],
+ ],
[
'name' => 'Rule',
'in' => 'query',
- 'schema' => [
- 'description' => '规则配置内容,以一系列参数构造的JSON格式转化成字符串。'."\n"
- ."\n"
- .'> 根据所指定的防护功能模块配置(**DefenseType**)不同,具体涉及的参数有所不同。详细信息,请参见Rule参数具体说明。',
- 'type' => 'string',
- 'required' => true,
- 'example' => ' {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}',
- ],
+ 'schema' => ['description' => '规则配置内容,以一系列参数构造的JSON格式转化成字符串。'."\n"
+ ."\n"
+ .'> 根据所指定的防护功能模块配置(**DefenseType**)不同,具体涉及的参数有所不同。详细信息,请参见Rule参数具体说明。', 'type' => 'string', 'required' => true, 'example' => ' {"action":"monitor","name":"test","scene":"custom_acl","conditions":[{"opCode":1,"key":"URL","values":"/example"}]}'],
],
[
'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => '要修改的规则配置对应的规则ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeProtectionModuleRules](~~100398~~)查询所有已创建的规则的ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '369998',
- ],
+ 'schema' => ['description' => '要修改的规则配置对应的规则ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeProtectionModuleRules](~~100398~~)查询所有已创建的规则的ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '369998'],
],
[
'name' => 'LockVersion',
'in' => 'query',
- 'schema' => [
- 'description' => '要修改的规则配置的版本号。'."\n"
- ."\n"
- .'> 您可以调用[DescribeProtectionModuleRules](~~100398~~)查询规则配置的版本号。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '2',
- ],
+ 'schema' => ['description' => '要修改的规则配置的版本号。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeProtectionModuleRules](~~100398~~)查询规则配置的版本号。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '2'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-0xldbqt****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aek2lav****s77i',
- ],
+ 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2lav****s77i'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -5636,11 +5548,7 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
@@ -6173,388 +6081,100 @@
.'调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
- ],
- 'ModifyProtectionRuleStatus' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '93408',
- 'abilityTreeNodes' => [
- 'FEATUREwafNZKQ0J',
- ],
- ],
- 'parameters' => [
- [
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '已添加的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
- ],
- [
- 'name' => 'DefenseType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '防护功能模块,取值:'."\n"
- ."\n"
- .'- **tamperproof**:网站防篡改'."\n"
- ."\n"
- .'- **bot_crawler**:合法爬虫中的合法搜索引擎白名单'."\n"
- ."\n"
- .'- **bot_intelligence**:爬虫威胁情报'."\n"
- ."\n"
- .'- **ac_custom**:自定义防护策略'."\n"
- ."\n"
- .'- **whitelist**:网站白名单',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tamperproof',
- ],
- ],
- [
- 'name' => 'RuleId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '配置规则ID。'."\n"
- ."\n"
- .'> 调用[DescribeProtectionModuleRules](~~100398~~)接口可以查询到所有规则ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '42755',
- ],
- ],
- [
- 'name' => 'RuleStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => '配置规则状态。取值:'."\n"
- ."\n"
- .'- **0**:禁用'."\n"
- .'- **1**:启用',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'LockVersion',
- 'in' => 'query',
- 'schema' => [
- 'description' => '规则配置记录版本号。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '2',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
- ],
- ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionModuleRule'],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyProtectionRuleStatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyProtectionRuleStatusResponse>","errorExample":""}]',
- 'title' => '启用或禁用域名配置WAF防护功能模块',
- 'summary' => '启用或禁用域名WAF防护功能模块,如网站防篡改、合法爬虫、爬虫威胁情报、自定义防护策略、网站白名单。',
- 'description' => '您可以通过设置**DefenseType**参数值指定防护功能模块配置。具体参数值的含义,请参见请求参数**DefenseType**的描述。',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeDomainRuleGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
+ 'ramActions' => [
[
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要查询的域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-tl32ast****',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aek2oij****hbfi',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RuleGroupId' => [
- 'description' => '域名绑定的防护规则组的ID。取值:'."\n"
- ."\n"
- .'- **1011**:表示WAF内置的严格规则组。'."\n"
- .'- **1012**:表示WAF内置的中等规则组。'."\n"
- .'- **1013**:表示WAF内置的宽松规则组。'."\n"
- ."\n"
- .'其他取值表示您自定义的规则组的ID。'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1012',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
- 'WafAiStatus' => [
- 'description' => '智能规则托管功能的启用状态。取值:'."\n"
- ."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**:表示开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionModuleRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RuleGroupId\\": 1012,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\",\\n \\"WafAiStatus\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainRuleGroupResponse>\\n <RuleGroupId>1012</RuleGroupId>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n <WafAiStatus>1</WafAiStatus>\\n</DescribeDomainRuleGroupResponse>","errorExample":""}]',
- 'title' => 'DescribeDomainRuleGroup',
- 'summary' => '调用DescribeDomainRuleGroup查询域名绑定的防护规则组的ID及智能规则托管功能的启用状态。',
- 'description' => '本接口用于查询规则防护引擎下,指定域名绑定的防护规则组的ID及智能规则托管功能的启用状态。'."\n"
- .'请注意,为了确保系统的文档性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
],
- 'SetDomainRuleGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ModifyProtectionModuleStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'deprecated' => false,
'systemTags' => [],
'parameters' => [
[
- 'name' => 'Domains',
+ 'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '要设置防护规则组的域名列表。使用数组转化的字符串格式表示。'."\n"
- ."\n"
- .'支持同时设置多个域名,格式:`["<域名1>","<域名2>",……]`。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '["www.aliyundoc.com"]',
- ],
+ 'schema' => ['description' => '要操作的网站域名。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。'."\n"
+ ."\n", 'type' => 'string', 'required' => true, 'example' => 'www.aliyundoc.com'],
],
[
- 'name' => 'RuleGroupId',
+ 'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '为规则防护引擎设置要应用的防护规则组ID。取值:'."\n"
- ."\n"
- .'- **1011**:表示WAF内置的严格规则组。'."\n"
- .'- **1012**:表示WAF内置的中等规则组。'."\n"
- .'- **1013**:表示WAF内置的宽松规则组。'."\n"
- ."\n"
- .'除了以上内置规则组外,您还可以设置自定义规则组的ID。'."\n"
- ."\n"
- .'> 您可以在[Web应用防火墙控制台](https://yundun.console.aliyun.com/?p=wafnext)的**防护规则组**页面,获取自定义规则组的ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '1012',
- ],
+ 'schema' => ['description' => '要操作的WAF防护功能模块。取值:'."\n"
+ ."\n"
+ .'- **waf**:表示规则防护引擎。'."\n"
+ .'- **dld**:表示深度学习引擎。'."\n"
+ .'- **tamperproof**:表示网站防篡改。'."\n"
+ .'- **dlp**:表示防敏感信息泄漏。'."\n"
+ .'- **normalized**:表示主动防御。'."\n"
+ .'- **bot_crawler**:表示合法爬虫。'."\n"
+ .'- **bot_intelligence**:表示爬虫威胁情报。'."\n"
+ .'- **antifraud**:表示数据风控。'."\n"
+ .'- **bot_algorithm**:表示智能算法。'."\n"
+ .'- **bot_wxbb**:表示App防护。'."\n"
+ .'- **bot_wxbb_pkg**:表示App防护中的版本防护。'."\n"
+ .'- **ac_cc**:表示CC安全防护。'."\n"
+ .'- **ac_blacklist**:表示IP黑名单。'."\n"
+ .'- **ac_highfreq**:表示扫描防护中的高频Web攻击封禁。'."\n"
+ .'- **ac_dirscan**:表示扫描防护中的目录遍历防护。'."\n"
+ .'- **ac_scantools**:表示扫描防护中的扫描工具封禁。'."\n"
+ .'- **ac_collaborative**:表示扫描防护中的协同防御。'."\n"
+ .'- **ac_custom**:表示自定义防护策略。'."\n"
+ ."\n"
+ .'> 只支持设置一个功能模块。', 'type' => 'string', 'required' => true, 'example' => 'waf'],
],
[
- 'name' => 'WafVersion',
+ 'name' => 'ModuleStatus',
'in' => 'query',
- 'schema' => [
- 'description' => '为当前配置设置一个版本号(用于实现乐观锁控制)。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => '设置防护功能模块的开关状态。取值:'."\n"
+ ."\n"
+ .'- **0**:表示关闭功能模块。'."\n"
+ .'- **1**:表示开启功能模块。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-tl32ast****',
- ],
+ 'schema' => ['description' => '要操作的WAF实例的ID。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-zz11sr5****'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '网站域名在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
- ],
- [
- 'name' => 'WafAiStatus',
- 'in' => 'query',
- 'schema' => [
- 'description' => '设置智能规则托管功能的启用状态。取值:'."\n"
- .'- **0**:表示关闭。'."\n"
- .'- **1**(默认):表示开启。'."\n"
- ."\n"
- .'智能规则托管表示由WAF智能学习历史业务流量的行为模式,识别可能对正常业务产生误拦截的防护规则,并通过自动设置Web入侵防护白名单,在特定业务防护场景下屏蔽对应防护规则。等误报风险消除后,再恢复使用被屏蔽的防护规则。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekztsixucs****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示海外地区。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -6562,38 +6182,34 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<SetDomainRuleGroupResponse>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</SetDomainRuleGroupResponse>","errorExample":""}]',
- 'title' => '为域名配置防护规则组',
- 'summary' => '为指定域名配置选择正则防护引擎使用的防护规则组,除系统默认的三种防护规则组外,也可以选择自定义规则组。',
- 'description' => '本接口用于为指定域名设置规则防护引擎的防护规则组及智能规则托管功能的启用状态。'."\n"
- .'设置防护规则组时,除了可以使用WAF内置的正常、严格和宽松防护规则组,您还可以选择自定义规则组。请注意,为确保系统稳定性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。'."\n"
- ."\n"
- .'><notice> 目前暂不支持通过API创建自定义规则组。您必须先在[Web应用防火墙控制台](https://yundun.console.aliyun.com/?p=wafnext)的**系统管理** > **防护规则组**页面,新建规则组并获得对应规则组ID后,才可以调用本接口,为域名应用自定义规则组。'."\n"
- .'></notice>',
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","type":"json"}]',
+ 'title' => '打开或关闭指定WAF防护功能',
+ 'summary' => '打开或关闭指定的WAF防护功能,如Web入侵防护、数据安全、高级防护、Bot管理、访问控制或限流。',
+ 'description' => '本接口用于开启或关闭指定的WAF防护功能模块。'."\n"
+ .'您可以通过设置**DefenseType**参数值指定要操作的某个防护功能模块。具体参数值的含义,请参见请求参数**DefenseType**的描述。'."\n"
+ .'请注意,为了确保系统的文档性,对单用户QPS限制为20次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
."\n"
.'调用API的请求格式,请参见本文**示例**中的请求示例。',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionModuleStatus'],
+ ],
+ ],
+ 'ramActions' => [],
],
'ModifyProtectionRuleCacheStatus' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6602,80 +6218,47 @@
'systemTags' => [
'operationType' => 'get',
'abilityTreeCode' => '93407',
- 'abilityTreeNodes' => [
- 'FEATUREwafI1HM4C',
- ],
+ 'abilityTreeNodes' => ['FEATUREwafI1HM4C'],
],
'parameters' => [
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '已添加的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
+ 'schema' => ['description' => '已添加的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => '配置规则ID。'."\n"
- .'> 调用[DescribeProtectionModuleRules](~~100398~~)接口可以查询到所有规则ID。'."\n",
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '42755',
- ],
+ 'schema' => ['description' => '配置规则ID。'."\n"
+ .'> 调用[DescribeProtectionModuleRules](~~100398~~)接口可以查询到所有规则ID。'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '42755'],
],
[
'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '防护功能模块。固定取值:**tamperproof**。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'tamperproof',
- ],
+ 'schema' => ['description' => '防护功能模块。固定取值:**tamperproof**。', 'type' => 'string', 'required' => true, 'example' => 'tamperproof'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => "\n"
- .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => "\n"
+ .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
],
'responses' => [
@@ -6683,11 +6266,7 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0'],
],
],
],
@@ -6698,118 +6277,104 @@
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DeleteProtectionModuleRule' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2024-06-25T11:40:13.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionRuleCacheStatus'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionRuleCacheStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ModifyProtectionRuleStatus' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '93408',
+ 'abilityTreeNodes' => ['FEATUREwafNZKQ0J'],
+ ],
'parameters' => [
[
'name' => 'Domain',
'in' => 'query',
- 'schema' => [
- 'description' => '要删除防护规则的域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.aliyundoc.com',
- ],
+ 'schema' => ['description' => '已添加的域名名称。', 'type' => 'string', 'required' => true, 'example' => 'www.example.com'],
],
[
'name' => 'DefenseType',
'in' => 'query',
- 'schema' => [
- 'description' => '要删除的防护规则所属防护功能模块。取值:'."\n"
- ."\n"
- .'- **waf-codec**:表示规则防护引擎解码设置。'."\n"
- ."\n"
- .'- **tamperproof**:表示网站防篡改规则配置。'."\n"
- ."\n"
- .'- **dlp**:表示防敏感信息泄漏规则配置。'."\n"
- ."\n"
- .'- **ng_account**:表示账户安全规则配置。'."\n"
- ."\n"
- .'- **antifraud**:表示数据风控防护请求配置。'."\n"
- ."\n"
- .'- **antifraud_js**:表示数据风控JS插入页面配置。'."\n"
- ."\n"
- .'- **bot_algorithm**:表示Bot管理的智能算法规则。'."\n"
- ."\n"
- .'- **bot_wxbb_pkg**:表示App防护的版本防护规则。'."\n"
- ."\n"
- .'- **bot_wxbb**:表示App防护的路径防护规则。'."\n"
- ."\n"
- .'- **ac_custom**:表示自定义防护策略规则配置。'."\n"
- ."\n"
- .'- **whitelist**:表示白名单规则配置。'."\n",
- 'type' => 'string',
- 'required' => true,
- 'example' => 'ac_custom',
- ],
+ 'schema' => ['description' => '防护功能模块,取值:'."\n"
+ ."\n"
+ .'- **tamperproof**:网站防篡改'."\n"
+ ."\n"
+ .'- **bot_crawler**:合法爬虫中的合法搜索引擎白名单'."\n"
+ ."\n"
+ .'- **bot_intelligence**:爬虫威胁情报'."\n"
+ ."\n"
+ .'- **ac_custom**:自定义防护策略'."\n"
+ ."\n"
+ .'- **whitelist**:网站白名单', 'type' => 'string', 'required' => true, 'example' => 'tamperproof'],
],
[
'name' => 'RuleId',
'in' => 'query',
- 'schema' => [
- 'description' => '要删除的防护规则的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeProtectionModuleRules](~~100398~~)查询指定防护功能模块下的所有规则ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '42754',
- ],
+ 'schema' => ['description' => '配置规则ID。'."\n"
+ ."\n"
+ .'> 调用[DescribeProtectionModuleRules](~~100398~~)接口可以查询到所有规则ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '42755'],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'RuleStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-mp9153****',
- ],
+ 'schema' => ['description' => '配置规则状态。取值:'."\n"
+ ."\n"
+ .'- **0**:禁用'."\n"
+ .'- **1**:启用', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'LockVersion',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
+ 'schema' => ['description' => '规则配置记录版本号。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '2'],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf_elasticity-cn-0xldbqt****'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => ['description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
+ ."\n"
+ .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
],
'responses' => [
@@ -6817,101 +6382,85 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => '1557B42F-B889-460A-B17F-1DE5C5AD7FF2',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1557B42F-B889-460A-B17F-1DE5C5AD7FF2\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteProtectionModuleRuleResponse>\\n <RequestId>1557B42F-B889-460A-B17F-1DE5C5AD7FF2</RequestId>\\n</DeleteProtectionModuleRuleResponse>","errorExample":""}]',
- 'title' => '删除防护配置模块的规则',
- 'summary' => '调用DeleteProtectionModuleRule删除指定防护模块中配置的规则。',
- 'description' => '本接口用于删除指定防护模块中配置的规则。'."\n"
- .'请注意,为确保系统稳定性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyProtectionRuleStatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyProtectionRuleStatusResponse>","errorExample":""}]',
+ 'title' => '启用或禁用域名配置WAF防护功能模块',
+ 'summary' => '启用或禁用域名WAF防护功能模块,如网站防篡改、合法爬虫、爬虫威胁情报、自定义防护策略、网站白名单。',
+ 'description' => '您可以通过设置**DefenseType**参数值指定防护功能模块配置。具体参数值的含义,请参见请求参数**DefenseType**的描述。',
+ 'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
- ],
- 'DescribeProtectionModuleCodeConfig' => [
- 'methods' => [
- 'post',
- 'get',
+ 'changeSet' => [
+ ['createdAt' => '2024-06-25T11:40:13.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionRuleStatus'],
+ ],
],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionRuleStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'MoveResourceGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'CodeType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要查询的代码类型。取值固定为**14**,表示查询适用于WAF地域级IP黑名单配置的地域代码。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '14',
- ],
- ],
- [
- 'name' => 'CodeValue',
+ 'name' => 'ResourceId',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的地域代码的类型。取值:'."\n"
- .'- **0**:表示查询中国境内地域的代码。'."\n"
- .'- **1**:表示查询中国境外地域的代码。'."\n"
- ."\n"
- .'不设置该参数表示查询所有类型。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
+ 'schema' => ['description' => '要操作的WAF资源的ID。'."\n"
+ ."\n"
+ .'您将网站域名接入WAF防护后,则该域名表示一个WAF资源。WAF资源在资源管理服务中使用资源ID(ResourceId)作为其唯一标识,WAF资源ID的命名方式为:`<InstanceId>~<Domain>`。具体说明如下:'."\n"
+ ."\n"
+ .'- `<InstanceId>`表示当前WAF实例的ID。您可以调用WAF API中的[DescribeInstanceInfo](~~140857~~)接口,查询当前WAF实例的ID。'."\n"
+ ."\n"
+ .'- `<Domain>`表示已接入WAF实例防护的网站域名。您可以调用WAF API中的[DescribeDomainList](~~255880~~)接口,查询所有已接入WAF实例防护的域名。'."\n"
+ ."\n"
+ .'- `<InstanceId>`和`<Domain>`之间使用`~`连接,即表示WAF域名资源的资源ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-09k1rd5****~www.example.com'],
],
[
- 'name' => 'InstanceId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-tl32ast****',
- ],
+ 'schema' => ['description' => 'WAF资源要转入的资源组的ID。'."\n"
+ ."\n"
+ .'您通过资源管理服务创建资源组后,资源管理服务会为资源组生成一个唯一标识,即资源组ID(ResourceGroupId)。'."\n"
+ ."\n"
+ .'您可以在[资源管理控制台](https://resourcemanager.console.aliyun.com/resource-groups)的**资源组**页面,查询所有资源组ID;或者调用资源管理服务提供的[ListResourceGroups](~~158855~~)接口,查询所有资源组ID。', 'type' => 'string', 'required' => true, 'example' => 'rg-atstuj3rtop****'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'ResourceType',
'in' => 'query',
- 'schema' => [
- 'description' => '网站域名在资源管理服务中所属的资源组ID。不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
+ 'schema' => ['description' => 'WAF资源的类型。唯一取值:**domain**,表示WAF的资源类型仅为域名。', 'type' => 'string', 'required' => true, 'example' => 'domain'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'type' => 'string',
- 'required' => false,
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -6919,810 +6468,109 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'CodeConfigs' => [
- 'description' => '地域代码的具体配置。使用JSON数组转化的字符串表示。JSON数组中的每个元素表示一种类型的地域代码,包含以下字段:'."\n"
- ."\n"
- .'- **code**:Integer类型 | 表示地域代码的类型。取值:**0**(表示中国境内地域代码) | **1**(表示中国境外地域代码)。'."\n"
- ."\n"
- .'- **name**:String类型 | 表示该类型包含的所有地域代码。不同地域代码间使用半角逗号(,)分隔。关于地域代码的具体含义,请参见**返回数据**表格下方的说明。'."\n"
- ."\n"
- .'- **env**:String类型 | 表示地域代码是否可用。取值:**online**(表示地域代码可用) | **offline**(表示地域代码不可用)。',
- 'type' => 'string',
- 'example' => '[{"code":0,"name":"310000,530000,150000,110000,TW_01,220000,510000,120000,640000,340000,370000,140000,440000,450000,650000,320000,360000,130000,410000,330000,460000,420000,430000,MO_01,620000,350000,540000,520000,210000,500000,610000,630000,HK_01,230000","env":"online"}]',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'BE3911B8-9D96-5B39-8875-503BBC9DA4BF',
- ],
+ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'C33EB3D5-AF96-43CA-9C7E-37A8****6A1E'],
],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"CodeConfigs\\": \\"[{\\\\\\"code\\\\\\":0,\\\\\\"name\\\\\\":\\\\\\"310000,530000,150000,110000,TW_01,220000,510000,120000,640000,340000,370000,140000,440000,450000,650000,320000,360000,130000,410000,330000,460000,420000,430000,MO_01,620000,350000,540000,520000,210000,500000,610000,630000,HK_01,230000\\\\\\",\\\\\\"env\\\\\\":\\\\\\"online\\\\\\"}]\\",\\n \\"RequestId\\": \\"BE3911B8-9D96-5B39-8875-503BBC9DA4BF\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeProtectionModuleCodeConfigResponse>\\r\\n\\t<RequestId>BE3911B8-9D96-5B39-8875-503BBC9DA4BF</RequestId>\\r\\n\\t<CodeConfigs>\\r\\n\\t\\t<code>0</code>\\r\\n\\t\\t<name>310000,530000,150000,110000,TW_01,220000,510000,120000,640000,340000,370000,140000,440000,450000,650000,320000,360000,130000,410000,330000,460000,420000,430000,MO_01,620000,350000,540000,520000,210000,500000,610000,630000,HK_01,230000</name>\\r\\n\\t\\t<env>online</env>\\r\\n\\t</CodeConfigs>\\r\\n</DescribeProtectionModuleCodeConfigResponse>","errorExample":""}]',
- 'title' => '获取WAF防护功能模块代码配置',
- 'summary' => '调用DescribeProtectionModuleCodeConfig查询WAF地域级IP黑名单中支持配置的地域代码。',
- 'description' => '本接口用于查询WAF地域级IP黑名单中支持配置的地域代码。'."\n"
- .'请注意,为确保系统稳定性,对单用户QPS限制为100次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => '**中国境内地域代码(`"code": 0`)含义说明**'."\n"
- ."\n"
- .'```'."\n"
- .'{'."\n"
- .' "310000": "上海市",'."\n"
- .' "610000": "陕西省",'."\n"
- .' "360000": "江西省",'."\n"
- .' "230000": "黑龙江省",'."\n"
- .' "530000": "云南省",'."\n"
- .' "140000": "山西省",'."\n"
- .' "440000": "广东省",'."\n"
- .' "320000": "江苏省",'."\n"
- .' "110000": "北京市",'."\n"
- .' "MO_01": "中国澳门",'."\n"
- .' "620000": "甘肃省",'."\n"
- .' "370000": "山东省",'."\n"
- .' "150000": "内蒙古自治区",'."\n"
- .' "450000": "广西壮族自治区",'."\n"
- .' "410000": "河南省",'."\n"
- .' "500000": "重庆市",'."\n"
- .' "120000": "天津市",'."\n"
- .' "630000": "青海省",'."\n"
- .' "460000": "海南省",'."\n"
- .' "640000": "宁夏回族自治区",'."\n"
- .' "330000": "浙江省",'."\n"
- .' "HK_01": "中国香港",'."\n"
- .' "420000": "湖北省",'."\n"
- .' "430000": "湖南省",'."\n"
- .' "130000": "河北省",'."\n"
- .' "510000": "四川省",'."\n"
- .' "350000": "福建省",'."\n"
- .' "210000": "辽宁省",'."\n"
- .' "220000": "吉林省",'."\n"
- .' "340000": "安徽省",'."\n"
- .' "520000": "贵州省",'."\n"
- .' "TW_01": "中国台湾"'."\n"
- .'}'."\n"
- .'```'."\n"
- ."\n"
- .'**中国境外地域代码(`"code": 1`)含义说明**'."\n"
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C33EB3D5-AF96-43CA-9C7E-37A8****6A1E\\"\\n}","type":"json"}]',
+ 'title' => '将资源移动到新的资源组',
+ 'summary' => '将一个WAF资源转移到其他资源组。',
+ 'description' => 'WAF 资源表示已接入 WAF 防护的域名。资源组(Resource Group)是在阿里云账号下进行资源分组管理的一种机制。资源组帮助您解决单个云账号内多项目或多应用的资源分组,以及用户授权管理的复杂性问题。接入 WAF 防护的域名资源默认属于默认资源组。您可以将 WAF 的域名资源转移到您自定义的资源组中,实现资源分组管理。'."\n"
."\n"
- .'```'."\n"
- .'{'."\n"
- .' "KE": "肯尼亚",'."\n"
- .' "KG": "吉尔吉斯斯坦",'."\n"
- .' "KH": "柬埔寨",'."\n"
- .' "KI": "基里巴斯",'."\n"
- .' "KM": "科摩罗",'."\n"
- .' "KN": "圣基茨和尼维斯联邦",'."\n"
- .' "KP": "朝鲜",'."\n"
- .' "KR": "韩国",'."\n"
- .' "KW": "科威特",'."\n"
- .' "KY": "开曼群岛",'."\n"
- .' "KZ": "哈萨克斯坦",'."\n"
- .' "LA": "老挝",'."\n"
- .' "LB": "黎巴嫩",'."\n"
- .' "LC": "圣卢西亚",'."\n"
- .' "LI": "列支敦士登",'."\n"
- .' "LK": "斯里兰卡",'."\n"
- .' "LR": "利比里亚",'."\n"
- .' "LS": "莱索托",'."\n"
- .' "LT": "立陶宛",'."\n"
- .' "LU": "卢森堡",'."\n"
- .' "LV": "拉脱维亚",'."\n"
- .' "LY": "利比亚",'."\n"
- .' "MA": "摩洛哥",'."\n"
- .' "MC": "摩纳哥",'."\n"
- .' "MD": "摩尔多瓦",'."\n"
- .' "ME": "黑山共和国",'."\n"
- .' "MF": "圣马丁",'."\n"
- .' "MG": "马达加斯加",'."\n"
- .' "MH": "马绍尔群岛",'."\n"
- .' "MK": "马其顿",'."\n"
- .' "ML": "马里",'."\n"
- .' "MM": "缅甸",'."\n"
- .' "MN": "蒙古",'."\n"
- .' "MP": "北马里亚纳群岛",'."\n"
- .' "MQ": "马提尼克岛",'."\n"
- .' "MR": "毛里塔尼亚",'."\n"
- .' "MS": "蒙塞拉特岛",'."\n"
- .' "MT": "马耳他",'."\n"
- .' "MU": "毛里求斯",'."\n"
- .' "MV": "马尔代夫",'."\n"
- .' "MW": "马拉维",'."\n"
- .' "MX": "墨西哥",'."\n"
- .' "MY": "马来西亚",'."\n"
- .' "MZ": "莫桑比克",'."\n"
- .' "NA": "纳米比亚",'."\n"
- .' "NC": "新喀里多尼亚",'."\n"
- .' "NE": "尼日尔",'."\n"
- .' "NF": "诺福克岛",'."\n"
- .' "NG": "尼日利亚",'."\n"
- .' "NI": "尼加拉瓜",'."\n"
- .' "NL": "荷兰",'."\n"
- .' "NO": "挪威",'."\n"
- .' "NP": "尼泊尔",'."\n"
- .' "NR": "瑙鲁",'."\n"
- .' "NU": "纽埃岛",'."\n"
- .' "NZ": "新西兰",'."\n"
- .' "GA": "加蓬",'."\n"
- .' "GB": "英国",'."\n"
- .' "WS": "萨摩亚群岛",'."\n"
- .' "GD": "格林纳达",'."\n"
- .' "GE": "格鲁吉亚",'."\n"
- .' "GF": "法属圭亚那",'."\n"
- .' "GG": "根西岛",'."\n"
- .' "GH": "加纳",'."\n"
- .' "GI": "直布罗陀",'."\n"
- .' "GL": "格陵兰岛",'."\n"
- .' "GM": "冈比亚共和国",'."\n"
- .' "GN": "几内亚",'."\n"
- .' "GP": "瓜德罗普",'."\n"
- .' "GQ": "赤道几内亚",'."\n"
- .' "GR": "希腊",'."\n"
- .' "GT": "危地马拉",'."\n"
- .' "GU": "关岛",'."\n"
- .' "GW": "几内亚比绍共和国",'."\n"
- .' "GY": "圭亚那",'."\n"
- .' "HN": "洪都拉斯",'."\n"
- .' "HR": "克罗地亚",'."\n"
- .' "HT": "海地",'."\n"
- .' "YE": "也门",'."\n"
- .' "HU": "匈牙利",'."\n"
- .' "YT": "马约特岛",'."\n"
- .' "ID": "印度尼西亚",'."\n"
- .' "IE": "爱尔兰",'."\n"
- .' "IL": "以色列",'."\n"
- .' "IM": "马恩岛",'."\n"
- .' "IN": "印度",'."\n"
- .' "IO": "英属印度洋领地",'."\n"
- .' "ZA": "南非",'."\n"
- .' "IQ": "伊拉克共和国",'."\n"
- .' "IR": "伊朗",'."\n"
- .' "IS": "冰岛",'."\n"
- .' "IT": "意大利",'."\n"
- .' "ZM": "赞比亚",'."\n"
- .' "JE": "泽西岛",'."\n"
- .' "ZW": "津巴布韦",'."\n"
- .' "JM": "牙买加",'."\n"
- .' "JO": "约旦",'."\n"
- .' "JP": "日本",'."\n"
- .' "SI": "斯洛文尼亚",'."\n"
- .' "BY": "白俄罗斯",'."\n"
- .' "SK": "斯洛伐克",'."\n"
- .' "BZ": "伯利兹",'."\n"
- .' "SL": "塞拉利昂",'."\n"
- .' "SM": "圣马力诺",'."\n"
- .' "SN": "塞内加尔",'."\n"
- .' "SO": "索马里",'."\n"
- .' "CA": "加拿大",'."\n"
- .' "SR": "苏里南",'."\n"
- .' "SS": "南苏丹",'."\n"
- .' "ST": "圣多美和普林西比",'."\n"
- .' "CD": "刚果民主共和国",'."\n"
- .' "CF": "中非共和国",'."\n"
- .' "SV": "萨尔瓦多",'."\n"
- .' "CG": "刚果",'."\n"
- .' "CH": "瑞士",'."\n"
- .' "SX": "荷属圣马丁",'."\n"
- .' "SY": "阿拉伯叙利亚共和国",'."\n"
- .' "CI": "科特迪瓦",'."\n"
- .' "SZ": "斯威士兰",'."\n"
- .' "CK": "库克群岛",'."\n"
- .' "CL": "智利",'."\n"
- .' "CM": "喀麦隆",'."\n"
- .' "CN": "中华人民共和国",'."\n"
- .' "CO": "哥伦比亚",'."\n"
- .' "TC": "特克斯和凯科斯岛",'."\n"
- .' "CR": "哥斯达黎加",'."\n"
- .' "TD": "乍得",'."\n"
- .' "CU": "古巴",'."\n"
- .' "CV": "佛得角",'."\n"
- .' "TG": "多哥",'."\n"
- .' "CW": "库拉索",'."\n"
- .' "TH": "泰国",'."\n"
- .' "CX": "澳大利亚圣诞岛",'."\n"
- .' "TJ": "塔吉克斯坦",'."\n"
- .' "CY": "塞浦路斯",'."\n"
- .' "CZ": "捷克共和国",'."\n"
- .' "TK": "托克劳群岛",'."\n"
- .' "TL": "东帝汶",'."\n"
- .' "TM": "土库曼斯坦",'."\n"
- .' "TN": "突尼斯",'."\n"
- .' "TO": "汤加",'."\n"
- .' "TR": "土耳其",'."\n"
- .' "TT": "特立尼达和多巴哥",'."\n"
- .' "DE": "德国",'."\n"
- .' "TV": "图瓦卢",'."\n"
- .' "DJ": "吉布提",'."\n"
- .' "TZ": "坦桑尼亚",'."\n"
- .' "DK": "丹麦",'."\n"
- .' "DM": "多米尼克国",'."\n"
- .' "DO": "多米尼加共和国",'."\n"
- .' "UA": "乌克兰",'."\n"
- .' "UG": "乌干达",'."\n"
- .' "DZ": "阿尔及利亚",'."\n"
- .' "UM": "美国本土外小岛屿",'."\n"
- .' "US": "美国",'."\n"
- .' "EC": "厄瓜多尔",'."\n"
- .' "EE": "爱沙尼亚",'."\n"
- .' "EG": "埃及",'."\n"
- .' "UY": "乌拉圭",'."\n"
- .' "UZ": "乌兹别克斯坦",'."\n"
- .' "VA": "梵蒂冈",'."\n"
- .' "VC": "圣文森特和格林纳丁斯",'."\n"
- .' "ER": "厄立特里亚",'."\n"
- .' "ES": "西班牙",'."\n"
- .' "VE": "委内瑞拉",'."\n"
- .' "ET": "埃塞俄比亚",'."\n"
- .' "VG": "英属维尔京群岛",'."\n"
- .' "VI": "美属维尔京群岛",'."\n"
- .' "VN": "越南",'."\n"
- .' "VU": "瓦努阿图",'."\n"
- .' "FI": "芬兰",'."\n"
- .' "FJ": "斐济",'."\n"
- .' "FK": "马尔维纳斯群岛",'."\n"
- .' "FM": "密克罗尼西亚联邦",'."\n"
- .' "FO": "法罗群岛",'."\n"
- .' "FR": "法国",'."\n"
- .' "WF": "瓦利斯群岛和富图纳群岛",'."\n"
- .' "OM": "阿曼",'."\n"
- .' "PA": "巴拿马",'."\n"
- .' "PE": "秘鲁",'."\n"
- .' "PF": "法属波利尼西亚",'."\n"
- .' "PG": "巴布亚新几内亚",'."\n"
- .' "PH": "菲律宾",'."\n"
- .' "PK": "巴基斯坦",'."\n"
- .' "PL": "波兰",'."\n"
- .' "PM": "圣皮埃尔和密克隆岛",'."\n"
- .' "PR": "波多黎各",'."\n"
- .' "PS": "巴勒斯坦",'."\n"
- .' "PT": "葡萄牙",'."\n"
- .' "PW": "帕劳",'."\n"
- .' "PY": "巴拉圭",'."\n"
- .' "QA": "卡塔尔",'."\n"
- .' "AD": "安道尔",'."\n"
- .' "AE": "阿拉伯联合酋长国",'."\n"
- .' "AF": "阿富汗",'."\n"
- .' "AG": "安提瓜和巴布达",'."\n"
- .' "AI": "安圭拉",'."\n"
- .' "AL": "阿尔巴尼亚",'."\n"
- .' "AM": "亚美尼亚",'."\n"
- .' "AO": "安哥拉",'."\n"
- .' "AP": "亚太地区",'."\n"
- .' "AQ": "南极洲",'."\n"
- .' "AR": "阿根廷",'."\n"
- .' "AS": "美属萨摩亚",'."\n"
- .' "RE": "留尼旺岛",'."\n"
- .' "AT": "奥地利",'."\n"
- .' "AU": "澳大利亚",'."\n"
- .' "AW": "阿鲁巴",'."\n"
- .' "AX": "奥兰群岛",'."\n"
- .' "AZ": "阿塞拜疆",'."\n"
- .' "RO": "罗马尼亚",'."\n"
- .' "BA": "波黑",'."\n"
- .' "BB": "巴巴多斯",'."\n"
- .' "RS": "塞尔维亚",'."\n"
- .' "BD": "孟加拉共和国",'."\n"
- .' "BE": "比利时",'."\n"
- .' "RU": "俄罗斯",'."\n"
- .' "BF": "布基纳法索",'."\n"
- .' "RW": "卢旺达",'."\n"
- .' "BG": "保加利亚",'."\n"
- .' "BH": "巴林",'."\n"
- .' "BI": "布隆迪共和国",'."\n"
- .' "BJ": "贝宁",'."\n"
- .' "BL": "圣巴泰勒米岛",'."\n"
- .' "BM": "百慕大群岛",'."\n"
- .' "BN": "文莱达鲁萨兰国",'."\n"
- .' "BO": "玻利维亚",'."\n"
- .' "SA": "沙特阿拉伯",'."\n"
- .' "BQ": "博内尔、圣尤斯蒂休斯和萨巴",'."\n"
- .' "SB": "所罗门群岛",'."\n"
- .' "BR": "巴西",'."\n"
- .' "SC": "塞舌尔",'."\n"
- .' "SD": "苏丹",'."\n"
- .' "BS": "巴哈马群岛",'."\n"
- .' "SE": "瑞典",'."\n"
- .' "BT": "不丹",'."\n"
- .' "SG": "新加坡",'."\n"
- .' "BW": "博茨瓦纳"'."\n"
- .'}'."\n"
+ .'您可以通过阿里云控制台创建资源组,相关操作,请参见[创建资源组](https://help.aliyun.com/zh/resource-management/user-guide/create-a-resource-group);或者通过调用资源管理服务的 API 创建资源组,具体接口说明,请参见[CreateResourceGroup](https://help.aliyun.com/zh/resource-management/api-createresourcegroup)。'."\n"
."\n"
- .'```',
- ],
- 'DescribeRuleGroups' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
- ],
- ],
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '93352',
- 'abilityTreeNodes' => [
- 'FEATUREwaf10VDFG',
+ .'关于资源组的更多介绍,请参见[什么是资源管理](https://help.aliyun.com/zh/resource-management/product-overview/what-is-resource-management)。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
],
],
- 'parameters' => [
- [
- 'name' => 'SourceIp',
- 'in' => 'query',
- 'schema' => [
- 'description' => '请求源ip。无需填写,系统自动获取。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '60.208.*.*',
- ],
- ],
- [
- 'name' => 'Lang',
- 'in' => 'query',
- 'schema' => [
- 'description' => '返回消息的语言类型。取值:'."\n"
- ."\n"
- .'- **zh**(默认):中文'."\n"
- .'- **en**:英文',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh',
- ],
- ],
+ 'ramActions' => [
[
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,每页的行数。默认值为**10**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
- ],
- [
- 'name' => 'CurrentPage',
- 'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,当前页的页码。默认值为**1**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'WafLang',
- 'in' => 'query',
- 'schema' => [
- 'description' => '返回消息的语言类型。取值:'."\n"
- ."\n"
- .'- **ZH**(默认):中文'."\n"
- .'- **EN**:英文',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'ZH',
- ],
- ],
- [
- 'name' => 'Type',
- 'in' => 'query',
- 'schema' => [
- 'description' => '规则组类型。取值:'."\n"
- .'- 默认空'."\n"
- .'- **10**:系统规则组'."\n"
- .'- **1**:自定义规则组',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'enum' => [
- '1',
- '10',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:MoveResourceGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- [
- 'name' => 'PolicyId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '规则组ID,仅支持单个输入。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => false,
- 'example' => '1011',
- ],
- ],
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_cdnsdf3****',
- ],
- ],
- [
- 'name' => 'Region',
- 'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。取值: '."\n"
- .'- **cn**:中国大陆地区(默认)'."\n"
- .'- **cn-hongkong**:海外地区',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn',
- 'default' => 'cn',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-aek2**',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
- ],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '请求id。',
- 'type' => 'string',
- 'example' => '02E9A4B8-90FB-5F41-A049-*',
- ],
- 'TaskStatus' => [
- 'description' => '当前请求的执行状态: '."\n"
- .'- **0**:等待执行。 '."\n"
- .'- **1**:正在执行中。 '."\n"
- .'- **2**:已执行完成。 '."\n"
- .' ',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '2',
- ],
- 'Total' => [
- 'description' => '返回结果的总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'WafTaskId' => [
- 'description' => 'waf的请求id。',
- 'type' => 'string',
- 'example' => '123',
- ],
- 'RuleGroups' => [
- 'description' => '规则组列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '规则组列表。',
- 'type' => 'object',
- 'properties' => [
- 'Type' => [
- 'description' => '规则组类型。取值:'."\n"
- .'- **10**:系统规则组'."\n"
- .'- **1**:自定义规则组',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RuleCnt' => [
- 'description' => '当前规则的数量。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RuleGroupUpdateTime' => [
- 'description' => '规则组更新时间,秒级时间戳',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1711445265',
- ],
- 'PolicyId' => [
- 'description' => '规则组ID。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '116562',
- ],
- 'Name' => [
- 'description' => '规则组名称。',
- 'type' => 'string',
- 'example' => 'rule_group_test',
- ],
- 'TemplatePolicyId' => [
- 'description' => '规则组模板',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1102',
- ],
- 'RuleGroupTemplateName' => [
- 'description' => '规则模板的名称。',
- 'type' => 'string',
- 'example' => 'rule_group_test',
- ],
- 'Desc' => [
- 'description' => '规则组描述。',
- 'type' => 'string',
- 'example' => 'desc',
- ],
- 'WafVersion' => [
- 'description' => '为当前配置设置一个版本号(用于实现乐观锁控制)。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '11',
- ],
- 'DomainList' => [
- 'description' => '引用当前规则组的域名列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '引用当前规则组的域名',
- 'type' => 'string',
- 'example' => 'test.aliyundome.com',
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- ],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"02E9A4B8-90FB-5F41-A049-*\\",\\n \\"TaskStatus\\": 2,\\n \\"Total\\": 1,\\n \\"WafTaskId\\": \\"123\\",\\n \\"RuleGroups\\": [\\n {\\n \\"Type\\": 1,\\n \\"RuleCnt\\": 1,\\n \\"RuleGroupUpdateTime\\": 1711445265,\\n \\"PolicyId\\": 116562,\\n \\"Name\\": \\"rule_group_test\\",\\n \\"TemplatePolicyId\\": 1102,\\n \\"RuleGroupTemplateName\\": \\"rule_group_test\\",\\n \\"Desc\\": \\"desc\\",\\n \\"WafVersion\\": 11,\\n \\"DomainList\\": [\\n \\"test.aliyundome.com\\"\\n ]\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '分页查询正则规则组',
],
- 'DescribeRules' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'SetDomainRuleGroup' => [
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '93355',
- 'abilityTreeNodes' => [
- 'FEATUREwaf10VDFG',
- ],
- ],
+ 'deprecated' => false,
+ 'systemTags' => [],
'parameters' => [
[
- 'name' => 'SourceIp',
- 'in' => 'query',
- 'schema' => [
- 'description' => '请求源IP。无需填写,系统自动获取。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '42.84.*.*',
- ],
- ],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时,每页的行数。默认值为**10**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- ],
- ],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => '当前页码。默认值:**1**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'RuleIdKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => '规则的id,支持模糊查询',
- 'type' => 'string',
- 'required' => false,
- 'example' => ' 1131*0',
- ],
- ],
- [
- 'name' => 'CveIdKey',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'CVE ID',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'CVE-*-*5',
- ],
- ],
- [
- 'name' => 'ProtectionType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '防护类型。取值如下:'."\n"
- .'- **11**:SQL注入 '."\n"
- .'- **12**:跨站脚本 '."\n"
- .'- **13**:代码执行 '."\n"
- .'- **14**:CRLF '."\n"
- .'- **15**:本地文件包含 '."\n"
- .'- **16**:远程文件包含'."\n"
- .'- **17**:webshell '."\n"
- .'- **19**:跨站请求伪造 '."\n"
- .'- **20**:其他 '."\n"
- .'- **21**:SEMA',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '11',
- ],
- ],
- [
- 'name' => 'ApplicationType',
- 'in' => 'query',
- 'schema' => [
- 'description' => '应用类型。取值如下:'."\n"
- .'- **0**:通用'."\n"
- .'- **1**:wordpress'."\n"
- .'- **2**:dedecms'."\n"
- .'- **3**:Discuz'."\n"
- .'- **4**:phpcms'."\n"
- .'- **5**:ecshop'."\n"
- .'- **6**:shopex'."\n"
- .'- **7**:Drupal'."\n"
- .'- **8**:joomla'."\n"
- .'- **9**:Metinfo'."\n"
- .'- **10**:Struts2'."\n"
- .'- **11**:SpringBoot'."\n"
- .'- **12**:Jboss'."\n"
- .'- **13**:weblogic'."\n"
- .'- **14**:websphere'."\n"
- .'- **15**:tomcat'."\n"
- .'- **16**:es'."\n"
- .'- **17**:ThinkPHP'."\n"
- .'- **18**:fastjosn'."\n"
- .'- **19**:ImageMagick'."\n"
- .'- **20**:PHPWind'."\n"
- .'- **21**:PHPAdmin'."\n"
- .'- **99**:其它',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
- ],
- [
- 'name' => 'RiskLevel',
+ 'name' => 'Domains',
'in' => 'query',
- 'schema' => [
- 'description' => '要查询的检查项风险等级。取值:'."\n"
- ."\n"
- .'- **0**:高危'."\n"
- .'- **1**:中危'."\n"
- .'- **2**:低危',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '0',
- ],
+ 'schema' => ['description' => '要设置防护规则组的域名列表。使用数组转化的字符串格式表示。'."\n"
+ ."\n"
+ .'支持同时设置多个域名,格式:`["<域名1>","<域名2>",……]`。'."\n"
+ ."\n"
+ .'> 您可以调用[DescribeDomainList](~~255880~~)查询所有已接入WAF防护的域名。', 'type' => 'string', 'required' => true, 'example' => '["www.aliyundoc.com"]'],
],
[
'name' => 'RuleGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '正则规则组ID',
- 'type' => 'integer',
- 'format' => 'int64',
- 'required' => true,
- 'example' => '1012',
- ],
+ 'schema' => ['description' => '为规则防护引擎设置要应用的防护规则组ID。取值:'."\n"
+ ."\n"
+ .'- **1011**:表示WAF内置的严格规则组。'."\n"
+ .'- **1012**:表示WAF内置的中等规则组。'."\n"
+ .'- **1013**:表示WAF内置的宽松规则组。'."\n"
+ ."\n"
+ .'除了以上内置规则组外,您还可以设置自定义规则组的ID。'."\n"
+ ."\n"
+ .'> 您可以在[Web应用防火墙控制台](https://yundun.console.aliyun.com/?p=wafnext)的**防护规则组**页面,获取自定义规则组的ID。', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1012'],
],
[
- 'name' => 'Lang',
+ 'name' => 'WafVersion',
'in' => 'query',
- 'schema' => [
- 'description' => '设置规则名称的语言属性,取值:'."\n"
- ."\n"
- .'- **zh**:表示规则名称为中文。'."\n"
- .'- **en**:表示规则名称为英文。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'zh',
- ],
+ 'schema' => ['description' => '为当前配置设置一个版本号(用于实现乐观锁控制)。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'],
],
[
'name' => 'InstanceId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'> 您可以通过调用[DescribeInstance](~~433756~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-*',
- ],
+ 'schema' => ['description' => 'WAF实例ID。'."\n"
+ ."\n"
+ .'> 您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。', 'type' => 'string', 'required' => true, 'example' => 'waf-cn-tl32ast****'],
],
[
- 'name' => 'Region',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
- 'schema' => [
- 'description' => '地域ID。取值: '."\n"
- .'- **cn**:中国大陆地区(默认)'."\n"
- .'- **cn-hongkong**:海外地区',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn',
- 'default' => 'cn',
- ],
+ 'schema' => ['description' => '网站域名在资源管理服务中所属的资源组ID。'."\n"
+ ."\n"
+ .'不设置该参数表示默认资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfm2pz25js****'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'WafAiStatus',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-*',
- ],
+ 'schema' => ['description' => '设置智能规则托管功能的启用状态。取值:'."\n"
+ .'- **0**:表示关闭。'."\n"
+ .'- **1**(默认):表示开启。'."\n"
+ ."\n"
+ .'智能规则托管表示由WAF智能学习历史业务流量的行为模式,识别可能对正常业务产生误拦截的防护规则,并通过自动设置Web入侵防护白名单,在特定业务防护场景下屏蔽对应防护规则。等误报风险消除后,再恢复使用被屏蔽的防护规则。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'],
],
[
'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => 'WAF实例所属地域。取值:'."\n"
+ ."\n"
+ .'- **cn-hangzhou**:表示中国内地。'."\n"
+ ."\n"
+ .'- **ap-southeast-1**:表示非中国内地。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'default' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -7730,749 +6578,1306 @@
'schema' => [
'type' => 'object',
'properties' => [
- 'RuleGroupTemplateId' => [
- 'description' => '正则规则组ID。',
- 'type' => 'string',
- 'example' => '1012',
- ],
- 'RuleGroupName' => [
- 'description' => '正则规则组名称。',
- 'type' => 'string',
- 'example' => 'test111',
- ],
- 'RequestId' => [
- 'description' => '本次请求的id。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-*',
- ],
- 'TotalCount' => [
- 'description' => '查询到的规则总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- 'RuleGroupTemplateName' => [
- 'description' => '规则组的名称。',
- 'type' => 'string',
- 'example' => 'rule_group_test',
- ],
- 'IsSubscribe' => [
- 'description' => '规则组自动更新状态。'."\n"
- ."\n"
- .'- 1:表示自动更新。'."\n"
- ."\n"
- .'- 2:表示不自动更新。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1',
- ],
- 'Rules' => [
- 'description' => '规则列表。',
- 'type' => 'array',
- 'items' => [
- 'description' => '规则列表。',
- 'type' => 'object',
- 'properties' => [
- 'RiskLevel' => [
- 'description' => '规则风险等级。取值:'."\n"
- ."\n"
- .'- **0**:高风险。'."\n"
- .'- **1**:中风险。'."\n"
- .'- **2**:低风险。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '0',
- ],
- 'UpdateTime' => [
- 'description' => '规则的更新时间。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '1684120148.0',
- ],
- 'Description' => [
- 'description' => '规则的描述信息。',
- 'type' => 'string',
- 'example' => '默认',
- ],
- 'CveUrl' => [
- 'description' => 'CVE链接。',
- 'type' => 'string',
- 'example' => 'https://avd.aliyun.com/',
- ],
- 'ApplicationType' => [
- 'description' => '应用类型。取值如下:'."\n"
- .'- **0**:通用'."\n"
- .'- **1**:wordpress'."\n"
- .'- **2**:dedecms'."\n"
- .'- **3**:Discuz'."\n"
- .'- **4**:phpcms'."\n"
- .'- **5**:ecshop'."\n"
- .'- **6**:shopex'."\n"
- .'- **7**:Drupal'."\n"
- .'- **8**:joomla'."\n"
- .'- **9**:Metinfo'."\n"
- .'- **10**:Struts2'."\n"
- .'- **11**:SpringBoot'."\n"
- .'- **12**:Jboss'."\n"
- .'- **13**:weblogic'."\n"
- .'- **14**:websphere'."\n"
- .'- **15**:tomcat'."\n"
- .'- **16**:es'."\n"
- .'- **17**:ThinkPHP'."\n"
- .'- **18**:fastjosn'."\n"
- .'- **19**:ImageMagick'."\n"
- .'- **20**:PHPWind'."\n"
- .'- **21**:PHPAdmin'."\n"
- .'- **99**:其它',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '15',
- ],
- 'CveId' => [
- 'description' => 'CVE ID。',
- 'type' => 'string',
- 'example' => 'CVE-2021-*',
- ],
- 'ProtectionType' => [
- 'description' => '防护类型。取值如下:'."\n"
- .'- **11**:SQL注入 '."\n"
- .'- **12**:跨站脚本 '."\n"
- .'- **13**:代码执行 '."\n"
- .'- **14**:CRLF '."\n"
- .'- **15**:本地文件包含 '."\n"
- .'- **16**:远程文件包含'."\n"
- .'- **17**:webshell '."\n"
- .'- **19**:跨站请求伪造 '."\n"
- .'- **20**:其他 '."\n"
- .'- **21**:SEMA',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '11',
- ],
- 'RuleName' => [
- 'description' => '规则名称。',
- 'type' => 'string',
- 'example' => 'rules_41',
- ],
- 'RuleId' => [
- 'description' => '规则id。',
- 'type' => 'integer',
- 'format' => 'int64',
- 'example' => '42755',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => '本次请求的ID。', 'type' => 'string', 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0'],
],
],
],
],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RuleGroupTemplateId\\": \\"1012\\",\\n \\"RuleGroupName\\": \\"test111\\",\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-*\\",\\n \\"TotalCount\\": 1,\\n \\"RuleGroupTemplateName\\": \\"rule_group_test\\",\\n \\"IsSubscribe\\": 1,\\n \\"Rules\\": [\\n {\\n \\"RiskLevel\\": 0,\\n \\"UpdateTime\\": 1684120148,\\n \\"Description\\": \\"默认\\",\\n \\"CveUrl\\": \\"https://avd.aliyun.com/\\",\\n \\"ApplicationType\\": 15,\\n \\"CveId\\": \\"CVE-2021-*\\",\\n \\"ProtectionType\\": 11,\\n \\"RuleName\\": \\"rules_41\\",\\n \\"RuleId\\": 42755\\n }\\n ]\\n}","type":"json"}]',
- 'title' => '分页查询正则规则组中的规则',
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<SetDomainRuleGroupResponse>\\n <RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\n</SetDomainRuleGroupResponse>","errorExample":""}]',
+ 'title' => '为域名配置防护规则组',
+ 'summary' => '为指定域名配置选择正则防护引擎使用的防护规则组,除系统默认的三种防护规则组外,也可以选择自定义规则组。',
+ 'description' => '本接口用于为指定域名设置规则防护引擎的防护规则组及智能规则托管功能的启用状态。'."\n"
+ .'设置防护规则组时,除了可以使用WAF内置的正常、严格和宽松防护规则组,您还可以选择自定义规则组。请注意,为确保系统稳定性,对单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。'."\n"
+ ."\n"
+ .'><notice> 目前暂不支持通过API创建自定义规则组。您必须先在[Web应用防火墙控制台](https://yundun.console.aliyun.com/?p=wafnext)的**系统管理** > **防护规则组**页面,新建规则组并获得对应规则组ID后,才可以调用本接口,为域名应用自定义规则组。'."\n"
+ .'></notice>',
+ 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
+ ."\n"
+ .'调用API的请求格式,请参见本文**示例**中的请求示例。',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ 'changeSet' => [
+ ['createdAt' => '2022-01-18T08:24:59.000Z', 'description' => '请求参数发生变更、错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDomainRuleGroup'],
+ ],
+ ],
+ 'ramActions' => [],
],
- 'ModifyLogRetrievalStatus' => [
- 'methods' => [
- 'post',
- 'get',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'wafopenapi.ap-southeast-1.aliyuncs.com', 'endpoint' => 'wafopenapi.ap-southeast-1.aliyuncs.com', 'vpc' => 'wafopenapi-intl.vpc-proxy.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'wafopenapi.cn-hangzhou.aliyuncs.com', 'endpoint' => 'wafopenapi.cn-hangzhou.aliyuncs.com', 'vpc' => 'wafopenapi.vpc-proxy.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => '10900', 'message' => 'Invalid parameter', 'http_code' => 400, 'description' => '无效的参数'],
+ ['code' => '11001', 'message' => 'Internal server error', 'http_code' => 400, 'description' => '系统内部错误'],
+ ['code' => '500', 'message' => 'Internal server error', 'http_code' => 500, 'description' => '内部系统错误'],
+ ['code' => 'AccountSafeUsed', 'message' => 'The feature of account security is being used.', 'http_code' => 400, 'description' => '账户安全正在被使用'],
+ ['code' => 'AclIpCountOverLimit', 'message' => 'Ip count in ACL rule is over limit.', 'http_code' => 400, 'description' => '自定义ACL中IP的个数超过限制'],
+ ['code' => 'AclParamError', 'message' => 'Acl param invalid.', 'http_code' => 400, 'description' => 'Acl参数无效。'],
+ ['code' => 'AntifraudOrAntifriaudJsUsed', 'message' => 'The feature of data risk control is being used.', 'http_code' => 400, 'description' => '数据风控正在被使用'],
+ ['code' => 'BotAlgorithmUsed', 'message' => 'The feature of crawler behavior algorithm is being used.', 'http_code' => 400, 'description' => '爬虫行为算法正在被使用'],
+ ['code' => 'BusinessDomainNotRecord', 'message' => 'The specified domain name is not ICP filed.', 'http_code' => 400, 'description' => '指定的域名没有ICP字段。'],
+ ['code' => 'BusinessInvalidArgument', 'message' => 'The specified parameters are invalid.', 'http_code' => 403, 'description' => '指定的参数无效。'],
+ ['code' => 'BusinessInvalidDomainIpInvalid', 'message' => 'The IP address cannot be added.', 'http_code' => 403, 'description' => '接入的IP是不能添加的IP,请确认后再添加'],
+ ['code' => 'BusinessInvalidIpv6', 'message' => 'Back-to-origin IPv6 addresses are not supported. To add these IP addresses, you must enable the feature of forwarding requests to origin servers over IPv6.', 'http_code' => 403, 'description' => '不支持添加IPv6格式的回源IP,请购买后再添加'],
+ ['code' => 'BusinessInvalidSourceIp', 'message' => 'The origin fetch address includes disallowed IP addresses or domains.', 'http_code' => 400, 'description' => '源获取地址包括不允许的IP地址或域。'],
+ ['code' => 'BusinessIpDomain', 'message' => 'The current access domain does not support in IP format.', 'http_code' => 400, 'description' => '当前访问域名不支持IP格式。'],
+ ['code' => 'BusinessMainDomainNotSupport', 'message' => 'The added primary domain name is not supported.', 'http_code' => 403, 'description' => '添加的主域名不支持'],
+ ['code' => 'BusinessSourceIpSupportVirtuaIp', 'message' => 'You can only add wan net ip.', 'http_code' => 403, 'description' => '当前为共享虚拟主机定制版,只能添加万网虚拟主机的IP。'],
+ ['code' => 'BusinessViolation', 'message' => 'The domain-related business is suspected of violating regulations. If you have any questions, please follow the ticket process.', 'http_code' => 400, 'description' => '域名业务涉嫌违规,如有疑问请走工单流程。'],
+ ['code' => 'CertDomainNotMatch', 'message' => 'The certificate does not include this domain.', 'http_code' => 400, 'description' => '该证书不包含此域名'],
+ ['code' => 'CertExpiredError', 'message' => 'The certificate has expired. Do not continue using this certificate.', 'http_code' => 400, 'description' => '证书已过期。不要继续使用此证书。'."\n"],
+ ['code' => 'CertFormatError', 'message' => 'The certificate is malformed.', 'http_code' => 400, 'description' => '证书格式不正确。'],
+ ['code' => 'CertKeyNotMatch', 'message' => 'The certificate file and private key do not match.', 'http_code' => 400, 'description' => '证书文件与私钥不匹配。'],
+ ['code' => 'CertNameDuplicateError', 'message' => 'The certificate name already exists.', 'http_code' => 400, 'description' => '证书名称已经存在。'],
+ ['code' => 'CertNameExisted', 'message' => 'The certificate name already exists.', 'http_code' => 400, 'description' => '证书名称已经存在'],
+ ['code' => 'CertNotExist', 'message' => 'The certificate is not exist.', 'http_code' => 400, 'description' => '证书不存在.'],
+ ['code' => 'ComboError', 'message' => 'No package information is available.', 'http_code' => 400, 'description' => '没有可用的软件包信息'],
+ ['code' => 'CustomAclOrCcUsed', 'message' => 'The feature of advanced conditions is being used.', 'http_code' => 400, 'description' => '高级精准条件正在被使用'],
+ ['code' => 'CustomRulesGroupUsed', 'message' => 'The feature of custom rule group is being used.', 'http_code' => 400, 'description' => '自定义规格组正在被使用'],
+ ['code' => 'CustomSpeedLimitUsed', 'message' => 'The feature of custom throttling is being used.', 'http_code' => 400, 'description' => '用户自定义限速正在被使用'],
+ ['code' => 'Defense.Contro.DefenseTemplateSubSceneNotExist', 'message' => 'The protection scenario template sub-scene does not exist.', 'http_code' => 400, 'description' => '防护场景化模版子场景不存在'],
+ ['code' => 'Defense.Control.DefenseActonExpiredTimeInvalid', 'message' => 'The expiration time of the rule action is invalid.', 'http_code' => 400, 'description' => '处置动作过期时间不合法。'],
+ ['code' => 'Defense.Control.DefenseAddressBookInUse', 'message' => 'The address book is in use and cannot be deleted.', 'http_code' => 400, 'description' => '地址簿正在使用中,无法删除。使用该地址簿的规则: %s。'],
+ ['code' => 'Defense.Control.DefenseAddressFileFormatError', 'message' => 'The format of the uploaded address book file is incorrect.', 'http_code' => 400, 'description' => '上传的地址簿文件格式错误。'],
+ ['code' => 'Defense.Control.DefenseAddressInvalid', 'message' => 'The address in the address book is illegal.', 'http_code' => 400, 'description' => '地址簿中的地址不合法.'],
+ ['code' => 'Defense.Control.DefenseAddressOperationTooFrequent', 'message' => 'Address book operations are too frequent.', 'http_code' => 400, 'description' => '地址簿操作太频繁,请稍后再试。'],
+ ['code' => 'Defense.Control.DefenseAddressOversize', 'message' => 'The number of addresses in the address book exceeds the limit.', 'http_code' => 400, 'description' => '地址簿的地址数量超过限制.'],
+ ['code' => 'Defense.Control.DefenseAddressUploading', 'message' => 'The address book file is being uploaded, please try again later.', 'http_code' => 400, 'description' => '地址簿文件正在上传,请稍后再试。'],
+ ['code' => 'Defense.Control.DefenseAiAssetPositionInvalid', 'message' => 'The position parameter of the large model protection asset is incorrect.', 'http_code' => 400, 'description' => '大模型防护资产的位置参数错误。'],
+ ['code' => 'Defense.Control.DefenseAiWhitelistStatusInvalid', 'message' => 'The status of ai whitelist is invalid.', 'http_code' => 400, 'description' => '基础防护的智能白名单状态不合法。'],
+ ['code' => 'Defense.Control.DefenseAntiscanRuleConfigInvalid', 'message' => 'The configuration of anti scanning rules in the scanning protection policy is illegal.', 'http_code' => 400, 'description' => '扫描防护策略中防扫描规则配置不合法'],
+ ['code' => 'Defense.Control.DefenseAntiscanRuleConfigInvalid', 'message' => 'The configuration of the scan protection rule is invalid.', 'http_code' => 400, 'description' => '扫描防护规则中防扫描规则配置不合法'],
+ ['code' => 'Defense.Control.DefenseApisecRuleRegexInvalid', 'message' => 'The regular expression in the API security rule is invalid. Error reason: %s.', 'http_code' => 400, 'description' => 'API安全规则中正则表达式不合法。错误原因:%s。'],
+ ['code' => 'Defense.Control.DefenseAssetConditionDuplicate', 'message' => 'The match conditions of the asset is duplicated with other assets.', 'http_code' => 400, 'description' => '资产的匹配条件与其他资产重复。'],
+ ['code' => 'Defense.Control.DefenseAssetConditionInvalid', 'message' => 'The protection asset flow matching condition is incorrect.', 'http_code' => 400, 'description' => '防护资产流量匹配条件错误。'],
+ ['code' => 'Defense.Control.DefenseAssetConfigInvalid', 'message' => 'The protection asset is configured incorrectly.', 'http_code' => 400, 'description' => '防护资产的配置错误。'],
+ ['code' => 'Defense.Control.DefenseAssetCountOversize', 'message' => 'The number of protected assets exceeds the limit.', 'http_code' => 400, 'description' => '防护资产数量超过限制。'],
+ ['code' => 'Defense.Control.DefenseAssetExist', 'message' => 'Protective asset configuration already exists.', 'http_code' => 400, 'description' => '防护资产配置已存在。'],
+ ['code' => 'Defense.Control.DefenseAssetNameComplicate', 'message' => 'The name of the asset duplicates another asset.', 'http_code' => 400, 'description' => '资产的名称与其他资产重复。'],
+ ['code' => 'Defense.Control.DefenseAssetNameInvalid', 'message' => 'The asset name is illegal.', 'http_code' => 400, 'description' => '资产名称不合法。'],
+ ['code' => 'Defense.Control.DefenseAssetNotExist', 'message' => 'Protective asset does not exist.', 'http_code' => 400, 'description' => '防护资产不存在。'],
+ ['code' => 'Defense.Control.DefenseAssetNotSupported', 'message' => 'The protected assets feature is not supported.', 'http_code' => 400, 'description' => '不支持防护资产功能。'],
+ ['code' => 'Defense.Control.DefenseAssetStatusInvalid', 'message' => 'The asset status is illegal.', 'http_code' => 400, 'description' => '资产状态不合法。'],
+ ['code' => 'Defense.Control.DefenseBookTypeInvalid', 'message' => 'The address book type is illegal.', 'http_code' => 400, 'description' => '地址簿类型不合法.'],
+ ['code' => 'Defense.Control.DefenseBotManagerWebSdkNotSupport', 'message' => 'Fencing object does not support automatic integration with WebSdk.', 'http_code' => 400, 'description' => '防护对象不支持自动集成WebSdk.'],
+ ['code' => 'Defense.Control.DefenseBotResourceCrossBindError', 'message' => 'The same protection object in a Bot scene cannot be integrated and bound at the same time.', 'http_code' => 400, 'description' => 'Bot场景中同一个防护对象不能同时被集成和绑定'],
+ ['code' => 'Defense.Control.DefenseBotResourceCrossBindError', 'message' => 'The protected object in which the SDK is integrated cannot be the same as the protected object to which protection rules are applied in the scenario-specific configuration.', 'http_code' => 400, 'description' => 'Bot场景中同一个防护对象不能同时被集成和绑定'],
+ ['code' => 'Defense.Control.DefenseClientSideDetectionConfigInvalid', 'message' => 'The client-side protection detection rule is incorrectly configured.', 'http_code' => 400, 'description' => '客户端防护检测规则配置错误。'],
+ ['code' => 'Defense.Control.DefenseCodecRuleAlreadyExist', 'message' => 'Duplicate anti scanning rules in the scanning protection strategy.', 'http_code' => 400, 'description' => '扫描防护策略中防扫描规则重复'],
+ ['code' => 'Defense.Control.DefenseCodecRuleAlreadyExist', 'message' => 'The scan protection rule exists.', 'http_code' => 400, 'description' => '扫描防护规则中防扫描规则重复'],
+ ['code' => 'Defense.Control.DefenseConfigNotSupported', 'message' => 'The defense configuration is not supported.', 'http_code' => 400, 'description' => '不支持该防护功能配置。'],
+ ['code' => 'Defense.Control.DefenseCustomResponseHeadersOutOfSize', 'message' => 'The number of custom headers of custom response rules in the protection policy exceeds the limit.', 'http_code' => 400, 'description' => '防护策略中自定义响应规则的自定义Header数量超过限制'],
+ ['code' => 'Defense.Control.DefenseCustomResponseHeadersOutOfSize', 'message' => 'The number of custom Header fields in the custom response rule exceeds the limit.', 'http_code' => 400, 'description' => '防护规则中自定义响应规则的自定义Header数量超过限制'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleActionInvalid', 'message' => 'The custom response rule action does not match the rule action.', 'http_code' => 400, 'description' => '自定义响应规则动作与规则动作不匹配'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleConfigInvalid', 'message' => 'Illegal configuration of custom response rule in protection policy.', 'http_code' => 400, 'description' => '防护策略中自定义响应规则配置不合法'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleConfigInvalid', 'message' => 'The configuration of the custom response rule is invalid.', 'http_code' => 400, 'description' => '防护规则中自定义响应规则配置不合法'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleExist', 'message' => 'The custom response rule in the protection policy already exists.', 'http_code' => 400, 'description' => '防护策略中自定义响应规则已经存在'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleExist', 'message' => 'The custom response rule exists.', 'http_code' => 400, 'description' => '防护规则中自定义响应规则已经存在'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleInUse', 'message' => 'The custom response rule is in use and cannot be deleted.', 'http_code' => 400, 'description' => '自定义响应规则正在使用中, 关联规则列表:%s, 关联防护对象列表:%s'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleNotExist', 'message' => 'The custom response rule does not exist.', 'http_code' => 400, 'description' => '自定义响应规则不存在。'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleNotPermitDelete', 'message' => 'The custom response rule in the protection policy cannot be deleted', 'http_code' => 400, 'description' => '防护策略中的自定义响应规则不允许删除'],
+ ['code' => 'Defense.Control.DefenseCustomResponseRuleNotPermitDelete', 'message' => 'You cannot delete custom response rules.', 'http_code' => 400, 'description' => '防护规则中的自定义响应规则不允许删除'],
+ ['code' => 'Defense.Control.DefenseDownloadOssFileFailed', 'message' => 'Failed to parse OSS files.', 'http_code' => 400, 'description' => '解析OSS文件失败'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginContentNotEmpty', 'message' => 'Extension content cannot be empty.', 'http_code' => 400, 'description' => '扩展插件内容不能为空。'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginIdInvalid', 'message' => 'Invalid extension ID.', 'http_code' => 400, 'description' => '扩展插件ID无效。'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginIdNotEmpty', 'message' => 'Extension ID is not allowed to be empty.', 'http_code' => 400, 'description' => '扩展插件ID不允许为空。'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginParamsNotEmpty', 'message' => 'Extension parameter cannot be empty.', 'http_code' => 400, 'description' => '扩展插件参数不能为空。'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginParamsTypeNotSupport', 'message' => 'The extension parameter type is not supported.', 'http_code' => 400, 'description' => '扩展插件参数类型不支持。'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginParamsValueTypeNotMatch', 'message' => 'Extension parameter value does not match type.', 'http_code' => 400, 'description' => '扩展插件参数值与类型不匹配。'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginRuleInUse', 'message' => 'The Extension rule is in use and cannot be deleted.', 'http_code' => 400, 'description' => '扩展插件规则正在使用中, 关联规则列表:%s'],
+ ['code' => 'Defense.Control.DefenseExtensionPluginRuleInUse', 'message' => 'Extension rule in use, list of association rules:%s.', 'http_code' => 400, 'description' => '扩展插件规则正在使用中, 关联规则列表:%s。'],
+ ['code' => 'Defense.Control.DefenseInOperation', 'message' => 'Protection configuration is operating, please try again later.', 'http_code' => 400, 'description' => '防护配置操作中,请稍后再试。'],
+ ['code' => 'Defense.Control.DefenseIpBlacklistIpEmpty', 'message' => 'The IP in the IP blacklist cannot be empty.', 'http_code' => 400, 'description' => 'IP黑名单中IP不能为空'],
+ ['code' => 'Defense.Control.DefenseIpBlacklistIpEmpty', 'message' => 'You must add IP addresses to the IP address blacklist.', 'http_code' => 400, 'description' => 'IP黑名单中IP不能为空'],
+ ['code' => 'Defense.Control.DefenseIpBlacklistIpInvalid', 'message' => 'Illegal IP in IP blacklist.', 'http_code' => 400, 'description' => 'IP黑名单中IP不合法'],
+ ['code' => 'Defense.Control.DefenseIpBlacklistIpInvalid', 'message' => 'The IP addresses in the IP address blacklist are invalid.', 'http_code' => 400, 'description' => 'IP黑名单中IP不合法'],
+ ['code' => 'Defense.Control.DefenseIpBlacklistIpOutOfRange', 'message' => 'The number of IPS in the IP blacklist exceeds the limit.', 'http_code' => 400, 'description' => 'IP黑名单中IP数量超出限制'],
+ ['code' => 'Defense.Control.DefenseIpBlacklistIpOutOfRange', 'message' => 'The number of IP addresses in the IP address blacklist exceeds the limit.', 'http_code' => 400, 'description' => 'IP黑名单中IP数量超出限制'],
+ ['code' => 'Defense.Control.DefenseIpCountOversize', 'message' => 'The number of IPs exceeds the limit.', 'http_code' => 400, 'description' => 'IP数量超过限制。'],
+ ['code' => 'Defense.Control.DefenseLogModifyStatusFailed', 'message' => 'Failed to modify protected object state through log service.', 'http_code' => 400, 'description' => '通过日志服务修改防护对象状态失败'],
+ ['code' => 'Defense.Control.DefenseLogModifyStatusFailed', 'message' => 'Failed to change the status of the protected object.', 'http_code' => 400, 'description' => '修改防护对象状态失败'],
+ ['code' => 'Defense.Control.DefenseLogTimeExpired', 'message' => 'The time for querying logs has expired.', 'http_code' => 400, 'description' => '查询日志的时间过期'],
+ ['code' => 'Defense.Control.DefenseMajorProtectionRuleConfigInvalid', 'message' => 'The rules that are configured in the protection template for major events are invalid.', 'http_code' => 400, 'description' => '重保场景模板中规则配置不合法'],
+ ['code' => 'Defense.Control.DefenseMajorProtectionRuleExist', 'message' => 'The rules that are configured in the protection template for major events already exist.', 'http_code' => 400, 'description' => '重保场景模板中规则已经存在'],
+ ['code' => 'Defense.Control.DefenseOssFileNotFound', 'message' => 'Failed to find the OSS files that are uploaded.', 'http_code' => 400, 'description' => '上传的OSS文件未找到'],
+ ['code' => 'Defense.Control.DefensePolicyInUse', 'message' => 'The custom regular rule group is referenced by the template and cannot be deleted.', 'http_code' => 400, 'description' => '自定义正则规则组被模板引用中,不允许删除'],
+ ['code' => 'Defense.Control.DefensePolicyNotFound', 'message' => 'Regular rule group does not exist.', 'http_code' => 400, 'description' => '正则规则组不存在'],
+ ['code' => 'Defense.Control.DefensePolicyNotFound', 'message' => 'The regular expression rule group does not exist.', 'http_code' => 400, 'description' => '正则规则组不存在'],
+ ['code' => 'Defense.Control.DefensePolicyOwnedByAnotherUser', 'message' => 'Custom regular rule group does not belong to this user.', 'http_code' => 400, 'description' => '自定义正则规则组不属于该用户'],
+ ['code' => 'Defense.Control.DefensePolicyOwnedByAnotherUser', 'message' => 'The regular expression rule group does not belong to the user.', 'http_code' => 400, 'description' => '自定义正则规则组不属于该用户'],
+ ['code' => 'Defense.Control.DefensePolicyRuleAlreadyExist', 'message' => 'Regular rule group rule in basic protection policy already exists.', 'http_code' => 400, 'description' => '基本防护策略中正则规则组规则已存在'],
+ ['code' => 'Defense.Control.DefensePolicyRuleAlreadyExist', 'message' => 'Regular expression rules exist.', 'http_code' => 400, 'description' => '基本防护规则中正则规则组规则已存在'],
+ ['code' => 'Defense.Control.DefenseResourceAccessNotDelete', 'message' => 'The protection object from access cannot be deleted.', 'http_code' => 400, 'description' => '来自接入的防护对象不允许删除'],
+ ['code' => 'Defense.Control.DefenseResourceAccessNotDelete', 'message' => 'You cannot delete the protected objects that are automatically synchronized.', 'http_code' => 400, 'description' => '来自接入的防护对象不允许删除'],
+ ['code' => 'Defense.Control.DefenseResourceAddDeleteSameTime', 'message' => 'The protected objects in the protection group cannot be bound and unbound at the same time.', 'http_code' => 400, 'description' => '防护组中防护对象不能同时绑定和解绑'],
+ ['code' => 'Defense.Control.DefenseResourceAddDeleteSameTime', 'message' => 'You cannot add a protected object to a protected object group and remove the protected object from a protected object group at the same time.', 'http_code' => 400, 'description' => '防护组中防护对象不能同时绑定和解绑'],
+ ['code' => 'Defense.Control.DefenseResourceAlreadyInCustom', 'message' => 'The protection object has been bound with a custom protection policy.', 'http_code' => 400, 'description' => '防护对象已经绑定了自定义防护策略'],
+ ['code' => 'Defense.Control.DefenseResourceAlreadyInCustom', 'message' => 'The protected object is bound to a custom protection template.', 'http_code' => 400, 'description' => '防护对象已经绑定了自定义防护模板'],
+ ['code' => 'Defense.Control.DefenseResourceAndGroupConflict', 'message' => 'The name of the protected object is the same as the name of the protected object group.', 'http_code' => 400, 'description' => '防护对象与防护组的名称重复。'],
+ ['code' => 'Defense.Control.DefenseResourceCountOverSize', 'message' => 'The number of protected objects exceeds the limit.', 'http_code' => 400, 'description' => '防护对象数量超过限制'],
+ ['code' => 'Defense.Control.DefenseResourceDetailInvalid', 'message' => 'The detail field of the protected object is illegal.', 'http_code' => 400, 'description' => '防护对象的详情字段不合法'],
+ ['code' => 'Defense.Control.DefenseResourceDetailInvalid', 'message' => 'The detail field of the protected object is invalid.', 'http_code' => 400, 'description' => '防护对象的详情字段不合法'],
+ ['code' => 'Defense.Control.DefenseResourceDetailNotEmpty', 'message' => 'The details of the protected object cannot be empty.', 'http_code' => 400, 'description' => '防护对象的详情不能为空'],
+ ['code' => 'Defense.Control.DefenseResourceDetailNotEmpty', 'message' => 'You must configure the detail field of the protected object.', 'http_code' => 400, 'description' => '防护对象的详情不能为空'],
+ ['code' => 'Defense.Control.DefenseResourceExist', 'message' => 'Protection object already exists.', 'http_code' => 400, 'description' => '防护对象已存在'],
+ ['code' => 'Defense.Control.DefenseResourceExist', 'message' => 'The protected object exists.', 'http_code' => 400, 'description' => '防护对象已存在'],
+ ['code' => 'Defense.Control.DefenseResourceGroupCountOverSize', 'message' => 'The number of protection groups exceeds the limit.', 'http_code' => 400, 'description' => '防护组数量超过限制'],
+ ['code' => 'Defense.Control.DefenseResourceGroupCountOverSize', 'message' => 'The number of protected object groups exceeds the limit.', 'http_code' => 400, 'description' => '防护组数量超过限制'],
+ ['code' => 'Defense.Control.DefenseResourceGroupDescriptionInvalid', 'message' => 'Illegal protection group description information.', 'http_code' => 400, 'description' => '防护组描述信息不合法'],
+ ['code' => 'Defense.Control.DefenseResourceGroupDescriptionInvalid', 'message' => 'The description of the protected object group is invalid.', 'http_code' => 400, 'description' => '防护组描述信息不合法'],
+ ['code' => 'Defense.Control.DefenseResourceGroupExist', 'message' => 'Protection group already exists.', 'http_code' => 400, 'description' => '防护组已存在'],
+ ['code' => 'Defense.Control.DefenseResourceGroupExist', 'message' => 'The protected object group exists.', 'http_code' => 400, 'description' => '防护组已存在'],
+ ['code' => 'Defense.Control.DefenseResourceGroupNameInvalid', 'message' => 'Illegal protection group name.', 'http_code' => 400, 'description' => '防护组名称不合法'],
+ ['code' => 'Defense.Control.DefenseResourceGroupNameInvalid', 'message' => 'The name of the protected object group is invalid.', 'http_code' => 400, 'description' => '防护组名称不合法'],
+ ['code' => 'Defense.Control.DefenseResourceGroupNotExist', 'message' => 'Protection group does not exist.', 'http_code' => 400, 'description' => '防护组不存在'],
+ ['code' => 'Defense.Control.DefenseResourceGroupNotExist', 'message' => 'The protected object group does not exist.', 'http_code' => 400, 'description' => '防护组不存在'],
+ ['code' => 'Defense.Control.DefenseResourceInGroupCountOverSize', 'message' => 'The number of protected objects in the protection group exceeds the limit.', 'http_code' => 400, 'description' => '防护组中的防护对象数量超过限制'],
+ ['code' => 'Defense.Control.DefenseResourceInGroupCountOverSize', 'message' => 'The number of protected objects in the protected object group exceeds the limit.', 'http_code' => 400, 'description' => '防护组中的防护对象数量超过限制'],
+ ['code' => 'Defense.Control.DefenseResourceInTemplateCountOverSize', 'message' => 'The number of protected objects in the protection template exceeds the limit.', 'http_code' => 400, 'description' => '防护模板中的防护对象数量超过限制'],
+ ['code' => 'Defense.Control.DefenseResourceInvalid', 'message' => 'The name of the protected object is illegal.', 'http_code' => 400, 'description' => '防护对象的名称不合法'],
+ ['code' => 'Defense.Control.DefenseResourceInvalid', 'message' => 'The name of the protected object is invalid.', 'http_code' => 400, 'description' => '防护对象的名称不合法'],
+ ['code' => 'Defense.Control.DefenseResourceModelInvalid', 'message' => 'The model of the protected object is illegal.', 'http_code' => 400, 'description' => '防护对象的模型不合法'],
+ ['code' => 'Defense.Control.DefenseResourceModelInvalid', 'message' => 'The model of the protected object is invalid.', 'http_code' => 400, 'description' => '防护对象的模型不合法'],
+ ['code' => 'Defense.Control.DefenseResourceNameAndAssetConflict', 'message' => 'The protected object or protection group name is the same as the protected asset ID.', 'http_code' => 400, 'description' => '防护对象或防护组名称与防护资产ID重复'],
+ ['code' => 'Defense.Control.DefenseResourceNotExist', 'message' => 'Protection object does not exist.', 'http_code' => 400, 'description' => '防护对象不存在'],
+ ['code' => 'Defense.Control.DefenseResourceNotExist', 'message' => 'The protected object does not exist.', 'http_code' => 400, 'description' => '防护对象不存在'],
+ ['code' => 'Defense.Control.DefenseResourcePatternNotEmpty', 'message' => 'The protection form of the protected object cannot be empty.', 'http_code' => 400, 'description' => '防护对象的防护形式不能为空'],
+ ['code' => 'Defense.Control.DefenseResourcePatternNotEmpty', 'message' => 'You must configure the protection pattern of the protected object.', 'http_code' => 400, 'description' => '防护对象的防护形式不能为空'],
+ ['code' => 'Defense.Control.DefenseResourcePatternNotFound', 'message' => 'The protection form of the protected object is illegal.', 'http_code' => 400, 'description' => '防护对象的防护形式不合法'],
+ ['code' => 'Defense.Control.DefenseResourcePatternNotFound', 'message' => 'The protection pattern of the protected object is invalid.', 'http_code' => 400, 'description' => '防护对象的防护形式不合法'],
+ ['code' => 'Defense.Control.DefenseResourceProductNotEmpty', 'message' => 'The product information of the protection object cannot be empty.', 'http_code' => 400, 'description' => '防护对象的产品信息不能为空'],
+ ['code' => 'Defense.Control.DefenseResourceProductNotEmpty', 'message' => 'You must configure the service information about the protected object.', 'http_code' => 400, 'description' => '防护对象的产品信息不能为空'],
+ ['code' => 'Defense.Control.DefenseResourceRelationExist', 'message' => 'The protection object has been bound.', 'http_code' => 400, 'description' => '防护对象已经被绑定'],
+ ['code' => 'Defense.Control.DefenseResourceRelationExist', 'message' => 'The protected object is added to a protected object group.', 'http_code' => 400, 'description' => '防护对象已经被绑定'],
+ ['code' => 'Defense.Control.DefenseResourceRelationNotExist', 'message' => 'The protected object is not added to the protected object group.', 'http_code' => 400, 'description' => '该防护对象未添加到该防护对象组中'],
+ ['code' => 'Defense.Control.DefenseResourceRuleAccountDecodeTypeInvalid', 'message' => 'The decoding type in the account extraction rule is invalid.', 'http_code' => 400, 'description' => '账号提取规则中的解码类型不合法。'],
+ ['code' => 'Defense.Control.DefenseResourceRuleAccountOversize', 'message' => 'The number of extracted configurations in the account extraction rule exceeds the limit.', 'http_code' => 400, 'description' => '账号提取规则中的提取配置数量超限。'],
+ ['code' => 'Defense.Control.DefenseResourceRuleAccountPriorityInvalid', 'message' => 'The configuration priority in the account extraction rule is invalid.', 'http_code' => 400, 'description' => '账号提取规则中的配置优先级不合法。'],
+ ['code' => 'Defense.Control.DefenseResourceRuleNotPermitModify', 'message' => 'This protected resource rule cannot be modified.', 'http_code' => 400, 'description' => '该防护资源规则不允许修改'],
+ ['code' => 'Defense.Control.DefenseResourceRuleNotPermitUpdateStatus', 'message' => 'This protected resource rule does not allow update status.', 'http_code' => 400, 'description' => '该防护资源规则不允许更新状态'],
+ ['code' => 'Defense.Control.DefenseResourceTemplateIdInvalid', 'message' => 'When querying the protection objects or protection groups that can be bound in the protection policy, the protection policy ID is invalid.', 'http_code' => 400, 'description' => '查询防护策略中可以绑定的防护对象或防护组时,防护策略ID无效'],
+ ['code' => 'Defense.Control.DefenseResourceTemplateIdInvalid', 'message' => 'The ID of the protection rule is invalid when you query the protected objects or protected object groups that can be bound to the protection rule.', 'http_code' => 400, 'description' => '查询防护规则中可以绑定的防护对象或防护组时,防护规则ID无效'],
+ ['code' => 'Defense.Control.DefenseResponseStatusInvalid', 'message' => 'Response log switch status is illegal.', 'http_code' => 400, 'description' => 'Response日志开关状态不合法'],
+ ['code' => 'Defense.Control.DefenseRuleAccountProtectorConfigInvalid', 'message' => 'Account Security Rule configuration error.', 'http_code' => 400, 'description' => '防护规则中账号安全规则配置错误. %s'],
+ ['code' => 'Defense.Control.DefenseRuleActionInvalid', 'message' => 'Illegal action of protection rules.', 'http_code' => 400, 'description' => '防护规则的动作不合法'],
+ ['code' => 'Defense.Control.DefenseRuleActionInvalid', 'message' => 'The action that is defined in the protection rule is invalid.', 'http_code' => 400, 'description' => '防护规则的动作不合法'],
+ ['code' => 'Defense.Control.DefenseRuleAttackLevelConflict', 'message' => 'The attack level of the large model prompt word attack protection rule is repeated.', 'http_code' => 400, 'description' => '大模型提示词攻击防护规则的攻击等级重复。'],
+ ['code' => 'Defense.Control.DefenseRuleAutoOriginInvalid', 'message' => 'The origin of auto rules is invalid.', 'http_code' => 400, 'description' => '自动创建防护规则的来源无效。'],
+ ['code' => 'Defense.Control.DefenseRuleAutoUpdateInvalid', 'message' => 'Invalid automatic update configuration.', 'http_code' => 400, 'description' => '无效的自动更新配置'],
+ ['code' => 'Defense.Control.DefenseRuleBotConfigInvalid', 'message' => 'Illegal Bot Scene Rule Configuration.', 'http_code' => 400, 'description' => 'Bot场景规则配置不合法'],
+ ['code' => 'Defense.Control.DefenseRuleBotTrafficInvalid', 'message' => 'Illegal traffic characteristics in Bot scene.', 'http_code' => 400, 'description' => 'Bot场景中流量特征不合法'],
+ ['code' => 'Defense.Control.DefenseRuleConditionEmpty', 'message' => 'The flow characteristic in the protection rule cannot be empty.', 'http_code' => 400, 'description' => '防护规则中的流量特征不能为空'],
+ ['code' => 'Defense.Control.DefenseRuleConditionEmpty', 'message' => 'You must configure the traffic characteristics in the protection rule.', 'http_code' => 400, 'description' => '防护规则中的流量特征不能为空'],
+ ['code' => 'Defense.Control.DefenseRuleConditionKeyInvalid', 'message' => 'Invalid flow characteristic matching field of protection rule.', 'http_code' => 400, 'description' => '无效的防护规则的流量特征匹配字段'],
+ ['code' => 'Defense.Control.DefenseRuleConditionKeyInvalid', 'message' => 'The match field in the protection rule is invalid.', 'http_code' => 400, 'description' => '无效的防护规则的流量特征匹配字段'],
+ ['code' => 'Defense.Control.DefenseRuleConditionOpValueInvalid', 'message' => 'Invalid protection rule flow characteristic logic symbol.', 'http_code' => 400, 'description' => '无效的防护规则的流量特征逻辑符'],
+ ['code' => 'Defense.Control.DefenseRuleConditionOpValueInvalid', 'message' => 'The logical operator in the protection rule is invalid.', 'http_code' => 400, 'description' => '无效的防护规则的流量特征逻辑符'],
+ ['code' => 'Defense.Control.DefenseRuleConditionOversize', 'message' => 'The number of flow characteristics of the protection rule exceeds the limit.', 'http_code' => 400, 'description' => '防护规则的流量特征数量超过限制'],
+ ['code' => 'Defense.Control.DefenseRuleConditionValueInvalid', 'message' => 'Matching content of flow characteristics of invalid protection rules.', 'http_code' => 400, 'description' => '无效的防护规则的流量特征匹配内容'],
+ ['code' => 'Defense.Control.DefenseRuleConditionValueInvalid', 'message' => 'The match content in the protection rule is invalid.', 'http_code' => 400, 'description' => '无效的防护规则的流量特征匹配内容'],
+ ['code' => 'Defense.Control.DefenseRuleConfigNotPermitModify', 'message' => 'The protection scenario rule cannot be modified.', 'http_code' => 400, 'description' => '不允许修改该防护场景规则。'],
+ ['code' => 'Defense.Control.DefenseRuleContentModerationConfigInvalid', 'message' => 'Large model content security scenario protection rule configuration error.', 'http_code' => 400, 'description' => '大模型内容安全场景防护规则配置错误。'],
+ ['code' => 'Defense.Control.DefenseRuleCountOverSize', 'message' => 'The number of protection rules exceeds the limit.', 'http_code' => 400, 'description' => '防护规则超过限制'],
+ ['code' => 'Defense.Control.DefenseRuleCreateModifyCountEmpty', 'message' => 'Number of protection rules created or modified at a time cannot be empty.', 'http_code' => 400, 'description' => '单次创建或修改防护规则数量不能为空'],
+ ['code' => 'Defense.Control.DefenseRuleCreateModifyCountEmpty', 'message' => 'You must specify the number of protection rules that you want to create or modify at the same time.', 'http_code' => 400, 'description' => '单次创建或修改防护规则数量不能为空'],
+ ['code' => 'Defense.Control.DefenseRuleCreateModifyCountOverSize', 'message' => 'The number of protection resources in the protection template exceeds the limit.', 'http_code' => 400, 'description' => '防护模板中的防护资源数量超过限制'],
+ ['code' => 'Defense.Control.DefenseRuleCreateModifyCountOverSize', 'message' => 'The number of protected resources in the protection template exceeds the limit.', 'http_code' => 400, 'description' => '防护模板中的防护资源数量超过限制'],
+ ['code' => 'Defense.Control.DefenseRuleDetectAttackLevelConflict', 'message' => 'The detection type and attack level in the content security protection rules of the large model are the same.', 'http_code' => 400, 'description' => '大模型内容安全防护规则中的检测类型和攻击等级重复。'],
+ ['code' => 'Defense.Control.DefenseRuleDistinctConditionOpValueInvalid', 'message' => 'Invalid traffic feature logic symbol for protection deduplication statistics rule.', 'http_code' => 400, 'description' => '无效的防护去重统计规则的流量特征逻辑符'],
+ ['code' => 'Defense.Control.DefenseRuleDistinctConditionValueInvalid', 'message' => 'The threshold configuration of the deduplication statistics of the protection rule is invalid.', 'http_code' => 400, 'description' => '防护规则的去重统计的阈值配置不合法'],
+ ['code' => 'Defense.Control.DefenseRuleGrayConfigInvalid', 'message' => 'The gray-scale effective configuration of the rule is invalid.', 'http_code' => 400, 'description' => '无效的规则灰度生效配置。'],
+ ['code' => 'Defense.Control.DefenseRuleIdConflict', 'message' => 'The protection rule ID is duplicate.', 'http_code' => 400, 'description' => '防护规则ID重复'],
+ ['code' => 'Defense.Control.DefenseRuleNameAlreadyInUse', 'message' => 'Protection rule duplicate name.', 'http_code' => 400, 'description' => '防护规则重名'],
+ ['code' => 'Defense.Control.DefenseRuleNameAlreadyInUse', 'message' => 'The name of the protection rule exists.', 'http_code' => 400, 'description' => '防护规则重名'],
+ ['code' => 'Defense.Control.DefenseRuleNameConflict', 'message' => 'Duplicate protection rule name in batch request.', 'http_code' => 400, 'description' => '批量请求中防护规则名称重复'],
+ ['code' => 'Defense.Control.DefenseRuleNameConflict', 'message' => 'Duplicate protection rule names are specified in the batch of requests.', 'http_code' => 400, 'description' => '批量请求中防护规则名称重复'],
+ ['code' => 'Defense.Control.DefenseRuleNameInvalid', 'message' => 'Illegal protection rule name.', 'http_code' => 400, 'description' => '防护规则名称不合法'],
+ ['code' => 'Defense.Control.DefenseRuleNameInvalid', 'message' => 'The name of the protection rule is invalid.', 'http_code' => 400, 'description' => '防护规则名称不合法'],
+ ['code' => 'Defense.Control.DefenseRuleNotExist', 'message' => 'Protection rule does not exist.', 'http_code' => 400, 'description' => '防护规则不存在'],
+ ['code' => 'Defense.Control.DefenseRuleNotExist', 'message' => 'The protection rule does not exist.', 'http_code' => 400, 'description' => '防护规则不存在'],
+ ['code' => 'Defense.Control.DefenseRuleNotPermitCreate', 'message' => 'This protection scenario rule is not allowed to be created.', 'http_code' => 400, 'description' => '不允许创建该防护场景规则。'],
+ ['code' => 'Defense.Control.DefenseRuleNotPermitDelete', 'message' => 'The protection scenario rule cannot be deleted.', 'http_code' => 400, 'description' => '不允许删除该防护场景规则。'],
+ ['code' => 'Defense.Control.DefenseRuleOriginEmpty', 'message' => 'The source of protection rule cannot be empty.', 'http_code' => 400, 'description' => '防护规则的来源不能为空'],
+ ['code' => 'Defense.Control.DefenseRuleOriginEmpty', 'message' => 'You must specify the source of the protection rule.', 'http_code' => 400, 'description' => '防护规则的来源不能为空'],
+ ['code' => 'Defense.Control.DefenseRuleRateLimitInvalid', 'message' => 'Speed limit configuration of invalid protection rules.', 'http_code' => 400, 'description' => '无效的防护规则的限速配置'],
+ ['code' => 'Defense.Control.DefenseRuleRateLimitInvalid', 'message' => 'The rate-limiting configuration of the protection rule is invalid.', 'http_code' => 400, 'description' => '无效的防护规则的限速配置'],
+ ['code' => 'Defense.Control.DefenseRuleRateLimitTargetInvalid', 'message' => 'Invalid protection rule speed limit target.', 'http_code' => 400, 'description' => '无效的防护规则限速目标'],
+ ['code' => 'Defense.Control.DefenseRuleRateLimitTargetInvalid', 'message' => 'The rate-limiting threshold of the protection rule is invalid.', 'http_code' => 400, 'description' => '无效的防护规则限速目标'],
+ ['code' => 'Defense.Control.DefenseRuleStatusInvalid', 'message' => 'Illegal protection rule status.', 'http_code' => 400, 'description' => '防护规则状态不合法'],
+ ['code' => 'Defense.Control.DefenseRuleStatusInvalid', 'message' => 'The status of the protection rule is invalid.', 'http_code' => 400, 'description' => '防护规则状态不合法'],
+ ['code' => 'Defense.Control.DefenseRuleStatusNotSupported', 'message' => 'The operation is not supported in the current protection rule state.', 'http_code' => 400, 'description' => '当前防护规则状态不支持该操作'],
+ ['code' => 'Defense.Control.DefenseRuleTamperProofConfigInvalid', 'message' => 'Site tamper prevention configuration error in protection rules.', 'http_code' => 400, 'description' => '防护规则中网站防篡改配置错误'],
+ ['code' => 'Defense.Control.DefenseRuleTamperProofProtocolConflict', 'message' => 'Site tamper-proof protocol conflict in protection rules.', 'http_code' => 400, 'description' => '防护规则中网站防篡改协议冲突'],
+ ['code' => 'Defense.Control.DefenseRuleTimeConfigInvalid', 'message' => 'The timing configuration of the rule is invalid.', 'http_code' => 400, 'description' => '无效的规则的定时生效配置。'],
+ ['code' => 'Defense.Control.DefenseRuleUpstreamActionConfigInvalid', 'message' => 'The configuration of the upstream tagging action is invalid.', 'http_code' => 400, 'description' => '无效的回源打标动作扩展配置。'],
+ ['code' => 'Defense.Control.DefenseRuleUrlConflict', 'message' => 'Page tamper-proof rule URL duplication.', 'http_code' => 400, 'description' => '网页防篡改规则URL重复'],
+ ['code' => 'Defense.Control.DefenseSaleSpecValueInvalid', 'message' => 'Sales Rule Configuration Exception.', 'http_code' => 400, 'description' => '售卖规则配置异常'],
+ ['code' => 'Defense.Control.DefenseSaleSpecValueInvalid', 'message' => 'The configuration of the sales rule is abnormal.', 'http_code' => 400, 'description' => '售卖规则配置异常'],
+ ['code' => 'Defense.Control.DefenseSceneNotSupported', 'message' => 'This protection scenario is not supported.', 'http_code' => 400, 'description' => '不支持该防护场景'],
+ ['code' => 'Defense.Control.DefenseSceneNotSupported', 'message' => 'The protection scenario is not supported.', 'http_code' => 400, 'description' => '不支持该防护场景'],
+ ['code' => 'Defense.Control.DefenseTemplateBindUnbindNotSupportAsset', 'message' => 'The protection template does not support binding or unbinding protected assets. Only protected objects and protected groups are supported.', 'http_code' => 400, 'description' => '防护模板不支持绑定或解绑防护资产,只支持防护对象和防护组。'],
+ ['code' => 'Defense.Control.DefenseTemplateBindUnbindOnlySupportAsset', 'message' => 'The protection template only supports binding or unbinding protected assets, but does not support binding or unbinding protected objects and protected groups.', 'http_code' => 400, 'description' => '防护模板只支持绑定或解绑防护资产,不支持绑定或解绑防护对象和防护组。'],
+ ['code' => 'Defense.Control.DefenseTemplateBindUnbindResourceInvalid', 'message' => 'If the resource bound or unbound by the protection template is invalid, it may have been added to other user-defined templates or protection groups.', 'http_code' => 400, 'description' => '防护模板绑定或解绑的资源无效的,可能已经加入其他自定义模板或者防护组'],
+ ['code' => 'Defense.Control.DefenseTemplateBindUnbindResourceInvalid', 'message' => 'The protected object that is bound to or unbound from the protection template is invalid. The protected object is bound to other custom templates or added to protected object groups.', 'http_code' => 400, 'description' => '防护模板绑定或解绑的资源无效的,可能已经加入其他自定义模板或者防护组'],
+ ['code' => 'Defense.Control.DefenseTemplateBindUnbindResourceNotFound', 'message' => 'The resource bound or unbound by the protection template was not found.', 'http_code' => 400, 'description' => '防护模板绑定或解绑的资源未找到'],
+ ['code' => 'Defense.Control.DefenseTemplateBindUnbindResourceNotFound', 'message' => 'Failed to find the protected object that is bound to or unbound from the protection template.', 'http_code' => 400, 'description' => '防护模板绑定或解绑的资源未找到'],
+ ['code' => 'Defense.Control.DefenseTemplateCountOverSize', 'message' => 'The number of protective templates exceeds the limit.', 'http_code' => 400, 'description' => '防护模板数量超过限制'],
+ ['code' => 'Defense.Control.DefenseTemplateCountOverSize', 'message' => 'The number of protection templates exceeds the limit.', 'http_code' => 400, 'description' => '防护模板数量超过限制'],
+ ['code' => 'Defense.Control.DefenseTemplateDescriptionInvalid', 'message' => 'Illegal protection template description.', 'http_code' => 400, 'description' => '防护模板描述不合法'],
+ ['code' => 'Defense.Control.DefenseTemplateDetailInvalid', 'message' => 'Protection template configuration details field is invalid.', 'http_code' => 400, 'description' => '防护模版配置详情字段不合法'],
+ ['code' => 'Defense.Control.DefenseTemplateInGrayOperation', 'message' => 'Protection template grayscale upgrade operation, please try again later.', 'http_code' => 400, 'description' => '防护模板灰度升级操作中,请稍后再试'],
+ ['code' => 'Defense.Control.DefenseTemplateInOperation', 'message' => 'Protective template operation, please try again later.', 'http_code' => 400, 'description' => '防护模板操作中,请稍后再试'],
+ ['code' => 'Defense.Control.DefenseTemplateNameInUse', 'message' => 'Protection template name has been used.', 'http_code' => 400, 'description' => '防护模板名称已经被使用'],
+ ['code' => 'Defense.Control.DefenseTemplateNameInUse', 'message' => 'The name of the protection template is being used.', 'http_code' => 400, 'description' => '防护模板名称已经被使用'],
+ ['code' => 'Defense.Control.DefenseTemplateNotExist', 'message' => 'Protective template does not exist.', 'http_code' => 400, 'description' => '防护模板不存在'],
+ ['code' => 'Defense.Control.DefenseTemplateNotExist', 'message' => 'The protection template does not exist.', 'http_code' => 400, 'description' => '防护模板不存在'],
+ ['code' => 'Defense.Control.DefenseTemplateOwnedByAnotherUser', 'message' => 'Protection template does not belong to this user.', 'http_code' => 400, 'description' => '防护模板不属于该用户'],
+ ['code' => 'Defense.Control.DefenseTemplateOwnedByAnotherUser', 'message' => 'The protection template does not belong to the user.', 'http_code' => 400, 'description' => '防护模板不属于该用户'],
+ ['code' => 'Defense.Control.DefenseTemplateRuleNotPermitCreate', 'message' => 'You cannot create protection rules.', 'http_code' => 400, 'description' => '该防护模块规则不允许创建'],
+ ['code' => 'Defense.Control.DefenseTemplateRuleNotPermitDelete', 'message' => 'Rules in this protection policy are not allowed to be deleted.', 'http_code' => 400, 'description' => '该防护策略中的规则不允许删除'],
+ ['code' => 'Defense.Control.DefenseTemplateRuleNotPermitDelete', 'message' => 'You cannot delete protection rules.', 'http_code' => 400, 'description' => '该防护规则中的规则不允许删除'],
+ ['code' => 'Defense.Control.DefenseTemplateRuleStatusNotPermitModify', 'message' => 'The status of this protection rule cannot be modified.', 'http_code' => 400, 'description' => '防护规则的状态不允许修改'],
+ ['code' => 'Defense.Control.DefenseTemplateStatusInvalid', 'message' => 'Illegal status of protective template.', 'http_code' => 400, 'description' => '防护模板状态不合法'],
+ ['code' => 'Defense.Control.DefenseTemplateStatusInvalid', 'message' => 'The status of the protection template is invalid.', 'http_code' => 400, 'description' => '防护模板状态不合法'],
+ ['code' => 'Defense.Control.DefenseTemplateTypeBindUnbindResourceInvalid', 'message' => 'Only user-defined protection templates can bind or unbind protection resources.', 'http_code' => 400, 'description' => '只有自定义类型的防护模板才能绑定或解绑防护资源'],
+ ['code' => 'Defense.Control.DefenseTemplateTypeBindUnbindResourceInvalid', 'message' => 'Only custom protection templates can be bound to or unbound from protected resources.', 'http_code' => 400, 'description' => '只有自定义类型的防护模板才能绑定或解绑防护资源'],
+ ['code' => 'Defense.Control.DefenseTemplateUserDefaultExist', 'message' => 'User default protection template already exists.', 'http_code' => 400, 'description' => '用户默认防护模板已存在'],
+ ['code' => 'Defense.Control.DefenseTemplateUserDefaultExist', 'message' => 'The default protection template exists.', 'http_code' => 400, 'description' => '用户默认防护模板已存在'],
+ ['code' => 'Defense.Control.DefenseTemplateUserDefaultNotSupport', 'message' => 'The default protection template is not supported.', 'http_code' => 400, 'description' => '该场景不支持用户默认防护模板'],
+ ['code' => 'Defense.Control.DefenseTestActionInvalid', 'message' => 'Illegal test of protective function action.', 'http_code' => 400, 'description' => '测试防护功能动作不合法'],
+ ['code' => 'Defense.Control.DefenseTestExpiredTimeInvalid', 'message' => 'Illegal timeout for testing protective functions.', 'http_code' => 400, 'description' => '测试防护功能的超时时间不合法'],
+ ['code' => 'Defense.Control.DefenseTestUserIpInvalid', 'message' => 'Illegal user IP to test protection function.', 'http_code' => 400, 'description' => '测试防护功能的用户IP不合法'],
+ ['code' => 'Defense.Control.DefenseThreatIntelligenceConfigInvalid', 'message' => 'Threat Intelligence Rule configuration error.', 'http_code' => 400, 'description' => '威胁情报规则配置错误. %s'],
+ ['code' => 'Defense.Control.DefenseTraceIdInvalid', 'message' => 'The format of the log request ID is incorrect.', 'http_code' => 400, 'description' => '日志请求ID格式不正确'],
+ ['code' => 'Defense.Control.DefenseTrafficGuideAlreadyExist', 'message' => 'Drainage strategy already exists.', 'http_code' => 400, 'description' => '引流策略已存在。'],
+ ['code' => 'Defense.Control.DefenseTrafficGuideConfigModelInvalid', 'message' => 'Drainage strategy mode is invalid.', 'http_code' => 400, 'description' => '引流策略模式无效。'],
+ ['code' => 'Defense.Control.DefenseTrafficGuideConfigProductInvalid', 'message' => 'Drainage strategy products are ineffective.', 'http_code' => 400, 'description' => '引流策略产品无效。'],
+ ['code' => 'Defense.Control.DefenseTrafficGuideConfigStrategyInvalid', 'message' => 'The drainage strategy is ineffective.', 'http_code' => 400, 'description' => '引流策略无效。'],
+ ['code' => 'Defense.Control.DefenseTrafficGuideCountOverSize', 'message' => 'Only one drainage strategy is supported.', 'http_code' => 400, 'description' => '引流策略仅支持一条。'],
+ ['code' => 'Defense.Control.DefenseTrafficGuideRuleCountOverSize', 'message' => 'The number of regular or precise rules for drainage policies exceeds the limit.', 'http_code' => 400, 'description' => '引流策略正则或精准规则数量超过限制。'],
+ ['code' => 'Defense.Control.DefenseUploadOssFileFailed', 'message' => 'Failed to upload OSS files.', 'http_code' => 400, 'description' => '上传OSS文件失败'],
+ ['code' => 'Defense.Control.DefenseVastIpDescriptionInvalid', 'message' => 'The description of the IP address blacklist is invalid.', 'http_code' => 400, 'description' => 'IP黑名单描述不合法'],
+ ['code' => 'Defense.Control.DefenseVastIpExpiredTimeInvalid', 'message' => 'The expiration time of the IP address blacklist for protection for major events is invalid.', 'http_code' => 400, 'description' => '无效的重保黑IP的过期时间'],
+ ['code' => 'Defense.Control.DefenseVastIpFileEmpty', 'message' => 'The content of the IP address blacklist file for protection for major events is empty.', 'http_code' => 400, 'description' => '重保IP文件中内容为空'],
+ ['code' => 'Defense.Control.DefenseVastIpFileFormatError', 'message' => 'The format of the IP address blacklist file for protection for major events is invalid.', 'http_code' => 400, 'description' => '重保IP文件中内容格式错误'],
+ ['code' => 'Defense.Control.DefenseVastIpFileOversize', 'message' => 'The number of IP addresses in the IP address blacklist file for protection for major events exceeds the upper limit.', 'http_code' => 400, 'description' => '重保IP文件中IP数量超过限制'],
+ ['code' => 'Defense.Control.DefenseVastIpOperationCountOversize', 'message' => 'The number of IP addresses that are operated each time exceeds the upper limit. The IP addresses are the IP addresses in the IP address blacklist for protection for major events.', 'http_code' => 400, 'description' => '用户单次操作的重保黑IP数量超过限制'],
+ ['code' => 'Defense.Control.DefenseVastIpTotalCountOversize', 'message' => 'The total number of IP addresses in the IP address blacklist for protection for major events exceeds the upper limit.', 'http_code' => 400, 'description' => '用户的重保黑IP总数超过限制'],
+ ['code' => 'Defense.Control.DefenseVastIpUploadFormError', 'message' => 'Failed to obtain the information about the uploaded IP address blacklist file for protection for major events.', 'http_code' => 400, 'description' => '上传IP黑名单文件表单信息获取失败'],
+ ['code' => 'Defense.Control.DefenseWafCustomRuleCompileFailed', 'message' => 'Custom regular rule compilation failed.', 'http_code' => 400, 'description' => '自定义正则规则编译失败'],
+ ['code' => 'Defense.Control.DefenseWafCustomRuleConfigInvalid', 'message' => 'Invalid custom regular rule configuration.', 'http_code' => 400, 'description' => '无效的自定义正则规则配置'],
+ ['code' => 'Defense.Control.DefenseWhitelistBypassRuleNotExist', 'message' => 'The whitelist protection rule does not exist.', 'http_code' => 400, 'description' => '白名单中加白的防护规则不存在.规则ID:%s.'],
+ ['code' => 'Defense.Control.DefenseWhitelistBypassTagInvalid', 'message' => 'The white mark in the white list is invalid.', 'http_code' => 400, 'description' => '白名单中加白标记无效'],
+ ['code' => 'Defense.Control.DefenseWhitelistBypassTagInvalid', 'message' => 'The whitelist parameter is invalid.', 'http_code' => 400, 'description' => '白名单中加白标记无效'],
+ ['code' => 'Defense.Control.DefenseWhitelistCategoryInvalid', 'message' => 'Invalid whitelist whitelist policy module.', 'http_code' => 400, 'description' => '无效的白名单中加白策略模块'],
+ ['code' => 'Defense.Control.DefenseWhitelistCategoryInvalid', 'message' => 'Protection modules defined in the whitelist are invalid.', 'http_code' => 400, 'description' => '无效的白名单中加白规则模块'],
+ ['code' => 'Defense.Control.DefenseWhitelistConfigInvalid', 'message' => 'The whitelist rule is misconfigured.', 'http_code' => 400, 'description' => '白名单规则的配置错误: %s.'],
+ ['code' => 'Defense.Control.DefenseWhitelistRegularRuleSize', 'message' => 'The number of white regular rule IDS in the white list exceeds the limit.', 'http_code' => 400, 'description' => '白名单中加白正则规则ID个数超过限制'],
+ ['code' => 'Defense.Control.DefenseWhitelistRegularRuleSize', 'message' => 'The number of regular expression rules in the whitelist exceeds the limit.', 'http_code' => 400, 'description' => '白名单中加白正则规则ID个数超过限制'],
+ ['code' => 'Defense.Control.DefenseWhitelistRegularTypeSize', 'message' => 'The number of white regular rule types in the white list exceeds the limit.', 'http_code' => 400, 'description' => '白名单中加白正则规则类型个数超过限制'],
+ ['code' => 'Defense.Control.DefenseWhitelistRegularTypeSize', 'message' => 'The number of types of regular expression rules in the whitelist exceeds the limit.', 'http_code' => 400, 'description' => '白名单中加白正则规则类型个数超过限制'],
+ ['code' => 'Defense.Control.InvalidDefenseRuleID', 'message' => 'The protection rule ID is invalid.', 'http_code' => 400, 'description' => '无效的防护规则ID'],
+ ['code' => 'Defense.Control.InvalidParameter', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => '无效的参数'],
+ ['code' => 'Defense.Control.InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => '无效的参数'],
+ ['code' => 'Defense.Control.ProductNotSupportRule', 'message' => 'Access mode does not support this protection scenario rule.%s.', 'http_code' => 400, 'description' => '接入模式不支持此防护场景规则.%s。'],
+ ['code' => 'DlpUsed', 'message' => 'The feature of data leakage prevention is being used.', 'http_code' => 400, 'description' => '防敏感信息泄露正在被使用'],
+ ['code' => 'DomainDuplicateError', 'message' => 'The domain has been configured.', 'http_code' => 400, 'description' => '已完成域的配置。'."\n"],
+ ['code' => 'DomainNotBeianOrInBlackList', 'message' => 'The domain does not have an ICP filling or has been blacklisted.', 'http_code' => 400, 'description' => '域名未备案或者在黑名单中'],
+ ['code' => 'DomainNotBeianOrInBlackList', 'message' => 'Blacklist or Domain Names That Do Not Have ICP Filings', 'http_code' => 400, 'description' => '该域名未备案或处于处罚状态'],
+ ['code' => 'DomainNotExist', 'message' => 'The specified domain does not exist.', 'http_code' => 400, 'description' => '指定的域名不存在。'],
+ ['code' => 'DomainQuotaExceed', 'message' => 'Domain Quota Exceed.', 'http_code' => 400, 'description' => '域名配额超出限制.'],
+ ['code' => 'DomainRetSourceNotSupport', 'message' => 'Your waf does not support return to domain.', 'http_code' => 400, 'description' => '您的waf不支持回源域名'],
+ ['code' => 'DomainUsedByOthers', 'message' => 'The domain name is being used by another owner.', 'http_code' => 400, 'description' => '该域名正在被其他所有者使用。'],
+ ['code' => 'DrainageOverrun', 'message' => 'The number of ports for which WAF protection is enabled exceeds the quota.', 'http_code' => 403, 'description' => '接入的端口数超过系统上限。'],
+ ['code' => 'ExtensiveDomainUsedError', 'message' => 'Another user has used this wildcard domain in Waf.', 'http_code' => 400, 'description' => '另一个用户在Waf中使用了这个通配符域名'],
+ ['code' => 'FunctionAvailableError', 'message' => 'The function is not available.', 'http_code' => 403, 'description' => '功能不支持。'],
+ ['code' => 'IllegalDefaultCertificate', 'message' => 'The default certificate does not exist.', 'http_code' => 403, 'description' => '透明接入的默认证书无效。'],
+ ['code' => 'InternalError', 'message' => 'Unknown error.', 'http_code' => 500, 'description' => '由于未知错误,请求处理失败'],
+ ['code' => 'InvalidIncludeSubDomainWithPreload', 'message' => 'The parameter HstsIncludeSubDomain is invalid. When the parameter HstsPreload is true, the HstsIncludeSubDomain must be true.', 'http_code' => 400, 'description' => '参数HstsIncludeSubDomain无效,参数HstsPreload为true时,HstsIncludeSubDomain必须为true'],
+ ['code' => 'InvalidParameter', 'message' => 'Invalid parameter.', 'http_code' => 400, 'description' => '无效参数'],
+ ['code' => 'InvalidParameters', 'message' => 'Invalid parameters.', 'http_code' => 400, 'description' => '参数不合法.'],
+ ['code' => 'Log.Control.ApisecSpecInfoNotFound', 'message' => 'API security service has not been activated.', 'http_code' => 400, 'description' => '未开通API安全服务。'],
+ ['code' => 'Log.Control.AssumeRoleFailed', 'message' => 'Insufficient permissions, please authorize.', 'http_code' => 400, 'description' => '权限不足,请授权'],
+ ['code' => 'Log.Control.AssumeRoleFailed', 'message' => 'You do not have the required permissions. Obtain the required permissions.', 'http_code' => 400, 'description' => '权限不足,请授权'],
+ ['code' => 'Log.Control.BatchDescribeSlsDispatchStatusFailed', 'message' => 'Query whether SLS service is open error.', 'http_code' => 400, 'description' => '查詢是否开通SLS服务错误'],
+ ['code' => 'Log.Control.BatchDescribeSlsDispatchStatusFailed', 'message' => 'Failed to check whether Log Service is activated.', 'http_code' => 400, 'description' => '查詢是否开通SLS服务错误'],
+ ['code' => 'Log.Control.BatchDescribeSlsLogStoreFailed', 'message' => 'Failed to obtain the logstore list of Log Service SLS.', 'http_code' => 400, 'description' => '获取日志服务SLS的logstore列表失败。'],
+ ['code' => 'Log.Control.BatchDescribeSlsProjectFailed', 'message' => 'Failed to obtain the project list of Log Service SLS.', 'http_code' => 400, 'description' => '获取日志服务SLS的project列表失败。'],
+ ['code' => 'Log.Control.ClusterDeliveryNameEmpty', 'message' => 'When you enable WAF cluster outgoing logs, the outgoing configuration name cannot be empty.', 'http_code' => 400, 'description' => '开启WAF集群外发日志时,外发配置名称不能为空。'],
+ ['code' => 'Log.Control.CreateEtlMetaFailed', 'message' => 'Open Log Distribution Failed.', 'http_code' => 400, 'description' => '开通日志分发失败'],
+ ['code' => 'Log.Control.CreateEtlMetaFailed', 'message' => 'Failed to enable the Log Service for WAF feature.', 'http_code' => 400, 'description' => '开通日志分发失败'],
+ ['code' => 'Log.Control.CreateProjectLogstoreFailed', 'message' => 'Failed to create Projects and Logstores.', 'http_code' => 400, 'description' => '创建Project和Logstore失败'],
+ ['code' => 'Log.Control.CreateProjectLogstoreFailed', 'message' => 'Failed to create a project and a Logstore.', 'http_code' => 400, 'description' => '创建Project和Logstore失败'],
+ ['code' => 'Log.Control.DeleteEtlMetaFailed', 'message' => 'Failed to close log distribution.', 'http_code' => 400, 'description' => '关闭日志分发失败'],
+ ['code' => 'Log.Control.DeleteEtlMetaFailed', 'message' => 'Failed to disable the Log Service for WAF feature.', 'http_code' => 400, 'description' => '关闭日志分发失败'],
+ ['code' => 'Log.Control.DeleteLogStoreFailed', 'message' => 'Failed to delete LogStore.', 'http_code' => 400, 'description' => '删除LogStore失败'],
+ ['code' => 'Log.Control.DeleteLogStoreFailed', 'message' => 'Failed to delete the Logstore.', 'http_code' => 400, 'description' => '删除LogStore失败'],
+ ['code' => 'Log.Control.DeliveryConfigCountExceed', 'message' => 'The count of WAF outgoing configurations exceeds the limit.', 'http_code' => 400, 'description' => 'WAF外发配置数量超过限制。'],
+ ['code' => 'Log.Control.DeliveryConfigInUse', 'message' => 'WAF cluster outgoing configuration is in use and cannot be deleted.', 'http_code' => 400, 'description' => '外发投递配置正在使用中,不允许删除。'],
+ ['code' => 'Log.Control.DeliveryConfigNameDuplicate', 'message' => 'WAF outgoing configuration name is duplicate.', 'http_code' => 400, 'description' => 'WAF外发配置名称重复。'],
+ ['code' => 'Log.Control.DeliveryConfigNotExist', 'message' => 'The WAF cluster log outgoing configuration does not exist.', 'http_code' => 400, 'description' => 'WAF集群日志外发配置不存在。'],
+ ['code' => 'Log.Control.DescribeLogstoreInfoFailed', 'message' => 'Failed to view LogStore information.', 'http_code' => 400, 'description' => '查看LogStore信息失败'],
+ ['code' => 'Log.Control.DescribeLogstoreInfoFailed', 'message' => 'Failed to view the Logstore information.', 'http_code' => 400, 'description' => '查看LogStore信息失败'],
+ ['code' => 'Log.Control.DescribeSlsAuthFailed', 'message' => 'Error querying user for authorization to operate SLS resource.', 'http_code' => 400, 'description' => '查询用戶是否授权操作SLS资源错误'],
+ ['code' => 'Log.Control.DescribeSlsAuthFailed', 'message' => 'Failed to check whether a user is authorized to manage Log Service resources.', 'http_code' => 400, 'description' => '查询用戶是否授权操作SLS资源错误'],
+ ['code' => 'Log.Control.DescribeSlsDispatchStatusFailed', 'message' => 'Query Log Distribution Status Error.', 'http_code' => 400, 'description' => '查询日志分发状态错误'],
+ ['code' => 'Log.Control.DescribeSlsDispatchStatusFailed', 'message' => 'Failed to query the status of the Log Service for WAF feature.', 'http_code' => 400, 'description' => '查询日志分发状态错误'],
+ ['code' => 'Log.Control.EtlMetaExistError', 'message' => 'Log distribution already exists.', 'http_code' => 400, 'description' => '日志分发已存在'],
+ ['code' => 'Log.Control.EtlMetaExistError', 'message' => 'The Log Service for WAF feature is enabled.', 'http_code' => 400, 'description' => '日志分发已存在'],
+ ['code' => 'Log.Control.EtlMetaNotExist', 'message' => 'Log distribution configuration does not exist.', 'http_code' => 400, 'description' => '日志分发配置不存在'],
+ ['code' => 'Log.Control.EtlMetaNotExist', 'message' => 'The Log Service for WAF feature is not enabled.', 'http_code' => 400, 'description' => '日志分发配置不存在'],
+ ['code' => 'Log.Control.HybridCloudNotSupport', 'message' => 'The hybrid cloud extension node is not supported. Please purchase and try again.', 'http_code' => 400, 'description' => '不支持混合云扩展节点,请购买后重试。'],
+ ['code' => 'Log.Control.HybridClusterNotExist', 'message' => 'The hybrid cloud cluster does not exist.', 'http_code' => 400, 'description' => '混合云集群不存在。'],
+ ['code' => 'Log.Control.InDebtError', 'message' => 'You have a bill in arrears and do not meet the requirements for automatic logging service. Please recharge your bill and settle it before trying again.', 'http_code' => 400, 'description' => '您有欠费账单,不符合自动开通日志服务的条件,请先充值结清账单再重试。'],
+ ['code' => 'Log.Control.InDebtError', 'message' => 'You have overdue payments in your account. The Log Service for WAF feature cannot be automatically enabled. Top up your account, settle the payments, and try again.', 'http_code' => 400, 'description' => '您有欠费账单,不符合自动开通日志服务的条件,请先充值结清账单再重试。'],
+ ['code' => 'Log.Control.InvalidAssertKey', 'message' => 'The AssertKey is invalid.', 'http_code' => 400, 'description' => 'AssertKey参数无效'],
+ ['code' => 'Log.Control.InvalidInstanceId', 'message' => 'The instance ID is invalid.', 'http_code' => 400, 'description' => 'WAF实例ID参数无效'],
+ ['code' => 'Log.Control.InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => '请求参数无效,请校验请求参数。'],
+ ['code' => 'Log.Control.InvalidParameter', 'message' => 'Parameter error. Check and correct the parameter and try again.', 'http_code' => 400, 'description' => '参数错误,请检查参数并修正参数后重试。'],
+ ['code' => 'Log.Control.InvalidSlsParam', 'message' => 'Invalid parameters for Log Service SLS.', 'http_code' => 400, 'description' => '日志服务SLS的参数无效'],
+ ['code' => 'Log.Control.InvalidUserId', 'message' => 'Invalid user id.', 'http_code' => 400, 'description' => '无效的用户ID'],
+ ['code' => 'Log.Control.InvalidUserId', 'message' => 'The user ID is invalid.', 'http_code' => 400, 'description' => '无效的用户ID'],
+ ['code' => 'Log.Control.KafkaConfigParamError', 'message' => 'The Kafka log outgoing configuration parameter is incorrect.', 'http_code' => 400, 'description' => 'Kafka日志外发配置参数错误。'],
+ ['code' => 'Log.Control.LogServiceNotSupport', 'message' => 'Log Service is not supported. Please try again after purchasing.', 'http_code' => 400, 'description' => '不支持日志服务功能,请购买后重试.'],
+ ['code' => 'Log.Control.ModifyEtlMetaFailed', 'message' => 'Failed to modify log distribution configuration.', 'http_code' => 400, 'description' => '修改日志分发配置失败'],
+ ['code' => 'Log.Control.ModifyEtlMetaFailed', 'message' => 'Failed to modify the configuration of the Log Service for WAF feature.', 'http_code' => 400, 'description' => '修改日志分发配置失败'],
+ ['code' => 'Log.Control.ModifyUserLogFieldConfigError', 'message' => 'The user failed to modify the log field.', 'http_code' => 400, 'description' => '该用户修改日志字段失败'],
+ ['code' => 'Log.Control.ModifyUserLogFieldConfigError', 'message' => 'Failed to modify the log fields.', 'http_code' => 400, 'description' => '该用户修改日志字段失败'],
+ ['code' => 'Log.Control.ModifyUserLogSpecError', 'message' => 'modify user log spec code failed, please try again later.', 'http_code' => 400, 'description' => '开通WAF日志服务失败。'],
+ ['code' => 'Log.Control.OpenSlsServiceFailed', 'message' => 'Failed to open SLS.', 'http_code' => 400, 'description' => '开通SLS失败'],
+ ['code' => 'Log.Control.OpenSlsServiceFailed', 'message' => 'Failed to activate Log Service.', 'http_code' => 400, 'description' => '开通SLS失败'],
+ ['code' => 'Log.Control.ResourceCountTooMuch', 'message' => 'When querying the log delivery status of protected resources, the number of protected resources exceeds the limit.', 'http_code' => 400, 'description' => '查询防护对象日志投递状态时,防护对象数量超过限制.'],
+ ['code' => 'Log.Control.ResourceDeliveryNameEmpty', 'message' => 'When you enable external log delivery for protected resources, the external delivery configuration name cannot be empty.', 'http_code' => 400, 'description' => '开启防护对象外发日志投递时,外发投递配置名称不能为空.'],
+ ['code' => 'Log.Control.ResourceNotExist', 'message' => 'The protected resource does not exist.', 'http_code' => 400, 'description' => '防护对象不存在.'],
+ ['code' => 'Log.Control.ResourceNotSupportDelivery', 'message' => 'The protected resource does not support enabling external log delivery.', 'http_code' => 400, 'description' => '该防护对象不支持开启日志外发投递.'],
+ ['code' => 'Log.Control.SlsLogStoreNotExist', 'message' => 'LogStore for SLS does not exist.', 'http_code' => 400, 'description' => 'SLS的LogStore不存在'],
+ ['code' => 'Log.Control.SlsLogStoreNotExist', 'message' => 'The Logstore does not exist.', 'http_code' => 400, 'description' => 'SLS的LogStore不存在'],
+ ['code' => 'Log.Control.SlsProjectNotExist', 'message' => 'Projects for SLS do not exist.', 'http_code' => 400, 'description' => 'SLS的Project不存在'],
+ ['code' => 'Log.Control.SlsProjectNotExist', 'message' => 'The project does not exist.', 'http_code' => 400, 'description' => 'SLS的Project不存在'],
+ ['code' => 'Log.Control.SyslogConfigParamError', 'message' => 'Syslog outgoing configuration parameter error.', 'http_code' => 400, 'description' => 'Syslog日志外发配置参数错误。'],
+ ['code' => 'Log.Control.UserLogFieldIsUpdating', 'message' => 'The user log field is being configured.', 'http_code' => 400, 'description' => '该用户日志字段正在配置'],
+ ['code' => 'Log.Control.UserLogFieldIsUpdating', 'message' => 'The log field is being configured.', 'http_code' => 400, 'description' => '该用户日志字段正在配置'],
+ ['code' => 'Log.Control.UserLogOpenedError', 'message' => 'Log Service activation failed.', 'http_code' => 400, 'description' => '日志服务开通失败。'],
+ ['code' => 'Log.Control.UserRegionNotFound', 'message' => 'User region not found.', 'http_code' => 400, 'description' => '不支持的用户日志区域'],
+ ['code' => 'NoPermission', 'message' => 'The current operation is not authorized. Please contact the main account to perform authorization after the RAM console is authorized.', 'http_code' => 400, 'description' => '当前操作未被授权。RAM控制台授权后,请联系主账户进行授权。'],
+ ['code' => 'NoPermissonCreatesServiceLinkedRole', 'message' => 'No Permisson Create Service Linked Role.', 'http_code' => 400, 'description' => '没有权限创建服务关联角色'],
+ ['code' => 'NormalizedUsed', 'message' => 'The feature of positive security model is being used.', 'http_code' => 400, 'description' => '主动防御功能正在被使用'],
+ ['code' => 'ParamError', 'message' => 'The parameters of your request are invalid.', 'http_code' => 400, 'description' => '您请求的参数无效。'],
+ ['code' => 'PropertyConvertFailed', 'message' => 'The property convert failed.', 'http_code' => 400, 'description' => '由于未知错误,请求处理失败。'],
+ ['code' => 'Rasp.Attach.DeleteFail', 'message' => 'The access record in the access switch ON state cannot be deleted.', 'http_code' => 200, 'description' => '不能删除处于接入开关开启状态的接入记录。'],
+ ['code' => 'Rasp.Sale.NotExist', 'message' => 'User not purchased.', 'http_code' => 400, 'description' => '用户未购买RASP实例。'],
+ ['code' => 'Rasp.UnexpectedError', 'message' => 'Unknown error.', 'http_code' => 500, 'description' => '由于未知错误,请求处理失败'],
+ ['code' => 'RedirectionStarting', 'message' => 'WAF protection is being enabled for the port. Try again later.', 'http_code' => 403, 'description' => '透明接入的端口正在开启中。'],
+ ['code' => 'RequestError', 'message' => 'The system is unavailable. Please try again later.', 'http_code' => 400, 'description' => '系统不可用,请稍后再试。'."\n"
+ ."\n"],
+ ['code' => 'RiskyDomain', 'message' => 'The domain name you added may be at risk. If you have any questions, please submit a work order.', 'http_code' => 400, 'description' => '您所添加的域名可能存在风险,如有任何疑问,请提交工单'."\n"],
+ ['code' => 'RoleAlreadyExists', 'message' => 'Service Linked Role Already Exists.', 'http_code' => 400, 'description' => '角色已存在'],
+ ['code' => 'RsListenPortError', 'message' => 'The specified origin server listening port is invalid.', 'http_code' => 403, 'description' => '回源端口不合法。'],
+ ['code' => 'Rule.Service.CustomRuleGroupCountGreaterMaxCapacity', 'message' => 'The number of custom rule groups exceeds the purchase limit.', 'http_code' => 400, 'description' => '自定义规则组数量超过购买上限'],
+ ['code' => 'Rule.Service.CustomRuleGroupCountGreaterMaxCapacity', 'message' => 'The number of custom rule groups exceeds the upper limit.', 'http_code' => 400, 'description' => '自定义规则组数量超过购买上限'],
+ ['code' => 'Rule.Service.GenericException', 'message' => 'Internal error.', 'http_code' => 400, 'description' => '内部错误'],
+ ['code' => 'Rule.Service.GenericException', 'message' => 'A system error occurred.', 'http_code' => 400, 'description' => '发生一个系统错误'],
+ ['code' => 'Rule.Service.InternalUnknownError', 'message' => 'Unknown error.', 'http_code' => 400, 'description' => '未知错误'],
+ ['code' => 'Rule.Service.InternalUnknownError', 'message' => 'An unknown error occurred.', 'http_code' => 400, 'description' => '发生一个未知错误'],
+ ['code' => 'Rule.Service.InvalidParameter', 'message' => 'Parameter check failed.', 'http_code' => 400, 'description' => '参数校验失败'],
+ ['code' => 'Rule.Service.InvalidParameter', 'message' => 'Failed to verify parameters.', 'http_code' => 400, 'description' => '参数校验失败'],
+ ['code' => 'Rule.Service.NotFoundObject', 'message' => 'No corresponding data found.', 'http_code' => 400, 'description' => '没有找到对应的数据'],
+ ['code' => 'Rule.Service.NotFoundObject', 'message' => 'Failed to find the specified data.', 'http_code' => 400, 'description' => '没有找到对应的数据'],
+ ['code' => 'Rule.Service.NotFoundPolicy', 'message' => 'Rule group not found.', 'http_code' => 400, 'description' => '没有找到规则组'],
+ ['code' => 'Rule.Service.NotFoundPolicy', 'message' => 'No rule groups found.', 'http_code' => 400, 'description' => '没有找到规则组'],
+ ['code' => 'Rule.Service.NotFoundRule', 'message' => 'No rules found.', 'http_code' => 400, 'description' => '没有找到规则'],
+ ['code' => 'Rule.Service.NotSupportedCustomRuleGroup', 'message' => 'Custom rule group not purchased, please upgrade.', 'http_code' => 400, 'description' => '未购买自定义规则组,请升级'],
+ ['code' => 'Rule.Service.NotSupportedCustomRuleGroup', 'message' => 'The custom rule group is not supported.', 'http_code' => 400, 'description' => '未购买自定义规则组规格'],
+ ['code' => 'Rule.Service.NotSupportedOperation', 'message' => 'This operation is not supported.', 'http_code' => 400, 'description' => '不支持该操作'],
+ ['code' => 'Rule.Service.NotSupportedOperation', 'message' => 'The operation is not supported.', 'http_code' => 400, 'description' => '不支持该操作'],
+ ['code' => 'Rule.Service.ParameterFormatError', 'message' => 'Parameter format error.', 'http_code' => 400, 'description' => '参数格式错误'],
+ ['code' => 'Rule.Service.ParameterFormatError', 'message' => 'The format of the parameter is invalid.', 'http_code' => 400, 'description' => '参数格式错误'],
+ ['code' => 'Rule.Service.ParameterIsEmpty', 'message' => 'Empty parameter.', 'http_code' => 400, 'description' => '参数为空'],
+ ['code' => 'Rule.Service.ParameterIsEmpty', 'message' => 'You must configure the parameter.', 'http_code' => 400, 'description' => '参数为空'],
+ ['code' => 'Rule.Service.ParameterNotInRange', 'message' => 'Parameter exceeded expected range.', 'http_code' => 400, 'description' => '参数超过预期的范围'],
+ ['code' => 'Rule.Service.ParameterNotInRange', 'message' => 'The parameter value is invalid.', 'http_code' => 400, 'description' => '参数超过预期的范围'],
+ ['code' => 'Rule.Service.PolicyNameAlreadyExist', 'message' => 'Rule group name already exists.', 'http_code' => 400, 'description' => '规则组名称已经存在'],
+ ['code' => 'Rule.Service.PolicyNameAlreadyExist', 'message' => 'The group name already exists.', 'http_code' => 400, 'description' => '规则组名称已经存在'],
+ ['code' => 'Rule.Service.PolicyStatusError', 'message' => 'Rule group in use, unable to operate.', 'http_code' => 400, 'description' => '规则组在使用中,无法进行操作'],
+ ['code' => 'Rule.Service.PolicyStatusError', 'message' => 'The rule group is in use and cannot be operated.', 'http_code' => 400, 'description' => '规则组在使用中,无法进行操作'],
+ ['code' => 'RuleNameDuplicated', 'message' => 'Rule name already in use.', 'http_code' => 400, 'description' => '已经使用的规则名称。'],
+ ['code' => 'RuleNameInvalidError', 'message' => 'The name of rule is invalid.', 'http_code' => 400, 'description' => '规格名称无效.'],
+ ['code' => 'RuleNotExist', 'message' => 'The specified rule does not exist.', 'http_code' => 400, 'description' => '指定的规则不存在。'],
+ ['code' => 'RuleQueryParamError', 'message' => 'The request parameter is invalid.', 'http_code' => 403, 'description' => '请求参数不合法。'],
+ ['code' => 'SecondLevelDomainQuotaExceed', 'message' => 'Second Level Domain Quota Exceed.', 'http_code' => 403, 'description' => '域名配额超出限制.'],
+ ['code' => 'TamperproofUsed', 'message' => 'The feature of website tamper-proofing is being used.', 'http_code' => 400, 'description' => '网站防篡改有规则正在被使用'],
+ ['code' => 'TestErrorCode.%s.', 'message' => 'TestErrorMsg.%s.', 'http_code' => 400, 'description' => '测试的错误码'],
+ ['code' => 'UnderDDoS', 'message' => 'The current WAF instance is in the defense/blackhole state, and it is not allowed to enable the Exclusive IP/GSLB configuration', 'http_code' => 400, 'description' => '当前WAF实例处于清洗/黑洞状态,不允许开启独享IP/共享集群智能负载均衡配置'],
+ ['code' => 'UserMigrating', 'message' => 'WAF user is migrating, the operation of resource does not support.', 'http_code' => 400, 'description' => 'WAF用户正在迁移中,不支持对接入资源的操作。'],
+ ['code' => 'UserNotFound', 'message' => 'The specified user does not exist.', 'http_code' => 403, 'description' => '未购买WAF实例。'],
+ ['code' => 'VasdUsedUp', 'message' => 'The resource package has been used up. For example, all VIP addresses are used.', 'http_code' => 403, 'description' => '资源包已用完。'."\n"],
+ ['code' => 'VerifyDomainCountExceed', 'message' => 'The number of domain names exceeds the limit. You can upgrade the domain package.', 'http_code' => 400, 'description' => '域名数量超过限制,您可以升级域名包。'],
+ ['code' => 'VerifyHttpPortNotSupport', 'message' => 'An invalid HTTP port is specified.', 'http_code' => 400, 'description' => '指定了无效的HTTP端口.'],
+ ['code' => 'VerifyInfoLeakageNotSupport', 'message' => 'Information leakage prevention is not supported.', 'http_code' => 403, 'description' => '不支持信息防泄漏'],
+ ['code' => 'VerifyMainDomainCountExceed', 'message' => 'The number of primary domains exceeds the limit. You can upgrade the domain package.', 'http_code' => 400, 'description' => '主域名的数量超过限制,您可以升级域名包。'],
+ ['code' => 'VerifyRuleCountExceed', 'message' => 'The number of rules exceeds the limit.', 'http_code' => 400, 'description' => '规则数量超过限制。'],
+ ['code' => 'VerifyScreenNotSupport', 'message' => 'Large screens are not supported.', 'http_code' => 403, 'description' => '不支持大屏'],
+ ['code' => 'VerifyTamperproofNotSupport', 'message' => 'Tamper resistance is not supported.', 'http_code' => 403, 'description' => '不支持防篡改'],
+ ['code' => 'Waf.Control.AllAccessCnameNeedMigrate', 'message' => 'The user access configuration has not been migrated yet. Please confirm after migration.', 'http_code' => 400, 'description' => '用户域名配置暂未迁移完成, 请迁移完成后再确认。'],
+ ['code' => 'Waf.Control.ApisecDefaultRuleNotSupportDelete', 'message' => 'The default rules for API security do not support deletion.', 'http_code' => 400, 'description' => 'API安全内置规则不支持删除。'],
+ ['code' => 'Waf.Control.ApisecExportTypeExist', 'message' => 'API security export task already exists.', 'http_code' => 400, 'description' => 'API安全导出任务已存在。'],
+ ['code' => 'Waf.Control.ApisecInSystemUpdate', 'message' => 'API security service upgrade, expected to last 90 minutes, please try again later.', 'http_code' => 400, 'description' => 'API安全服务升级中,预计持续90分钟,请稍后重试。'],
+ ['code' => 'Waf.Control.ApisecIsInitializing', 'message' => 'API security service initialization, expected to last for 1 minute, please try again later.', 'http_code' => 400, 'description' => 'API安全服务初始化中,预计持续1分钟,请稍后再试。'],
+ ['code' => 'Waf.Control.ApisecNotSupport', 'message' => 'The API security module is not supported.', 'http_code' => 400, 'description' => 'API安全功能不支持。'],
+ ['code' => 'Waf.Control.ApisecRuleHostParameterConflict', 'message' => 'The content of the domain name field in the API security rule is duplicate.', 'http_code' => 400, 'description' => 'API安全规则中域名字段内容重复。'],
+ ['code' => 'Waf.Control.ApisecRuleInOperation', 'message' => 'The API security policy configuration is operating, please try again later.', 'http_code' => 400, 'description' => 'API安全策略配置操作中,请稍后再试。'],
+ ['code' => 'Waf.Control.ApisecRuleNotExist', 'message' => 'API security rule does not exist.', 'http_code' => 400, 'description' => 'API安全规则不存在。'],
+ ['code' => 'Waf.Control.CloudProductInfoEmpty', 'message' => 'The resource Id of the cloud product accessing WAF is null or null values exist in the three input parameters of the cloud product name, port, and cloud product instance.', 'http_code' => 400, 'description' => '云产品接入WAF的资源Id为空 或 云产品名称、端口、云产品实例等3个入参中存在空值'],
+ ['code' => 'Waf.Control.CloudProductInfoNotMartch', 'message' => 'The value of the cloud product, port, instance, and input parameter to which the resource ID of the cloud product is connected to WAF does not match.', 'http_code' => 400, 'description' => '云产品接入WAF的资源Id所属的云产品、端口、实例和入参的值不匹配.'],
+ ['code' => 'Waf.Control.CnameBatchOpsFailedDomains', 'message' => 'Failed to upgrade the domain name to WAF3.0 or roll back the domain name to WAF2.0.', 'http_code' => 400, 'description' => '升级域名至WAF3.0或回滚域名至WAF2.0失败。'],
+ ['code' => 'Waf.Control.Conflict', 'message' => 'Configuration Conflict', 'http_code' => 400, 'description' => '配置冲突,请稍后'],
+ ['code' => 'Waf.Control.DefenseResourceCountOverSize', 'message' => 'The maximum number of protected objects is exceeded.', 'http_code' => 400, 'description' => '防护对象数超上限'],
+ ['code' => 'Waf.Control.DefenseResourceEmpty', 'message' => 'CloudResourceId parameter is illegal.', 'http_code' => 400, 'description' => 'CloudResourceId参数不合法'],
+ ['code' => 'Waf.Control.DomainAndDomainIdBothEmpty', 'message' => 'domain and domainId cannot be empty at the same time.', 'http_code' => 400, 'description' => '域名和域名ID不能同时为空.'."\n"],
+ ['code' => 'Waf.Control.DomainAndDomainIdNotMatch', 'message' => 'domain and domainId do not match.', 'http_code' => 400, 'description' => '入参Domain和DomainId不匹配'."\n"],
+ ['code' => 'Waf.Control.DomainExist', 'message' => 'The domain has been configured.', 'http_code' => 400, 'description' => '当前域名配置已存在,请重新选择合适的域名 '],
+ ['code' => 'Waf.Control.DomainExist', 'message' => 'The domain name already exists.', 'http_code' => 400, 'description' => '域名已经存在'],
+ ['code' => 'Waf.Control.DomainFormatInvalid', 'message' => 'Incorrect domain name format.', 'http_code' => 400, 'description' => '域名格式不正确'],
+ ['code' => 'Waf.Control.DomainIdIsIllegal', 'message' => 'The input parameter, the domainId is illegal.', 'http_code' => 400, 'description' => '入参DomainId不合法'],
+ ['code' => 'Waf.Control.DomainNotEmpty', 'message' => 'The domain name must be specified.', 'http_code' => 400, 'description' => '域名不能为空'],
+ ['code' => 'Waf.Control.DomainOwnerNotVerify', 'message' => 'The user domain ownership is not verified.', 'http_code' => 400, 'description' => '用户域名归属权未验证'],
+ ['code' => 'Waf.Control.DomainsNotEmpty', 'message' => 'The domain name list cannot be empty.', 'http_code' => 400, 'description' => '域名列表不能为空'],
+ ['code' => 'Waf.Control.DomainTxtRecordValidateFailed', 'message' => 'Failed to verify the ownership of the primary domain name', 'http_code' => 400, 'description' => '验证主域名所属权失败,请输入拥有所属权的主域名。'],
+ ['code' => 'Waf.Control.ExportDomainsExist', 'message' => 'The domain name export task is in progress. Please do not export it repeatedly.', 'http_code' => 400, 'description' => '域名导出任务执行中,请不要重复导出。 '],
+ ['code' => 'Waf.Control.ExportingTasksMoreThanFifty', 'message' => 'The number of tasks being exported cannot exceed 50', 'http_code' => 400, 'description' => '正在导出的任务不能超过50条'],
+ ['code' => 'Waf.Control.FingerStatusNotEmpty', 'message' => 'The parameters of your request are invalid.', 'http_code' => 400, 'description' => '请求参数无效,请校验请求参数。 '],
+ ['code' => 'Waf.Control.InstanceExpired', 'message' => 'The instance has expired and does not support POC.', 'http_code' => 400, 'description' => '实例已到期,不支持开启POC功能。'],
+ ['code' => 'Waf.Control.InstanceStatusNotSupport', 'message' => 'Migration is not supported in the current instance state.', 'http_code' => 400, 'description' => '该实例状态下不支持迁移'],
+ ['code' => 'Waf.Control.InsufficientPocQuota', 'message' => 'Insufficient POC quota.', 'http_code' => 400, 'description' => 'POC配额不足。'],
+ ['code' => 'Waf.Control.InvalidApisecComplianceCode', 'message' => 'The information data type in the compliance check rule is invalid.', 'http_code' => 400, 'description' => '合规审查规则中信息数据类型不合法。'],
+ ['code' => 'Waf.Control.InvalidApisecRuleCondition', 'message' => 'The condition parameter in the API security rule is invalid.', 'http_code' => 400, 'description' => 'API安全规则中检查条件的参数错误。'],
+ ['code' => 'Waf.Control.InvalidApisecRuleParam', 'message' => 'The API security rule parameter is invalid.', 'http_code' => 400, 'description' => 'API安全规则参数错误。'],
+ ['code' => 'Waf.Control.InvalidApisecTrafficTime', 'message' => 'The time parameter for API security compliance check is invalid.', 'http_code' => 400, 'description' => 'API安全合规审查检测时间参数不合法。'],
+ ['code' => 'Waf.Control.InvalidApisecWhitelistTags', 'message' => 'The tags parameter in the API security whitelist rule is invalid.', 'http_code' => 400, 'description' => 'API安全白名单规则中的不检测类型参数无效。'],
+ ['code' => 'Waf.Control.InvalidDelegatedUserId', 'message' => 'Invalid delegated administrator user ID.', 'http_code' => 400, 'description' => '无效的委派管理员用户ID。'],
+ ['code' => 'Waf.Control.InvalidMemberUserId', 'message' => 'Invalid member account user ID.', 'http_code' => 400, 'description' => '无效的成员账号用户ID。'],
+ ['code' => 'Waf.Control.InvalidParameter', 'message' => 'The parameters of your request are invalid.', 'http_code' => 400, 'description' => '请求参数无效,请校验请求参数。'],
+ ['code' => 'Waf.Control.MemberHasWafInstance', 'message' => 'The member account already holds a WAF instance and cannot be managed by a delegated administrator account.', 'http_code' => 400, 'description' => '成员账号已持有WAF实例,不能被委派管理员账号纳管'],
+ ['code' => 'Waf.Control.MemberNotExist', 'message' => 'The member account does not exist. Please check and try again.', 'http_code' => 400, 'description' => '该成员账号不存在,请检查后重试。'],
+ ['code' => 'Waf.Control.MemberUserInBatchTooMuch', 'message' => 'The number of member accounts for batch operations exceeds the limit.', 'http_code' => 400, 'description' => '批量操作的成员账号数量超过限制.'],
+ ['code' => 'Waf.Control.MemberUserOverLimit', 'message' => 'The number of managed member accounts has exceeded the WAF instance specification limit. Please upgrade and try again.', 'http_code' => 400, 'description' => '纳管的成员账号数量已超过WAF实例规格限制,请升级后重试.'],
+ ['code' => 'Waf.Control.MigrateTaskExist', 'message' => 'The migration task already exists.', 'http_code' => 400, 'description' => '迁移任务已经存在。'],
+ ['code' => 'Waf.Control.ModuleCodeInvalid', 'message' => 'The code of the pricing module is incorrect.', 'http_code' => 400, 'description' => '计价模块标识不合法。'],
+ ['code' => 'Waf.Control.NotRollBack', 'message' => 'During the migration, the domain name has been modified or added to the access configuration in V3. You cannot roll back or abort the upgrade.', 'http_code' => 400, 'description' => '迁移中,域名在V3修改过或新增接入配置,不允许回滚或放弃升级.'],
+ ['code' => 'Waf.Control.NotSupportRd', 'message' => 'The user\'s WAF instance does not support multi-account management. Please upgrade and try again.', 'http_code' => 400, 'description' => '该用户WAF实例不支持多账号管理,请升级后重试'],
+ ['code' => 'Waf.Control.PocFunctionBought', 'message' => 'The function specified to enable POC has already been purchased.', 'http_code' => 400, 'description' => '指定开启POC的功能已经购买。'],
+ ['code' => 'Waf.Control.PocIllegalType', 'message' => 'Type field value is incorrect when enabling POC.', 'http_code' => 400, 'description' => '开启POC时Type字段值有误。'],
+ ['code' => 'Waf.Control.PocInvalidEdition', 'message' => 'The WAF version does not support the POC function.', 'http_code' => 400, 'description' => '该WAF版本不支持POC功能。'],
+ ['code' => 'Waf.Control.PocRepeatedEnable', 'message' => 'POC has been enabled and cannot be repeated.', 'http_code' => 400, 'description' => 'POC已开启,无法重复开启。'],
+ ['code' => 'Waf.Control.ResourceDirectoryNotExist', 'message' => 'The user has not activated the resource directory. Please try again after activating.', 'http_code' => 400, 'description' => '该用户未开通资源目录,请开通后重试。'],
+ ['code' => 'Waf.Control.TopDomainNotEmpty', 'message' => 'The top-level domain must be specified.', 'http_code' => 400, 'description' => '顶级域名不能为空'],
+ ['code' => 'Waf.Control.UserAlreadyMigrated', 'message' => 'The user configuration has been migrated to the new version of WAF.', 'http_code' => 400, 'description' => '用户配置已经迁移至新版WAF。'],
+ ['code' => 'Waf.Control.UserMigrating', 'message' => 'The user is not allowed to access the configuration during the migration.', 'http_code' => 400, 'description' => '用户在迁移中,不允许操作接入配置。'],
+ ['code' => 'Waf.Control.VerifyRecordNotFound', 'message' => 'The verification record does not exist.', 'http_code' => 400, 'description' => '验证记录不存在。'],
+ ['code' => 'Waf.HybridCloud.AccessModeInvalid', 'message' => 'The access type is invalid.', 'http_code' => 400, 'description' => '接入类型无效'],
+ ['code' => 'Waf.HybridCloud.AccessModeIsEmpty', 'message' => 'The access mode cannot be empty.', 'http_code' => 400, 'description' => 'AccessMode不能为空'],
+ ['code' => 'Waf.HybridCloud.AccessRegionInvalid', 'message' => 'The access region is invalid.', 'http_code' => 400, 'description' => '接入Reigon无效'],
+ ['code' => 'Waf.HybridCloud.ApisecRuleConfigConflict', 'message' => 'API security rule configuration conflicts.', 'http_code' => 400, 'description' => 'API安全规则配置冲突'],
+ ['code' => 'Waf.HybridCloud.ApisecRuleParamError', 'message' => 'API security rule parameter exception.', 'http_code' => 400, 'description' => 'API安全规则参数异常'],
+ ['code' => 'Waf.HybridCloud.ApisecRuleServiceError', 'message' => 'API security rule service exception.', 'http_code' => 400, 'description' => 'API安全规则服务异常'],
+ ['code' => 'Waf.HybridCloud.ClusterIdNotEmpty', 'message' => 'The cluster ID cannot be empty.', 'http_code' => 400, 'description' => '集群ID不能为空'],
+ ['code' => 'Waf.HybridCloud.ClusterNameEmpty', 'message' => 'The cluster name cannot be empty.', 'http_code' => 400, 'description' => '集群名称不能为空'],
+ ['code' => 'Waf.HybridCloud.ClusterNameExist', 'message' => 'The cluster name already exists.', 'http_code' => 400, 'description' => '集群名称已存在'],
+ ['code' => 'Waf.HybridCloud.ClusterNotFound', 'message' => 'No cluster information found.', 'http_code' => 400, 'description' => '集群信息未找到'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleAlreadyExists', 'message' => 'Cluster rule already exists.', 'http_code' => 400, 'description' => '集群规则已存在。'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleContentEmpty', 'message' => 'Cluster rule content cannot be empty.', 'http_code' => 400, 'description' => '集群规则内容不能为空。'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleDontUsed', 'message' => 'Cluster rules have been updated to a new version. For more information, see the latest API documentation.', 'http_code' => 400, 'description' => '集群规则已更新成新版本,请参考最新的API文档。'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleNotFound', 'message' => 'The cluster rule resource ID does not exist.', 'http_code' => 400, 'description' => '集群规则资源ID不存在。'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleResourceIdEmpty', 'message' => 'Cluster rule resource ID cannot be empty.', 'http_code' => 400, 'description' => '集群规则资源ID不能为空'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleStatusIsEmpty', 'message' => 'The rule status of the service-oriented cluster cannot be empty', 'http_code' => 400, 'description' => '规则状态不能为空'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleTypeDontUpdate', 'message' => 'The cluster rule type cannot be modified.', 'http_code' => 400, 'description' => '集群规则类型不能修改。'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleTypeIsEmpty', 'message' => 'The service-oriented cluster rule type cannot be empty', 'http_code' => 400, 'description' => '规则类型不能为空'],
+ ['code' => 'Waf.HybridCloud.ClusterRuleTypeNotExist', 'message' => 'The cluster rule type is incorrect.', 'http_code' => 400, 'description' => '集群规则类型不正确。'],
+ ['code' => 'Waf.HybridCloud.ExactRuleCountOverSize', 'message' => 'The number of precise matching rules exceeds the limit', 'http_code' => 400, 'description' => '精准匹配规则数量超过限制'],
+ ['code' => 'Waf.HybridCloud.GroupCreationError', 'message' => 'You must create storage groups, management groups, and protection groups in sequence.', 'http_code' => 400, 'description' => '请按顺序创建组'],
+ ['code' => 'Waf.HybridCloud.GroupDeleteDomainReferError', 'message' => 'You cannot delete the group because the domain names in the group are in use. Remove the domain names from the group first.', 'http_code' => 400, 'description' => '组删除错误,有域名还在使用,请删除域名引用关系'],
+ ['code' => 'Waf.HybridCloud.GroupDeleteDomainReferError', 'message' => 'A domain name is currently using this protection group. Please delete the domain name reference relationship before proceeding.', 'http_code' => 400, 'description' => '有域名正在使用该防护组,请删除域名引用关系后再操作'],
+ ['code' => 'Waf.HybridCloud.GroupDeleteNodeInError', 'message' => 'You cannot delete the group. Remove the nodes from the group first.', 'http_code' => 400, 'description' => '组删除错误,请先删除组内节点'],
+ ['code' => 'Waf.HybridCloud.GroupDeletionError', 'message' => 'You must delete protection groups, management groups, and storage groups in sequence.', 'http_code' => 400, 'description' => '请按顺序删除组'],
+ ['code' => 'Waf.HybridCloud.GroupIdInvalid', 'message' => 'The group ID is invalid.', 'http_code' => 400, 'description' => '组ID无效'],
+ ['code' => 'Waf.HybridCloud.GroupLocationNotEmpty', 'message' => 'The group region cannot be empty.', 'http_code' => 400, 'description' => '组区域不能为空'],
+ ['code' => 'Waf.HybridCloud.GroupNameNotEmpty', 'message' => 'The group name cannot be empty.', 'http_code' => 400, 'description' => '组名不能为空'],
+ ['code' => 'Waf.HybridCloud.GroupProtectionNodeOverrun', 'message' => 'The number of protected nodes exceeds the upper limit.', 'http_code' => 400, 'description' => '防护节点数超限'],
+ ['code' => 'Waf.HybridCloud.GroupVagentIdInvalid', 'message' => 'The group ID is invalid.', 'http_code' => 400, 'description' => '组ID无效'],
+ ['code' => 'Waf.HybridCloud.HttpPortIsEmpty', 'message' => 'The HTTP ports cannot be empty.', 'http_code' => 400, 'description' => 'HttpPorts不能为空'],
+ ['code' => 'Waf.HybridCloud.HttpsPortIsEmpty', 'message' => 'The HTTPS ports cannot be empty.', 'http_code' => 400, 'description' => 'HttpsPorts不能为空'],
+ ['code' => 'Waf.HybridCloud.HybridCloudApisecNotSupport', 'message' => 'WAF instances do not support hybrid cloud API security.', 'http_code' => 400, 'description' => 'WAF实例不支持混合云API安全'],
+ ['code' => 'Waf.HybridCloud.HybridCloudNotsupport', 'message' => 'Hybrid cloud is not supported.', 'http_code' => 400, 'description' => '规格不支持混合云'],
+ ['code' => 'Waf.HybridCloud.InternalError', 'message' => 'Internal service error.', 'http_code' => 400, 'description' => '内部服务错误'],
+ ['code' => 'Waf.HybridCloud.InvalidGroupType', 'message' => 'The group type is invalid.', 'http_code' => 400, 'description' => '组类型无效'],
+ ['code' => 'Waf.HybridCloud.InvalidHttpPort', 'message' => 'The HTTP port is invalid.', 'http_code' => 400, 'description' => 'HttpPort不合法'],
+ ['code' => 'Waf.HybridCloud.InvalidHttpsPort', 'message' => 'The HTTPS port is invalid.', 'http_code' => 400, 'description' => 'HttpsPort不合法'],
+ ['code' => 'Waf.HybridCloud.LoadBalanceIpNotEmpty', 'message' => 'The server IP address for load balancing cannot be empty.', 'http_code' => 400, 'description' => '负载均衡IP不能为空'],
+ ['code' => 'Waf.HybridCloud.ProtectionCountOrverLoad', 'message' => 'The number of protected domains exceeds the upper limit.', 'http_code' => 400, 'description' => '防护节点数超过规格'],
+ ['code' => 'Waf.HybridCloud.ProtectionServerCountInvalid', 'message' => 'The number of protected domains is invalid.', 'http_code' => 400, 'description' => '防护节点数无效'],
+ ['code' => 'Waf.HybridCloud.PullinRuleFormatInvalid', 'message' => 'Incorrect format of drainage rules', 'http_code' => 400, 'description' => '引流规则格式不正确'],
+ ['code' => 'Waf.HybridCloud.RegexRuleCountOverSize', 'message' => 'The number of regular matching rules exceeds the limit', 'http_code' => 400, 'description' => '正则匹配规则数量超过限制'],
+ ['code' => 'Waf.HybridCloud.SdkInfoNotExist', 'message' => 'SDK info not exist.', 'http_code' => 400, 'description' => '引流节点不存在'],
+ ['code' => 'Waf.HybridCloud.SdkMidIsEmpty', 'message' => 'Machine unique identifier mid cannot be empty', 'http_code' => 400, 'description' => '机器标识不能为空'],
+ ['code' => 'Waf.HybridCloud.ServerContinentsInvalid', 'message' => 'The continent is invalid.', 'http_code' => 400, 'description' => '大州无效'],
+ ['code' => 'Waf.HybridCloud.ServerContinestsUnuseable', 'message' => 'The continent is not supported.', 'http_code' => 400, 'description' => '大州不可用'],
+ ['code' => 'Waf.HybridCloud.ServerMidInvalid', 'message' => 'The machine ID is invalid.', 'http_code' => 400, 'description' => '机器标识无效'],
+ ['code' => 'Waf.HybridCloud.ServerMidNotExist', 'message' => 'The machine ID does not exist.', 'http_code' => 400, 'description' => '机器标识不存在'],
+ ['code' => 'Waf.HybridCloud.ServerOperatorInvalid', 'message' => 'The operator is invalid.', 'http_code' => 400, 'description' => '运营商无效'],
+ ['code' => 'Waf.HybridCloud.ServerOperatorUnuseable', 'message' => 'The operator is not supported.', 'http_code' => 400, 'description' => '运营商不可用'],
+ ['code' => 'Waf.HybridCloud.ServerRegionCodeInvalid', 'message' => 'The city is invalid.', 'http_code' => 400, 'description' => '城市无效'],
+ ['code' => 'Waf.HybridCloud.ServerRegionCodeUnuseable', 'message' => 'The city is not supported.', 'http_code' => 400, 'description' => '城市不可用'],
+ ['code' => 'Waf.HybridCloud.ServerRegionTypeInvalid', 'message' => 'The region type is invalid.', 'http_code' => 400, 'description' => 'RegionType无效'],
+ ['code' => 'Waf.HybridCloud.ServerUpdateFailed', 'message' => 'Failed to update the server information.', 'http_code' => 400, 'description' => '服务器信息更新失败'],
+ ['code' => 'Waf.HybridCloud.UniqueClusterGroupType', 'message' => 'You can create only one group of this type in a cluster.', 'http_code' => 400, 'description' => '集群下此组类型只能创建一个'],
+ ['code' => 'Waf.HybridCloud.UniqueGroupName', 'message' => 'The group name already exists.', 'http_code' => 400, 'description' => '组名重复'],
+ ['code' => 'Waf.HybridCloud.UserNoPermission', 'message' => 'You do not have the permissions to perform this operation.', 'http_code' => 400, 'description' => '没有权限'],
+ ['code' => 'Waf.Instance.MaxTransparentIpPortCountLimit', 'message' => 'The number of transparent access exceeds the current maximum number that can be added', 'http_code' => 400, 'description' => '透明接入数量超过,当前可添加的最大数量'],
+ ['code' => 'Waf.Instance.ValidFaild', 'message' => 'WAF instance check failed. Check whether the instance ID is correct.', 'http_code' => 400, 'description' => 'WAF实例检查失败,请确认实例ID是否正确'],
+ ['code' => 'Waf.Pullin.AbnormalStatus', 'message' => 'The status of the access resource is abnormal. Resource:%s.', 'http_code' => 400, 'description' => '接入资源的状态异常,资源:%s。'],
+ ['code' => 'Waf.Pullin.AlreadyAccessed', 'message' => 'The cloud product has been accessed. Instance ID:%s, Port:%s, Product Type:%s.', 'http_code' => 400, 'description' => '云产品已接入,实例ID:%s,端口:%s,产品类型:%s.'],
+ ['code' => 'Waf.Pullin.BackedInBacklist', 'message' => 'The input back-to-source IP is in the system blacklist, please update the back-to-source IP.', 'http_code' => 400, 'description' => '输入的回源IP在系统黑名单中,请更新回源IP。'],
+ ['code' => 'Waf.Pullin.BackendPortIncompatible', 'message' => 'The back-to-source port is incompatible with the listening port, listening protocol:%s, listening port:%s, back-to-source port:%s.', 'http_code' => 400, 'description' => '回源端口与监听端口不兼容,监听协议:%s,监听端口:%s,回源端口:%s。'],
+ ['code' => 'Waf.Pullin.BackendPortNotMatched', 'message' => 'The back-to-source port does not match the listening port. Listening protocol:%s, listening port:%s, back-to-source port:%s.', 'http_code' => 400, 'description' => '回源端口与监听端口不匹配。监听协议:%s,监听端口:%s,回源端口:%s。'],
+ ['code' => 'Waf.Pullin.BackupBackendConflict', 'message' => 'The backup backend configuration conflicts.', 'http_code' => 400, 'description' => '备链路回源配置冲突。'],
+ ['code' => 'Waf.Pullin.BatchDnsScheduleCheckFailed', 'message' => 'Batch dns scheduling is in progress, and access related operations are prohibited.', 'http_code' => 400, 'description' => '批量dns调度进行中,禁止接入相关操作。'],
+ ['code' => 'Waf.Pullin.BusinessDomainNotRecord', 'message' => 'The domain name does not have an ICP filing.', 'http_code' => 400, 'description' => '输入的域名未备案'],
+ ['code' => 'Waf.Pullin.BusinessViolation', 'message' => 'The domain-related business is suspected of violating regulations. If you have any questions, please follow the ticket process.', 'http_code' => 400, 'description' => '域名业务涉嫌违规,如有疑问请走工单流程。'],
+ ['code' => 'Waf.Pullin.BusinessViolation', 'message' => 'Domain services are suspected of violating regulations. If you have any questions, please submit a work order. Violating resource: %s.', 'http_code' => 400, 'description' => '域名业务涉嫌违规,如有疑问请走工单流程。违规资源:%s。'],
+ ['code' => 'Waf.Pullin.BusinessViolation', 'message' => 'The web services are suspected of violating regulations. If you have any questions, please submit a work order. Violating resource: %s.', 'http_code' => 400, 'description' => '业务涉嫌违规,如有疑问请走工单流程。违规资源:%s。'],
+ ['code' => 'Waf.Pullin.CertAuthFailed', 'message' => 'Certificate authorization failed.', 'http_code' => 400, 'description' => '证书授权失败'],
+ ['code' => 'Waf.Pullin.CertAuthFailed', 'message' => 'Failed to perform certificate authentication.', 'http_code' => 400, 'description' => '证书授权失败'],
+ ['code' => 'Waf.Pullin.CertExist', 'message' => 'Certificate already exists.', 'http_code' => 400, 'description' => '证书已存在'],
+ ['code' => 'Waf.Pullin.CertExist', 'message' => 'The certificate exists.', 'http_code' => 400, 'description' => '证书已存在'],
+ ['code' => 'Waf.Pullin.CertExpired', 'message' => 'Certificate has expired.', 'http_code' => 400, 'description' => '证书已过期'],
+ ['code' => 'Waf.Pullin.CertExpired', 'message' => 'The certificate has expired.', 'http_code' => 400, 'description' => '证书已过期'],
+ ['code' => 'Waf.Pullin.CertExpired', 'message' => 'Certificate expired, certificate ID:%s .', 'http_code' => 400, 'description' => '证书已过期,证书ID:%s 。'],
+ ['code' => 'Waf.Pullin.CertKeyEmpty', 'message' => 'Certificate private key is empty.', 'http_code' => 400, 'description' => '证书私钥为空'],
+ ['code' => 'Waf.Pullin.CertKeyEmpty', 'message' => 'The private key of the certificate is empty.', 'http_code' => 400, 'description' => '证书私钥为空'],
+ ['code' => 'Waf.Pullin.CertKeyNotMatch', 'message' => 'Certificate file does not match private key.', 'http_code' => 400, 'description' => '证书文件与私钥不匹配'],
+ ['code' => 'Waf.Pullin.CertKeyNotMatch', 'message' => 'The certificate file does not match the private key.', 'http_code' => 400, 'description' => '证书文件与私钥不匹配'],
+ ['code' => 'Waf.Pullin.CertNameExist', 'message' => 'Certificate name already exists.', 'http_code' => 400, 'description' => '证书名已存在'],
+ ['code' => 'Waf.Pullin.CertNameExist', 'message' => 'The name of the certificate is being used.', 'http_code' => 400, 'description' => '证书名已存在'],
+ ['code' => 'Waf.Pullin.CertNotExist', 'message' => 'Certificate does not exist.', 'http_code' => 400, 'description' => '证书不存在'],
+ ['code' => 'Waf.Pullin.CertNotExist', 'message' => 'The certificate does not exist.', 'http_code' => 400, 'description' => '证书不存在'],
+ ['code' => 'Waf.Pullin.CertNotExist', 'message' => 'Certificate does not exist in SSL Certificate Center, certificate type:%s, certificate ID:%s.', 'http_code' => 400, 'description' => '证书在SSL证书中心不存在,证书类型:%s,证书ID:%s。'],
+ ['code' => 'Waf.Pullin.CertNotMatchDomain', 'message' => 'The domain name is not included in the certificate.', 'http_code' => 400, 'description' => '证书中不含该域名'],
+ ['code' => 'Waf.Pullin.CertSaveFailed', 'message' => 'Certificate save failed.', 'http_code' => 400, 'description' => '证书保存失败'],
+ ['code' => 'Waf.Pullin.CertSaveFailed', 'message' => 'Failed to store the certificate.', 'http_code' => 400, 'description' => '证书保存失败'],
+ ['code' => 'Waf.Pullin.ClientCertificateOpened', 'message' => 'Clb Instance port Client Certiticate is opened.', 'http_code' => 400, 'description' => 'CLB实例端口的双向认证属性开启,不能接入WAF。'],
+ ['code' => 'Waf.Pullin.CloudProductParamEmpty', 'message' => 'The resource Id of the cloud product accessing WAF is null or null values exist in the three input parameters of the cloud product name, port, and cloud product instance.', 'http_code' => 400, 'description' => '云产品接入WAF的资源Id为空 或 云产品名称、端口、云产品实例等3个入参中存在空值'],
+ ['code' => 'Waf.Pullin.CloudProductParamNotMarch', 'message' => 'The value of the cloud product, port, instance, and input parameter to which the resource ID of the cloud product is connected to WAF does not match.', 'http_code' => 400, 'description' => '云产品接入WAF的资源Id所属的云产品、端口、实例和入参的值不匹配.'],
+ ['code' => 'Waf.Pullin.CloudProductParamNotMatch', 'message' => 'The value of the cloud product, port, instance, and input parameter to which the resource ID of the cloud product is connected to WAF does not match.', 'http_code' => 400, 'description' => '云产品接入WAF的资源Id所属的云产品、端口、实例和入参的值不匹配.'."\n"],
+ ['code' => 'Waf.Pullin.CloudResourceInvalid', 'message' => 'CloudResourceId parameter is illegal.', 'http_code' => 400, 'description' => 'CloudResourceId参数不合法'],
+ ['code' => 'Waf.Pullin.DomainAndDomainIdBothEmpty', 'message' => 'domain and domainId cannot be empty at the same time.', 'http_code' => 400, 'description' => '域名和域名ID不能同时为空.'],
+ ['code' => 'Waf.Pullin.DomainAndDomainIdNotMatch', 'message' => 'domain and domainId do not match.', 'http_code' => 400, 'description' => '入参Domain和DomainId不匹配'],
+ ['code' => 'Waf.Pullin.DomainExistInOldWaf', 'message' => 'Domain name exists in WAF 2.0.', 'http_code' => 400, 'description' => '域名在老WAF中存在'],
+ ['code' => 'Waf.Pullin.DomainExistInOldWaf', 'message' => 'The domain name is added to WAF of the earlier version.', 'http_code' => 403, 'description' => '该域名已在WAF2.0中配置'],
+ ['code' => 'Waf.Pullin.DomainIdIsIllegal', 'message' => 'The input parameter, the domainId is illegal.', 'http_code' => 400, 'description' => '入参DomainId不合法'],
+ ['code' => 'Waf.Pullin.DomainNotBeianOrInBlackList', 'message' => 'The domain does not have an ICP filling or has been blacklisted.', 'http_code' => 400, 'description' => '域名未备案或者在黑名单列表中'],
+ ['code' => 'Waf.Pullin.DomainNotBeianOrInBlackList', 'message' => 'Blacklist or Domain Names That Do Not Have ICP Filings', 'http_code' => 400, 'description' => '该域名未备案或处于处罚状态'."\n"
+ ."\n"],
+ ['code' => 'Waf.Pullin.DomainOwnedByOtherUser', 'message' => 'The domain name is already in use by another user.', 'http_code' => 400, 'description' => '该域名已经被其它用户使用'],
+ ['code' => 'Waf.Pullin.DomainOwnedByOtherUser', 'message' => 'The domain name is used by other users.', 'http_code' => 400, 'description' => '该域名已经被其它用户使用'],
+ ['code' => 'Waf.Pullin.DuplicateCertificateId', 'message' => 'Duplicate certificate ID', 'http_code' => 400, 'description' => '重复的证书ID'],
+ ['code' => 'Waf.Pullin.ExtensiveDomainUsedError', 'message' => 'The generic domain name is already in use by other users.', 'http_code' => 400, 'description' => '泛域名已经被其它用户使用'],
+ ['code' => 'Waf.Pullin.ExtensiveDomainUsedError', 'message' => 'The wildcard domain name is used by other users.', 'http_code' => 400, 'description' => '泛域名已经被其它用户使用'],
+ ['code' => 'Waf.Pullin.Http2OriginEnabledFocusHttpBackendForbidden', 'message' => 'When HTTP2 origin is enabled, HTTP origin cannot be enabled.', 'http_code' => 400, 'description' => '开启HTTP2回源时,不能开启HTTP回源。'],
+ ['code' => 'Waf.Pullin.Http2OriginMustOnHttp2Enable', 'message' => 'When HTTP2 origin is enabled, HTTP2 listening must be enabled.', 'http_code' => 400, 'description' => '开启HTTP2回源时,HTTP2监听必须开启。'],
+ ['code' => 'Waf.Pullin.Http2OriginMustOnKeepaliveEnable', 'message' => 'When the HTTP2 origin is turned on, the keepalive must be turned on.', 'http_code' => 400, 'description' => '开启HTTP2回源时,长连接必须开启。'],
+ ['code' => 'Waf.Pullin.InsufficientExclusiveVip', 'message' => 'The number of exclusive IP addresses that you have purchased is insufficient. Purchase more on the upgrade page.', 'http_code' => 400, 'description' => '您购买的独享IP数量不足,请在升级页面购买'],
+ ['code' => 'Waf.Pullin.InvalidAttachKey', 'message' => 'Invalid parameter name.', 'http_code' => 400, 'description' => '参数名无效'],
+ ['code' => 'Waf.Pullin.InvalidAttachKey', 'message' => 'The name of the parameter is invalid.', 'http_code' => 400, 'description' => '参数名无效'],
+ ['code' => 'Waf.Pullin.InvalidAttachValue', 'message' => 'Invalid parameter value.', 'http_code' => 400, 'description' => '参数值无效'],
+ ['code' => 'Waf.Pullin.InvalidAttachValue', 'message' => 'The value of the parameter is invalid.', 'http_code' => 400, 'description' => '参数值无效'],
+ ['code' => 'Waf.Pullin.InvalidBackend', 'message' => 'Invalid return information.', 'http_code' => 400, 'description' => '回源信息无效'],
+ ['code' => 'Waf.Pullin.InvalidBackend', 'message' => 'The back-to-origin information is invalid.', 'http_code' => 400, 'description' => '回源信息无效'],
+ ['code' => 'Waf.Pullin.InvalidCertByHttpProtocol', 'message' => 'HTTP protocol cannot enter certificate', 'http_code' => 400, 'description' => 'HTTP协议不能输入证书'],
+ ['code' => 'Waf.Pullin.InvalidCertByHttpsProtocol', 'message' => 'HTTPS protocol must enter a certificate', 'http_code' => 400, 'description' => 'HTTPS协议必需输入证书'],
+ ['code' => 'Waf.Pullin.InvalidCertFormat', 'message' => 'Certificate format error.', 'http_code' => 400, 'description' => '证书格式错误'],
+ ['code' => 'Waf.Pullin.InvalidCertFormat', 'message' => 'The format of the certificate is invalid.', 'http_code' => 400, 'description' => '证书格式错误'],
+ ['code' => 'Waf.Pullin.InvalidCertIdentifier', 'message' => 'Invalid certificate ID, certificate ID:%s.', 'http_code' => 400, 'description' => '无效的证书ID,证书ID:%s.'],
+ ['code' => 'Waf.Pullin.InvalidCipherSuit', 'message' => 'Invalid CipherSuit', 'http_code' => 400, 'description' => '无效加密套件'],
+ ['code' => 'Waf.Pullin.InvalidClusterPort', 'message' => 'The cluster port is invalid.', 'http_code' => 400, 'description' => '集群端口无效'],
+ ['code' => 'Waf.Pullin.InvalidCustomCiphers', 'message' => 'Invalid custom cipher suite.', 'http_code' => 400, 'description' => '无效自定义加密套件。'],
+ ['code' => 'Waf.Pullin.InvalidDefaultCert', 'message' => 'Invalid default certificate.', 'http_code' => 400, 'description' => '无效的默认证书'],
+ ['code' => 'Waf.Pullin.InvalidDomain', 'message' => 'Invalid domain name.', 'http_code' => 400, 'description' => '无效域名'],
+ ['code' => 'Waf.Pullin.InvalidDomain', 'message' => 'The domain name is invalid.', 'http_code' => 400, 'description' => '无效域名'],
+ ['code' => 'Waf.Pullin.InvalidHttp2OriginWithProxyProtocol', 'message' => 'http2Origin and proxyProtocol cannot be opened at the same time.', 'http_code' => 400, 'description' => 'http2Origin和proxyProtocol不能同时开启。'],
+ ['code' => 'Waf.Pullin.InvalidIncludeSubDomainWithPreload', 'message' => 'The parameter HstsIncludeSubDomain is invalid. When the parameter HstsPreload is true, the HstsIncludeSubDomain must be true.', 'http_code' => 400, 'description' => '参数HstsIncludeSubDomain无效,参数HstsPreload为true时,HstsIncludeSubDomain必须为true'],
+ ['code' => 'Waf.Pullin.InvalidMaxAgeWithPreload', 'message' => 'HstsMaxAge the parameter is incorrect, when the HstsPreload is True, the HstsMaxAge must be greater than or equal to 31536000.', 'http_code' => 400, 'description' => 'HstsMaxAge参数有误,HstsPreload为True时,HstsMaxAge必须大于等于31536000'],
+ ['code' => 'Waf.Pullin.InvalidProtocolPort', 'message' => 'Protocol port not entered.', 'http_code' => 400, 'description' => '协议端口未输入'],
+ ['code' => 'Waf.Pullin.InvalidProtocolPort', 'message' => 'The port is not specified.', 'http_code' => 400, 'description' => '协议端口未输入'],
+ ['code' => 'Waf.Pullin.InvalidPunishScope', 'message' => 'The punish scope parameter is invalid.', 'http_code' => 400, 'description' => '处罚维度参数无效。'],
+ ['code' => 'Waf.Pullin.InvalidRequestHeader', 'message' => 'Invalid Enable Traffic Marker parameter.', 'http_code' => 400, 'description' => '启用流量标记参数无效'],
+ ['code' => 'Waf.Pullin.InvalidRequestHeader', 'message' => 'The Enable Traffic Mark parameter is invalid.', 'http_code' => 400, 'description' => '启用流量标记参数无效'],
+ ['code' => 'Waf.Pullin.InvalidResource', 'message' => 'Invalid resource.', 'http_code' => 400, 'description' => '资源无效'],
+ ['code' => 'Waf.Pullin.InvalidResource', 'message' => 'The resource is invalid.', 'http_code' => 400, 'description' => '资源无效'],
+ ['code' => 'Waf.Pullin.InvalidResourceProduct', 'message' => 'Invalid cloud product type.', 'http_code' => 400, 'description' => '无效的云产品类型'],
+ ['code' => 'Waf.Pullin.InvalidResourceStatus', 'message' => 'Invalid resource state.', 'http_code' => 400, 'description' => '资源状态无效'],
+ ['code' => 'Waf.Pullin.InvalidResourceStatus', 'message' => 'The status of the resource is invalid.', 'http_code' => 400, 'description' => '资源状态无效'],
+ ['code' => 'Waf.Pullin.InvalidServiceAttachData', 'message' => 'Invalid cloud product parameters.', 'http_code' => 400, 'description' => '云产品参数无效'],
+ ['code' => 'Waf.Pullin.InvalidServiceAttachData', 'message' => 'The Cloud Service parameter is invalid.', 'http_code' => 400, 'description' => '云产品参数无效'],
+ ['code' => 'Waf.Pullin.InvalidTLS', 'message' => 'invalid TLS', 'http_code' => 400, 'description' => '无效的TLS参数'],
+ ['code' => 'Waf.Pullin.InvalidUserStatus', 'message' => 'Invalid user state.', 'http_code' => 400, 'description' => '用户状态无效'],
+ ['code' => 'Waf.Pullin.InvalidUserStatus', 'message' => 'The status of the user is invalid.', 'http_code' => 400, 'description' => '用户状态无效'],
+ ['code' => 'Waf.Pullin.MaxCertCountLimit', 'message' => 'The number of selected certificate IDs exceeds the maximum number in the system.', 'http_code' => 400, 'description' => '选择的证书ID数量,超过系统最大数。'],
+ ['code' => 'Waf.Pullin.MaxDomainCountLimit', 'message' => 'Exceeds the maximum number of domain names that can be entered', 'http_code' => 400, 'description' => '超过最大可输入的域名数'],
+ ['code' => 'Waf.Pullin.MaxProductCountLimit', 'message' => '可接入的云产品数不足', 'http_code' => 400, 'description' => '可接入的云产品数不足'],
+ ['code' => 'Waf.Pullin.MustListenHTTPS', 'message' => 'The domain name must listen to the HTTPS protocol. Domain:%s.', 'http_code' => 400, 'description' => '域名必须监听HTTPS协议,域名:%s。'],
+ ['code' => 'Waf.Pullin.OnlyBeOneDefaultCert', 'message' => 'There can be only one default certificate.', 'http_code' => 400, 'description' => '只能有一个默认证书。'],
+ ['code' => 'Waf.Pullin.OpenExclusiveIpInNotShare', 'message' => 'Turn on exclusive IP, only share cluster can be selected.', 'http_code' => 400, 'description' => '开启独享IP,只能选择共享集群'],
+ ['code' => 'Waf.Pullin.OpenExclusiveIpInNotShare', 'message' => 'If you turn on Exclusive IP Address, you can select only a shared cluster.', 'http_code' => 400, 'description' => '开启独享IP,只能选择共享集群'],
+ ['code' => 'Waf.Pullin.OpenExclusiveIpIPv6', 'message' => 'Exclusive IP and Ipv6, cannot be enabled at the same time.', 'http_code' => 400, 'description' => '独享IP和Ipv6,不能同时开启。'],
+ ['code' => 'Waf.Pullin.OpenIPv6InNotShare', 'message' => 'Turn on IPv6, share cluster is the only option.', 'http_code' => 400, 'description' => '开启IPv6,只能选择共享集群'],
+ ['code' => 'Waf.Pullin.OpenIPv6InNotShare', 'message' => 'If you turn on IPv6, you can select only a shared cluster.', 'http_code' => 400, 'description' => '开启IPv6,只能选择共享集群'],
+ ['code' => 'Waf.Pullin.PortProcessing', 'message' => 'Port is processing', 'http_code' => 400, 'description' => '端口正在处理,请稍后再试'],
+ ['code' => 'Waf.Pullin.PortProcessing', 'message' => 'The port is being processed, please try again later.', 'http_code' => 400, 'description' => '端口正在处理,请稍后再试。'],
+ ['code' => 'Waf.Pullin.ProtocolNotSet', 'message' => 'Protocol not entered.', 'http_code' => 400, 'description' => '协议未输入'],
+ ['code' => 'Waf.Pullin.ProtocolNotSet', 'message' => 'You must specify the protocol.', 'http_code' => 400, 'description' => '协议未输入'],
+ ['code' => 'Waf.Pullin.ResourceAllocationFailed', 'message' => 'Failed to allocate resources.', 'http_code' => 400, 'description' => '资源分配失败'],
+ ['code' => 'Waf.Pullin.ResourceCreating', 'message' => 'Accessed resources are being created.', 'http_code' => 400, 'description' => '接入的资源在创建中'],
+ ['code' => 'Waf.Pullin.ResourceCreating', 'message' => 'The resource is being created.', 'http_code' => 400, 'description' => '接入的资源在创建中'],
+ ['code' => 'Waf.Pullin.ResourceExsit', 'message' => 'Accessed resource already exists.', 'http_code' => 400, 'description' => '接入的资源已存在'],
+ ['code' => 'Waf.Pullin.ResourceExsit', 'message' => 'The resource exists.', 'http_code' => 400, 'description' => '接入的资源已存在'],
+ ['code' => 'Waf.Pullin.ResourceExsit', 'message' => 'Access resource already exists, resource:%s.', 'http_code' => 400, 'description' => '接入资源已存在,已存在的资源:%s。'],
+ ['code' => 'Waf.Pullin.ResourceInstanceIdNotExist', 'message' => 'The instance ID does not exist.', 'http_code' => 400, 'description' => '接入的云产品实例ID不存在'],
+ ['code' => 'Waf.Pullin.ResourceInstanceIpNotMatched', 'message' => 'The instance does not match the Public IP, please click Synchronize and try again.', 'http_code' => 400, 'description' => '云产品的实例与IP不匹配,请点击“同步最新资产”后重试。'],
+ ['code' => 'Waf.Pullin.ResourceInstancePortNotExist', 'message' => 'The port of the instance does not exist.', 'http_code' => 400, 'description' => '云产品的端口不存在'],
+ ['code' => 'Waf.Pullin.ResourceNotExist', 'message' => 'Access resource does not exist.', 'http_code' => 400, 'description' => '接入资源不存在'],
+ ['code' => 'Waf.Pullin.ResourceNotExist', 'message' => 'The resource does not exist.', 'http_code' => 400, 'description' => '接入资源不存在'],
+ ['code' => 'Waf.Pullin.ResourceNotExist', 'message' => 'The accessed resource already exists. Resource:%s.', 'http_code' => 400, 'description' => '接入的资源已存在,资源:%s.'],
+ ['code' => 'Waf.Pullin.ResourceOwnerError', 'message' => 'Resource attribution user is incorrect.', 'http_code' => 400, 'description' => '资源归属用户不正确'],
+ ['code' => 'Waf.Pullin.ResourceOwnerError', 'message' => 'The user to which the resource belongs is invalid.', 'http_code' => 400, 'description' => '资源归属用户不正确'],
+ ['code' => 'Waf.Pullin.ResourceProcessing', 'message' => 'The resource is in operation, please try again later.', 'http_code' => 400, 'description' => '资源正在操作中,请稍后重试。'],
+ ['code' => 'Waf.Pullin.RiskyDomain', 'message' => 'RT001, sorry, this domain name cannot be added due to security problems. You can appeal through the work order.', 'http_code' => 400, 'description' => '您所添加的域名可能存在风险,如有任何疑问,请提交工单'],
+ ['code' => 'Waf.Pullin.UnderDDoS', 'message' => 'The current WAF instance is in the defense/blackhole state, and it is not allowed to enable the Exclusive IP/GSLB configuration', 'http_code' => 400, 'description' => '当前WAF实例处于清洗/黑洞状态,不允许开启独享IP/共享集群智能负载均衡配置'],
+ ['code' => 'Waf.Pullin.UnSupportedPort', 'message' => 'Return port not supported.', 'http_code' => 400, 'description' => '回源端口不支持'],
+ ['code' => 'Waf.Pullin.UnSupportedPort', 'message' => 'The port over which requests are redirected to the origin server is not supported.', 'http_code' => 400, 'description' => '回源端口不支持'],
+ ['code' => 'Waf.Report.%s', 'message' => 'Invalid parameter:%s.', 'http_code' => 400, 'description' => '无效的参数:%s'],
+ ['code' => 'Waf.Report.InternalError', 'message' => 'Server error occurred in report service.', 'http_code' => 400, 'description' => '报表服务内部错误'],
+ ['code' => 'WafMigrating', 'message' => 'WAF user is migrating, the operation of resource does not support.', 'http_code' => 400, 'description' => 'WAF用户在迁移中,不允许操作接入相关资源。'],
+ ['code' => 'WxbbOrWxbbJsUsed', 'message' => 'The feature of app protection is being used.', 'http_code' => 400, 'description' => 'App防护正在被使用'],
+ ['code' => 'Defense.Control.InvalidDefenseRuleConfig', 'message' => 'Invalid protection rule configuration. %s.', 'http_code' => 400, 'description' => '无效的防护规则配置。'],
+ ],
+ 'changeSet' => [
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'ModifyProtectionRuleCacheStatus'],
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'ModifyProtectionRuleStatus'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'createdAt' => '2024-06-25T11:40:34.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DescribeRules'],
],
- 'security' => [
- [
- 'AK' => [],
- ],
+ 'createdAt' => '2024-05-27T11:00:11.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更', 'api' => 'CreateDomain'],
+ ['description' => '请求参数发生变更', 'api' => 'ModifyDomain'],
],
- 'systemTags' => [],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要操作的WAF实例ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
- ],
- ],
- [
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '已添加的域名名称。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已经添加的域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
- ],
- ],
- [
- 'name' => 'Enabled',
- 'in' => 'query',
- 'schema' => [
- 'description' => '是否开启日志检索功能,取值:'."\n"
- ."\n"
- .'- **0**:表示关闭。'."\n"
- ."\n"
- .'- **1**:表示开启。'."\n"
- ."\n"
- .'> 只有为域名开启日志检索功能后,WAF才会记录该域名的访问请求日志。如果您关闭日志检索功能,则处于关闭状态期间的访问请求日志不会被记录;即使重新开启日志检索功能,您也无法查询到停用期间的访问请求日志。'."\n",
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。'."\n"
- ."\n"
- .'不设置该参数表示默认资源组。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
- ],
- ],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
- ],
- ],
+ 'createdAt' => '2023-08-28T12:42:52.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => '响应参数发生变更', 'api' => 'DescribeDomain'],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
- ],
- ],
- ],
+ 'createdAt' => '2023-08-22T06:08:44.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更', 'api' => 'CreateDomain'],
+ ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeDomain'],
+ ['description' => '请求参数发生变更', 'api' => 'ModifyDomain'],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'Forbbiden',
- 'errorMessage' => 'User not authorized to operate on the specified resource.',
- ],
- ],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
- ],
- ],
+ 'createdAt' => '2023-05-23T05:46:17.000Z',
+ 'description' => '',
+ ],
+ [
+ 'apis' => [
+ ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeCertificates'],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyLogRetrievalStatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyLogRetrievalStatusResponse>","errorExample":""}]',
- 'title' => '为指定域名开启或关闭日志检索功能',
- 'summary' => '为指定域名开启或关闭日志检索功能。',
- 'description' => '日志检索功能已经升级为WAF日志服务功能,更多信息,请参见[WAF日志服务](~~100503~~)。该接口仅适用于保有日志检索功能的存量用户。如果您需要为域名开启或关闭WAF日志服务,请调用[ModifyLogServiceStatus](~~162742~~)。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
+ 'createdAt' => '2023-04-18T02:30:52.000Z',
+ 'description' => '',
],
- 'ModifyLogServiceStatus' => [
- 'methods' => [
- 'post',
- 'get',
+ [
+ 'apis' => [
+ ['description' => '错误码发生变更', 'api' => 'DescribeWafSourceIpSegment'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'createdAt' => '2022-09-08T14:06:27.000Z',
+ 'description' => '接口迁移',
+ ],
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DescribeLogServiceStatus'],
],
- 'security' => [
- [
- 'AK' => [],
- ],
+ 'createdAt' => '2022-08-23T11:43:54.000Z',
+ 'description' => '修改接口参数的默认值',
+ ],
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'CreateDomain'],
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'ModifyDomain'],
],
- 'systemTags' => [],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例ID。'."\n"
- ."\n"
- .'您可以通过调用[DescribeInstanceInfo](~~140857~~)接口查看当前WAF实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf_elasticity-cn-0xldbqt****',
+ 'createdAt' => '2022-08-22T10:01:24.000Z',
+ 'description' => 'WAF2.0,开放超时时间的参数。',
+ ],
+ [
+ 'apis' => [
+ ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeDomainRuleGroup'],
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'SetDomainRuleGroup'],
+ ],
+ 'createdAt' => '2022-01-18T09:08:42.000Z',
+ 'description' => '支持智能规则加白',
+ ],
+ [
+ 'apis' => [
+ ['description' => '请求参数发生变更、错误码发生变更', 'api' => 'DescribeProtectionModuleCodeConfig'],
+ ],
+ 'createdAt' => '2021-12-07T15:36:25.000Z',
+ 'description' => '优化参数说明',
+ ],
+ [
+ 'apis' => [
+ ['description' => '响应参数发生变更、错误码发生变更', 'api' => 'DescribeDomainAdvanceConfigs'],
+ ],
+ 'createdAt' => '2021-10-20T13:22:26.000Z',
+ 'description' => '修改返回值类型',
+ ],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDomainIpv6Status'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainList'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionModuleMode'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyDomain'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyLogRetrievalStatus'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionModuleStatus'],
+ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionRuleStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCertificates'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLogServiceStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeWafSourceIpSegment'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRuleGroup'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomain'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCertMatchStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionRuleCacheStatus'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCertificateByCertificateId'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCertificate'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainAdvanceConfigs'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleMode'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRuleGroups'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtectionModuleRule'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBasicConfigs'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRules'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetDomainRuleGroup'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainNames'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeInstanceInfo'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProtectionModuleRule'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyLogServiceStatus'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleRules'],
+ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDomain'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDomain'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProtectionModuleRule'],
+ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtectionModuleCodeConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteInstance'],
+ ],
+ ],
+ 'ram' => [
+ 'productCode' => 'WAF',
+ 'productName' => 'Web应用防火墙',
+ 'ramCodes' => ['yundun-waf'],
+ 'ramLevel' => '操作级',
+ 'ramConditions' => [],
+ 'ramActions' => [
+ [
+ 'apiName' => 'ModifyDomain',
+ 'description' => '修改指定域名配置信息',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeProtectionModuleRules',
+ 'description' => '查询WAF防护功能规则配置记录',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleRules',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'Domain',
- 'in' => 'query',
- 'schema' => [
- 'description' => '已添加的域名名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'www.example.com',
+ ],
+ [
+ 'apiName' => 'DescribeDomainAdvanceConfigs',
+ 'description' => '获取已添加的域名配置记录的详细信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainAdvanceConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'Enabled',
- 'in' => 'query',
- 'schema' => [
- 'description' => '是否开启日志采集功能,取值:'."\n"
- ."\n"
- .'- **0**:关闭'."\n"
- ."\n"
- .'- **1**:开启',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => true,
- 'example' => '1',
+ ],
+ [
+ 'apiName' => 'DescribeInstanceInfo',
+ 'description' => '获取WAF实例的当前信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeInstanceInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => "\n"
- .'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
+ ],
+ [
+ 'apiName' => 'DescribeDomainNames',
+ 'description' => '获取指定实例中已添加的域名名称列表',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainNames',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ModifyProtectionRuleCacheStatus',
+ 'description' => '更新网站防篡改规则所防护的页面缓存',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionRuleCacheStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19160D5EB0',
- ],
- ],
+ [
+ 'apiName' => 'DescribeProtectionModuleStatus',
+ 'description' => '查询WAF各防护功能状态',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'errorCodes' => [
- 403 => [
- [
- 'errorCode' => 'Forbbiden',
- 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ [
+ 'apiName' => 'DescribeRuleGroups',
+ 'description' => '分页查询正则规则组',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeRuleGroups',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- 500 => [
- [
- 'errorCode' => 'InternalError',
- 'errorMessage' => 'The request processing has failed due to some unknown error.',
+ ],
+ [
+ 'apiName' => 'DescribeInstanceSpecInfo',
+ 'description' => '获取WAF实例的规格信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeInstanceSpecInfo',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19160D5EB0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ModifyLogServiceStatusResponse>\\r\\n\\t<RequestId>D7861F61-5B61-46CE-A47C-6B19160D5EB0</RequestId>\\r\\n</ModifyLogServiceStatusResponse>","errorExample":""}]',
- 'title' => '开启或关闭指定域名配置的日志采集功能',
- 'summary' => '调用ModifyLogServiceStatus接口开启或关闭指定域名配置的日志采集功能。',
- 'description' => '为域名配置开启日志采集功能前请确认WAF实例已开通日志实时查询分析功能并且授权WAF将记录的日志分发到您专属的日志服务Logstore中。'."\n"
- ."\n"
- .'更多详细信息,请参见[日志实时查询分析](~~100503~~)。',
- 'requestParamsDescription' => ' ',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeLogServiceStatus' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'ModifyProtectionModuleMode',
+ 'description' => '修改WAF防护模式',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionModuleMode',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用DescribeInstanceInfo查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-zz11sr5****',
+ [
+ 'apiName' => 'DeleteDomain',
+ 'description' => '删除指定域名配置信息',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DeleteDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'Region',
- 'in' => 'query',
- 'schema' => [
- 'description' => '日志服务地域ID。取值: '."\n"
- .'- **cn**:中国内地地区(默认)'."\n"
- .'- **cn-hongkong**:海外地区',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn',
- 'default' => 'cn',
+ ],
+ [
+ 'apiName' => 'DescribeDomain',
+ 'description' => '获取已添加的域名配置信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
+ ],
+ [
+ 'apiName' => 'DescribeRules',
+ 'description' => '分页查询正则规则组中的规则',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeRules',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'PageNumber',
- 'in' => 'query',
- 'schema' => [
- 'description' => '当前页码。默认值:**1**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- 'default' => '1',
+ ],
+ [
+ 'apiName' => 'DescribeCertMatchStatus',
+ 'description' => '检查域名上传的证书和私钥是否匹配',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeCertMatchStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'PageSize',
- 'in' => 'query',
- 'schema' => [
- 'description' => '分页查询时每页的行数。默认值为**10**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
- 'default' => '10',
+ ],
+ [
+ 'apiName' => 'CreateCertificate',
+ 'description' => '为已添加域名上传证书及私钥信息',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:CreateCertificate',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'DomainNames',
- 'in' => 'query',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '要查询的域名列表。一次最多允许查询10个域名。不填写该参数表示查询所有域名。'."\n"
- ."\n"
- .'> 您可以调用[DescribeDomainNames](~~86373~~)查询所有已经接入当前WAF实例进行防护的域名。',
- 'type' => 'array',
- 'items' => [
- 'description' => '域名。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'www.aliyunXXXX.com',
- ],
- 'required' => false,
- 'maxItems' => 100,
+ ],
+ [
+ 'apiName' => 'ModifyProtectionRuleStatus',
+ 'description' => '启用或禁用域名配置WAF防护功能模块',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionRuleStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'DeleteInstance',
+ 'description' => '释放Web应用防火墙(WAF)实例',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DeleteInstance',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'TotalCount' => [
- 'description' => '返回结果的总数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '63',
- ],
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'D7861F61-5B61-46CE-A47C-6B19****5EB0',
- ],
- 'DomainStatus' => [
- 'description' => '域名的日志采集状态(是否开启了日志采集)。',
- 'type' => 'array',
- 'items' => [
- 'type' => 'object',
- 'properties' => [
- 'Domain' => [
- 'description' => '域名名称。',
- 'type' => 'string',
- 'example' => 'www.aliyun.com',
- ],
- 'SlsLogActive' => [
- 'description' => '该域名是否开启了日志采集。取值:'."\n"
- ."\n"
- .'- **1**:表示已开启。'."\n"
- .'- **0**:表示未开启。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '1',
- ],
- ],
- ],
- ],
- ],
+ [
+ 'apiName' => 'CreateDomain',
+ 'description' => '添加域名配置信息',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:CreateDomain',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 63,\\n \\"RequestId\\": \\"D7861F61-5B61-46CE-A47C-6B19****5EB0\\",\\n \\"DomainStatus\\": [\\n {\\n \\"Domain\\": \\"www.aliyun.com\\",\\n \\"SlsLogActive\\": 1\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeLogServiceStatusResponse>\\r\\n\\t<RequestId>C2E97B3F-1623-4CDF-A7E2-FD9D4CF1027A</RequestId>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<DomainStatus>\\r\\n\\t\\t<Domain>www.aliyun.com</Domain>\\r\\n\\t\\t<SlsLogActive>1</SlsLogActive>\\r\\n\\t</DomainStatus>\\r\\n</DescribeLogServiceStatusResponse>","errorExample":""}]',
- 'title' => '查询日志采集状态',
- 'summary' => '查询已接入WAF进行防护的域名的日志采集状态(是否开启日志采集)。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'DescribeWafSourceIpSegment' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'MoveResourceGroup',
+ 'description' => '将资源移动到新的资源组',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:MoveResourceGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'systemTags' => [
+ [
+ 'apiName' => 'DescribeLogServiceStatus',
+ 'description' => '查询日志采集状态',
'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'InstanceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要查询的WAF实例的ID。'."\n"
- ."\n"
- .'> 您可以调用[DescribeInstanceInfo](~~140857~~)查询当前WAF实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-zz11sr5****',
- ],
- ],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例在资源管理服务中所属的资源组ID。默认为空,即属于默认资源组。'."\n"
- ."\n"
- .'关于资源组的更多信息,请参见[创建资源组](~~94485~~)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-acfm2pz25js****',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeLogServiceStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'DescribeDomainBasicConfigs',
+ 'description' => '获取域名配置记录的防护设置状态',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainBasicConfigs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次请求的ID。',
- 'type' => 'string',
- 'example' => 'AB2F5E31-EE96-4FD7-9560-45FF****77FF',
- ],
- 'Ips' => [
- 'description' => 'IPv4防护集群使用的WAF回源IP网段列表。',
- 'type' => 'string',
- 'example' => '47.XXX.XXX.192/26,……,47.XXX.XXX.0/24',
- ],
- 'IpV6s' => [
- 'description' => 'IPv6防护集群使用的WAF回源IP网段列表。',
- 'type' => 'string',
- 'example' => '39.XXX.XXX.0/24,……,2408:400a:XXXX:XXXX::/56',
- ],
- ],
+ [
+ 'apiName' => 'DescribeProtectionModuleMode',
+ 'description' => '获取域名当前的防护模式',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleMode',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AB2F5E31-EE96-4FD7-9560-45FF****77FF\\",\\n \\"Ips\\": \\"47.XXX.XXX.192/26,……,47.XXX.XXX.0/24\\",\\n \\"IpV6s\\": \\"39.XXX.XXX.0/24,……,2408:400a:XXXX:XXXX::/56\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeWafSourceIpSegmentResponse>\\r\\n\\t<RequestId>AB2F5E31-EE96-4FD7-9560-45FF5D5377FF</RequestId>\\r\\n\\t<IpV6s>39.XXX.XXX.0/24,……,2408:400a:XXXX:XXXX::/56</IpV6s>\\r\\n\\t<Ips>47.XXX.XXX.192/26,……,47.XXX.XXX.0/24</Ips>\\r\\n</DescribeWafSourceIpSegmentResponse>\\t","errorExample":""}]',
- 'title' => '获取WAF实例的回源IP网段列表',
- 'summary' => '查询WAF防护集群使用的回源IP网段。',
- 'requestParamsDescription' => '调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见[公共参数](~~162719~~)。'."\n"
- ."\n"
- .'调用API的请求格式,请参见本文**示例**中的请求示例。',
- 'responseParamsDescription' => ' ',
- 'extraInfo' => ' ',
- ],
- 'MoveResourceGroup' => [
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
- 'security' => [
- [
- 'AK' => [],
+ [
+ 'apiName' => 'DescribeDomainRuleGroup',
+ 'description' => 'DescribeDomainRuleGroup',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainRuleGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
- 'systemTags' => [],
- 'parameters' => [
- [
- 'name' => 'ResourceId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '要操作的WAF资源的ID。'."\n"
- ."\n"
- .'您将网站域名接入WAF防护后,则该域名表示一个WAF资源。WAF资源在资源管理服务中使用资源ID(ResourceId)作为其唯一标识,WAF资源ID的命名方式为:`<InstanceId>~<Domain>`。具体说明如下:'."\n"
- ."\n"
- .'- `<InstanceId>`表示当前WAF实例的ID。您可以调用WAF API中的[DescribeInstanceInfo](~~140857~~)接口,查询当前WAF实例的ID。'."\n"
- ."\n"
- .'- `<Domain>`表示已接入WAF实例防护的网站域名。您可以调用WAF API中的[DescribeDomainList](~~255880~~)接口,查询所有已接入WAF实例防护的域名。'."\n"
- ."\n"
- .'- `<InstanceId>`和`<Domain>`之间使用`~`连接,即表示WAF域名资源的资源ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'waf-cn-09k1rd5****~www.example.com',
+ [
+ 'apiName' => 'ModifyProtectionModuleStatus',
+ 'description' => '打开或关闭指定WAF防护功能',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionModuleStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceGroupId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF资源要转入的资源组的ID。'."\n"
- ."\n"
- .'您通过资源管理服务创建资源组后,资源管理服务会为资源组生成一个唯一标识,即资源组ID(ResourceGroupId)。'."\n"
- ."\n"
- .'您可以在[资源管理控制台](https://resourcemanager.console.aliyun.com/resource-groups)的**资源组**页面,查询所有资源组ID;或者调用资源管理服务提供的[ListResourceGroups](~~158855~~)接口,查询所有资源组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-atstuj3rtop****',
+ ],
+ [
+ 'apiName' => 'DescribeWafSourceIpSegment',
+ 'description' => 'DescribeWafSourceIpSegment',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeWafSourceIpSegment',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'SetDomainRuleGroup',
+ 'description' => '为域名配置防护规则组',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:SetDomainRuleGroup',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateProtectionModuleRule',
+ 'description' => '在WAF防护功能模块中创建配置规则',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:CreateProtectionModuleRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyLogServiceStatus',
+ 'description' => '开启或关闭指定域名配置的日志采集功能',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyLogServiceStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'CreateCertificateByCertificateId',
+ 'description' => '根据证书ID为指定域名创建证书',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:CreateCertificateByCertificateId',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyLogRetrievalStatus',
+ 'description' => '为指定域名开启或关闭日志检索功能',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyLogRetrievalStatus',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyProtectionModuleRule',
+ 'description' => '修改WAF防护功能配置规则',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyProtectionModuleRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'ModifyDomainIpv6Status',
+ 'description' => '开启或关闭域名配置的IPv6安全防护功能',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:ModifyDomainIpv6Status',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ [
+ 'apiName' => 'DescribeDomainList',
+ 'description' => '查询域名资产信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeDomainList',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF资源的类型。唯一取值:**domain**,表示WAF的资源类型仅为域名。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'domain',
+ ],
+ [
+ 'apiName' => 'DescribeCertificates',
+ 'description' => '获取指定域名可选证书',
+ 'operationType' => 'list',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeCertificates',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => 'WAF实例所属地域。取值:'."\n"
- ."\n"
- .'- **cn-hangzhou**:表示中国内地。'."\n"
- ."\n"
- .'- **ap-southeast-1**:表示非中国内地。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- 'default' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'DeleteProtectionModuleRule',
+ 'description' => '删除防护配置模块的规则',
+ 'operationType' => '',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DeleteProtectionModuleRule',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。',
- 'type' => 'string',
- 'example' => 'C33EB3D5-AF96-43CA-9C7E-37A8****6A1E',
- ],
- ],
+ [
+ 'apiName' => 'DescribeProtectionModuleCodeConfig',
+ 'description' => '获取WAF防护功能模块代码配置',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'yundun-waf:DescribeProtectionModuleCodeConfig',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'WAF', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- 'errorCodes' => [],
- 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C33EB3D5-AF96-43CA-9C7E-37A8****6A1E\\"\\n}","type":"json"}]',
- 'title' => '将资源移动到新的资源组',
- 'summary' => '将一个WAF资源转移到其他资源组。',
- 'description' => 'WAF 资源表示已接入 WAF 防护的域名。资源组(Resource Group)是在阿里云账号下进行资源分组管理的一种机制。资源组帮助您解决单个云账号内多项目或多应用的资源分组,以及用户授权管理的复杂性问题。接入 WAF 防护的域名资源默认属于默认资源组。您可以将 WAF 的域名资源转移到您自定义的资源组中,实现资源分组管理。'."\n"
- ."\n"
- .'您可以通过阿里云控制台创建资源组,相关操作,请参见[创建资源组](https://help.aliyun.com/zh/resource-management/user-guide/create-a-resource-group);或者通过调用资源管理服务的 API 创建资源组,具体接口说明,请参见[CreateResourceGroup](https://help.aliyun.com/zh/resource-management/api-createresourcegroup)。'."\n"
- ."\n"
- .'关于资源组的更多介绍,请参见[什么是资源管理](https://help.aliyun.com/zh/resource-management/product-overview/what-is-resource-management)。',
],
- ],
- 'endpoints' => [
- [
- 'regionId' => 'cn-hangzhou',
- 'endpoint' => 'wafopenapi.cn-hangzhou.aliyuncs.com',
- ],
- [
- 'regionId' => 'ap-southeast-1',
- 'endpoint' => 'wafopenapi.ap-southeast-1.aliyuncs.com',
+ 'resourceTypes' => [
+ ['validationType' => 'always', 'resourceType' => 'Instance', 'arn' => 'acs:yundun-waf:{#regionId}:{#accountId}:Instance/InstanceId'],
+ ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:yundun-waf:{#regionId}:{#accountId}:Domain/*'],
+ ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:yundun-waf:{#regionId}:{#accountId}:Domain/DomainId'],
+ ['validationType' => 'always', 'resourceType' => 'Certificate', 'arn' => 'acs:yundun-waf:{#regionId}:{#accountId}:Certificate/*'],
],
],
];