summaryrefslogtreecommitdiff
path: root/data/en_us/ddosbgp
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/ddosbgp
downloadacs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz
acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip
Diffstat (limited to 'data/en_us/ddosbgp')
-rw-r--r--data/en_us/ddosbgp/2018-02-01/api-docs.php177
-rw-r--r--data/en_us/ddosbgp/2018-07-20/api-docs.php7248
2 files changed, 7425 insertions, 0 deletions
diff --git a/data/en_us/ddosbgp/2018-02-01/api-docs.php b/data/en_us/ddosbgp/2018-02-01/api-docs.php
new file mode 100644
index 0000000..fa25bf8
--- /dev/null
+++ b/data/en_us/ddosbgp/2018-02-01/api-docs.php
@@ -0,0 +1,177 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'ddosbgp',
+ 'version' => '2018-02-01',
+ ],
+ 'directories' => [
+ [
+ 'id' => 60291,
+ 'title' => null,
+ 'type' => 'directory',
+ 'children' => [
+ 'ReleaseInstance',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'ReleaseInstance' => [
+ 'summary' => '释放实例释放实例',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '105714',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'type' => 'string',
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ ],
+ 'Success' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => null,
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-qingdao',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-chengdu',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-west-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-finance',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-finance-1',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-north-2-gov-1',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'ddosbgp.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'ddosbgp.us-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'ddosbgp.us-east-1.aliyuncs.com',
+ ],
+ ],
+];
diff --git a/data/en_us/ddosbgp/2018-07-20/api-docs.php b/data/en_us/ddosbgp/2018-07-20/api-docs.php
new file mode 100644
index 0000000..6160227
--- /dev/null
+++ b/data/en_us/ddosbgp/2018-07-20/api-docs.php
@@ -0,0 +1,7248 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'ddosbgp',
+ 'version' => '2018-07-20',
+ ],
+ 'directories' => [
+ [
+ 'id' => 192606,
+ 'title' => 'Policy',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreatePolicy',
+ 'DeletePolicy',
+ 'ModifyPolicy',
+ 'ModifyPolicyContent',
+ 'ListPolicy',
+ 'AttachToPolicy',
+ 'DetachFromPolicy',
+ 'ListPolicyAttachment',
+ ],
+ ],
+ [
+ 'id' => 190653,
+ 'title' => 'Multi-account management',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeRdStatus',
+ 'DescribeRdMemberList',
+ 'AddRdMemberList',
+ 'DeleteRdMemberList',
+ ],
+ ],
+ [
+ 'id' => 60254,
+ 'title' => 'Instances',
+ 'type' => 'directory',
+ 'children' => [
+ 'ModifyRemark',
+ 'DescribeRegions',
+ 'DescribeInstanceList',
+ 'DescribeInstanceSpecs',
+ 'DescribeExcpetionCount',
+ 'DescribePackIpList',
+ 'GetSlsOpenStatus',
+ 'CheckGrant',
+ ],
+ ],
+ [
+ 'id' => 60263,
+ 'title' => 'Protection',
+ 'type' => 'directory',
+ 'children' => [
+ 'DettachAssetGroupToInstance',
+ 'DescribeAssetGroupToInstance',
+ 'AttachAssetGroupToInstance',
+ 'DescribeAssetGroup',
+ 'AddIp',
+ 'DeleteIp',
+ 'DeleteBlackhole',
+ ],
+ ],
+ [
+ 'id' => 60267,
+ 'title' => 'Logs',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDdosEvent',
+ 'DescribeOpEntities',
+ 'DescribeTraffic',
+ 'ListOpenedAccessLogInstances',
+ 'CheckAccessLogAuth',
+ ],
+ ],
+ [
+ 'id' => 60281,
+ 'title' => 'Tags',
+ 'type' => 'directory',
+ 'children' => [
+ 'ListTagKeys',
+ 'ListTagResources',
+ 'TagResources',
+ 'UntagResources',
+ ],
+ ],
+ [
+ 'id' => 190513,
+ 'title' => 'Other',
+ 'type' => 'directory',
+ 'children' => [
+ 'ReleaseDdosOriginInstance',
+ 'DescribeDdosOriginInstanceBill',
+ 'MoveResourceGroup',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'CreatePolicy' => [
+ 'summary' => 'Creates a mitigation policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201461',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ 'maxLength' => 32,
+ 'minLength' => 1,
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **l3**: IP-specific mitigation policies.'."\n"
+ .'* **l4**: port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [
+ 'l3' => '',
+ 'l4' => '',
+ ],
+ 'example' => 'l3',
+ 'enum' => [
+ 'l3',
+ 'l4',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'PortVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'enum' => [
+ '2',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '864FE2F4-CB2E-4024-B9EF-D59FD08A****',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => '83967609-7ea5-4f6d-a6ea-380b09e****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"864FE2F4-CB2E-4024-B9EF-D59FD08A****\\",\\n \\"Id\\": \\"83967609-7ea5-4f6d-a6ea-380b09e****\\"\\n}","type":"json"}]',
+ 'title' => 'CreatePolicy',
+ ],
+ 'DeletePolicy' => [
+ 'summary' => 'Deletes a mitigation policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '201464',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Id',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '90300b1a-ced8-4437-b4bf-f9a5*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'BD06F539-2FBE-450D-9391-7EFF7871****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD06F539-2FBE-450D-9391-7EFF7871****\\"\\n}","type":"json"}]',
+ 'title' => 'DeletePolicy',
+ 'description' => 'You cannot delete a mitigation policy to which a protected object is added.'."\n",
+ ],
+ 'ModifyPolicy' => [
+ 'summary' => 'Modifies a mitigation policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201472',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Id',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'c52c2fa6-fdac-40c4-8753-be7c********',
+ ],
+ ],
+ [
+ 'name' => 'ActionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the action. Valid values:'."\n"
+ ."\n"
+ .'* **10**: modifies the name. If you specify this value, `Name` is required.'."\n"
+ .'* **11**: modifies the blacklist validity period. If you specify this value, `BlackIpListExpireAt` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **12**: changes the status of the feature of adding back-to-origin CIDR blocks of Anti-DDoS Proxy to the whitelist. If you specify this value, `WhitenGfbrNets` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **13**: changes the status of the ICMP blocking feature. If you specify this value, `EnableDropIcmp` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **20**: adds IP addresses to the blacklist or the whitelist. If you specify this value, you must specify at least one of `WhiteIpList` and `BlackIpList`. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **21**: removes IP addresses from the blacklist or the whitelist. If you specify this value, at least one of `WhiteIpList` and `BlackIpList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **22**: clears the whitelist. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **23**: clears the blacklist. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **30**: modifies the status and level of intelligent protection. If you specify this value, `EnableIntelligence` and `IntelligenceLevel` are required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **31**: modifies the location blacklist settings. If you specify this value, one of `RegionBlockCountryList` and `RegionBlockProvinceList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **32**: modifies the settings for source rate limiting. If you specify this value, `SourceLimit` and `SourceBlockList` are required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **33**: modifies the settings for reflection attack filtering. If you specify this value, `ReflectBlockUdpPortList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **40**: creates a port blocking rule. If you specify this value, `PortRuleList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **41**: modifies the port blocking rule. If you specify this value, `PortRuleList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **42**: deletes the port blocking rule. If you specify this value, `PortRuleList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **50**: creates a byte-match filter rule. If you specify this value, `FingerPrintRuleList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **51**: modifies the byte-match filter rule. If you specify this value, `FingerPrintRuleList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **52**: deletes the byte-match filter rule. If you specify this value, `FingerPrintRuleList` is required. Only IP-specific mitigation policies support this value.'."\n"
+ .'* **60**: changes the status of the port-specific mitigation feature. If you specify this value, `EnableL4Defense` is required. Only port-specific mitigation policies support this value.'."\n"
+ .'* **61**: creates a port-specific mitigation rule. If you specify this value, `L4RuleList` is required. Only port-specific mitigation policies support this value.'."\n"
+ .'* **62**: modifies the port-specific mitigation rule. If you specify this value, `L4RuleList` is required. Only port-specific mitigation policies support this value.'."\n"
+ .'* **63**: deletes the port-specific mitigation rule. If you specify this value, `L4RuleList` is required. Only port-specific mitigation policies support this value.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '11',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'demo**',
+ ],
+ ],
+ [
+ 'name' => 'Content',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The policy content.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'BlackIpListExpireAt' => [
+ 'description' => 'The validity period of the IP address blacklist. The value is a UNIX timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1716878000',
+ ],
+ 'EnableIntelligence' => [
+ 'description' => 'Specifies whether to enable intelligent protection.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'IntelligenceLevel' => [
+ 'description' => 'The level of intelligent protection. Valid values:'."\n"
+ ."\n"
+ .'* **default**: normal.'."\n"
+ .'* **hard**: strict.'."\n"
+ .'* **weak**: loose.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'default',
+ 'enum' => [
+ 'default',
+ 'weak',
+ 'hard',
+ ],
+ ],
+ 'WhitenGfbrNets' => [
+ 'description' => 'Specifies whether to add back-to-origin CIDR blocks of Anti-DDoS Proxy to the whitelist.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'EnableDropIcmp' => [
+ 'description' => 'Specifies whether to enable ICMP blocking.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'RegionBlockCountryList' => [
+ 'description' => 'The countries in the location blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The code of the country in the location blacklist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '241',
+ 'minimum' => '1',
+ 'example' => '11',
+ ],
+ 'required' => false,
+ 'maxItems' => 241,
+ 'minItems' => 1,
+ ],
+ 'RegionBlockProvinceList' => [
+ 'description' => 'The provinces in the location blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The code of the province in the location blacklist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '82',
+ 'minimum' => '1',
+ 'example' => '2',
+ ],
+ 'required' => false,
+ 'maxItems' => 35,
+ 'minItems' => 1,
+ ],
+ 'SourceLimit' => [
+ 'description' => 'The settings for source rate limiting.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Pps' => [
+ 'description' => 'The packets per second (pps) limit on source IP addresses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500000',
+ 'minimum' => '32',
+ 'example' => '64',
+ ],
+ 'Bps' => [
+ 'description' => 'The bandwidth limit on source IP addresses. Unit: bytes per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '268435456',
+ 'minimum' => '1024',
+ 'example' => '2048',
+ ],
+ 'SynPps' => [
+ 'description' => 'The pps limit on source SYN packets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '64',
+ ],
+ 'SynBps' => [
+ 'description' => 'The bandwidth limit on source SYN packets. Unit: bytes per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '268435456',
+ 'minimum' => '1024',
+ 'example' => '2048',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'SourceBlockList' => [
+ 'description' => 'The source IP addresses that are added to the blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The source IP address that is added to the blacklist.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the source rate limit. Valid values:'."\n"
+ ."\n"
+ .'* **3**: the pps limit on source IP addresses.'."\n"
+ .'* **4**: the bandwidth limit on source IP addresses.'."\n"
+ .'* **5**: the pps limit on source SYN packets.'."\n"
+ .'* **6**: the bandwidth limit on source SYN packets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '3',
+ 'enum' => [
+ '3',
+ '4',
+ '5',
+ '6',
+ ],
+ ],
+ 'BlockExpireSeconds' => [
+ 'description' => 'The validity period of the blacklist to which the source IP address is added. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '2592000',
+ 'minimum' => '60',
+ 'example' => '120',
+ ],
+ 'EverySeconds' => [
+ 'description' => 'The statistical period during which the system collects data on source IP addresses to determine whether to add the source IP addresses to the blacklist. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1200',
+ 'minimum' => '60',
+ 'example' => '60',
+ ],
+ 'ExceedLimitTimes' => [
+ 'description' => 'The number of times that the source IP address exceeds a limit in a statistical period.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1200',
+ 'minimum' => '1',
+ 'example' => '5',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 4,
+ ],
+ 'ReflectBlockUdpPortList' => [
+ 'description' => 'The ports whose traffic is filtered out by the filtering policies for UDP reflection attacks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port whose traffic is filtered out by the filtering policies for UDP reflection attacks.'."\n"
+ ."\n"
+ .'> Only UDP ports are supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '123',
+ ],
+ 'required' => false,
+ 'maxItems' => 128,
+ 'minItems' => 1,
+ ],
+ 'PortRuleList' => [
+ 'description' => 'The port blocking rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port blocking rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c52c2fa6-fdac-40c4-8753-be7c*********',
+ ],
+ 'Protocol' => [
+ 'description' => 'The type of the protocol. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tcp',
+ 'enum' => [
+ 'tcp',
+ 'udp',
+ ],
+ ],
+ 'SrcPortStart' => [
+ 'description' => 'The start of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'SrcPortEnd' => [
+ 'description' => 'The end of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'DstPortStart' => [
+ 'description' => 'The start of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'DstPortEnd' => [
+ 'description' => 'The end of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'MatchAction' => [
+ 'description' => 'The action triggered if the rule is matched. Valid values:'."\n"
+ ."\n"
+ .'* **drop**: The traffic is discarded.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'drop',
+ 'enum' => [
+ 'drop',
+ ],
+ ],
+ 'SeqNo' => [
+ 'description' => 'The sequence number that indicates the order for the rule to take effect. The value is an integer.'."\n"
+ ."\n"
+ .'> A smaller number indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'FingerPrintRuleList' => [
+ 'description' => 'The byte-match filter rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The byte-match filter rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5fbe941f-a0cf-4a49-9c7c-8fac********',
+ ],
+ 'Protocol' => [
+ 'description' => 'The type of the protocol. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'udp',
+ 'enum' => [
+ 'tcp',
+ 'udp',
+ ],
+ ],
+ 'SrcPortStart' => [
+ 'description' => 'The start of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'SrcPortEnd' => [
+ 'description' => 'The end of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'DstPortStart' => [
+ 'description' => 'The start of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'DstPortEnd' => [
+ 'description' => 'The end of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'MinPktLen' => [
+ 'description' => 'The minimum packet length. Valid values: **1** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1500',
+ 'minimum' => '0',
+ 'example' => '1',
+ ],
+ 'MaxPktLen' => [
+ 'description' => 'The maximum packet length. Valid values: **1** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1500',
+ 'minimum' => '0',
+ 'example' => '1500',
+ ],
+ 'Offset' => [
+ 'description' => 'The offset. Valid values: **0** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1500',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'PayloadBytes' => [
+ 'description' => 'The payload. The value is a hexadecimal string.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'abcd',
+ 'maxLength' => 32,
+ 'minLength' => 2,
+ 'pattern' => '^([0-9a-fA-f]{2}){1,15}$',
+ ],
+ 'MatchAction' => [
+ 'description' => 'The action triggered if the rule is matched. Valid values:'."\n"
+ ."\n"
+ .'* **accept**: allows the traffic that matches the conditions in the byte-match filter rule.'."\n"
+ .'* **drop**: discards the traffic that matches the conditions in the byte-match filter rule.'."\n"
+ .'* **ip_rate**: limits rates on the source IP address whose traffic matches the conditions in the byte-match filter rule. The rate limit is specified by **RateValue**.'."\n"
+ .'* **session_rate**: limits the number of sessions from the source IP address whose traffic matches the conditions in the byte-match filter rule. The rate limit is specified by **RateValue**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'drop',
+ 'enum' => [
+ 'drop',
+ 'accept',
+ 'ip_rate',
+ 'session_rate',
+ ],
+ ],
+ 'RateValue' => [
+ 'description' => 'The rate limit. Valid values: **1** to **100000**.'."\n"
+ ."\n"
+ .'> This parameter is required when **MatchAction** is set to **ip_rate** or **session_rate**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '100',
+ ],
+ 'SeqNo' => [
+ 'description' => 'The sequence number that indicates the order for the rule to take effect. The value is an integer.'."\n"
+ ."\n"
+ .'> A smaller number indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'EnableL4Defense' => [
+ 'description' => 'Specifies whether to enable port-specific mitigation.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'L4RuleList' => [
+ 'description' => 'The port-specific mitigation rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port-specific mitigation rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => 'The name of the rule.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test****',
+ 'maxLength' => 32,
+ 'minLength' => 1,
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the rule. Valid values: **1** to **100**.'."\n"
+ ."\n"
+ .'> A smaller value indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ 'Method' => [
+ 'description' => 'The type of the rule. Valid values:'."\n"
+ ."\n"
+ .'* **char**: string match.'."\n"
+ .'* **hex**: hexadecimal string match.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'char',
+ 'enum' => [
+ 'hex',
+ 'char',
+ ],
+ ],
+ 'Match' => [
+ 'description' => 'The condition based on which an action is performed. Valid values:'."\n"
+ ."\n"
+ .'* **0**: If the rule is matched, the action specified in the rule is performed.'."\n"
+ .'* **1**: If the rule is not matched, the action specified in the rule is performed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0',
+ 'enum' => [
+ '0',
+ '1',
+ ],
+ ],
+ 'Action' => [
+ 'description' => 'The action that is specified in the rule. Valid value:'."\n"
+ ."\n"
+ .'* **2**: The traffic is discarded.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2',
+ 'enum' => [
+ '1',
+ '2',
+ ],
+ ],
+ 'Limited' => [
+ 'description' => 'The minimum number of bytes in a session to trigger matching. Valid values: **0** to **2048**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2048',
+ 'exclusiveMaximum' => true,
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'ConditionList' => [
+ 'description' => 'The match conditions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The match condition.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Arg' => [
+ 'description' => 'The term that is used for matching.'."\n"
+ ."\n"
+ .'> If Method is set to **char**, the value of this parameter must be ASCII strings. If Method is set to **hex**, the value of this parameter must be hexadecimal strings. Maximum length: 2,048.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'abcd',
+ 'maxLength' => 4096,
+ 'minLength' => 1,
+ ],
+ 'Position' => [
+ 'description' => 'The start position for matching. Valid values: **0** to **2047**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2047',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'Depth' => [
+ 'description' => 'The number of bytes from the start position for matching. Valid values: **1** to **2048**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2048',
+ 'minimum' => '1',
+ 'example' => '1200',
+ ],
+ 'Encode' => [
+ 'type' => 'string',
+ ],
+ 'Pattern' => [
+ 'type' => 'string',
+ ],
+ 'Content' => [
+ 'type' => 'string',
+ ],
+ 'Offset' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Start' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'End' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'minItems' => 1,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'WhiteIpList' => [
+ 'description' => 'The IP addresses in the whitelist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The IP address in the whitelist.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1.1.1.*',
+ ],
+ 'required' => false,
+ 'maxItems' => 2000,
+ 'minItems' => 1,
+ ],
+ 'BlackIpList' => [
+ 'description' => 'The IP addresses in the blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The IP address in the blacklist.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2.2.2.*',
+ ],
+ 'required' => false,
+ 'maxItems' => 2000,
+ 'minItems' => 1,
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'PortVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'enum' => [
+ '2',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B4B379C2-9319-4C6B-B579-FE36831****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4B379C2-9319-4C6B-B579-FE36831****\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyPolicy',
+ 'description' => 'Modifies a mitigation policy.'."\n",
+ ],
+ 'ModifyPolicyContent' => [
+ 'summary' => 'Modifies the content of the mitigation policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '224798',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Id',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '83967609-7ea5-4f6d-a6ea-380b09e****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'demo**',
+ ],
+ ],
+ [
+ 'name' => 'Content',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The policy content.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'BlackIpListExpireAt' => [
+ 'description' => 'The validity period of the IP address blacklist. The value is a UNIX timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1716878000',
+ ],
+ 'EnableIntelligence' => [
+ 'description' => 'Specifies whether to enable intelligent protection.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'IntelligenceLevel' => [
+ 'description' => 'The level of intelligent protection. Valid values:'."\n"
+ ."\n"
+ .'* **default**: normal.'."\n"
+ .'* **hard**: strict.'."\n"
+ .'* **weak**: loose.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'default',
+ 'enum' => [
+ 'default',
+ 'weak',
+ 'hard',
+ ],
+ ],
+ 'WhitenGfbrNets' => [
+ 'description' => 'Specifies whether to add back-to-origin CIDR blocks of Anti-DDoS Proxy to the whitelist.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'EnableDropIcmp' => [
+ 'description' => 'Specifies whether to enable ICMP blocking.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'RegionBlockCountryList' => [
+ 'description' => 'The countries in the location blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The code of the country in the location blacklist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '241',
+ 'minimum' => '1',
+ 'example' => '11',
+ ],
+ 'required' => false,
+ 'maxItems' => 241,
+ 'minItems' => 1,
+ ],
+ 'RegionBlockProvinceList' => [
+ 'description' => 'The provinces in the location blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The code of the province in the location blacklist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '82',
+ 'minimum' => '1',
+ 'example' => '2',
+ ],
+ 'required' => false,
+ 'maxItems' => 35,
+ 'minItems' => 1,
+ ],
+ 'SourceLimit' => [
+ 'description' => 'The settings for source rate limiting.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Pps' => [
+ 'description' => 'The packets per second (pps) limit on source IP addresses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500000',
+ 'minimum' => '32',
+ 'example' => '64',
+ ],
+ 'Bps' => [
+ 'description' => 'The bandwidth limit on source IP addresses. Unit: bytes per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '268435456',
+ 'minimum' => '1024',
+ 'example' => '2048',
+ ],
+ 'SynPps' => [
+ 'description' => 'The pps limit on source SYN packets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '64',
+ ],
+ 'SynBps' => [
+ 'description' => 'The bandwidth limit on source SYN packets. Unit: bytes per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '268435456',
+ 'minimum' => '1024',
+ 'example' => '2048',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'SourceBlockList' => [
+ 'description' => 'The source IP addresses that are added to the blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The source IP address that is added to the blacklist.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the source rate limit. Valid values:'."\n"
+ ."\n"
+ .'* **3**: the pps limit on source IP addresses.'."\n"
+ .'* **4**: the bandwidth limit on source IP addresses.'."\n"
+ .'* **5**: the pps limit on source SYN packets.'."\n"
+ .'* **6**: the bandwidth limit on source SYN packets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '3',
+ 'enum' => [
+ '3',
+ '4',
+ '5',
+ '6',
+ ],
+ ],
+ 'BlockExpireSeconds' => [
+ 'description' => 'The validity period of the blacklist to which the source IP address is added. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '2592000',
+ 'minimum' => '60',
+ 'example' => '120',
+ ],
+ 'EverySeconds' => [
+ 'description' => 'The statistical period during which the system collects data on source IP addresses to determine whether to add the source IP addresses to the blacklist. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1200',
+ 'minimum' => '60',
+ 'example' => '60',
+ ],
+ 'ExceedLimitTimes' => [
+ 'description' => 'The number of times that the source IP address exceeds a limit in a statistical period.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1200',
+ 'minimum' => '1',
+ 'example' => '5',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 4,
+ ],
+ 'ReflectBlockUdpPortList' => [
+ 'description' => 'The ports whose traffic is filtered out by the filtering policies for UDP reflection attacks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port whose traffic is filtered out by the filtering policies for UDP reflection attacks.'."\n"
+ ."\n"
+ .'> Only UDP ports are supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '123',
+ ],
+ 'required' => false,
+ 'maxItems' => 128,
+ 'minItems' => 1,
+ ],
+ 'PortRuleList' => [
+ 'description' => 'The port blocking rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port blocking rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '412a7312-58ff-4e32-a202-0ab0*******',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tcp',
+ 'enum' => [
+ 'tcp',
+ 'udp',
+ ],
+ ],
+ 'SrcPortStart' => [
+ 'description' => 'The start of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'SrcPortEnd' => [
+ 'description' => 'The end of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'DstPortStart' => [
+ 'description' => 'The start of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'DstPortEnd' => [
+ 'description' => 'The end of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'MatchAction' => [
+ 'description' => 'The action triggered if the rule is matched. Valid values:'."\n"
+ ."\n"
+ .'* **drop**: The traffic is discarded.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'drop',
+ 'enum' => [
+ 'drop',
+ ],
+ ],
+ 'SeqNo' => [
+ 'description' => 'The sequence number that indicates the order for the rule to take effect. The value is an integer.'."\n"
+ ."\n"
+ .'> A smaller number indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'FingerPrintRuleList' => [
+ 'description' => 'The byte-match filter rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The byte-match filter rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '83967609-7ea5-4f6d-a6ea-380b09e****',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'tcp',
+ 'enum' => [
+ 'tcp',
+ 'udp',
+ ],
+ ],
+ 'SrcPortStart' => [
+ 'description' => 'The start of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'SrcPortEnd' => [
+ 'description' => 'The end of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'DstPortStart' => [
+ 'description' => 'The start of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'DstPortEnd' => [
+ 'description' => 'The end of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '65535',
+ 'minimum' => '0',
+ 'example' => '65535',
+ ],
+ 'MinPktLen' => [
+ 'description' => 'The minimum packet length. Valid values: **1** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1500',
+ 'minimum' => '0',
+ 'example' => '1',
+ ],
+ 'MaxPktLen' => [
+ 'description' => 'The maximum packet length. Valid values: **1** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '1500',
+ 'minimum' => '0',
+ 'example' => '1500',
+ ],
+ 'Offset' => [
+ 'description' => 'The offset. Valid values: **0** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1500',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'PayloadBytes' => [
+ 'description' => 'The payload. The value is a hexadecimal string.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'abcd',
+ 'maxLength' => 32,
+ 'minLength' => 2,
+ 'pattern' => '^([0-9a-fA-f]{2}){1,15}$',
+ ],
+ 'MatchAction' => [
+ 'description' => 'The action triggered if the rule is matched. Valid values:'."\n"
+ ."\n"
+ .'* **permit**: allows the traffic that matches the conditions in the byte-match filter rule.'."\n"
+ .'* **drop**: discards the traffic that matches the conditions in the byte-match filter rule.'."\n"
+ .'* **ip_rate**: limits rates on the source IP address whose traffic matches the conditions in the byte-match filter rule. The rate limit is specified by **RateValue**.'."\n"
+ .'* **session_rate**: limits the number of sessions from the source IP address whose traffic matches the conditions in the byte-match filter rule. The rate limit is specified by **RateValue**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'drop',
+ 'enum' => [
+ 'drop',
+ 'accept',
+ 'ip_rate',
+ 'session_rate',
+ ],
+ ],
+ 'RateValue' => [
+ 'description' => 'The rate limit. Valid values: **1** to **100000**.'."\n"
+ ."\n"
+ .'> This parameter is required when **MatchAction** is set to **ip_rate** or **session_rate**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '100',
+ ],
+ 'SeqNo' => [
+ 'description' => 'The sequence number that indicates the order for the rule to take effect. The value is an integer.'."\n"
+ ."\n"
+ .'> A smaller number indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ 'EnableL4Defense' => [
+ 'description' => 'Specifies whether to enable port-specific mitigation.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'L4RuleList' => [
+ 'description' => 'The port-specific mitigation rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port-specific mitigation rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => 'The name of the rule.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test**',
+ 'maxLength' => 32,
+ 'minLength' => 1,
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the rule. Valid values: 1 to 100.'."\n"
+ ."\n"
+ .'> A smaller value indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '1',
+ ],
+ 'Method' => [
+ 'description' => 'The type of the rule. Valid values:'."\n"
+ ."\n"
+ .'* **char**: string match.'."\n"
+ .'* **hex**: hexadecimal string match.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'char',
+ 'enum' => [
+ 'hex',
+ 'char',
+ ],
+ ],
+ 'Match' => [
+ 'description' => 'The condition based on which an action is performed. Valid values:'."\n"
+ ."\n"
+ .'* **0**: If the rule is matched, the action specified in the rule is performed.'."\n"
+ .'* **1**: If the rule is not matched, the action specified in the rule is performed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0',
+ 'enum' => [
+ '0',
+ '1',
+ ],
+ ],
+ 'Action' => [
+ 'description' => 'The action that is specified in the rule. Valid value:'."\n"
+ ."\n"
+ .'* **2**: The traffic is discarded.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2',
+ 'enum' => [
+ '1',
+ '2',
+ ],
+ ],
+ 'Limited' => [
+ 'description' => 'The minimum number of bytes in a session to trigger matching. Valid values: **0** to **2048**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2048',
+ 'exclusiveMaximum' => true,
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'ConditionList' => [
+ 'description' => 'The match conditions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The match condition.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Arg' => [
+ 'description' => 'The term that is used for matching.'."\n"
+ ."\n"
+ .'> If Method is set to **char**, the value of this parameter must be ASCII strings. If Method is set to **hex**, the value of this parameter must be hexadecimal strings. Maximum length: 2,048.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'abcd',
+ 'maxLength' => 4096,
+ 'minLength' => 1,
+ ],
+ 'Position' => [
+ 'description' => 'The start position for matching. Valid values: **0** to **2047**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2047',
+ 'minimum' => '0',
+ 'example' => '0',
+ ],
+ 'Depth' => [
+ 'description' => 'The number of bytes from the start position for matching. Valid values: **1** to **2048**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2048',
+ 'minimum' => '1',
+ 'example' => '1200',
+ ],
+ 'Encode' => [
+ 'type' => 'string',
+ ],
+ 'Pattern' => [
+ 'type' => 'string',
+ ],
+ 'Content' => [
+ 'type' => 'string',
+ ],
+ 'Offset' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Start' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'End' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ 'minItems' => 1,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'PortVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'enum' => [
+ '2',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3777EF25-940B-51F4-BB1D-99B5********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3777EF25-940B-51F4-BB1D-99B5********\\"\\n}","type":"json"}]',
+ 'title' => 'ModifyPolicyContent',
+ 'description' => 'Make sure that all request parameters are configured when you call this operation. If any parameter is left empty, the configuration is deleted.',
+ ],
+ 'ListPolicy' => [
+ 'summary' => 'Queries mitigation policies.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201465',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test**',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **default**: the default mitigation policy.'."\n"
+ .'* **l3**: IP-specific mitigation policies.'."\n"
+ .'* **l4**: port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'l3',
+ 'enum' => [
+ 'l3',
+ 'l4',
+ 'default',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProductType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service type. Valid values:'."\n"
+ ."\n"
+ .'* **ecs**: Elastic Compute Service (ECS).'."\n"
+ .'* **slb**: Server Load Balancer (SLB).'."\n"
+ .'* **eip**: Elastic IP Address (EIP).'."\n"
+ .'* **gf-eip**: EIP with Anti-DDoS (Enhanced) enabled.'."\n"
+ ."\n"
+ .'> This parameter is available only if Type is set to `default`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ecs',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B4B379C2-9319-4C6B-B579-FE36831B09F4',
+ ],
+ 'PolicyList' => [
+ 'description' => 'The policies.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => '877afbdf-3982-4d36-9886-f043********',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'test**',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **default**: the default mitigation policy.'."\n"
+ .'* **l3**: IP-specific mitigation policies.'."\n"
+ .'* **l4**: port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'example' => 'l3',
+ ],
+ 'Remark' => [
+ 'description' => 'The remarks of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'AttachedCount' => [
+ 'description' => 'The number of protected objects that are added to the policy.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Content' => [
+ 'description' => 'The content of the policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'BlackIpListExpireAt' => [
+ 'description' => 'The validity period of the IP address blacklist. The value is a UNIX timestamp.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1716878000',
+ ],
+ 'EnableIntelligence' => [
+ 'description' => 'Indicates whether intelligent protection is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'IntelligenceLevel' => [
+ 'description' => 'The level of intelligent protection. Valid values:'."\n"
+ ."\n"
+ .'* **default**: normal.'."\n"
+ .'* **hard**: strict.'."\n"
+ .'* **weak**: loose.'."\n",
+ 'type' => 'string',
+ 'example' => 'default',
+ ],
+ 'WhitenGfbrNets' => [
+ 'description' => 'Indicates whether back-to-origin CIDR blocks of Anti-DDoS Proxy are added to the whitelist.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'EnableDropIcmp' => [
+ 'description' => 'Indicates whether ICMP blocking is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'RegionBlockCountryList' => [
+ 'description' => 'The countries in the location blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The codes of the countries in the location blacklist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '11',
+ ],
+ ],
+ 'RegionBlockProvinceList' => [
+ 'description' => 'The provinces in the location blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The codes of the provinces in the location blacklist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ 'SourceLimit' => [
+ 'description' => 'The settings for source rate limiting.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Pps' => [
+ 'description' => 'The packets per second (PPS) limit on source IP addresses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '64',
+ ],
+ 'Bps' => [
+ 'description' => 'The bandwidth limit on source IP addresses. Unit: bytes per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2048',
+ ],
+ 'SynPps' => [
+ 'description' => 'The PPS limit on source SYN packets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '64',
+ ],
+ 'SynBps' => [
+ 'description' => 'The bandwidth limit on source SYN packets. Unit: bytes per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2048',
+ ],
+ ],
+ ],
+ 'SourceBlockList' => [
+ 'description' => 'The source IP addresses that are added to the blacklist.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The source IP address that is added to the blacklist.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the source rate limit. Valid values:'."\n"
+ ."\n"
+ .'* **3**: the PPS limit on source IP addresses.'."\n"
+ .'* **4**: the bandwidth limit on source IP addresses.'."\n"
+ .'* **5**: the PPS limit on source SYN packets.'."\n"
+ .'* **6**: the bandwidth limit on source SYN packets.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'BlockExpireSeconds' => [
+ 'description' => 'The validity period of the blacklist to which the source IP address is added. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '120',
+ ],
+ 'EverySeconds' => [
+ 'description' => 'The statistical period during which the system collects data on source IP addresses to determine whether to add the source IP addresses to the blacklist. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '60',
+ ],
+ 'ExceedLimitTimes' => [
+ 'description' => 'The number of times that the source IP address exceeds a limit in a statistical period.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ ],
+ ],
+ ],
+ 'ReflectBlockUdpPortList' => [
+ 'description' => 'The ports whose traffic is filtered out by the filtering policies for UDP reflection attacks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port whose traffic is filtered out by the filtering policies for UDP reflection attacks.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '123',
+ ],
+ ],
+ 'PortRuleList' => [
+ 'description' => 'The port blocking rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port blocking rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => '8f3c3062-6c20-425d-8405-2bd1********',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'example' => 'udp',
+ ],
+ 'SrcPortStart' => [
+ 'description' => 'The start of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'SrcPortEnd' => [
+ 'description' => 'The end of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '65535',
+ ],
+ 'DstPortStart' => [
+ 'description' => 'The start of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DstPortEnd' => [
+ 'description' => 'The end of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '65535',
+ ],
+ 'MatchAction' => [
+ 'description' => 'The action triggered if the rule is matched. Valid value:'."\n"
+ ."\n"
+ .'* **drop**: The traffic is discarded.'."\n",
+ 'type' => 'string',
+ 'example' => 'drop',
+ ],
+ 'SeqNo' => [
+ 'description' => 'The sequence number that indicates the order for the rule to take effect. The value is an integer.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'FingerPrintRuleList' => [
+ 'description' => 'The byte-match filter rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The byte-match filter rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Id' => [
+ 'description' => 'The ID of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => '2c0b09cd-a565-4481-9acb-418b********',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'example' => 'udp',
+ ],
+ 'SrcPortStart' => [
+ 'description' => 'The start of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'SrcPortEnd' => [
+ 'description' => 'The end of the source port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '65535',
+ ],
+ 'DstPortStart' => [
+ 'description' => 'The start of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'DstPortEnd' => [
+ 'description' => 'The end of the destination port range. Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '65535',
+ ],
+ 'MinPktLen' => [
+ 'description' => 'The minimum packet length. Valid values: **1** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MaxPktLen' => [
+ 'description' => 'The maximum packet length. Valid values: **1** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1500',
+ ],
+ 'Offset' => [
+ 'description' => 'The offset. Valid values: **0** to **1500**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'PayloadBytes' => [
+ 'description' => 'The payload. The value is a hexadecimal string.'."\n",
+ 'type' => 'string',
+ 'example' => 'abcd',
+ ],
+ 'MatchAction' => [
+ 'description' => 'The action triggered if the rule is matched. Valid values:'."\n"
+ ."\n"
+ .'* **accept**: allows the traffic that matches the conditions in the byte-match filter rule.'."\n"
+ .'* **drop**: discards the traffic that matches the conditions in the byte-match filter rule.'."\n"
+ .'* **ip_rate**: limits rates on the source IP address whose traffic matches the conditions in the byte-match filter rule. The rate limit is specified by **RateValue**.'."\n"
+ .'* **session_rate**: limits the number of sessions from the source IP address whose traffic matches the conditions in the byte-match filter rule. The rate limit is specified by **RateValue**.'."\n",
+ 'type' => 'string',
+ 'example' => 'drop',
+ ],
+ 'RateValue' => [
+ 'description' => 'The rate limit. Valid values: **1** to **100000**.'."\n"
+ ."\n"
+ .'> This parameter is required when **MatchAction** is set to **ip_rate** or **session_rate**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'SeqNo' => [
+ 'description' => 'The sequence number that indicates the order for the rule to take effect. The value is an integer.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'EnableL4Defense' => [
+ 'description' => 'Indicates whether port-specific mitigation is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'L4RuleList' => [
+ 'description' => 'The port-specific mitigation rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port-specific mitigation rule.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => 'The name of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test**',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Method' => [
+ 'description' => 'The type of the rule. Valid values:'."\n"
+ ."\n"
+ .'* **char**: string match.'."\n"
+ .'* **hex**: hexadecimal string match.'."\n",
+ 'type' => 'string',
+ 'example' => 'char',
+ ],
+ 'Match' => [
+ 'description' => 'The condition based on which an action is performed. Valid values:'."\n"
+ ."\n"
+ .'* **0**: If the rule is matched, the action specified in the rule is performed.'."\n"
+ .'* **1**: If the rule is not matched, the action specified in the rule is performed.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'Action' => [
+ 'description' => 'The action that is specified in the rule. Valid value:'."\n"
+ ."\n"
+ .'* **2**: The traffic is discarded.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'Limited' => [
+ 'description' => 'The minimum number of bytes in a session to trigger matching. Valid values: **0** to **2048**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'ConditionList' => [
+ 'description' => 'The match conditions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The match condition.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Arg' => [
+ 'description' => 'The term that is used for matching.'."\n"
+ ."\n"
+ .'> If Method is set to **char**, the value of this parameter must be ASCII strings. If Method is set to **hex**, the value of this parameter must be hexadecimal strings. Maximum length: 2,048.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Position' => [
+ 'description' => 'The start position for matching. Valid values: **0** to **2047**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Depth' => [
+ 'description' => 'The number of bytes from the start position for matching. Valid values: **1** to **2048**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '32',
+ ],
+ 'Encode' => [
+ 'type' => 'string',
+ ],
+ 'Pattern' => [
+ 'type' => 'string',
+ ],
+ 'Content' => [
+ 'type' => 'string',
+ ],
+ 'Offset' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Start' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ 'End' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'PortVersion' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Total' => [
+ 'description' => 'The total number of policies.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4B379C2-9319-4C6B-B579-FE36831B09F4\\",\\n \\"PolicyList\\": [\\n {\\n \\"Id\\": \\"877afbdf-3982-4d36-9886-f043********\\",\\n \\"Name\\": \\"test**\\",\\n \\"Type\\": \\"l3\\",\\n \\"Remark\\": \\"test\\",\\n \\"AttachedCount\\": 0,\\n \\"Content\\": {\\n \\"BlackIpListExpireAt\\": 1716878000,\\n \\"EnableIntelligence\\": true,\\n \\"IntelligenceLevel\\": \\"default\\",\\n \\"WhitenGfbrNets\\": false,\\n \\"EnableDropIcmp\\": false,\\n \\"RegionBlockCountryList\\": [\\n 11\\n ],\\n \\"RegionBlockProvinceList\\": [\\n 2\\n ],\\n \\"SourceLimit\\": {\\n \\"Pps\\": 64,\\n \\"Bps\\": 2048,\\n \\"SynPps\\": 64,\\n \\"SynBps\\": 2048\\n },\\n \\"SourceBlockList\\": [\\n {\\n \\"Type\\": 3,\\n \\"BlockExpireSeconds\\": 120,\\n \\"EverySeconds\\": 60,\\n \\"ExceedLimitTimes\\": 5\\n }\\n ],\\n \\"ReflectBlockUdpPortList\\": [\\n 123\\n ],\\n \\"PortRuleList\\": [\\n {\\n \\"Id\\": \\"8f3c3062-6c20-425d-8405-2bd1********\\",\\n \\"Protocol\\": \\"udp\\",\\n \\"SrcPortStart\\": 0,\\n \\"SrcPortEnd\\": 65535,\\n \\"DstPortStart\\": 0,\\n \\"DstPortEnd\\": 65535,\\n \\"MatchAction\\": \\"drop\\",\\n \\"SeqNo\\": 1\\n }\\n ],\\n \\"FingerPrintRuleList\\": [\\n {\\n \\"Id\\": \\"2c0b09cd-a565-4481-9acb-418b********\\",\\n \\"Protocol\\": \\"udp\\",\\n \\"SrcPortStart\\": 0,\\n \\"SrcPortEnd\\": 65535,\\n \\"DstPortStart\\": 0,\\n \\"DstPortEnd\\": 65535,\\n \\"MinPktLen\\": 1,\\n \\"MaxPktLen\\": 1500,\\n \\"Offset\\": 0,\\n \\"PayloadBytes\\": \\"abcd\\",\\n \\"MatchAction\\": \\"drop\\",\\n \\"RateValue\\": 1000,\\n \\"SeqNo\\": 1\\n }\\n ],\\n \\"EnableL4Defense\\": true,\\n \\"L4RuleList\\": [\\n {\\n \\"Name\\": \\"test**\\",\\n \\"Priority\\": 1,\\n \\"Method\\": \\"char\\",\\n \\"Match\\": \\"1\\",\\n \\"Action\\": \\"2\\",\\n \\"Limited\\": 0,\\n \\"ConditionList\\": [\\n {\\n \\"Arg\\": \\"test\\",\\n \\"Position\\": 0,\\n \\"Depth\\": 32,\\n \\"Encode\\": \\"str\\",\\n \\"Pattern\\": \\"contain\\",\\n \\"Content\\": \\"test**\\",\\n \\"Offset\\": {\\n \\"Start\\": 0,\\n \\"End\\": 1499\\n }\\n }\\n ]\\n }\\n ],\\n \\"PortVersion\\": \\"2\\"\\n }\\n }\\n ],\\n \\"Total\\": 10\\n}","type":"json"}]',
+ 'title' => 'ListPolicy',
+ ],
+ 'AttachToPolicy' => [
+ 'summary' => 'Associates a mitigation policy to a protected object.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201489',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The policy ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cd8b4d70-e4e0-413a-b390-e71d********',
+ ],
+ ],
+ [
+ 'name' => 'IpPortProtocolList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The protected objects.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Ip' => [
+ 'description' => 'The IP address of the protected object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '112.124.241.***',
+ 'pattern' => '^(\\d{1,3}\\.){3}\\d{1,3}$',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the protected object.'."\n"
+ ."\n"
+ .'> This parameter is available for only port-specific mitigation policies.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '65535',
+ 'minimum' => '1',
+ 'example' => '8*',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type of the protected object. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n"
+ ."\n"
+ .'> This parameter is available for only port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tcp',
+ 'enum' => [
+ 'udp',
+ 'tcp',
+ ],
+ ],
+ 'PortRange' => [
+ 'type' => 'string',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'PortVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'DC245DEE-9800-5579-BF99-189D6A5****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC245DEE-9800-5579-BF99-189D6A5****\\"\\n}","type":"json"}]',
+ 'title' => 'AttachToPolicy',
+ ],
+ 'DetachFromPolicy' => [
+ 'summary' => 'Removes protected objects from a mitigation policy.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'high',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201491',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **default**: the default mitigation policies.'."\n"
+ .'* **l3**: IP-specific mitigation policies.'."\n"
+ .'* **l4**: port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'l3',
+ 'enum' => [
+ 'default',
+ 'l3',
+ 'l4',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'IpPortProtocolList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The protected objects.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Ip' => [
+ 'description' => 'The IP address of the protected object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '47.118.172.***',
+ ],
+ 'Port' => [
+ 'description' => 'The port of the protected object.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '65535',
+ 'minimum' => '1',
+ 'example' => '8*',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type of the protected object. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tcp',
+ 'enum' => [
+ 'udp',
+ 'tcp',
+ ],
+ ],
+ 'PortRange' => [
+ 'type' => 'string',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'PortVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'enum' => [
+ '2',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '1B0F7EC6-51D7-4D70-B0EC-CD8A9E99****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1B0F7EC6-51D7-4D70-B0EC-CD8A9E99****\\"\\n}","type":"json"}]',
+ 'title' => 'DetachFromPolicy',
+ ],
+ 'ListPolicyAttachment' => [
+ 'summary' => 'Queries attachments to mitigation policies.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '201492',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosRWSV1C',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PolicyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'f38f6520-92b7-451e-b520-9ab3********',
+ ],
+ ],
+ [
+ 'name' => 'PolicyType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **default**: the default mitigation policies.'."\n"
+ .'* **l3**: IP-specific mitigation policies.'."\n"
+ .'* **l4**: port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'l3',
+ 'enum' => [
+ 'default',
+ 'l3',
+ 'l4',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'IpPortProtocolList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The protected objects.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The protected object.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Ip' => [
+ 'description' => 'The IP address of the protected object.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '47.118.172.***',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the protected object.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '65535',
+ 'minimum' => '1',
+ 'example' => '8*',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type of the protected object. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tcp',
+ 'enum' => [
+ 'udp',
+ 'tcp',
+ ],
+ ],
+ 'PortRange' => [
+ 'type' => 'string',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PortVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'enum' => [
+ '2',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B4B379C2-9319-4C6B-B579-FE36831B09F4',
+ ],
+ 'AttachmentList' => [
+ 'description' => 'The records of attachments to the mitigation policy.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The record of the attachment to the mitigation policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Ip' => [
+ 'description' => 'The IP address of the protected object.'."\n",
+ 'type' => 'string',
+ 'example' => '147.139.183.***',
+ ],
+ 'PolicyId' => [
+ 'description' => 'The ID of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => '1b43f44e-65e1-411a-b0c0-d6c1********',
+ ],
+ 'PolicyName' => [
+ 'description' => 'The name of the rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test**',
+ ],
+ 'PolicyType' => [
+ 'description' => 'The type of the policy. Valid values:'."\n"
+ ."\n"
+ .'* **l3**: IP-specific mitigation policies.'."\n"
+ .'* **l4**: port-specific mitigation policies.'."\n",
+ 'type' => 'string',
+ 'example' => 'l3',
+ ],
+ 'Region' => [
+ 'description' => 'The region to which the IP address of the protected object belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'Port' => [
+ 'description' => 'The port number of the protected object.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8*',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol type of the protected object. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**'."\n"
+ .'* **udp**'."\n",
+ 'type' => 'string',
+ 'example' => 'udp',
+ ],
+ 'MemberUid' => [
+ 'description' => 'The UID of the member to which the IP address of the protected object belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '177699790631****',
+ ],
+ 'PolicyRemark' => [
+ 'description' => 'The description of the policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'PortRange' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ 'Total' => [
+ 'description' => 'The total number of attachments to the mitigation policy.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '28',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4B379C2-9319-4C6B-B579-FE36831B09F4\\",\\n \\"AttachmentList\\": [\\n {\\n \\"Ip\\": \\"147.139.183.***\\",\\n \\"PolicyId\\": \\"1b43f44e-65e1-411a-b0c0-d6c1********\\",\\n \\"PolicyName\\": \\"test**\\",\\n \\"PolicyType\\": \\"l3\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Port\\": 0,\\n \\"Protocol\\": \\"udp\\",\\n \\"MemberUid\\": \\"177699790631****\\",\\n \\"PolicyRemark\\": \\"test\\",\\n \\"PortRange\\": \\"8*-9*\\"\\n }\\n ],\\n \\"Total\\": 28\\n}","type":"json"}]',
+ 'title' => 'ListPolicyAttachment',
+ ],
+ 'DescribeRdStatus' => [
+ 'summary' => 'Queries the status of the multi-account management feature.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '187044',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '1B0F7EC6-51D7-4D70-B0EC-CD8A9E998D86',
+ ],
+ 'RootUid' => [
+ 'description' => 'The Alibaba Cloud account ID of the management account for which the multi-account management feature is enabled in Anti-DDoS Origin.'."\n",
+ 'type' => 'string',
+ 'example' => '125085778340****',
+ ],
+ 'CurrentUid' => [
+ 'description' => 'The Alibaba Cloud account ID of the current account.'."\n",
+ 'type' => 'string',
+ 'example' => '125085778340****',
+ ],
+ 'RemoteEnable' => [
+ 'description' => 'Indicates whether Resource Directory is enabled in the [Resource Management console](https://resourcemanager.console.aliyun.com).'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'LocalEnable' => [
+ 'description' => 'Indicates whether the multi-account management feature is enabled for the current account in Anti-DDoS Origin.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'MasterUid' => [
+ 'description' => 'The Alibaba Cloud account ID of the management account in the resource directory.'."\n",
+ 'type' => 'string',
+ 'example' => '125085778340****',
+ ],
+ 'ServicePrincipalEnabled' => [
+ 'description' => 'Indicates whether the trusted service is enabled.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Enabled' => [
+ 'description' => 'Indicates whether the multi-account management feature is enabled for Anti-DDoS Origin.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'CurrentUidType' => [
+ 'description' => 'The type of the Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **MasterAccount**: management account.'."\n"
+ .'* **DelegatedAdminAccount**: delegated administrator account.'."\n"
+ .'* **MemberAccount**: member.'."\n",
+ 'type' => 'string',
+ 'example' => 'MemberAccount',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1B0F7EC6-51D7-4D70-B0EC-CD8A9E998D86\\",\\n \\"RootUid\\": \\"125085778340****\\",\\n \\"CurrentUid\\": \\"125085778340****\\",\\n \\"RemoteEnable\\": false,\\n \\"LocalEnable\\": false,\\n \\"MasterUid\\": \\"125085778340****\\",\\n \\"ServicePrincipalEnabled\\": false,\\n \\"Enabled\\": false,\\n \\"CurrentUidType\\": \\"MemberAccount\\"\\n}","type":"json"}]',
+ 'title' => 'DescribeRdStatus',
+ ],
+ 'DescribeRdMemberList' => [
+ 'summary' => 'Queries members in a resource directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '185221',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ResourceDirectoryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource directory.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rd-x9bLhd',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'DC245DEE-9800-5579-BF99-189D6A5BA9FE',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '10',
+ ],
+ 'MemberList' => [
+ 'description' => 'The information about the members.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the member.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Uid' => [
+ 'description' => 'The Alibaba Cloud account ID of the member.'."\n",
+ 'type' => 'string',
+ 'example' => '1960279802016267',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the member.'."\n",
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1624954942000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC245DEE-9800-5579-BF99-189D6A5BA9FE\\",\\n \\"Total\\": 10,\\n \\"MemberList\\": [\\n {\\n \\"Uid\\": \\"196027980201****\\",\\n \\"Name\\": \\"tes***\\",\\n \\"GmtCreate\\": 1624954942000\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeRdMemberList',
+ ],
+ 'AddRdMemberList' => [
+ 'summary' => 'Adds members to a resource directory.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '185232',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MemberList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The list of the members.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Uid' => [
+ 'description' => 'The Alibaba Cloud account ID of the member.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '19510843762****',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 32,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '4C467B38-3910-447D-87BC-AC049166F216',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}","type":"json"}]',
+ 'title' => 'AddRdMemberList',
+ 'description' => 'Only a delegated administrator account or the management account of a resource directory can be used to add members to the resource directory.'."\n",
+ ],
+ 'DeleteRdMemberList' => [
+ 'summary' => 'Deletes members.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '185233',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'MemberList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The list of the members.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Uid' => [
+ 'description' => 'The Alibaba Cloud account ID of the member.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '136548010379****',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 32,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A2D6D5FB-FA07-41A8-B093-A2B7B26E72F2',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A2D6D5FB-FA07-41A8-B093-A2B7B26E72F2\\"\\n}","type":"json"}]',
+ 'title' => 'DeleteRdMemberList',
+ 'description' => 'Only a delegated administrator account or the management account of a resource directory can be used to delete members.'."\n",
+ ],
+ 'ModifyRemark' => [
+ 'summary' => 'Adds remarks for a single Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '105803',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance for which you want to add remarks.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ ],
+ [
+ 'name' => 'Remark',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The remarks for the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test-remark',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '6AC3597B-7FD5-5E68-97C3-E11F4D010732',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6AC3597B-7FD5-5E68-97C3-E11F4D010732\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyRemarkResponse>\\n <RequestId>6AC3597B-7FD5-5E68-97C3-E11F4D010732</RequestId>\\n</ModifyRemarkResponse>","errorExample":""}]',
+ 'title' => 'ModifyRemark',
+ 'description' => 'You can call the ModifyRemark operation to add remarks for a single Anti-DDoS Origin instance.'."\n"
+ ."\n"
+ .'### [](#qps-)Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRegions' => [
+ 'summary' => 'Queries the regions of assets that can be protected by Anti-DDoS Origin Enterprise in a specific region.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105774',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the Anti-DDoS Origin instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region. The default value is **cn-hangzhou**. If the default value is used, the regions of cloud assets that can be protected by Anti-DDoS Origin in the China (Hangzhou) region are queried.'."\n"
+ ."\n"
+ .'If you want to specify another value for **RegionId**, see [Regions and Zones](~~40654~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F7CA8B4E-FB15-4336-A351-8DC29D66EA82',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request was successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Regions' => [
+ 'description' => 'The information about the regions of cloud assets that can be protected by Anti-DDoS Origin. The information includes region IDs and names.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the region.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RegionEnName' => [
+ 'description' => 'The English name of the region.'."\n",
+ 'type' => 'string',
+ 'example' => 'China (Hangzhou)',
+ ],
+ 'RegionName' => [
+ 'description' => 'The Chinese name of the region.'."\n",
+ 'type' => 'string',
+ 'example' => '华东1(杭州)',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"RequestId\\": \\"F7CA8B4E-FB15-4336-A351-8DC29D66EA82\\",\\n \\"Success\\": true,\\n \\"Regions\\": [\\n {\\n \\"RegionEnName\\": \\"China (Hangzhou)\\",\\n \\"RegionName\\": \\"华东1(杭州)\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":"{\\n \\"RequestId\\": \\"9C48E43E-58A6-4A08-A858-4C9BB9631870\\",\\n \\"Regions\\": [\\n {\\n \\"RegionId\\": \\"cn-shenzhen\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-qingdao\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-shanghai\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-hongkong\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-huhehaote\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-zhangjiakou\\"\\n },\\n {\\n \\"RegionId\\": \\"us-west-1\\"\\n },\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\"\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeRegionsResponse>\\n\\t<RequestId>F7CA8B4E-FB15-4336-A351-8DC29D66EA82</RequestId>\\n\\t<Regions>\\n\\t\\t<RegionName>俄罗斯(莫斯科)</RegionName>\\n\\t\\t<RegionEnName>Russia (Moscow)</RegionEnName>\\n\\t\\t<RegionId>rus-west-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华北2(北京)</RegionName>\\n\\t\\t<RegionEnName>China (Beijing)</RegionEnName>\\n\\t\\t<RegionId>cn-beijing</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华北6(乌兰察布)</RegionName>\\n\\t\\t<RegionEnName>China (Ulanqab)</RegionEnName>\\n\\t\\t<RegionId>cn-wulanchabu</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>印度(孟买)</RegionName>\\n\\t\\t<RegionEnName>India (Mumbai)</RegionEnName>\\n\\t\\t<RegionId>ap-south-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华北1(青岛)</RegionName>\\n\\t\\t<RegionEnName>China (Qingdao)</RegionEnName>\\n\\t\\t<RegionId>cn-qingdao</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华东2(上海)</RegionName>\\n\\t\\t<RegionEnName>China (Shanghai)</RegionEnName>\\n\\t\\t<RegionId>cn-shanghai</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>中国(香港)</RegionName>\\n\\t\\t<RegionEnName>China (Hong Kong)</RegionEnName>\\n\\t\\t<RegionId>cn-hongkong</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华南2(河源)</RegionName>\\n\\t\\t<RegionEnName>China (Heyuan)</RegionEnName>\\n\\t\\t<RegionId>cn-heyuan</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>德国(法兰克福)</RegionName>\\n\\t\\t<RegionEnName>Germany (Frankfurt)</RegionEnName>\\n\\t\\t<RegionId>eu-central-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华北3(张家口)</RegionName>\\n\\t\\t<RegionEnName>China (Zhangjiakou)</RegionEnName>\\n\\t\\t<RegionId>cn-zhangjiakou</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>美国(硅谷)</RegionName>\\n\\t\\t<RegionEnName>US (Silicon Valley)</RegionEnName>\\n\\t\\t<RegionId>us-west-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华南1(深圳)</RegionName>\\n\\t\\t<RegionEnName>China (Shenzhen)</RegionEnName>\\n\\t\\t<RegionId>cn-shenzhen</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>英国(伦敦)</RegionName>\\n\\t\\t<RegionEnName>UK (London)</RegionEnName>\\n\\t\\t<RegionId>eu-west-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>日本(东京)</RegionName>\\n\\t\\t<RegionEnName>Japan (Tokyo)</RegionEnName>\\n\\t\\t<RegionId>ap-northeast-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>阿联酋(迪拜)</RegionName>\\n\\t\\t<RegionEnName>UAE (Dubai)</RegionEnName>\\n\\t\\t<RegionId>me-east-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>西南1(成都)</RegionName>\\n\\t\\t<RegionEnName>China (Chengdu)</RegionEnName>\\n\\t\\t<RegionId>cn-chengdu</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华南3(广州)</RegionName>\\n\\t\\t<RegionEnName>China (Guangzhou)</RegionEnName>\\n\\t\\t<RegionId>cn-guangzhou</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>新加坡</RegionName>\\n\\t\\t<RegionEnName>Singapore</RegionEnName>\\n\\t\\t<RegionId>ap-southeast-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>澳大利亚(悉尼)</RegionName>\\n\\t\\t<RegionEnName>Australia (Sydney)</RegionEnName>\\n\\t\\t<RegionId>ap-southeast-2</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>马来西亚(吉隆坡)</RegionName>\\n\\t\\t<RegionEnName>Malaysia (Kuala Lumpur)</RegionEnName>\\n\\t\\t<RegionId>ap-southeast-3</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华北5(呼和浩特)</RegionName>\\n\\t\\t<RegionEnName>China (Hohhot)</RegionEnName>\\n\\t\\t<RegionId>cn-huhehaote</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>印度尼西亚(雅加达)</RegionName>\\n\\t\\t<RegionEnName>Indonesia (Jakarta)</RegionEnName>\\n\\t\\t<RegionId>ap-southeast-5</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>美国(弗吉尼亚)</RegionName>\\n\\t\\t<RegionEnName>US (Virginia)</RegionEnName>\\n\\t\\t<RegionId>us-east-1</RegionId>\\n\\t</Regions>\\n\\t<Regions>\\n\\t\\t<RegionName>华东1(杭州)</RegionName>\\n\\t\\t<RegionEnName>China (Hangzhou)</RegionEnName>\\n\\t\\t<RegionId>cn-hangzhou</RegionId>\\n\\t</Regions>\\n\\t<Code>200</Code>\\n\\t<Success>true</Success>\\n</DescribeRegionsResponse>","errorExample":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n<DescribeRegionsResponse>\\n <RequestId>C3D66E07-41BF-41B7-A4BF-83A9E08E1C09</RequestId>\\n <Regions>\\n <Region>\\n <RegionId>cn-shenzhen</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-qingdao</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-beijing</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-shanghai</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-hongkong</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-huhehaote</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-zhangjiakou</RegionId>\\n </Region>\\n <Region>\\n <RegionId>us-west-1</RegionId>\\n </Region>\\n <Region>\\n <RegionId>cn-hangzhou</RegionId>\\n </Region>\\n </Regions>\\n <Success>true</Success>\\n <Code>200</Code>\\n</DescribeRegionsResponse>"}]',
+ 'title' => 'DescribeRegions',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeInstanceList' => [
+ 'summary' => 'Queries the details of all Anti-DDoS Origin instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105761',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The remarks of the Anti-DDoS Origin instance to query. Fuzzy match is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceIdList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["ddosbgp-cn-oew1pjrk****"]',
+ ],
+ ],
+ [
+ 'name' => 'Remark',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol type of the IP address asset that is protected by the Anti-DDoS Origin instance to query. Valid values:'."\n"
+ ."\n"
+ .'* **Ipv4**: IPv4'."\n"
+ .'* **Ipv6**: IPv6'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mitigation plan of the Anti-DDoS Origin instance to query. Valid values:'."\n"
+ ."\n"
+ .'* **0**: the Professional mitigation plan'."\n"
+ .'* **1**: the Enterprise mitigation plan'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'IpVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the object that is protected by the Anti-DDoS Origin instance to query.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'IPv4',
+ ],
+ ],
+ [
+ 'name' => 'InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The field that is used to sort the Anti-DDoS Origin instances. Set the value to **expireTime**, which indicates that the instances are sorted based on the expiration time.'."\n"
+ ."\n"
+ .'You can set the **Orderdire** parameter to specify the sorting method.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Ip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting method. Valid values:'."\n"
+ ."\n"
+ .'* **desc**: the descending order. This is the default value.'."\n"
+ .'* **asc**: the ascending order.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '47.89.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'Orderby',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance to query resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'expireTime',
+ ],
+ ],
+ [
+ 'name' => 'Orderdire',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tags that are added to the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desc',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tag that is added to the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The key of the tag that is added to the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The value of the tag that is added to the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The mitigation plan of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test-key',
+ ],
+ 'Value' => [
+ 'description' => 'The mitigation plan of the Anti-DDoS Origin instance. Valid values:'."\n"
+ ."\n"
+ .'* 0: the Professional mitigation plan.'."\n"
+ .'* 1: the Enterprise mitigation plan.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test-value',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'InstanceTypeList',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The total number of Anti-DDoS Origin instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The details about the Anti-DDoS Origin instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The details about the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'example' => '381D5D33-BB8F-395F-8EE4-AE3BB4B523C4',
+ ],
+ 'InstanceList' => [
+ 'description' => 'The details about the Anti-DDoS Origin instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details about the Anti-DDoS Origin instances.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'Indicates whether auto-renewal is enabled for the instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'IpType' => [
+ 'description' => 'The description of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'IPv4',
+ ],
+ 'AutoRenewal' => [
+ 'description' => 'The time when the instance expires. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'Remark' => [
+ 'description' => 'The type of the cloud service that is associated with the Anti-DDoS Origin instance By default, this parameter is not returned. If the Anti-DDoS Origin instance is created by using a different cloud service, the code of the cloud service is returned.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **gamebox**: The Anti-DDoS Origin instance is created by using Game Security Box.'."\n"
+ .'* **eip**: The Anti-DDoS Origin instance is created by using an elastic IP address (EIP) for which Anti-DDoS (Enhanced Edition) is enabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'ExpireTime' => [
+ 'description' => 'The time when the instance was purchased. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1640275200000',
+ ],
+ 'Product' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'gamebox',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The mitigation plan of the instance. Valid values:'."\n"
+ ."\n"
+ .'* **0**: the Professional mitigation plan'."\n"
+ .'* **1**: the Enterprise mitigation plan'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1592886047000',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The number of protected public IP addresses for which blackhole filtering is triggered.'."\n"
+ ."\n"
+ .'> You can call the [DeleteBlackhole](~~118692~~) operation to deactivate blackhole filtering for a protected IP address.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosbgp-cn-oew1pjrk****',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The application scope of the instance.'."\n"
+ ."\n"
+ .'* **1**: The instance supports public IP addresses in all regions.'."\n"
+ .'* **2**: The instance supports public IP addresses in regions in the Chinese mainland.'."\n"
+ .'* **3**: The instance supports public IP addresses in regions outside the Chinese mainland.'."\n"
+ .'* **4**: The instance supports public IP addresses in a region in or outside the Chinese mainland.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'BlackholdingCount' => [
+ 'description' => 'The type of the instance.'."\n"
+ ."\n"
+ .'* **ddos_ddosorigin_public_cn**: Anti-DDoS Origin 2.0 (Pay-as-you-go) on the China site (aliyun.com).'."\n"
+ .'* **ddos_ddosorigin_public_intl**: Anti-DDoS Origin 2.0 (Pay-as-you-go) on the International site (alibabacloud.com).'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'CoverageType' => [
+ 'description' => 'Indicates whether overdue payments exist. Valid values:'."\n"
+ ."\n"
+ .'* **0**: Overdue payments do not exist.'."\n"
+ .'* **1**: Overdue payments exist.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'CommodityType' => [
+ 'description' => 'The condition that triggers automatic association of the instance with an object.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddos_ddosorigin_public_cn',
+ ],
+ 'DebtStatus' => [
+ 'description' => 'The events that trigger automatic association.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'AutoProtectCondition' => [
+ 'description' => 'The event that triggers automatic association. Valid values:'."\n"
+ ."\n"
+ .'* **any**: The instance is automatically associated with an object based on traffic scrubbing events or blackhole filtering events.'."\n"
+ .'* **clean**: The instance is automatically associated with an object based on traffic scrubbing events.'."\n"
+ .'* **blackhole**: The instance is automatically associated with an object based on blackhole filtering events.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Events' => [
+ 'description' => 'Events which result in auto binding.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Event which result in auto binding.'."\n"
+ .'* **any**: The instance is automatically associated with an object based on traffic scrubbing events or blackhole filtering events.'."\n"
+ .'* **clean**: The instance is automatically associated with an object based on traffic scrubbing events.'."\n"
+ .'* **blackhole**: The instance is automatically associated with an object based on blackhole filtering events.',
+ 'type' => 'string',
+ 'example' => 'any',
+ ],
+ ],
+ ],
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-aek3ccjxxxxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Total\\": 1,\\n \\"RequestId\\": \\"381D5D33-BB8F-395F-8EE4-AE3BB4B523C4\\",\\n \\"InstanceList\\": [\\n {\\n \\"Status\\": \\"1\\",\\n \\"IpType\\": \\"IPv4\\",\\n \\"AutoRenewal\\": false,\\n \\"Remark\\": \\"test\\",\\n \\"ExpireTime\\": 1640275200000,\\n \\"Product\\": \\"gamebox\\",\\n \\"GmtCreate\\": 1592886047000,\\n \\"InstanceId\\": \\"ddosbgp-cn-oew1pjrk****\\",\\n \\"InstanceType\\": \\"1\\",\\n \\"BlackholdingCount\\": \\"0\\",\\n \\"CoverageType\\": 1,\\n \\"CommodityType\\": \\"ddos_ddosorigin_public_cn\\",\\n \\"DebtStatus\\": 0,\\n \\"AutoProtectCondition\\": {\\n \\"Events\\": [\\n \\"any\\"\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-aek3ccjxxxxx\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceListResponse>\\n <Total>1</Total>\\n <RequestId>381D5D33-BB8F-395F-8EE4-AE3BB4B523C4</RequestId>\\n <InstanceList>\\n <Status>1</Status>\\n <IpType>IPv4</IpType>\\n <AutoRenewal>false</AutoRenewal>\\n <Remark>test</Remark>\\n <ExpireTime>1640275200000</ExpireTime>\\n <Product>ECS</Product>\\n <GmtCreate>1592886047000</GmtCreate>\\n <InstanceId>ddosbgp-cn-oew1pjrk****</InstanceId>\\n <InstanceType>1</InstanceType>\\n <BlackholdingCount>0</BlackholdingCount>\\n </InstanceList>\\n</DescribeInstanceListResponse>","errorExample":""}]',
+ 'title' => 'DescribeInstanceList',
+ 'description' => 'Queries the details of all Anti-DDoS Origin instances.',
+ 'requestParamsDescription' => 'You can call the DescribeInstanceList operation to query the details of all Anti-DDoS Origin instances within your Alibaba Cloud account by page. The details include the ID, validity period, and status of each instance. '."\n"
+ ."\n\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeInstanceSpecs' => [
+ 'summary' => 'Queries the specifications of a specific Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105762',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceIdList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance. This parameter is a string that consists of JSON arrays. Each element in a JSON array indicates an instance ID. If you want to query more than one instance, separate instance IDs with commas (,).'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances in a specific region.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '["ddosbgp-cn-n6w1r7nz****"]',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Anti-DDoS Origin instance. Default value: **cn-hangzhou**, which indicates the China (Hangzhou) region.'."\n"
+ ."\n"
+ .'> If your instance does not reside in the China (Hangzhou) region, you must set this parameter to the region ID of your instance. You can call the [DescribeRegions](~~118703~~) operation to query the regions of assets that can be protected by Anti-DDoS Origin in a specific region.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the Anti-DDoS Origin instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '5840AB9F-1419-4620-807D-5EA476090247',
+ ],
+ 'InstanceSpecs' => [
+ 'description' => 'The specifications of the Anti-DDoS Origin instance, including whether best-effort protection is enabled, the number of available best-effort protection sessions, and the number of used best-effort protection sessions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The specifications of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'IsFullDefenseMode' => [
+ 'description' => 'Indicates whether best-effort protection is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **0**: Best-effort protection is disabled.'."\n"
+ .'* **1**: Best-effort protection is enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the Anti-DDoS Origin instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the name of the region.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'AvailableDefenseTimes' => [
+ 'description' => 'The available best-effort protection sessions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'TotalDefenseTimes' => [
+ 'description' => 'The total best-effort protection sessions.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'DefenseTimesPercent' => [
+ 'description' => 'The percentage of the used best-effort protection sessions. Unit: %.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'AvailableDeleteBlackholeCount' => [
+ 'description' => 'The number of times that blackhole filtering can be deactivated.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ 'DowngradeStatus' => [
+ 'description' => 'Indicates whether the instance is downgraded. Valid value:'."\n"
+ ."\n"
+ .'* **8**: The instance is downgraded due to excessive bandwidth usage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'PackConfig' => [
+ 'description' => 'The configurations of the Anti-DDoS Origin instance, including the number of protected IP addresses and protection bandwidth.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PackBasicThre' => [
+ 'description' => 'The basic protection bandwidth of the Anti-DDoS Origin instance. Unit: Gbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'BindIpCount' => [
+ 'description' => 'The number of IP addresses that are protected by the Anti-DDoS Origin Enterprise instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'PackAdvThre' => [
+ 'description' => 'The burstable protection bandwidth of the Anti-DDoS Origin instance. Unit: Gbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '300',
+ ],
+ 'NormalBandwidth' => [
+ 'description' => 'The clean bandwidth. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'IpBasicThre' => [
+ 'description' => 'The basic protection bandwidth of each protected IP address. Unit: Gbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'IpAdvanceThre' => [
+ 'description' => 'The burstable protection bandwidth of each protected IP address. Unit: Gbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '300',
+ ],
+ 'IpSpec' => [
+ 'description' => 'The number of IP addresses that can be protected by the Anti-DDoS Origin Enterprise instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Bandwidth' => [
+ 'description' => 'The bandwidth. Unit: Gbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'ElasticBwMode' => [
+ 'description' => 'The metering method of burstable clean bandwidth. Valid values:'."\n"
+ ."\n"
+ .'* **month**: the monthly 95th percentile metering method.'."\n"
+ .'* **day**: the daily 95th percentile metering method.'."\n",
+ 'type' => 'string',
+ 'example' => 'day',
+ ],
+ 'ElasticBwMbps' => [
+ 'description' => 'The burstable clean bandwidth. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5840AB9F-1419-4620-807D-5EA476090247\\",\\n \\"InstanceSpecs\\": [\\n {\\n \\"IsFullDefenseMode\\": 1,\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"AvailableDefenseTimes\\": 2,\\n \\"TotalDefenseTimes\\": 2,\\n \\"DefenseTimesPercent\\": 30,\\n \\"AvailableDeleteBlackholeCount\\": \\"100\\",\\n \\"InstanceId\\": \\"ddosbgp-cn-n6w1r7nz****\\",\\n \\"DowngradeStatus\\": 8,\\n \\"PackConfig\\": {\\n \\"PackBasicThre\\": 20,\\n \\"BindIpCount\\": 0,\\n \\"PackAdvThre\\": 300,\\n \\"NormalBandwidth\\": 200,\\n \\"IpBasicThre\\": 20,\\n \\"IpAdvanceThre\\": 300,\\n \\"IpSpec\\": 100,\\n \\"Bandwidth\\": 2,\\n \\"ElasticBwMode\\": \\"day\\",\\n \\"ElasticBwMbps\\": 100\\n }\\n }\\n ]\\n}","errorExample":"{\\n \\"InstanceSpecs\\": [\\n {\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"InstanceId\\": \\"ddosbgp-cn-x1\\",\\n \\"AvailableDeleteBlackholeCount\\": 100,\\n \\"PackConfig\\": {\\n \\"IpBasicThre\\": 20,\\n \\"BindIpCount\\": 0,\\n \\"PackBasicThre\\": 20,\\n \\"IpAdvanceThre\\": 100,\\n \\"IpSpec\\": 100,\\n \\"PackAdvThre\\": 101\\n }\\n }\\n ],\\n \\"RequestId\\": \\"D8D786F2-2008-4280-B9AB-8E6C4E8C2A16\\"\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeInstanceSpecsResponse>\\n\\t<RequestId>5840AB9F-1419-4620-807D-5EA476090247</RequestId>\\n\\t<InstanceSpecs>\\n\\t\\t<TotalDefenseTimes>2</TotalDefenseTimes>\\n\\t\\t<IsFullDefenseMode>1</IsFullDefenseMode>\\n\\t\\t<InstanceId>ddosbgp-cn-n6w1r7nz****</InstanceId>\\n\\t\\t<AvailableDefenseTimes>2</AvailableDefenseTimes>\\n\\t\\t<Region>cn-hangzhou</Region>\\n\\t\\t<AvailableDeleteBlackholeCount>100</AvailableDeleteBlackholeCount>\\n\\t\\t<PackConfig>\\n\\t\\t\\t<PackAdvThre>300</PackAdvThre>\\n\\t\\t\\t<IpSpec>100</IpSpec>\\n\\t\\t\\t<NormalBandwidth>200</NormalBandwidth>\\n\\t\\t\\t<BindIpCount>0</BindIpCount>\\n\\t\\t\\t<IpAdvanceThre>300</IpAdvanceThre>\\n\\t\\t\\t<PackBasicThre>20</PackBasicThre>\\n\\t\\t\\t<IpBasicThre>20</IpBasicThre>\\n\\t\\t</PackConfig>\\n\\t</InstanceSpecs>\\n</DescribeInstanceSpecsResponse>","errorExample":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n<DescribeInstanceSpecsResponse>\\n <InstanceSpecs>\\n <InstanceSpec>\\n <Region>cn-hangzhou</Region>\\n <InstanceId>ddosbgp-cn-x1</InstanceId>\\n <AvailableDeleteBlackholeCount>100</AvailableDeleteBlackholeCount>\\n <PackConfig>\\n <IpBasicThre>20</IpBasicThre>\\n <BindIpCount>0</BindIpCount>\\n <PackBasicThre>20</PackBasicThre>\\n <IpAdvanceThre>101</IpAdvanceThre>\\n <IpSpec>100</IpSpec>\\n <PackAdvThre>101</PackAdvThre>\\n </PackConfig>\\n </InstanceSpec>\\n </InstanceSpecs>\\n <RequestId>CEB7F4F5-1DA8-41ED-A9C4-E0F0033E9E1F</RequestId>\\n</DescribeInstanceSpecsResponse>"}]',
+ 'title' => 'DescribeInstanceSpecs',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeExcpetionCount' => [
+ 'summary' => 'Queries the number of assets that are in an abnormal state and the number of Anti-DDoS Origin instances that are about to expire. The assets can be elastic IP addresses (EIPs). The assets can also be Elastic Compute Service (ECS) instances or Server Load Balancer (SLB) instances that are assigned public IP addresses.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105757',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosL8I8F2',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ExceptionIpCount' => [
+ 'description' => 'The number of assets that are in an abnormal state.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'ExpireTimeCount' => [
+ 'description' => 'The number of Anti-DDoS Origin instances that are about to expire.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4B45279A-B1BE-5EEE-87CA-58AF4183EA58',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"ExceptionIpCount\\": 0,\\n \\"ExpireTimeCount\\": 1,\\n \\"RequestId\\": \\"4B45279A-B1BE-5EEE-87CA-58AF4183EA58\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeExcpetionCountResponse>\\n <ExceptionIpCount>0</ExceptionIpCount>\\n <ExpireTimeCount>1</ExpireTimeCount>\\n <RequestId>4B45279A-B1BE-5EEE-87CA-58AF4183EA58</RequestId>\\n</DescribeExcpetionCountResponse>","errorExample":""}]',
+ 'title' => 'DescribeExcpetionCount',
+ 'description' => '## Usage notes'."\n"
+ ."\n"
+ .'You can call the DescribeExcpetionCount operation to query the number of assets that are in an abnormal state and the number of Anti-DDoS Origin instances that are about to expire in a specific region. For example, if blackhole filtering is triggered for an IP address, the IP address is in an abnormal state. An instance whose remaining validity period is less than seven days is considered as an instance that is about to expire.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribePackIpList' => [
+ 'summary' => 'Queries the IP addresses that are protected by a specific Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105771',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosCIYF86',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ ],
+ [
+ 'name' => 'Ip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protected IP address to query.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '47.98.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'ProductName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the cloud asset to which the protected IP address to query belongs. Valid values:'."\n"
+ ."\n"
+ .'* **ECS**: an Elastic Compute Service (ECS) instance.'."\n"
+ .'* **SLB**: a Classic Load Balancer (CLB) instance, originally called a Server Load Balancer (SLB) instance.'."\n"
+ .'* **EIP**: an elastic IP address (EIP). An Internet-facing Application Load Balancer (ALB) instance uses an EIP. If the IP address belongs to the Internet-facing ALB instance, set this parameter to EIP.'."\n"
+ .'* **WAF**: a Web Application Firewall (WAF) instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ECS',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ 'deprecated' => true,
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MemberUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the member.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '170858869679****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The HTTP status code of the request.'."\n"
+ ."\n"
+ .'For more information about status codes, see [Common parameters](~~118841~~).'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4FD1578A-BD77-50B7-A969-45A374A7ED22',
+ ],
+ 'Total' => [
+ 'description' => 'The number of protected IP addresses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The call is successful.'."\n"
+ .'* **false**: The call fails.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'IpList' => [
+ 'description' => 'The IP addresses that are protected by the instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the IP address. Valid values:'."\n"
+ ."\n"
+ .'* **normal**: The IP address is not under attack.'."\n"
+ .'* **hole_begin**: Blackhole filtering is triggered for the IP address.'."\n",
+ 'type' => 'string',
+ 'example' => 'normal',
+ ],
+ 'Ip' => [
+ 'description' => 'The IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '47.98.XX.XX',
+ ],
+ 'Remark' => [
+ 'description' => 'The description of the cloud asset to which the IP address belongs. The asset can be an ECS instance or an SLB instance.'."\n"
+ ."\n"
+ .'> If no descriptions are provided for the asset, this parameter is not returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Product' => [
+ 'description' => 'The type of the cloud asset to which the IP address belongs. Valid values:'."\n"
+ ."\n"
+ .'* **ECS**: an ECS instance.'."\n"
+ .'* **SLB**: a CLB (formerly SLB) instance.'."\n"
+ .'* **EIP**: an EIP. If the IP address belongs to an ALB instance, the value EIP is returned.'."\n"
+ .'* **WAF**: a WAF instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ECS',
+ ],
+ 'Region' => [
+ 'description' => 'The region to which the protected IP address belongs.'."\n"
+ ."\n"
+ .'> If the protected IP address is in the same region as the instance, this parameter is not returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'MemberUid' => [
+ 'description' => 'The ID of the member.'."\n",
+ 'type' => 'string',
+ 'example' => '170858869679****'."\n",
+ ],
+ 'NsmStatus' => [
+ 'description' => 'The status of the near-origin traffic diversion feature. Valid values:'."\n"
+ ."\n"
+ .'* **1**: The near-origin traffic diversion feature is enabled.'."\n"
+ .'* **0**: The near-origin traffic diversion feature is disabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'NsmStartAt' => [
+ 'description' => 'The time when the near-origin traffic diversion feature was enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1715655000',
+ ],
+ 'NsmExpireAt' => [
+ 'description' => 'The time when the near-origin traffic diversion feature was disabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1715658000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"RequestId\\": \\"4FD1578A-BD77-50B7-A969-45A374A7ED22\\",\\n \\"Total\\": 1,\\n \\"Success\\": true,\\n \\"IpList\\": [\\n {\\n \\"Status\\": \\"normal\\",\\n \\"Ip\\": \\"47.98.XX.XX\\",\\n \\"Remark\\": \\"test\\",\\n \\"Product\\": \\"ECS\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"MemberUid\\": \\"170858869679****\\\\n\\",\\n \\"NsmStatus\\": 0,\\n \\"NsmStartAt\\": 1715655000,\\n \\"NsmExpireAt\\": 1715658000\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribePackIpListResponse>\\n <Code>200</Code>\\n <RequestId>4FD1578A-BD77-50B7-A969-45A374A7ED22</RequestId>\\n <Total>1</Total>\\n <Success>true</Success>\\n <IpList>\\n <Status>normal</Status>\\n <Ip>47.98.XX.XX</Ip>\\n <Remark>test</Remark>\\n <Product>ECS</Product>\\n </IpList>\\n</DescribePackIpListResponse>","errorExample":""}]',
+ 'title' => 'DescribePackIpList',
+ 'description' => 'You can call the DescribePackIpList operation to query the details about each IP address that is protected by a specific Anti-DDoS Origin instance by page. The details include the IP address and the type of the cloud asset to which the IP address belongs. The details also include the status of the IP address, such as whether blackhole filtering is triggered for the IP address. '."\n"
+ ."\n\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSlsOpenStatus' => [
+ 'summary' => 'Queries whether Simple Log Service is activated.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105788',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosOYL225',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'For more information about the valid values of this parameter, see [Regions and zones](~~188196~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For more information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SlsOpenStatus' => [
+ 'description' => 'Indicates whether Simple Log Service was activated. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'D01666F5-541B-4C78-98A6-D29E02DAAC7C',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SlsOpenStatus\\": true,\\n \\"RequestId\\": \\"D01666F5-541B-4C78-98A6-D29E02DAAC7C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<GetSlsOpenStatusResponse>\\r\\n\\t<RequestId>D01666F5-541B-4C78-98A6-D29E02DAAC7C</RequestId>\\r\\n\\t<SlsOpenStatus>true</SlsOpenStatus>\\r\\n</GetSlsOpenStatusResponse>","errorExample":""}]',
+ 'title' => 'GetSlsOpenStatus',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CheckGrant' => [
+ 'summary' => 'Queries whether Anti-DDoS Origin is authorized to obtain information about the assets within the current Alibaba Cloud account.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '105724',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'IsSlr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to allow Anti-DDoS Origin to check the service-linked role. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'Indicates whether Anti-DDoS Origin is authorized to obtain information about the assets within the current Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **1**: Anti-DDoS Origin is authorized to obtain information about the assets within the current Alibaba Cloud account.'."\n"
+ .'* **0**: Anti-DDoS Origin is not authorized to obtain information about the assets within the current Alibaba Cloud account.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DB002CE5-5E6C-5F11-AE15-B525299A40F6',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": 1,\\n \\"RequestId\\": \\"DB002CE5-5E6C-5F11-AE15-B525299A40F6\\"\\n}","errorExample":""},{"type":"xml","example":"<CheckGrantResponse>\\n <Status>1</Status>\\n <RequestId>DB002CE5-5E6C-5F11-AE15-B525299A40F6</RequestId>\\n</CheckGrantResponse>","errorExample":""}]',
+ 'title' => 'CheckGrant',
+ 'description' => 'You can call the CheckGrant operation to query whether Anti-DDoS Origin is authorized to obtain information about the assets within the current Alibaba Cloud account.'."\n"
+ ."\n"
+ .'### Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DettachAssetGroupToInstance' => [
+ 'summary' => 'Dissociates an asset from an Anti-DDoS Origin instance of a paid edition.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '171778',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosUGI71K',
+ 'FEATUREddosM4KVA0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances of paid editions.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-xxx',
+ ],
+ ],
+ [
+ 'name' => 'AssetGroupList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The information about the asset that you want to dissociate.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => 'The ID of the asset. If the asset is a Web Application Firewall (WAF) instance, specify the ID of the WAF instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'waf_v2_public_cn-lbj382l****',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the asset. Valid values:'."\n"
+ ."\n"
+ .'* **waf**: WAF instance'."\n"
+ .'* **ga**: Global Accelerator (GA) instance'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'waf',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the asset.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E54BA258-9DE8-59BE-B7A8-DAD28E6E8DAF',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E54BA258-9DE8-59BE-B7A8-DAD28E6E8DAF\\"\\n}","type":"json"}]',
+ 'title' => 'DettachAssetGroupToInstance',
+ ],
+ 'DescribeAssetGroupToInstance' => [
+ 'summary' => 'Queries the association between an asset and an Anti-DDoS Origin instance of a paid edition.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '171781',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosUGI71K',
+ 'FEATUREddosM4KVA0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances of paid editions.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-7212zaa5v***',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the asset. If the asset is a Web Application Firewall (WAF) instance, specify the ID of the WAF instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'waf_v2_public_cn-lbj382l****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the asset. Valid values:'."\n"
+ ."\n"
+ .'* **waf**: WAF instance'."\n"
+ .'* **ga**: Global Accelerator (GA) instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'waf',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the asset.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'MemberUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The UID of the member to which the asset belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '170858869679****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C73C59B9-9F5C-57FF-A394-13EC8FC3B2FF',
+ ],
+ 'DataList' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance of a paid edition.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosbgp-cn-7212zaa5v***'."\n",
+ ],
+ 'Name' => [
+ 'description' => 'The ID of the asset.'."\n",
+ 'type' => 'string',
+ 'example' => 'waf_v2_public_cn-lbj382l****',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the asset.'."\n",
+ 'type' => 'string',
+ 'example' => 'waf',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the asset.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'MemberUid' => [
+ 'description' => 'The UID of the member to which the asset belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '170858869679****'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 1,\\n \\"RequestId\\": \\"C73C59B9-9F5C-57FF-A394-13EC8FC3B2FF\\",\\n \\"DataList\\": [\\n {\\n \\"InstanceId\\": \\"ddosbgp-cn-7212zaa5v***\\\\n\\",\\n \\"Name\\": \\"waf_v2_public_cn-lbj382l****\\",\\n \\"Type\\": \\"waf\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"MemberUid\\": \\"170858869679****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeAssetGroupToInstance',
+ ],
+ 'AttachAssetGroupToInstance' => [
+ 'summary' => 'Associates an asset with an Anti-DDoS Origin instance of a paid edition.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '171777',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosUGI71K',
+ 'FEATUREddosM4KVA0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances of paid editions.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ ],
+ [
+ 'name' => 'AssetGroupList',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The information about the asset to be associated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => 'The ID of the asset that you want to add. If the asset is a Web Application Firewall (WAF) instance, specify the ID of the WAF instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'waf-test-001',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the asset.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'waf',
+ ],
+ 'Region' => [
+ 'description' => 'The region ID of the asset.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ 'MemberUid' => [
+ 'description' => 'The UID of the member to which the asset belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1743970208320***',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '52B49F64-5A36-5CE0-BD00-765792C26AA9',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"52B49F64-5A36-5CE0-BD00-765792C26AA9\\"\\n}","type":"json"}]',
+ 'title' => 'AttachAssetGroupToInstance',
+ ],
+ 'DescribeAssetGroup' => [
+ 'summary' => 'Queries the association between an asset and an Anti-DDoS Origin instance of a paid edition.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '171788',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosUGI71K',
+ 'FEATUREddosM4KVA0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the asset. If the asset is a Web Application Firewall (WAF) instance, specify the ID of the WAF instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'waf_v2_public_cn-lbj382l****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the asset. Valid values:'."\n"
+ ."\n"
+ .'* **waf**: WAF instance'."\n"
+ .'* **ga**: Global Accelerator (GA) instance'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'waf',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the asset.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '487EC0F7-8D14-504E-914E-3A1BC314B581',
+ ],
+ 'AssetGroupList' => [
+ 'description' => 'The information about the asset.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => 'The ID of the asset.'."\n",
+ 'type' => 'string',
+ 'example' => 'waf_v2_public_cn-lbj382l****',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the asset.'."\n",
+ 'type' => 'string',
+ 'example' => 'waf',
+ ],
+ 'Region' => [
+ 'description' => 'The region to which the asset belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Total\\": 2,\\n \\"RequestId\\": \\"487EC0F7-8D14-504E-914E-3A1BC314B581\\",\\n \\"AssetGroupList\\": [\\n {\\n \\"Name\\": \\"waf_v2_public_cn-lbj382l****\\",\\n \\"Type\\": \\"waf\\",\\n \\"Region\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeAssetGroup',
+ ],
+ 'AddIp' => [
+ 'summary' => 'Adds IP addresses to an Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '105719',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosCIYF86',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IpList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP addresses that you want to add to the Anti-DDoS Origin instance. This parameter is a string consisting of JSON arrays. Each element in a JSON array is a JSON struct that includes the following fields:'."\n"
+ ."\n"
+ .'* **ip**: required. The IP address that you want to add. Data type: string.'."\n"
+ .'* **member_uid**: optional. The member to which the asset belongs. Data type: string. This field is required only if the asset of a member is queried. Example: \\[{"ip":"121.41.XX.XX","member_uid":"120100811162\\*\\*\\*\\*"}].'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '[{"ip":"1.XX.XX.1"},{"ip":"2.XX.XX.2"}]',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-npk1z7t9****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the Anti-DDoS Origin instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ 'deprecated' => true,
+ 'docRequired' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\r\\n<AddIpResponse>\\r\\n <RequestId>C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E</RequestId>\\r\\n</AddIpResponse>","errorExample":""}]',
+ 'title' => 'AddIp',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteIp' => [
+ 'summary' => 'Removes specific IP addresses from an Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '105736',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosCIYF86',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IpList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP addresses that you want to remove from the Anti-DDoS Origin instance. This parameter is a string that consists of JSON arrays. Each element in a JSON array is a JSON struct that contains the following fields:'."\n"
+ ."\n"
+ .'* **ip**: required. The IP address that you want to remove. Data type: string.'."\n"
+ ."\n"
+ .' **'."\n"
+ ."\n"
+ .' **Note** The IP addresses that you want to remove must be protected by the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '[{"ip":"1.XX.XX.1"},{"ip":"2.XX.XX.2"}]',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-npk1z7t9****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the Anti-DDoS Origin instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ 'deprecated' => true,
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"4C467B38-3910-447D-87BC-AC049166F216\\"\\n}"},{"type":"xml","example":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n<DeleteIpResponse>\\n <RequestId>C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E</RequestId>\\n</DeleteIpResponse>","errorExample":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n<DeleteIpResponse>\\n <RequestId>C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E</RequestId>\\n</DeleteIpResponse>"}]',
+ 'title' => 'DeleteIp',
+ 'description' => 'The Anti-DDoS Origin Enterprise instance no longer protects the IP addresses that are removed.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteBlackhole' => [
+ 'summary' => 'Deactivates blackhole filtering for a protected IP address.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '105732',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosCIYF86',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Ip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address for which you want to deactivate blackhole filtering.'."\n"
+ ."\n"
+ .'> You can call the [DescribePackIpList](~~118701~~) operation to query all the IP addresses that are protected by the Anti-DDoS Origin instance and the protection status of the IP addresses. For example, you can query whether blackhole filtering is triggered for an IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '47.89.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteBlackholeResponse>\\n <RequestId>C33EB3D5-AF96-43CA-9C7E-37A81BC06A1E</RequestId>\\n</DeleteBlackholeResponse>","errorExample":""}]',
+ 'title' => 'DeleteBlackhole',
+ 'description' => 'You can call the DeleteBlackhole operation to deactivate blackhole filtering for a protected IP address.'."\n"
+ ."\n"
+ .'Before you call this operation, you can call the [DescribePackIpList](~~118701~~) operation to query the protection status of the IP addresses that are protected by your Anti-DDoS Origin instance. For example, you can query whether blackhole filtering is triggered for an IP address.'."\n"
+ ."\n"
+ .'### [](#qps-)Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDdosEvent' => [
+ 'summary' => 'Queries the details about the DDoS attack events that occurred on an Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105751',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos8TPB4T',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start time of the DDoS attack events to query. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1633017600',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end time of the DDoS attack events to query. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1638288000',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNo',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ ],
+ [
+ 'name' => 'Ip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The attacked IP address to query.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '47.89.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of DDoS attack events that are returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F3B6C3F9-6B21-519D-B976-A1E14166F909',
+ ],
+ 'Events' => [
+ 'description' => 'The details about the DDoS attack event.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'EndTime' => [
+ 'description' => 'The time when the DDoS attack stopped. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1637554335',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the DDoS attack event. Valid values:'."\n"
+ ."\n"
+ .'* **hole_begin**: indicates that blackhole filtering is triggered for the attacked IP address.'."\n"
+ .'* **hole_end**: indicates that blackhole filtering is deactivated for the attacked IP address.'."\n"
+ .'* **defense_begin**: indicates that attack traffic is being scrubbed.'."\n"
+ .'* **defense_end**: indicates that attack traffic is scrubbed.'."\n",
+ 'type' => 'string',
+ 'example' => 'defense_end',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the DDoS attack started. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1637554034',
+ ],
+ 'Mbps' => [
+ 'description' => 'The volume of the request traffic at the start of the DDoS attack. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Ip' => [
+ 'description' => 'The attacked IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '47.89.XX.XX',
+ ],
+ 'Pps' => [
+ 'description' => 'The number of packets at the start of the DDoS attack. Unit: packets per second (PPS).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '456',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Total\\": 1,\\n \\"RequestId\\": \\"F3B6C3F9-6B21-519D-B976-A1E14166F909\\",\\n \\"Events\\": [\\n {\\n \\"EndTime\\": 1637554335,\\n \\"Status\\": \\"defense_end\\",\\n \\"StartTime\\": 1637554034,\\n \\"Mbps\\": 0,\\n \\"Ip\\": \\"47.89.XX.XX\\",\\n \\"Pps\\": 456\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDdosEventResponse>\\n <Total>1</Total>\\n <RequestId>F3B6C3F9-6B21-519D-B976-A1E14166F909</RequestId>\\n <Events>\\n <EndTime>1637554335</EndTime>\\n <Status>defense_end</Status>\\n <StartTime>1637554034</StartTime>\\n <Mbps>0</Mbps>\\n <Ip>47.89.XX.XX</Ip>\\n <Pps>456</Pps>\\n </Events>\\n</DescribeDdosEventResponse>","errorExample":""}]',
+ 'title' => 'DescribeDdosEvent',
+ 'description' => 'You can call the DescribeDdosEvent operation to query the details about the DDoS attack events that occurred on an Anti-DDoS Origin instance by page. The details include the start time, end time, attacked IP address, and status of each event.'."\n"
+ ."\n"
+ .'### [](#qps-)Limits'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common request parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeOpEntities' => [
+ 'summary' => 'Queries the operation logs of an Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105769',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Maximum value: 50.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start time. Operation logs that were generated after this time are queried.**** The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1609430400000',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end time. Operation logs that were generated before this time are queried.**** The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1640880000000',
+ ],
+ ],
+ [
+ 'name' => 'OrderBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting method of operation logs. Set the value to **opdate**, which indicates sorting based on the operation time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'opdate',
+ ],
+ ],
+ [
+ 'name' => 'OrderDir',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sort order of operation logs. Valid values:'."\n"
+ ."\n"
+ .'* **ASC**: the ascending order.'."\n"
+ .'* **DESC**: the descending order.'."\n"
+ ."\n"
+ .'Default value: **DESC**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ASC',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'OpAction',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the operation. Valid values:'."\n"
+ ."\n"
+ .'* **3**: Add an IP address to the instance.'."\n"
+ .'* **4**: Remove an IP address from the instance.'."\n"
+ .'* **5**: Downgrade the instance.'."\n"
+ .'* **6**: Deactivate blackhole filtering.'."\n"
+ .'* **7**: Reset the number of times that you can deactivate blackhole filtering.'."\n"
+ .'* **8**: Restore the mitigation capability.'."\n"
+ .'* **9**: Add an asset group.'."\n"
+ .'* **10**: Remove an asset group.'."\n"
+ .'* **11**: Enable the metering method of daily 95th percentile for the burstable clean bandwidth feature.'."\n"
+ .'* **12**: Enable the metering method of monthly 95th percentile for the burstable clean bandwidth feature.'."\n"
+ .'* **13**: Periodically switch between the metering methods of daily 95th percentile and monthly 95th percentile for the burstable clean bandwidth feature.'."\n"
+ .'* **14**: Disable the metering method of daily 95th percentile for the burstable clean bandwidth feature.'."\n"
+ .'* **15**: Disable the metering method of monthly 95th percentile for the burstable clean bandwidth feature.'."\n"
+ .'* **16**: Disable burstable clean bandwidth due to overdue payments.'."\n"
+ .'* **17**: Disable burstable clean bandwidth due to instance expiration.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of operation logs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '52C8ECB0-0B1A-4E66-A31C-B6A855120E82',
+ ],
+ 'OpEntities' => [
+ 'description' => 'The details of the operation log.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The operation object.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'EntityType' => [
+ 'description' => 'The type of the operation object. The value is fixed as **1**, which indicates Anti-DDoS Origin instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'EntityObject' => [
+ 'description' => 'The operation object, which is the ID of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ 'OpAction' => [
+ 'description' => 'The type of operation. Valid values:'."\n"
+ ."\n"
+ .'* **3**: indicates an operation to add an IP address to the Anti-DDoS Origin instance for protection.'."\n"
+ .'* **4**: indicates an operation to remove a protected IP address from the Anti-DDoS Origin instance.'."\n"
+ .'* **5**: indicates an operation to downgrade the Anti-DDoS Origin instance.'."\n"
+ .'* **6**: indicates an operation to deactivate blackhole filtering for an IP address.'."\n"
+ .'* **7**: indicates an operation to reset the number of times that you can deactivate blackhole filtering.'."\n"
+ .'* **8**: indicates an operation to enable burstable protection.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the log was generated. The value is a UNIX timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1635818114000',
+ ],
+ 'OpAccount' => [
+ 'description' => 'The ID of the Alibaba Cloud account that performs the operation.'."\n"
+ ."\n"
+ .'> If the value is **system**, the operation is performed by Anti-DDoS Origin.'."\n",
+ 'type' => 'string',
+ 'example' => '171986973287****',
+ ],
+ 'OpDesc' => [
+ 'description' => 'The details of the operation. The value is a string that consists of a JSON struct. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **entity**: the operation object. Data type: object. The fields that are included in the value of the **entity** parameter vary based on the value of the **OpAction** parameter. Valid values:'."\n"
+ ."\n"
+ .' * If the value of the **OpAction** parameter is **3**, the value of the **entity** parameter consists of the following field:'."\n"
+ ."\n"
+ .' * **ips**: the public IP addresses that are protected by the Anti-DDoS Origin instance. Data type: array'."\n"
+ ."\n"
+ .' * If the value of the **OpAction** parameter is **4**, the value of the **entity** parameter consists of the following field:'."\n"
+ ."\n"
+ .' * **ips**: the public IP addresses that are no longer protected by the Anti-DDoS Origin instance. Data type: array.'."\n"
+ ."\n"
+ .' * If the value of the **OpAction** parameter is **5**, the value of the **entity** parameter consists of the following fields:'."\n"
+ ."\n"
+ .' * **baseBandwidth**: the basic protection bandwidth. Unit: Gbit/s. Data type: integer.'."\n"
+ .' * **elasticBandwidth**: the burstable protection bandwidth. Unit: Gbit/s. Data type: integer.'."\n"
+ .' * **opSource**: the source of the operation. The value is fixed as **1**, indicating that the operation is performed by Anti-DDoS Origin. Data type: integer.'."\n"
+ ."\n"
+ .' * If the value of the **OpAction** parameter is **6**, the value of the **entity** parameter consists of the following field:'."\n"
+ ."\n"
+ .' * **ips**: the public IP addresses for which to deactivate blackhole filtering. Data type: array.'."\n"
+ ."\n"
+ .' * If the value of the **OpAction** parameter is **7**, the **entity** parameter is not returned.'."\n"
+ ."\n"
+ .' * If the value of the **OpAction** parameter is **8**, the value of the **entity** parameter consists of the following fields:'."\n"
+ ."\n"
+ .' * **baseBandwidth**: the basic protection bandwidth. Unit: Gbit/s. Data type: integer.'."\n"
+ .' * **elasticBandwidth**: the burstable protection bandwidth. Unit: Gbit/s. Data type: integer.'."\n",
+ 'type' => 'string',
+ 'example' => '{"entity":{"baseBandwidth":20,"elasticBandwidth":20}}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"52C8ECB0-0B1A-4E66-A31C-B6A855120E82\\",\\n \\"OpEntities\\": [\\n {\\n \\"EntityType\\": 1,\\n \\"EntityObject\\": \\"ddosbgp-cn-n6w1r7nz****\\",\\n \\"OpAction\\": 8,\\n \\"GmtCreate\\": 1635818114000,\\n \\"OpAccount\\": \\"171986973287****\\",\\n \\"OpDesc\\": \\"{\\\\\\"entity\\\\\\":{\\\\\\"baseBandwidth\\\\\\":20,\\\\\\"elasticBandwidth\\\\\\":20}}\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeOpEntitiesResponse>\\n <TotalCount>1</TotalCount>\\n <RequestId>52C8ECB0-0B1A-4E66-A31C-B6A855120E82</RequestId>\\n <OpEntities>\\n <EntityType>1</EntityType>\\n <EntityObject>ddosbgp-cn-n6w1r7nz****</EntityObject>\\n <OpAction>8</OpAction>\\n <GmtCreate>1635818114000</GmtCreate>\\n <OpAccount>171986973287****</OpAccount>\\n <OpDesc>{\\"entity\\":{\\"baseBandwidth\\":20,\\"elasticBandwidth\\":20}}</OpDesc>\\n </OpEntities>\\n</DescribeOpEntitiesResponse>","errorExample":""}]',
+ 'title' => 'DescribeOpEntities',
+ 'description' => 'You can call the DescribeOpEntities operation to query the operation logs of an instance by page.'."\n"
+ ."\n"
+ .'### Limit'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeTraffic' => [
+ 'summary' => 'Queries traffic statistics of an Anti-DDoS Origin instance within a specific time period.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105781',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos8TPB4T',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n"
+ ."\n"
+ .'If you specify an on-demand instance, you must configure the **Interval** parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-n6w203qg****',
+ ],
+ ],
+ [
+ 'name' => 'Ipnet',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Classless Inter-Domain Routing (CIDR) block of the on-demand instance that you want to query.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '111.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'Ip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The public IP address of the asset to query. If you do not specify this parameter, the traffic statistics of all public IP addresses that are protected by the Anti-DDoS Origin instance are queried.'."\n"
+ ."\n"
+ .'> The public IP address must be a protected object of the Anti-DDoS Origin instance. You can call the [DescribePackIpList](~~118701~~) operation to query all protected objects of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '39.XX.XX.96',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query. The value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1619798400',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value is a UNIX timestamp. Unit: seconds.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the current system time is used as the end time.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1563445054',
+ ],
+ ],
+ [
+ 'name' => 'Interval',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The interval at which the traffic statistics are calculated. Unit: seconds. Default value: **5**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'FlowType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the traffic statistics to query. Valid values:'."\n"
+ ."\n"
+ .'* **max**: the peak traffic within the specified interval.'."\n"
+ .'* **avg**: the average traffic within the specified interval.'."\n"
+ ."\n"
+ .'Enumerated values:'."\n"
+ ."\n"
+ .'* all'."\n"
+ .'* avg'."\n"
+ .'* max'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'max',
+ 'default' => 'max',
+ 'enum' => [
+ 'all',
+ 'avg',
+ 'max',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6A507DC8-F657-4C13-84E2-D1D1B9400753',
+ ],
+ 'FlowList' => [
+ 'description' => 'The queried traffic statistics.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Time' => [
+ 'description' => 'The time when the traffic statistics are calculated. This value is a UNIX timestamp. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1620951900',
+ ],
+ 'FlowType' => [
+ 'description' => 'The type of the traffic statistics. Valid values:'."\n"
+ ."\n"
+ .'* **max**: the peak traffic within the specified interval'."\n"
+ .'* **avg**: the average traffic within the specified interval'."\n",
+ 'type' => 'string',
+ 'example' => 'max',
+ ],
+ 'AttackPps' => [
+ 'description' => 'The packet forwarding rate of attack traffic. Unit: packets per second.'."\n"
+ ."\n"
+ .'> This parameter is returned only if attack traffic exists.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'Name' => [
+ 'description' => 'The ID of the traffic statistics.'."\n",
+ 'type' => 'string',
+ 'example' => '8e33f19e-5644-11eb-b5c1-d89d67182200',
+ ],
+ 'Pps' => [
+ 'description' => 'The packet forwarding rate of the total traffic. Unit: packets per second.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '274',
+ ],
+ 'Kbps' => [
+ 'description' => 'The bandwidth of the total traffic. Unit: Kbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '417',
+ ],
+ 'AttackBps' => [
+ 'description' => 'The bandwidth of attack traffic. Unit: bit/s.'."\n"
+ ."\n"
+ .'> This parameter is returned only if attack traffic exists.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6A507DC8-F657-4C13-84E2-D1D1B9400753\\",\\n \\"FlowList\\": [\\n {\\n \\"Time\\": 1620951900,\\n \\"FlowType\\": \\"max\\",\\n \\"AttackPps\\": 0,\\n \\"Name\\": \\"8e33f19e-5644-11eb-b5c1-d89d67182200\\",\\n \\"Pps\\": 274,\\n \\"Kbps\\": 417,\\n \\"AttackBps\\": 0\\n }\\n ]\\n}","errorExample":"{\\n \\"RequestId\\": \\"6A507DC8-F657-4C13-84E2-D1D1B9400753\\",\\n \\"FlowList\\": [\\n        {\\n            \\"Name\\": \\"73765106-54e7-11e9-aab0-d89d67182200\\",\\n            \\"Pps\\": 25,\\n            \\"Time\\": 1560855000,\\n            \\"FlowType\\": \\"max\\",\\n            \\"Kbps\\": 17\\n        },\\n        {\\n            \\"Name\\": \\"73765106-54e7-11e9-aab0-d89d67182200\\",\\n            \\"Pps\\": 9,\\n            \\"Time\\": 1560857000,\\n            \\"FlowType\\": \\"max\\",\\n            \\"Kbps\\": 8\\n        }\\n ]\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\n<DescribeTrafficResponse>\\n\\t<FlowList>\\n\\t\\t<Pps>274</Pps>\\n\\t\\t<Kbps>417</Kbps>\\n\\t\\t<FlowType>max</FlowType>\\n\\t\\t<Time>1620890570</Time>\\n\\t\\t<Name>8e33f19e-5644-11eb-b5c1-d89d67182200</Name>\\n\\t</FlowList>\\n\\t<FlowList>\\n\\t\\t<Pps>10</Pps>\\n\\t\\t<Kbps>62</Kbps>\\n\\t\\t<FlowType>max</FlowType>\\n\\t\\t<Time>1620951900</Time>\\n\\t\\t<Name>8e33f19e-5644-11eb-b5c1-d89d67182200</Name>\\n\\t</FlowList>\\n\\t<RequestId>3986BADC-F6F7-4874-BF71-E5306BABBE75</RequestId>\\n</DescribeTrafficResponse>\\n","errorExample":"<?xml version=\'1.0\' encoding=\'UTF-8\'?>\\n<DescribeTraffic>\\n\\t<RequestId>6A507DC8-F657-4C13-84E2-D1D1B9400753</RequestId>\\n\\t<FlowList>\\n\\t\\t<Name>73765106-54e7-11e9-aab0-d89d67182200</Name>\\n\\t\\t<Pps>25</Pps>\\n\\t\\t<Time>1560855000</Time>\\n\\t\\t<FlowType>max</FlowType>\\n\\t\\t<Kbps>17</Kbps>\\n\\t</FlowList>\\n\\t<FlowList>\\n\\t\\t<Name>73765106-54e7-11e9-aab0-d89d67182200</Name>\\n\\t\\t<Pps>9</Pps>\\n\\t\\t<Time>1560857000</Time>\\n\\t\\t<FlowType>max</FlowType>\\n\\t\\t<Kbps>8</Kbps>\\n\\t</FlowList>\\n</DescribeTraffic>"}]',
+ 'title' => 'DescribeTraffic',
+ 'description' => 'You can call the DescribeTraffic operation to query traffic statistics of an Anti-DDoS Origin instance within a specific time period. '."\n"
+ ."\n"
+ .'> When you call this operation, you must configure the **InstanceId** parameter to specify the Anti-DDoS Origin instance whose traffic statistics you want to query. '."\n"
+ ."\n"
+ .'## Limits'."\n"
+ ."\n"
+ .'You can call this operation once per second per account. If the number of the calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the "**Examples**" section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListOpenedAccessLogInstances' => [
+ 'summary' => 'Queries the Anti-DDoS Origin instances for which log analysis is enabled.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '105794',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosOYL225',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For more information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page 1. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The number of the Anti-DDoS Origin instances for which log analysis was enabled.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '4DB64811-70A1-41C9-A0CE-CD8B260ED551',
+ ],
+ 'SlsConfigStatus' => [
+ 'description' => 'The configuration of log analysis for the Anti-DDoS Origin instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosbgp-cn-m7r1zce2****',
+ ],
+ 'Enable' => [
+ 'description' => 'Indicates whether log analysis was enabled for the Anti-DDoS Origin instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"4DB64811-70A1-41C9-A0CE-CD8B260ED551\\",\\n \\"SlsConfigStatus\\": [\\n {\\n \\"InstanceId\\": \\"ddosbgp-cn-m7r1zce2****\\",\\n \\"Enable\\": true\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ListOpenedAccessLogInstancesResponse>\\r\\n\\t<TotalCount>1</TotalCount>\\r\\n\\t<RequestId>4DB64811-70A1-41C9-A0CE-CD8B260ED551</RequestId>\\r\\n\\t<SlsConfigStatus>\\r\\n\\t\\t<InstanceId>ddosbgp-cn-m7r1zce2****</InstanceId>\\r\\n\\t\\t<Enable>true</Enable>\\r\\n\\t</SlsConfigStatus>\\r\\n</ListOpenedAccessLogInstancesResponse>","errorExample":""}]',
+ 'title' => 'ListOpenedAccessLogInstances',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CheckAccessLogAuth' => [
+ 'summary' => 'Queries whether Anti-DDoS Origin is authorized to access Simple Log Service.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '105722',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosOYL225',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'For more information about the valid values of this parameter, see [Regions and zones](~~188196~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management. This parameter is empty by default, which indicates that the Anti-DDoS Origin instance belongs to the default resource group.'."\n"
+ ."\n"
+ .'For more information about resource groups, see [Create a resource group](~~94485~~).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessLogAuth' => [
+ 'description' => 'Indicates whether Anti-DDoS Origin was authorized to access Simple Log Service. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '864FE2F4-CB2E-4024-B9EF-D59FD08ABD41',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessLogAuth\\": true,\\n \\"RequestId\\": \\"864FE2F4-CB2E-4024-B9EF-D59FD08ABD41\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<CheckAccessLogAuthResponse>\\r\\n\\t<RequestId>864FE2F4-CB2E-4024-B9EF-D59FD08ABD41</RequestId>\\r\\n\\t<AccessLogAuth>true</AccessLogAuth>\\r\\n</CheckAccessLogAuthResponse>","errorExample":""}]',
+ 'title' => 'CheckAccessLogAuth',
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListTagKeys' => [
+ 'summary' => 'Queries all tags.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105795',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region that you want to query.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Set the value to **INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to **50**. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Pages start from page **1**. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource group ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CurrentPage' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '97935DF1-0289-4AA2-9DD1-72377838B16B',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of tags returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'TagKeys' => [
+ 'description' => 'The information about the tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagCount' => [
+ 'description' => 'The total number of tag values that correspond to each key.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'TagKey' => [
+ 'description' => 'The tag key.'."\n",
+ 'type' => 'string',
+ 'example' => 'a',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CurrentPage\\": 1,\\n \\"RequestId\\": \\"97935DF1-0289-4AA2-9DD1-72377838B16B\\",\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 6,\\n \\"TagKeys\\": [\\n {\\n \\"TagCount\\": 1,\\n \\"TagKey\\": \\"a\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\r\\n<ListTagKeysResponse>\\r\\n <CurrentPage>1</CurrentPage>\\r\\n <PageSize>20</PageSize>\\r\\n <RequestId>97935DF1-0289-4AA2-9DD1-72377838B16B</RequestId>\\r\\n <TagKeys>\\r\\n <element>\\r\\n <TagCount>1</TagCount>\\r\\n <TagKey>a</TagKey>\\r\\n </element>\\r\\n <element>\\r\\n <TagCount>1</TagCount>\\r\\n <TagKey>testKey1</TagKey>\\r\\n </element>\\r\\n <element>\\r\\n <TagCount>1</TagCount>\\r\\n <TagKey>testKey2</TagKey>\\r\\n </element>\\r\\n <element>\\r\\n <TagCount>2</TagCount>\\r\\n <TagKey>testKey3</TagKey>\\r\\n </element>\\r\\n <element>\\r\\n <TagCount>1</TagCount>\\r\\n <TagKey>testKey4</TagKey>\\r\\n </element>\\r\\n <element>\\r\\n <TagCount>1</TagCount>\\r\\n <TagKey>x</TagKey>\\r\\n </element>\\r\\n </TagKeys>\\r\\n <TotalCount>6</TotalCount>\\r\\n</ListTagKeysResponse>","errorExample":""}]',
+ 'title' => 'ListTagKeys',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListTagResources' => [
+ 'summary' => 'Queries the relationship between Anti-DDoS Origin instances and tags.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '105796',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the Anti-DDoS Origin instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Anti-DDoS Origin instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the resource to query. Set the value to **INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of **NextToken**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'RGuYpqDdKhzXb8C3.D1BwQgc1tMBsoxdGiEKHHUUCf****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the Anti-DDoS Origin instances to query.'."\n"
+ ."\n"
+ .'> The **ResourceId** parameter and the **key-value pair for the Tag parameter** cannot be left empty at the same time.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance to query.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-v0h1fmwbc024',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The key-value pair of the tag to query.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the tag to query.'."\n"
+ ."\n"
+ .'> The **ResourceId** parameter and the **key-value pair for the Tag parameter** cannot be left empty at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testKey1',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag to query.'."\n"
+ ."\n"
+ .'> The **ResourceId** parameter and the **key-value pair for the Tag parameter** cannot be left empty at the same time.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testValue1',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'A pagination token.'."\n",
+ 'type' => 'string',
+ 'example' => 'RGuYpqDdKhzXb8C3.D1BwQgc1tMBsoxdGiEKHHUUCf****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'C3F7E6AE-43B2-4730-B6A3-FD17552B8F65',
+ ],
+ 'TagResources' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TagResource' => [
+ 'description' => 'The tags that are added to the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TagValue' => [
+ 'description' => 'The value of the tag that is added to the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testValue1',
+ ],
+ 'ResourceType' => [
+ 'description' => 'The type of the resource. The value is set to **INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'example' => 'INSTANCE',
+ ],
+ 'ResourceId' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ 'TagKey' => [
+ 'description' => 'The key of the tag that is added to the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testKey1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"RGuYpqDdKhzXb8C3.D1BwQgc1tMBsoxdGiEKHHUUCf****\\",\\n \\"RequestId\\": \\"C3F7E6AE-43B2-4730-B6A3-FD17552B8F65\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"testValue1\\",\\n \\"ResourceType\\": \\"INSTANCE\\",\\n \\"ResourceId\\": \\"ddosbgp-cn-n6w1r7nz****\\",\\n \\"TagKey\\": \\"testKey1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <NextToken>RGuYpqDdKhzXb8C3.D1BwQgc1tMBsoxdGiEKHHUUCffomr</NextToken>\\n <RequestId>C3F7E6AE-43B2-4730-B6A3-FD17552B8F65</RequestId>\\n <TagResources>\\n <TagValue>testValue1</TagValue>\\n <ResourceType>INSTANCE</ResourceType>\\n <ResourceId>ddosbgp-cn-n6w1r7nz****</ResourceId>\\n <TagKey>testKey1</TagKey>\\n </TagResources>\\n</ListTagResourcesResponse>","errorExample":""}]',
+ 'title' => 'ListTagResources',
+ 'description' => 'You can call the ListTagResources operation to query the tags that are added to Anti-DDoS Origin instances at a time.'."\n"
+ ."\n"
+ .'### [](#qps-)Limits'."\n"
+ ."\n"
+ .'You can call this API operation up to 10 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **Examples** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'TagResources' => [
+ 'summary' => 'Add tags to Anti-DDoS Origin instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '105810',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the instance belongs in Resource Management.'."\n"
+ ."\n"
+ .'If you do not specify this parameter, the instance belongs to the default resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2pz25js****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instance resides.'."\n"
+ ."\n"
+ .'> You can call the [DescribeRegions](~~118703~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the resource to which you want to add tags. Set the value to **INSTANCE**, which indicates instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the instances to which you want to add tags. You can specify up to 51 IDs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the instance to which you want to add tags.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-n6w1r7nz****',
+ ],
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-v0h1fmwb****',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The tags to add. You can specify up to 21 tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the tag to add.'."\n"
+ ."\n"
+ .'> If the specified key does not exist, a key is created.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test-key',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag to add.'."\n"
+ ."\n"
+ .'> If the specified tag value does not exist, the tag value is created.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test-value',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7078CD1E-F609-47A4-9C39-B288CC27C686',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7078CD1E-F609-47A4-9C39-B288CC27C686\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>7078CD1E-F609-47A4-9C39-B288CC27C686</RequestId>\\n</TagResourcesResponse>","errorExample":""}]',
+ 'title' => 'TagResources',
+ 'description' => 'You can call the TagResources operation to add tags to instances.'."\n"
+ ."\n"
+ .'### Limit'."\n"
+ ."\n"
+ .'You can call this operation up to 10 times per second per account. If the number of calls per second exceeds the limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limit when you call this operation.'."\n",
+ 'requestParamsDescription' => 'All Alibaba Cloud API operations must include common request parameters. For more information about common request parameters, see [Common parameters](~~118841~~).'."\n"
+ ."\n"
+ .'For more information about sample requests, see the **"Examples"** section of this topic.'."\n",
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UntagResources' => [
+ 'summary' => 'Removes tags from Anti-DDoS Origin instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '105811',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the instances reside.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Set the value to **INSTANCE**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'INSTANCE',
+ ],
+ ],
+ [
+ 'name' => 'All',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to remove all tags from the instances. Default value: No.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the instances. Valid values of N: 0 to 49. You can specify up to 50 instances at a time. Example: ResourceId.0, ResourceId.1, ... , ResourceId.49.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the instance. Valid values of N: 0 to 49. You can specify up to 50 instances at a time. Example: ResourceId.0, ResourceId.1, ... , ResourceId.49.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddosbgp-cn-v0h1fmwbc024',
+ ],
+ 'required' => true,
+ 'example' => 'ddosbgp-cn-v0h1fmwbc024',
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'TagKey',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The keys of the tag that you want to remove. Valid values of N: 0 to 19. You can specify up to 20 tag keys at a time. Example: Tag.0.Key, Tag.1.Key, ... , Tag.19.Key.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The key of the tag that you want to remove. Valid values of N: 0 to 19. You can specify up to 20 tag keys at a time. Example: Tag.0.Key, Tag.1.Key, ... , Tag.19.Key.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testKey1',
+ ],
+ 'required' => false,
+ 'example' => 'testKey1',
+ 'maxItems' => 21,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F2D86AED-BA27-4584-BADC-B43BDA7EEBCA',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F2D86AED-BA27-4584-BADC-B43BDA7EEBCA\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>F2D86AED-BA27-4584-BADC-B43BDA7EEBCA</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]',
+ 'title' => 'UntagResources',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ReleaseDdosOriginInstance' => [
+ 'summary' => 'Releases a pay-as-you-go Anti-DDoS Origin instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '146584',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos61Q1SH',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Anti-DDoS Origin instance that you want to release.'."\n"
+ ."\n"
+ .'> You can call the [DescribeInstanceList](~~118698~~) operation to query the IDs of all Anti-DDoS Origin instances.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddosorigin_cn-pe335v7gs01',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B4B379C2-9319-4C6B-B579-FE36831B09F4',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4B379C2-9319-4C6B-B579-FE36831B09F4\\"\\n}","type":"json"}]',
+ 'title' => 'ReleaseDdosOriginInstance',
+ ],
+ 'DescribeDdosOriginInstanceBill' => [
+ 'summary' => 'Queries the bill of an Anti-DDoS Origin (Pay-as-you-go) instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '154574',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos61Q1SH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The bill type. Valid values:'."\n"
+ ."\n"
+ .'* **flow_cn**: the bill for the clean bandwidth of elastic IP addresses (EIPs) with Anti-DDoS (Enhanced) enabled in the Chinese mainland.'."\n"
+ .'* **flow_ov**: the bill for the clean bandwidth of EIPs with Anti-DDoS (Enhanced) enabled outside the Chinese mainland.'."\n"
+ .'* **standard_assets_flow_cn**: the bill for the clean bandwidth of regular Alibaba Cloud services in the Chinese mainland.'."\n"
+ .'* **standard_assets_flow_ov**: the bill for the clean bandwidth of regular Alibaba Cloud services outside the Chinese mainland.'."\n"
+ .'* **function**: the bill for the basic fee.'."\n"
+ .'* **ip_count**: the bill for protected IP addresses.'."\n"
+ .'* **monthly_summary**: the monthly summary bill.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'function',
+ 'enum' => [
+ 'function',
+ 'flow_cn',
+ 'flow_ov',
+ 'ip_count',
+ 'standard_assets_flow_cn',
+ 'standard_assets_flow_ov',
+ 'monthly_summary',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query. The value is a timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1711209600410',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query. The value is a timestamp. Unit: milliseconds. The time span between StartTime and EndTime cannot exceed 30 days.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1711382399410',
+ ],
+ ],
+ [
+ 'name' => 'IsShowList',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to display the bill details. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '72155560-F343-55C8-82FE-ED4D7E4AA97E',
+ ],
+ 'Status' => [
+ 'description' => 'The instance status. Valid values:'."\n"
+ ."\n"
+ .'* **1**: normal'."\n"
+ .'* **2**: expired'."\n"
+ .'* **3**: released'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'DebtStatus' => [
+ 'description' => 'The payment status. Valid values:'."\n"
+ ."\n"
+ .'* **0**: The payment is not overdue.'."\n"
+ .'* **1**: The payment is overdue.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the Anti-DDoS Origin (Pay-as-you-go) instance to query.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddosorigin_cn-u7c3lcr9r02',
+ ],
+ 'IpCount' => [
+ 'description' => 'The number of protected IP addresses.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '15',
+ ],
+ 'IpInfo' => [
+ 'description' => 'The IP address distribution. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **eipCnIpCount**: the number of EIPs with Anti-DDoS (Enhanced) enabled in the Chinese mainland.'."\n"
+ .'* **eipOvIpCount**: the number of EIPs with Anti-DDoS (Enhanced) enabled outside the Chinese mainland.'."\n"
+ .'* **standardAssetsCnIpCount**: the number of IP addresses of regular Alibaba Cloud services in the Chinese mainland.'."\n"
+ .'* **standardAssetsOvIpCount**: the number of IP addresses of regular Alibaba Cloud services outside the Chinese mainland.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"eipCnIpCount\\":6,\\"eipOvIpCount\\":17,\\"standardAssetsCnIpCount\\":2,\\"standardAssetsOvIpCount\\":0}',
+ ],
+ 'TotalFlowCn' => [
+ 'description' => 'The total traffic of EIPs with Anti-DDoS (Enhanced) enabled in the Chinese mainland in the current month. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6302081067',
+ ],
+ 'TotalFlowOv' => [
+ 'description' => 'The total traffic of EIPs with Anti-DDoS (Enhanced) enabled outside the Chinese mainland in the current month. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6204918019',
+ ],
+ 'StandardAssetsTotalFlowCn' => [
+ 'description' => 'The total traffic of regular Alibaba Cloud services in the Chinese mainland in the current month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'StandardAssetsTotalFlowOv' => [
+ 'description' => 'The total traffic of regular Alibaba Cloud services outside the Chinese mainland in the current month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ 'IpCountOrFunctionList' => [
+ 'description' => 'The protected IP addresses and enabled features.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The protected IP addresses and enabled features.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Coverage' => [
+ 'description' => 'The application scope of the instance. Valid values:'."\n"
+ ."\n"
+ .'* **only_mainland_china**: regions in the Chinese mainland.'."\n"
+ .'* **global**: all regions.'."\n"
+ .'* **international_and_hmt**: regions outside the Chinese mainland.'."\n",
+ 'type' => 'string',
+ 'example' => 'global',
+ ],
+ 'IpCntCn' => [
+ 'description' => 'The number of IP addresses protected by the pay-as-you-go instance in the Chinese mainland.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'IpCntOv' => [
+ 'description' => 'The number of IP addresses protected by the pay-as-you-go instance outside the Chinese mainland.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'Time' => [
+ 'description' => 'The billing time. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1680278400000',
+ ],
+ 'MemberIpCnt' => [
+ 'description' => 'The bill distribution by account. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **eipCnIpCount**: the number of EIPs with Anti-DDoS (Enhanced) enabled in the Chinese mainland.'."\n"
+ .'* **eipOvIpCount**: the number of EIPs with Anti-DDoS (Enhanced) enabled outside the Chinese mainland.'."\n"
+ .'* **memberUid**: the owner account.'."\n"
+ .'* **standardAssetsCnIpCount**: the number of IP addresses of regular Alibaba Cloud services in the Chinese mainland.'."\n"
+ .'* **standardAssetsOvIpCount**: the number of IP addresses of regular Alibaba Cloud services outside the Chinese mainland.'."\n"
+ ."\n"
+ .'> If the memberUid field in the JSON struct is empty, the information about the current account is returned.'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"eipCnIpCount\\":3,\\"eipOvIpCount\\":18,\\"memberUid\\":\\"\\",\\"standardAssetsCnIpCount\\":2,\\"standardAssetsOvIpCount\\":0},{\\"eipCnIpCount\\":3,\\"eipOvIpCount\\":0,\\"memberUid\\":\\"1776997906319249\\",\\"standardAssetsCnIpCount\\":0,\\"standardAssetsOvIpCount\\":0}]',
+ ],
+ ],
+ ],
+ ],
+ 'FlowList' => [
+ 'description' => 'The details about the traffic of EIPs with Anti-DDoS (Enhanced) enabled.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the traffic of the Anti-DDoS Origin instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalFlow' => [
+ 'description' => 'The traffic of EIPs with Anti-DDoS (Enhanced) enabled. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6302081067',
+ ],
+ 'TotalBillFlow' => [
+ 'description' => 'The total IP traffic of regular Alibaba Cloud services.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6302081067',
+ ],
+ 'RegionFlow' => [
+ 'description' => 'The traffic distribution by region. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **bytes**: the traffic volume of EIPs with Anti-DDoS (Enhanced) enabled in a region. Unit: bytes.'."\n"
+ .'* **instanceId**: the ID of the pay-as-you-go instance that protects the EIPs with Anti-DDoS (Enhanced) enabled.'."\n"
+ .'* **ip**: the EIPs with Anti-DDoS (Enhanced) enabled.'."\n"
+ .'* **region**: the region.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"cn-hangzhou\\":[{\\"bytes\\":0,\\"instanceId\\":\\"ddosorigin_cn-u7c3lcr9r02\\",\\"ip\\":\\"47.118.168.124\\",\\"region\\":\\"cn-hangzhou\\"}]}',
+ ],
+ 'Time' => [
+ 'description' => 'The timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1620951900',
+ ],
+ 'MemberFlow' => [
+ 'description' => 'The traffic distribution by region. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **bytes**: the traffic volume of EIPs with Anti-DDoS (Enhanced) enabled in a region. Unit: bytes.'."\n"
+ .'* **memberUid**: the owner account.'."\n"
+ .'* **instanceId**: the ID of the pay-as-you-go instance that protects the EIPs with Anti-DDoS (Enhanced) enabled.'."\n"
+ .'* **ip**: the EIPs with Anti-DDoS (Enhanced) enabled.'."\n"
+ .'* **region**: the region.'."\n"
+ ."\n"
+ .'> If the memberUid field in the JSON struct is empty, the information about the current account is returned. The value of the bytes parameter in the outermost level of the JSON struct indicates the total traffic, and the values of the bytes parameters in inner levels indicate the traffic of the account.'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"bytes\\":79282719,\\"memberUid\\":\\"\\",\\"regionFlows\\":{\\"cn-hangzhou\\":[{\\"bytes\\":79282719,\\"instanceId\\":\\"ddosorigin_cn-u7c3lcr9r02\\",\\"ip\\":\\"47.118.168.57\\",\\"region\\":\\"cn-hangzhou\\"}]}}]',
+ ],
+ ],
+ ],
+ ],
+ 'StandardAssetsFlowList' => [
+ 'description' => 'The details about the traffic of regular Alibaba Cloud services.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details about the traffic of a regular Alibaba Cloud service.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalFlow' => [
+ 'description' => 'The traffic of regular Alibaba Cloud services. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '6302081067',
+ ],
+ 'RegionFlow' => [
+ 'description' => 'The traffic distribution by region. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **bytes**: the traffic volume of regular Alibaba Cloud services in a region. Unit: bytes.'."\n"
+ .'* **instanceId**: the ID of the pay-as-you-go instance that protects the regular Alibaba Cloud services.'."\n"
+ .'* **ip**: the IP address protected by the Anti-DDoS Origin instance.'."\n"
+ .'* **region**: the region.'."\n",
+ 'type' => 'string',
+ 'example' => '{\\"cn-hangzhou\\":[{\\"bytes\\":0,\\"instanceId\\":\\"ddosorigin_cn-u7c3lcr9r02\\",\\"ip\\":\\"47.118.168.124\\",\\"region\\":\\"cn-hangzhou\\"}]}',
+ ],
+ 'Time' => [
+ 'description' => 'The timestamp. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1679846400000',
+ ],
+ 'MemberFlow' => [
+ 'description' => 'The traffic distribution by region. The JSON struct contains the following fields:'."\n"
+ ."\n"
+ .'* **bytes**: the traffic volume of regular Alibaba Cloud services in a region. Unit: bytes.'."\n"
+ .'* **memberUid**: the owner account.'."\n"
+ .'* **instanceId**: the ID of the pay-as-you-go instance that protects the regular Alibaba Cloud services.'."\n"
+ .'* **ip**: the IP address of the regular Alibaba Cloud service protected by the Anti-DDoS Origin instance.'."\n"
+ .'* **region**: the region.'."\n"
+ ."\n"
+ .'> If the memberUid field in the JSON struct is empty, the information about the current account is returned. The value of the bytes parameter in the outermost level of the JSON struct indicates the total traffic, and the values of the bytes parameters in inner levels indicate the traffic of the account.'."\n",
+ 'type' => 'string',
+ 'example' => '[{\\"bytes\\":79282719,\\"memberUid\\":\\"\\",\\"regionFlows\\":{\\"cn-hangzhou\\":[{\\"bytes\\":79282719,\\"instanceId\\":\\"ddosorigin_cn-u7c3lcr9r02\\",\\"ip\\":\\"47.118.168.57\\",\\"region\\":\\"cn-hangzhou\\"}]}}]',
+ ],
+ ],
+ ],
+ ],
+ 'FlowRegion' => [
+ 'description' => 'The traffic distribution of EIPs with Anti-DDoS (Enhanced) enabled by region.'."\n",
+ 'type' => 'object',
+ 'example' => '{\'cn-hongkong\': 166491566}',
+ ],
+ 'StandardAssetsFlowRegion' => [
+ 'description' => 'The traffic distribution of regular Alibaba Cloud services by region.'."\n",
+ 'type' => 'object',
+ 'example' => '{\'cn-hongkong\': 166491566}'."\n",
+ ],
+ 'AssetStatus' => [
+ 'description' => 'The asset status.'."\n"
+ ."\n"
+ .'* **0**: No asset is added to the instance for protection.'."\n"
+ .'* **1**: Assets are added to the instance for protection.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'MonthlySummaryList' => [
+ 'description' => 'The information about the monthly summary bills.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the monthly summary bill.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Uid' => [
+ 'description' => 'The ID of the administrator account.'."\n",
+ 'type' => 'string',
+ 'example' => '102518028277****',
+ ],
+ 'MemberUid' => [
+ 'description' => 'The ID of the member.'."\n",
+ 'type' => 'string',
+ 'example' => '112873971277****',
+ ],
+ 'EnableDays' => [
+ 'description' => 'The number of days that the instance is activated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ 'StandardAssetsFlowCn' => [
+ 'description' => 'The total traffic of regular Alibaba Cloud services in the Chinese mainland. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '123456',
+ ],
+ 'StandardAssetsFlowIntl' => [
+ 'description' => 'The total traffic of regular Alibaba Cloud services outside the Chinese mainland. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '123456',
+ ],
+ 'FlowCn' => [
+ 'description' => 'The total traffic of EIPs with Anti-DDoS (Enhanced) enabled in the Chinese mainland. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '123456',
+ ],
+ 'FlowIntl' => [
+ 'description' => 'The total traffic of EIPs with Anti-DDoS (Enhanced) enabled outside the Chinese mainland. Unit: bytes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '123456',
+ ],
+ 'IpCountCn' => [
+ 'description' => 'The total number of protected IP addresses in the Chinese mainland.'."\n"
+ ."\n"
+ .'> The total number of protected IP addresses is the sum of the daily numbers of protected IP addresses in a month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '28',
+ ],
+ 'IpCountIntl' => [
+ 'description' => 'The total number of protected IP addresses outside the Chinese mainland.'."\n"
+ ."\n"
+ .'> The total number of protected IP addresses is the sum of the daily numbers of protected IP addresses in a month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '30',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"72155560-F343-55C8-82FE-ED4D7E4AA97E\\",\\n \\"Status\\": 1,\\n \\"DebtStatus\\": 0,\\n \\"InstanceId\\": \\"ddosorigin_cn-u7c3lcr9r02\\",\\n \\"IpCount\\": 15,\\n \\"IpInfo\\": \\"{\\\\\\\\\\\\\\"eipCnIpCount\\\\\\\\\\\\\\":6,\\\\\\\\\\\\\\"eipOvIpCount\\\\\\\\\\\\\\":17,\\\\\\\\\\\\\\"standardAssetsCnIpCount\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"standardAssetsOvIpCount\\\\\\\\\\\\\\":0}\\",\\n \\"TotalFlowCn\\": 6302081067,\\n \\"TotalFlowOv\\": 6204918019,\\n \\"StandardAssetsTotalFlowCn\\": 0,\\n \\"StandardAssetsTotalFlowOv\\": 0,\\n \\"IpCountOrFunctionList\\": [\\n {\\n \\"Coverage\\": \\"global\\",\\n \\"IpCntCn\\": 5,\\n \\"IpCntOv\\": 5,\\n \\"Time\\": 1680278400000,\\n \\"MemberIpCnt\\": \\"[{\\\\\\\\\\\\\\"eipCnIpCount\\\\\\\\\\\\\\":3,\\\\\\\\\\\\\\"eipOvIpCount\\\\\\\\\\\\\\":18,\\\\\\\\\\\\\\"memberUid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"standardAssetsCnIpCount\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"standardAssetsOvIpCount\\\\\\\\\\\\\\":0},{\\\\\\\\\\\\\\"eipCnIpCount\\\\\\\\\\\\\\":3,\\\\\\\\\\\\\\"eipOvIpCount\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"memberUid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"1776997906319249\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"standardAssetsCnIpCount\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"standardAssetsOvIpCount\\\\\\\\\\\\\\":0}]\\"\\n }\\n ],\\n \\"FlowList\\": [\\n {\\n \\"TotalFlow\\": 6302081067,\\n \\"TotalBillFlow\\": 6302081067,\\n \\"RegionFlow\\": \\"{\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"bytes\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"instanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ddosorigin_cn-u7c3lcr9r02\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"47.118.168.124\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"region\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\"}]}\\",\\n \\"Time\\": 1620951900,\\n \\"MemberFlow\\": \\"[{\\\\\\\\\\\\\\"bytes\\\\\\\\\\\\\\":79282719,\\\\\\\\\\\\\\"memberUid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"regionFlows\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"bytes\\\\\\\\\\\\\\":79282719,\\\\\\\\\\\\\\"instanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ddosorigin_cn-u7c3lcr9r02\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"47.118.168.57\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"region\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\"}]}}]\\"\\n }\\n ],\\n \\"StandardAssetsFlowList\\": [\\n {\\n \\"TotalFlow\\": 6302081067,\\n \\"RegionFlow\\": \\"{\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"bytes\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"instanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ddosorigin_cn-u7c3lcr9r02\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"47.118.168.124\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"region\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\"}]}\\",\\n \\"Time\\": 1679846400000,\\n \\"MemberFlow\\": \\"[{\\\\\\\\\\\\\\"bytes\\\\\\\\\\\\\\":79282719,\\\\\\\\\\\\\\"memberUid\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"regionFlows\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"bytes\\\\\\\\\\\\\\":79282719,\\\\\\\\\\\\\\"instanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"ddosorigin_cn-u7c3lcr9r02\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"47.118.168.57\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"region\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-hangzhou\\\\\\\\\\\\\\"}]}}]\\"\\n }\\n ],\\n \\"FlowRegion\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"StandardAssetsFlowRegion\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"AssetStatus\\": 0,\\n \\"MonthlySummaryList\\": [\\n {\\n \\"Uid\\": \\"102518028277****\\",\\n \\"MemberUid\\": \\"112873971277****\\",\\n \\"EnableDays\\": 30,\\n \\"StandardAssetsFlowCn\\": 123456,\\n \\"StandardAssetsFlowIntl\\": 123456,\\n \\"FlowCn\\": 123456,\\n \\"FlowIntl\\": 123456,\\n \\"IpCountCn\\": 28,\\n \\"IpCountIntl\\": 30\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'DescribeDdosOriginInstanceBill',
+ ],
+ 'MoveResourceGroup' => [
+ 'summary' => 'Changes the resource group to which a cloud resource belongs.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '249759',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ 'autoTest' => true,
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'enumValueTitles' => [],
+ 'example' => 'ddos_originpre_public_cn-7213kxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which you want to move the resource.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'rg-acfm3peow3k****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Set the value to **instance**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'instance',
+ ],
+ ],
+ [
+ 'name' => 'ResourceRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the resource.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '16A78396-936F-5481-91D7-591BF7981246',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A78396-936F-5481-91D7-591BF7981246\\"\\n}","type":"json"}]',
+ 'title' => 'MoveResourceGroup',
+ 'translator' => 'machine',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-qingdao',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-zhangjiakou',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-huhehaote',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-chengdu',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-west-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'me-east-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou-finance',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen-finance-1',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-north-2-gov-1',
+ 'endpoint' => 'ddosbgp.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'ddosbgp.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'ddosbgp.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-west-1',
+ 'endpoint' => 'ddosbgp.us-west-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'us-east-1',
+ 'endpoint' => 'ddosbgp.us-east-1.aliyuncs.com',
+ ],
+ ],
+];