summaryrefslogtreecommitdiff
path: root/data/en_us/ddosdiversion/2023-07-01
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/ddosdiversion/2023-07-01')
-rw-r--r--data/en_us/ddosdiversion/2023-07-01/api-docs.php1292
1 files changed, 1292 insertions, 0 deletions
diff --git a/data/en_us/ddosdiversion/2023-07-01/api-docs.php b/data/en_us/ddosdiversion/2023-07-01/api-docs.php
new file mode 100644
index 0000000..662e268
--- /dev/null
+++ b/data/en_us/ddosdiversion/2023-07-01/api-docs.php
@@ -0,0 +1,1292 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'DdosDiversion',
+ 'version' => '2023-07-01',
+ ],
+ 'directories' => [
+ 'ConfigNetStatus',
+ 'ListInstance',
+ 'QueryNetList',
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'ConfigNetStatus' => [
+ 'summary' => 'Configures the advertising of a CIDR block.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '186873',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosPJT0YW',
+ ],
+ 'autoTest' => false,
+ 'notSupportAutoTestReason' => '代播API 涉及IP网段的路由配置,支持宣告/撤销等操作,需要客户真实网段操作,无法进行自动化调度与验证。',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SaleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the anti-DDoS diversion instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ddos_diversion_public_cn-xxxxxxxxxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'Net',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CIDR block of the anti-DDoS diversion instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '192.168.XX.XX/22',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the CIDR block. Valid values:'."\n"
+ ."\n"
+ .'* enable: advertises the CIDR block.'."\n"
+ .'* disable: withdraws the advertising of the CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'enable',
+ 'enum' => [
+ 'enable',
+ 'disable',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'Regions',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The regions in which the CIDR block needs to be advertised or withdrawn from advertising. If you leave this parameter empty, the CIDR blocks in all regions are configured.'."\n"
+ ."\n"
+ .'> You can call the [QueryNetList](~~2639086~~) operation to obtain the regions of the CIDR blocks.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The region in which the CIDR block needs to be advertised or withdrawn from advertising.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'oe26',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'SubNets',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => 'The subnet CIDR blocks of the CIDR block.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The subnet CIDR block of the CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.XX.XX/24',
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The status code.'."\n"
+ ."\n"
+ .'* **200**: The request was successful.'."\n"
+ .'* Other codes: The request failed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'B0949F09-B9C1-1D5E-8F27-0A5BF3CD5D95',
+ ],
+ 'Message' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'AuthenticationFailed',
+ 'errorMessage' => 'User authentication failed.',
+ ],
+ [
+ 'errorCode' => 'AutoScheduleRuleExist',
+ 'errorMessage' => 'The auto schedule rule already exists.',
+ ],
+ [
+ 'errorCode' => 'AutoScheduleRuleNotExist',
+ 'errorMessage' => 'The auto schedule rule dose not exist.',
+ ],
+ [
+ 'errorCode' => 'BlackHoleConfigurationError',
+ 'errorMessage' => 'A black hole configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'CleanConfigurationError',
+ 'errorMessage' => 'A clean configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'CoveredNet',
+ 'errorMessage' => 'The CIDR block is overwritten.',
+ ],
+ [
+ 'errorCode' => 'DatabaseError',
+ 'errorMessage' => 'A database error.',
+ ],
+ [
+ 'errorCode' => 'DeclaredNet',
+ 'errorMessage' => 'The CIDR block has been advertised.',
+ ],
+ [
+ 'errorCode' => 'DefenseConfigurationError',
+ 'errorMessage' => 'A defense configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'ForwardConfigurationNotExist',
+ 'errorMessage' => 'The CIDR block forwarding configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'ForwardNotExist',
+ 'errorMessage' => 'The CIDR block zone forwarding configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'ForwardRuleNotExist',
+ 'errorMessage' => 'The CIDR block forwarding rule is not found.',
+ ],
+ [
+ 'errorCode' => 'HttpFailed',
+ 'errorMessage' => 'HTTP request failed.',
+ ],
+ [
+ 'errorCode' => 'IDNSubnetsCountLimit',
+ 'errorMessage' => 'The maximum number of IDCs of the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InstanceExist',
+ 'errorMessage' => 'The instance already exists.',
+ ],
+ [
+ 'errorCode' => 'InstanceNetConfigurationExist',
+ 'errorMessage' => 'The instance CIDR block configuration already exists.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExist',
+ 'errorMessage' => 'The instance is not found.',
+ ],
+ [
+ 'errorCode' => 'InstanceUpstreamLimit',
+ 'errorMessage' => 'The maximum number of reinjection configurations for the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidNet',
+ 'errorMessage' => 'Invalid CIDR block.',
+ ],
+ [
+ 'errorCode' => 'InvalidParam',
+ 'errorMessage' => 'Invalid parameter value.',
+ ],
+ [
+ 'errorCode' => 'IPSubnetsCountLimit',
+ 'errorMessage' => 'The maximum number of CIDR blocks of the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'NetCannotExtend',
+ 'errorMessage' => 'The CIDR block cannot be extended.',
+ ],
+ [
+ 'errorCode' => 'NetConfigurationExist',
+ 'errorMessage' => 'The CIDR block configuration already exists.',
+ ],
+ [
+ 'errorCode' => 'NetConfigurationNotExist',
+ 'errorMessage' => 'The CIDR block configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'NetForwardDelete',
+ 'errorMessage' => 'The CIDR block forwarding is being deleted.',
+ ],
+ [
+ 'errorCode' => 'NetMaskOutOfRange',
+ 'errorMessage' => 'The subnet mask of the CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'NetNeedExtend',
+ 'errorMessage' => 'The CIDR block needs to be extended.',
+ ],
+ [
+ 'errorCode' => 'NetStatusNotReady',
+ 'errorMessage' => 'The CIDR block reinjection configuration has not been completed.',
+ ],
+ [
+ 'errorCode' => 'NetworkDeclearedFailed',
+ 'errorMessage' => 'Failed to advertise the CIDR block.',
+ ],
+ [
+ 'errorCode' => 'NetWorkNotExist',
+ 'errorMessage' => 'The CIDR block is not found.',
+ ],
+ [
+ 'errorCode' => 'NetworkUndeclearedFailed',
+ 'errorMessage' => 'Failed to cancel the advertisement of the CIDR block.',
+ ],
+ [
+ 'errorCode' => 'ParameterNotEnough',
+ 'errorMessage' => 'Required parameters are not specified.',
+ ],
+ [
+ 'errorCode' => 'ParameterOutOfRange',
+ 'errorMessage' => 'Invalid parameter value.',
+ ],
+ [
+ 'errorCode' => 'RegionNotExist',
+ 'errorMessage' => 'The region does not exist.',
+ ],
+ [
+ 'errorCode' => 'RequestMethodError',
+ 'errorMessage' => 'An incorrect request method.',
+ ],
+ [
+ 'errorCode' => 'SubnetCountLimit',
+ 'errorMessage' => 'The maximum number of subnets is exceeded.',
+ ],
+ [
+ 'errorCode' => 'UnKnownError',
+ 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'errorCode' => 'UpsteamNotComplete',
+ 'errorMessage' => 'The reinjection configuration has not been completed.',
+ ],
+ [
+ 'errorCode' => 'UpstreamConfigurationNotExist',
+ 'errorMessage' => 'The reinjection configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'JsonDecodeError',
+ 'errorMessage' => 'JSON string decoding failed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"RequestId\\": \\"B0949F09-B9C1-1D5E-8F27-0A5BF3CD5D95\\",\\n \\"Message\\": \\"successful\\"\\n}","type":"json"}]',
+ 'title' => 'ConfigNetStatus',
+ ],
+ 'ListInstance' => [
+ 'summary' => 'Queries anti-DDoS diversion instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '186870',
+ 'abilityTreeNodes' => [
+ 'FEATUREddos37DGH1',
+ ],
+ 'autoTest' => false,
+ 'notSupportAutoTestReason' => '代播API 涉及IP网段的路由配置,支持宣告/撤销等操作,需要客户真实网段操作,无法进行自动化调度与验证。',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SaleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the anti-DDoS diversion instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddos_diversion_public_cn-xxxxxxxxxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the instance. Valid values:'."\n"
+ ."\n"
+ .'- normal'."\n"
+ .'- expired'."\n"
+ .'- deleting'."\n"
+ .'- stopped',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'normal',
+ ],
+ ],
+ [
+ 'name' => 'Page',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Num',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '100',
+ 'default' => '100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The status code.'."\n"
+ ."\n"
+ .'- 200: The request was successful.'."\n"
+ .'- Other codes: The request failed.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.',
+ 'type' => 'string',
+ 'example' => 'B0949F09-B9C1-1D5E-8F27-0A5BF3CD5D95',
+ ],
+ 'Message' => [
+ 'description' => 'The response parameters.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.',
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'description' => 'The total number of entries returned.',
+ 'example' => '10'."\n",
+ ],
+ 'Page' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'description' => 'The page number.'."\n",
+ 'example' => '1',
+ ],
+ 'Num' => [
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'description' => 'The number of entries per page.'."\n",
+ 'example' => '100',
+ ],
+ 'Instances' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserId' => [
+ 'type' => 'string',
+ 'description' => 'The user ID.',
+ 'example' => '177xxxxxxxxxxxxx'."\n",
+ ],
+ 'SaleId' => [
+ 'type' => 'string',
+ 'description' => 'The ID of the instance.',
+ 'example' => 'ddos_diversion_public_cn-xxxxxxxxxxxxx'."\n",
+ ],
+ 'InstanceId' => [
+ 'type' => 'string',
+ 'description' => 'The alias of the instance.',
+ 'example' => 'ddos_diversion_public_cn-xxxxxxxxxxxxx_xxxxxx'."\n",
+ ],
+ 'Name' => [
+ 'type' => 'string',
+ 'description' => 'The name of the instance.',
+ 'example' => 'test',
+ ],
+ 'Status' => [
+ 'type' => 'string',
+ 'description' => 'The status of the instance. Valid values:'."\n"
+ ."\n"
+ .'- normal'."\n"
+ .'- expired'."\n"
+ .'- deleting'."\n"
+ .'- stopped',
+ 'example' => 'normal'."\n",
+ ],
+ 'Comment' => [
+ 'type' => 'string',
+ 'description' => 'The description.',
+ 'example' => 'description',
+ ],
+ 'Message' => [
+ 'type' => 'string',
+ 'description' => 'The configurations of the instance.',
+ 'example' => 'successful'."\n",
+ ],
+ 'Spec' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'IdcNumbers' => [
+ 'type' => 'string',
+ 'description' => 'The number of data centers. Valid values: 1 to 10.',
+ 'example' => '1',
+ ],
+ 'NormalBandwidth' => [
+ 'type' => 'string',
+ 'description' => 'The service traffic. Unit: Mbit/s.',
+ 'example' => '100',
+ ],
+ 'IpSubnetNums' => [
+ 'type' => 'string',
+ 'description' => 'The number of CIDR blocks. Value range: 1 to 10000.',
+ 'example' => '1',
+ ],
+ 'Coverage' => [
+ 'type' => 'string',
+ 'description' => 'The region of the asset.',
+ 'example' => 'international_and_hmt'."\n",
+ ],
+ 'Edition' => [
+ 'type' => 'string',
+ 'description' => 'The mitigation plan.',
+ 'example' => 'enterprise'."\n",
+ ],
+ 'MitigationCapacity' => [
+ 'type' => 'string',
+ 'description' => 'The maximum mitigation capability.',
+ 'example' => 'unlimited'."\n",
+ ],
+ 'MitigationNums' => [
+ 'type' => 'string',
+ 'description' => 'The number of mitigation sessions.',
+ 'example' => 'unlimited'."\n",
+ ],
+ 'DiversionType' => [
+ 'type' => 'string',
+ 'description' => 'The diversion mode. Valid values: on-demand always-on',
+ 'example' => 'on-demand'."\n",
+ ],
+ 'MitigationAnalysis' => [
+ 'type' => 'string',
+ 'description' => 'The mitigation analysis feature.',
+ 'example' => 'off'."\n",
+ ],
+ 'MitigationAnalysisCapacity' => [
+ 'type' => 'string',
+ 'description' => 'The log storage capacity.',
+ 'example' => '3T',
+ ],
+ 'InitialInstallation' => [
+ 'type' => 'string',
+ 'description' => 'The initial installation mode.',
+ 'example' => 'gre_tunnel_by_pccw'."\n",
+ ],
+ 'InitialQty' => [
+ 'type' => 'string',
+ 'description' => 'The initial installation quantity.',
+ 'example' => '1',
+ ],
+ ],
+ 'description' => 'The specifications of the instance.',
+ ],
+ 'GmtExpire' => [
+ 'type' => 'string',
+ 'description' => 'The expiration time.',
+ 'example' => '2023-02-23 00:00:00'."\n",
+ ],
+ 'GmtCreate' => [
+ 'type' => 'string',
+ 'description' => 'The purchase time.',
+ 'example' => '2022-12-15 11:10:42'."\n",
+ ],
+ 'GmtModify' => [
+ 'type' => 'string',
+ 'description' => 'The update time.',
+ 'example' => '2022-12-15 11:10:42'."\n",
+ ],
+ ],
+ 'description' => 'The details of the anti-DDoS diversion instance.',
+ ],
+ 'description' => 'The details of the anti-DDoS diversion instance.',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'AuthenticationFailed',
+ 'errorMessage' => 'User authentication failed.',
+ ],
+ [
+ 'errorCode' => 'AutoScheduleRuleExist',
+ 'errorMessage' => 'The auto schedule rule already exists.',
+ ],
+ [
+ 'errorCode' => 'AutoScheduleRuleNotExist',
+ 'errorMessage' => 'The auto schedule rule dose not exist.',
+ ],
+ [
+ 'errorCode' => 'BlackHoleConfigurationError',
+ 'errorMessage' => 'A black hole configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'CleanConfigurationError',
+ 'errorMessage' => 'A clean configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'CoveredNet',
+ 'errorMessage' => 'The CIDR block is overwritten.',
+ ],
+ [
+ 'errorCode' => 'DatabaseError',
+ 'errorMessage' => 'A database error.',
+ ],
+ [
+ 'errorCode' => 'DeclaredNet',
+ 'errorMessage' => 'The CIDR block has been advertised.',
+ ],
+ [
+ 'errorCode' => 'DefenseConfigurationError',
+ 'errorMessage' => 'A defense configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'ForwardConfigurationNotExist',
+ 'errorMessage' => 'The CIDR block forwarding configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'ForwardNotExist',
+ 'errorMessage' => 'The CIDR block zone forwarding configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'ForwardRuleNotExist',
+ 'errorMessage' => 'The CIDR block forwarding rule is not found.',
+ ],
+ [
+ 'errorCode' => 'HttpFailed',
+ 'errorMessage' => 'HTTP request failed.',
+ ],
+ [
+ 'errorCode' => 'IDNSubnetsCountLimit',
+ 'errorMessage' => 'The maximum number of IDCs of the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InstanceExist',
+ 'errorMessage' => 'The instance already exists.',
+ ],
+ [
+ 'errorCode' => 'InstanceNetConfigurationExist',
+ 'errorMessage' => 'The instance CIDR block configuration already exists.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExist',
+ 'errorMessage' => 'The instance is not found.',
+ ],
+ [
+ 'errorCode' => 'InstanceUpstreamLimit',
+ 'errorMessage' => 'The maximum number of reinjection configurations for the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidNet',
+ 'errorMessage' => 'Invalid CIDR block.',
+ ],
+ [
+ 'errorCode' => 'InvalidParam',
+ 'errorMessage' => 'Invalid parameter value.',
+ ],
+ [
+ 'errorCode' => 'IPSubnetsCountLimit',
+ 'errorMessage' => 'The maximum number of CIDR blocks of the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'NetCannotExtend',
+ 'errorMessage' => 'The CIDR block cannot be extended.',
+ ],
+ [
+ 'errorCode' => 'NetConfigurationExist',
+ 'errorMessage' => 'The CIDR block configuration already exists.',
+ ],
+ [
+ 'errorCode' => 'NetConfigurationNotExist',
+ 'errorMessage' => 'The CIDR block configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'NetForwardDelete',
+ 'errorMessage' => 'The CIDR block forwarding is being deleted.',
+ ],
+ [
+ 'errorCode' => 'NetMaskOutOfRange',
+ 'errorMessage' => 'The subnet mask of the CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'NetNeedExtend',
+ 'errorMessage' => 'The CIDR block needs to be extended.',
+ ],
+ [
+ 'errorCode' => 'NetStatusNotReady',
+ 'errorMessage' => 'The CIDR block reinjection configuration has not been completed.',
+ ],
+ [
+ 'errorCode' => 'NetworkDeclearedFailed',
+ 'errorMessage' => 'Failed to advertise the CIDR block.',
+ ],
+ [
+ 'errorCode' => 'NetWorkNotExist',
+ 'errorMessage' => 'The CIDR block is not found.',
+ ],
+ [
+ 'errorCode' => 'NetworkUndeclearedFailed',
+ 'errorMessage' => 'Failed to cancel the advertisement of the CIDR block.',
+ ],
+ [
+ 'errorCode' => 'ParameterNotEnough',
+ 'errorMessage' => 'Required parameters are not specified.',
+ ],
+ [
+ 'errorCode' => 'ParameterOutOfRange',
+ 'errorMessage' => 'Invalid parameter value.',
+ ],
+ [
+ 'errorCode' => 'RegionNotExist',
+ 'errorMessage' => 'The region does not exist.',
+ ],
+ [
+ 'errorCode' => 'RequestMethodError',
+ 'errorMessage' => 'An incorrect request method.',
+ ],
+ [
+ 'errorCode' => 'SubnetCountLimit',
+ 'errorMessage' => 'The maximum number of subnets is exceeded.',
+ ],
+ [
+ 'errorCode' => 'UnKnownError',
+ 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'errorCode' => 'UpsteamNotComplete',
+ 'errorMessage' => 'The reinjection configuration has not been completed.',
+ ],
+ [
+ 'errorCode' => 'UpstreamConfigurationNotExist',
+ 'errorMessage' => 'The reinjection configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'JsonDecodeError',
+ 'errorMessage' => 'JSON string decoding failed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"RequestId\\": \\"B0949F09-B9C1-1D5E-8F27-0A5BF3CD5D95\\",\\n \\"Message\\": \\"successful\\",\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"Page\\": 1,\\n \\"Num\\": 100,\\n \\"Instances\\": [\\n {\\n \\"UserId\\": \\"177xxxxxxxxxxxxx\\",\\n \\"SaleId\\": \\"ddos_diversion_public_cn-xxxxxxxxxxxxx\\",\\n \\"InstanceId\\": \\"ddos_diversion_public_cn-xxxxxxxxxxxxx_xxxxxx\\",\\n \\"Name\\": \\"测试实例。\\",\\n \\"Status\\": \\"normal\\",\\n \\"Comment\\": \\"测试实例。\\",\\n \\"Message\\": \\"successful\\",\\n \\"Spec\\": {\\n \\"IdcNumbers\\": \\"1\\",\\n \\"NormalBandwidth\\": \\"100\\",\\n \\"IpSubnetNums\\": \\"1\\",\\n \\"Coverage\\": \\"international_and_hmt\\",\\n \\"Edition\\": \\"enterprise\\",\\n \\"MitigationCapacity\\": \\"unlimited\\",\\n \\"MitigationNums\\": \\"unlimited\\",\\n \\"DiversionType\\": \\"on-demand\\",\\n \\"MitigationAnalysis\\": \\"off\\",\\n \\"MitigationAnalysisCapacity\\": \\"3T\\",\\n \\"InitialInstallation\\": \\"gre_tunnel_by_pccw\\",\\n \\"InitialQty\\": \\"1\\"\\n },\\n \\"GmtExpire\\": \\"2022-12-15 11:10:42\\",\\n \\"GmtCreate\\": \\"2022-12-15 11:10:42\\",\\n \\"GmtModify\\": \\"2022-12-15 11:10:42\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'ListInstance',
+ ],
+ 'QueryNetList' => [
+ 'summary' => 'Queries the CIDR blocks of an anti-DDoS diversion instance.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '186874',
+ 'abilityTreeNodes' => [
+ 'FEATUREddosPJT0YW',
+ ],
+ 'autoTest' => false,
+ 'notSupportAutoTestReason' => '代播API 涉及IP网段的路由配置,支持宣告/撤销等操作,需要客户真实网段操作,无法进行自动化调度与验证。',
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SaleId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the anti-DDoS diversion instance.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddos_diversion_public_cn-xxxxxxxxxxxxx',
+ ],
+ ],
+ [
+ 'name' => 'Net',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CIDR block of the anti-DDoS diversion instance.'."\n"
+ ."\n"
+ .'> If no extended CIDR blocks are configured for the anti-DDoS diversion instance, this parameter specifies the CIDR block of the instance. If an extended CIDR block is configured for the anti-DDoS diversion instance, this parameter specifies the extended CIDR block that is configured for the instance. If this parameter is specified, the MainNet parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.XX.XX/24',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The scheduling mode. Valid values:'."\n"
+ ."\n"
+ .'* manual: manual scheduling.'."\n"
+ .'* netflow-auto: automatic scheduling.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'netflow-auto' => 'netflow-auto',
+ 'manual' => 'manual',
+ ],
+ 'example' => 'netflow-auto',
+ 'enum' => [
+ 'manual',
+ 'netflow-auto',
+ 'beaver-auto',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'MainNet',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The primary CIDR block of the anti-DDoS diversion instance for which an extended CIDR block is configured. If no extended CIDR blocks are configured for the anti-DDoS diversion instance, leave this parameter empty.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.XX.XX/22',
+ ],
+ ],
+ [
+ 'name' => 'Page',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Default value: 1.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Num',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Default value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '100',
+ 'default' => '100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The status code.'."\n"
+ ."\n"
+ .'- 200: The request was successful.'."\n"
+ .'- Other codes: The request failed.',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '200',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '24B652B5-AEFF-3F03-9114-00D053C42277',
+ ],
+ 'Message' => [
+ 'description' => 'The response parameters.',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Data' => [
+ 'description' => 'The CIDR blocks.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'Page' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'Num' => [
+ 'description' => 'The number of entries per page. Valid values: 1 to 100. Default value: 100.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '100'."\n",
+ ],
+ 'Nets' => [
+ 'description' => 'The CIDR blocks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserId' => [
+ 'description' => 'The user ID.'."\n",
+ 'type' => 'string',
+ 'example' => '177xxxxxxxxxxxxx'."\n",
+ ],
+ 'SaleId' => [
+ 'description' => 'The ID of the anti-DDoS diversion instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ddos_diversion_public_cn-xxxxxxxxxxxxx',
+ ],
+ 'UpstreamType' => [
+ 'description' => 'The reinjection type. Valid values:'."\n"
+ ."\n"
+ .'* aliyun_line'."\n"
+ .'* pccw_line'."\n"
+ .'* gre_line'."\n"
+ .'* private_line'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'aliyun_line'."\n",
+ ],
+ 'Net' => [
+ 'description' => 'The CIDR block of the anti-DDoS diversion instance.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX/24'."\n",
+ ],
+ 'NetType' => [
+ 'description' => 'The type of the CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => 'ipv4'."\n",
+ ],
+ 'Mode' => [
+ 'description' => 'The scheduling mode. Valid values:'."\n"
+ ."\n"
+ .'* netflow-auto'."\n"
+ .'* manual'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'manual'."\n",
+ ],
+ 'DeclaredState' => [
+ 'description' => 'The advertising status of the CIDR block. Valid values:'."\n"
+ ."\n"
+ .'* 0: The CIDR block is not advertised.'."\n"
+ .'* 1: The CIDR block is advertised.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'enumValueTitles' => [],
+ 'example' => '1',
+ ],
+ 'Declared' => [
+ 'description' => 'The advertising details.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Region' => [
+ 'description' => 'The region in which the CIDR block is advertised. Valid values:'."\n"
+ ."\n"
+ .'* oe26: China (Hong Kong).'."\n"
+ .'* us50: US (Virginia).'."\n"
+ .'* oe24: US (Silicon Valley).'."\n"
+ .'* oe28: Singapore.'."\n"
+ .'* jp141: Japan (Tokyo).'."\n"
+ .'* Gb145: UK (London).'."\n"
+ .'* oi39: Germany (Frankfurt).'."\n",
+ 'type' => 'string',
+ 'example' => 'oe26'."\n",
+ ],
+ 'Declared' => [
+ 'description' => 'Indicates whether the CIDR block is advertised. Valid values:'."\n"
+ ."\n"
+ .'* 0: The CIDR block is not advertised.'."\n"
+ .'* 1: The CIDR block is advertised.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => '0',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The creation time.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-02-23 00:00:00'."\n",
+ ],
+ 'GmtModify' => [
+ 'description' => 'The modification time.'."\n",
+ 'type' => 'string',
+ 'example' => '2023-02-24 00:00:00'."\n",
+ ],
+ 'NetExtend' => [
+ 'description' => 'Indicates whether the CIDR block needs to be extended. Valid values:'."\n"
+ ."\n"
+ .'* 0: The CIDR block does not need to be extended.'."\n"
+ .'* 1: The CIDR block needs to be extended.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => '1',
+ ],
+ 'DDoSDefense' => [
+ 'description' => 'The DDoS mitigation configuration of the CIDR block.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'DjPolicy' => [
+ 'description' => 'The configuration of the mitigation policy.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PolicyName' => [
+ 'description' => 'The name of the mitigation policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'test_polilciy-xxx',
+ ],
+ ],
+ ],
+ 'CleanTh' => [
+ 'description' => 'The configuration of traffic scrubbing.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Mbps' => [
+ 'description' => 'The traffic scrubbing threshold in Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'Pps' => [
+ 'description' => 'The traffic scrubbing threshold in packets per second (pps).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ 'HoleTh' => [
+ 'description' => 'The configuration of blackhole filtering.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ThreshMbps' => [
+ 'description' => 'The blackhole filtering threshold in Mbit/s. The value 0 indicates best-effort protection.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'FwdEffect' => [
+ 'description' => 'Indicates whether the forwarding configuration takes effect. Valid values:'."\n"
+ ."\n"
+ .'* 0: The forwarding configuration does not take effect.'."\n"
+ .'* 1: The forwarding configuration takes effect.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'enumValueTitles' => [],
+ 'example' => '1',
+ ],
+ 'NetMain' => [
+ 'description' => 'The primary CIDR block of the anti-DDoS diversion instance for which an extended CIDR block is configured. If no extended CIDR blocks are configured for the anti-DDoS diversion instance, this parameter is left empty.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX/22'."\n",
+ ],
+ 'Permit' => [
+ 'description' => 'The review status. Valid values:'."\n"
+ ."\n"
+ .'* 0: not reviewed.'."\n"
+ .'* 1: reviewed.'."\n"
+ .'* 2: under review.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'enumValueTitles' => [],
+ 'example' => '2',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'AuthenticationFailed',
+ 'errorMessage' => 'User authentication failed.',
+ ],
+ [
+ 'errorCode' => 'AutoScheduleRuleExist',
+ 'errorMessage' => 'The auto schedule rule already exists.',
+ ],
+ [
+ 'errorCode' => 'AutoScheduleRuleNotExist',
+ 'errorMessage' => 'The auto schedule rule dose not exist.',
+ ],
+ [
+ 'errorCode' => 'BlackHoleConfigurationError',
+ 'errorMessage' => 'A black hole configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'CleanConfigurationError',
+ 'errorMessage' => 'A clean configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'CoveredNet',
+ 'errorMessage' => 'The CIDR block is overwritten.',
+ ],
+ [
+ 'errorCode' => 'DatabaseError',
+ 'errorMessage' => 'A database error.',
+ ],
+ [
+ 'errorCode' => 'DeclaredNet',
+ 'errorMessage' => 'The CIDR block has been advertised.',
+ ],
+ [
+ 'errorCode' => 'DefenseConfigurationError',
+ 'errorMessage' => 'A defense configuration error occurred.',
+ ],
+ [
+ 'errorCode' => 'ForwardConfigurationNotExist',
+ 'errorMessage' => 'The CIDR block forwarding configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'ForwardNotExist',
+ 'errorMessage' => 'The CIDR block zone forwarding configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'ForwardRuleNotExist',
+ 'errorMessage' => 'The CIDR block forwarding rule is not found.',
+ ],
+ [
+ 'errorCode' => 'HttpFailed',
+ 'errorMessage' => 'HTTP request failed.',
+ ],
+ [
+ 'errorCode' => 'IDNSubnetsCountLimit',
+ 'errorMessage' => 'The maximum number of IDCs of the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InstanceExist',
+ 'errorMessage' => 'The instance already exists.',
+ ],
+ [
+ 'errorCode' => 'InstanceNetConfigurationExist',
+ 'errorMessage' => 'The instance CIDR block configuration already exists.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExist',
+ 'errorMessage' => 'The instance is not found.',
+ ],
+ [
+ 'errorCode' => 'InstanceUpstreamLimit',
+ 'errorMessage' => 'The maximum number of reinjection configurations for the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidNet',
+ 'errorMessage' => 'Invalid CIDR block.',
+ ],
+ [
+ 'errorCode' => 'InvalidParam',
+ 'errorMessage' => 'Invalid parameter value.',
+ ],
+ [
+ 'errorCode' => 'IPSubnetsCountLimit',
+ 'errorMessage' => 'The maximum number of CIDR blocks of the instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'NetCannotExtend',
+ 'errorMessage' => 'The CIDR block cannot be extended.',
+ ],
+ [
+ 'errorCode' => 'NetConfigurationExist',
+ 'errorMessage' => 'The CIDR block configuration already exists.',
+ ],
+ [
+ 'errorCode' => 'NetConfigurationNotExist',
+ 'errorMessage' => 'The CIDR block configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'NetForwardDelete',
+ 'errorMessage' => 'The CIDR block forwarding is being deleted.',
+ ],
+ [
+ 'errorCode' => 'NetMaskOutOfRange',
+ 'errorMessage' => 'The subnet mask of the CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'NetNeedExtend',
+ 'errorMessage' => 'The CIDR block needs to be extended.',
+ ],
+ [
+ 'errorCode' => 'NetStatusNotReady',
+ 'errorMessage' => 'The CIDR block reinjection configuration has not been completed.',
+ ],
+ [
+ 'errorCode' => 'NetworkDeclearedFailed',
+ 'errorMessage' => 'Failed to advertise the CIDR block.',
+ ],
+ [
+ 'errorCode' => 'NetWorkNotExist',
+ 'errorMessage' => 'The CIDR block is not found.',
+ ],
+ [
+ 'errorCode' => 'NetworkUndeclearedFailed',
+ 'errorMessage' => 'Failed to cancel the advertisement of the CIDR block.',
+ ],
+ [
+ 'errorCode' => 'ParameterNotEnough',
+ 'errorMessage' => 'Required parameters are not specified.',
+ ],
+ [
+ 'errorCode' => 'ParameterOutOfRange',
+ 'errorMessage' => 'Invalid parameter value.',
+ ],
+ [
+ 'errorCode' => 'RegionNotExist',
+ 'errorMessage' => 'The region does not exist.',
+ ],
+ [
+ 'errorCode' => 'RequestMethodError',
+ 'errorMessage' => 'An incorrect request method.',
+ ],
+ [
+ 'errorCode' => 'SubnetCountLimit',
+ 'errorMessage' => 'The maximum number of subnets is exceeded.',
+ ],
+ [
+ 'errorCode' => 'UnKnownError',
+ 'errorMessage' => 'An unknown error occurred.',
+ ],
+ [
+ 'errorCode' => 'UpsteamNotComplete',
+ 'errorMessage' => 'The reinjection configuration has not been completed.',
+ ],
+ [
+ 'errorCode' => 'UpstreamConfigurationNotExist',
+ 'errorMessage' => 'The reinjection configuration is not found.',
+ ],
+ [
+ 'errorCode' => 'JsonDecodeError',
+ 'errorMessage' => 'JSON string decoding failed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"RequestId\\": \\"24B652B5-AEFF-3F03-9114-00D053C42277\\",\\n \\"Message\\": \\"successful\\",\\n \\"Data\\": {\\n \\"Total\\": 10,\\n \\"Page\\": 1,\\n \\"Num\\": 100,\\n \\"Nets\\": [\\n {\\n \\"UserId\\": \\"57690941xxxxxxxx\\",\\n \\"SaleId\\": \\"ddos_diversion_public_cn-xxxxxxxxxxxxx\\",\\n \\"UpstreamType\\": \\"aliyun_line\\",\\n \\"Net\\": \\"192.168.XX.XX/24\\",\\n \\"NetType\\": \\"ipv4\\",\\n \\"Mode\\": \\"manual\\",\\n \\"DeclaredState\\": 0,\\n \\"Declared\\": [\\n {\\n \\"Region\\": \\"oe26\\",\\n \\"Declared\\": \\"0\\"\\n }\\n ],\\n \\"GmtCreate\\": \\"2024-09-05 13:52:50\\",\\n \\"GmtModify\\": \\"2024-09-05 13:59:55\\",\\n \\"NetExtend\\": \\"0\\",\\n \\"DDoSDefense\\": {\\n \\"DjPolicy\\": {\\n \\"PolicyName\\": \\"gf_origin_xxxxx\\"\\n },\\n \\"CleanTh\\": {\\n \\"Mbps\\": 0,\\n \\"Pps\\": 0\\n },\\n \\"HoleTh\\": {\\n \\"ThreshMbps\\": 0\\n }\\n },\\n \\"FwdEffect\\": 1,\\n \\"NetMain\\": \\"192.168.XX.XX/22\\",\\n \\"Permit\\": 2\\n }\\n ]\\n }\\n}","type":"json"}]',
+ 'title' => 'QueryNetList',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'ddosdiversion.cn-hongkong.aliyuncs.com',
+ ],
+ ],
+];