diff options
Diffstat (limited to 'data/en_us/cdn/2018-05-10/api-docs.php')
| -rw-r--r-- | data/en_us/cdn/2018-05-10/api-docs.php | 37257 |
1 files changed, 17953 insertions, 19304 deletions
diff --git a/data/en_us/cdn/2018-05-10/api-docs.php b/data/en_us/cdn/2018-05-10/api-docs.php index 066fb19..3904767 100644 --- a/data/en_us/cdn/2018-05-10/api-docs.php +++ b/data/en_us/cdn/2018-05-10/api-docs.php @@ -1,381 +1,139 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Cdn', - 'version' => '2018-05-10', - ], + 'info' => ['style' => 'RPC', 'product' => 'Cdn', 'version' => '2018-05-10'], 'directories' => [ [ - 'id' => 159131, - 'title' => 'Domain name management', - 'type' => 'directory', 'children' => [ [ - 'id' => 159132, - 'title' => 'Adding or removing domain names', + 'children' => ['AddCdnDomain', 'BatchAddCdnDomain', 'DeleteCdnDomain', 'DescribeCdnDeletedDomains'], 'type' => 'directory', - 'children' => [ - 'AddCdnDomain', - 'BatchAddCdnDomain', - 'DeleteCdnDomain', - 'DescribeCdnDeletedDomains', - ], + 'title' => 'Add/delete domain names', ], [ - 'id' => 159137, - 'title' => 'Domain name ownership verification', + 'children' => ['VerifyDomainOwner', 'DescribeDomainVerifyData'], 'type' => 'directory', - 'children' => [ - 'VerifyDomainOwner', - 'DescribeVerifyContent', - 'DescribeDomainVerifyData', - ], + 'title' => 'Domain ownership verification', ], [ - 'id' => 159140, - 'title' => 'Enabling or disabling domain names', + 'children' => ['StartCdnDomain', 'BatchStartCdnDomain', 'StopCdnDomain', 'BatchStopCdnDomain'], 'type' => 'directory', - 'children' => [ - 'StartCdnDomain', - 'BatchStartCdnDomain', - 'StopCdnDomain', - 'BatchStopCdnDomain', - ], + 'title' => 'Disable/enable accelerated domain names', ], [ - 'id' => 159145, - 'title' => 'Domain name configuration', + 'children' => ['DescribeUserDomains', 'DescribeDomainCname', 'DescribeDomainsBySource', 'DescribeCdnDomainDetail', 'DescribeCdnDomainConfigs', 'BatchSetCdnDomainConfig', 'BatchDeleteCdnDomainConfig', 'BatchUpdateCdnDomain', 'DeleteSpecificConfig', 'ModifyCdnDomainSchdmByProperty', 'ModifyCdnDomain'], 'type' => 'directory', - 'children' => [ - 'DescribeUserDomains', - 'DescribeDomainCname', - 'DescribeDomainsBySource', - 'DescribeCdnUserDomainsByFunc', - 'DescribeCdnDomainDetail', - 'DescribeCdnDomainConfigs', - 'BatchSetCdnDomainConfig', - 'BatchDeleteCdnDomainConfig', - 'BatchUpdateCdnDomain', - 'DeleteSpecificConfig', - 'ModifyCdnDomainSchdmByProperty', - 'ModifyCdnDomain', - ], - ], - [ - 'id' => 159157, - 'title' => 'Domain name configuration management in the staging environment', - 'type' => 'directory', - 'children' => [ - 'DescribeCdnDomainStagingConfig', - 'SetCdnDomainStagingConfig', - 'RollbackStagingConfig', - 'PublishStagingConfigToProduction', - 'DeleteSpecificStagingConfig', - ], + 'title' => 'Domain configuration', ], [ - 'id' => 159163, - 'title' => 'Security settings', + 'children' => ['DescribeCdnDomainStagingConfig', 'SetCdnDomainStagingConfig', 'RollbackStagingConfig', 'PublishStagingConfigToProduction', 'DeleteSpecificStagingConfig'], 'type' => 'directory', - 'children' => [ - 'SetWaitingRoomConfig', - 'DescribeCdnUserConfigs', - 'DescribeCdnWafDomain', - 'DescribeBlockedRegions', - ], + 'title' => 'Domain staging environment configuration', ], ], + 'type' => 'directory', + 'title' => 'Domain management', ], [ - 'id' => 159185, - 'title' => 'Refresh and prefetch', + 'children' => ['PushObjectCache', 'DescribeRefreshTasks', 'DescribeRefreshTaskById', 'DescribePreloadDetailById', 'DescribeCdnUserQuota'], 'type' => 'directory', - 'children' => [ - 'RefreshObjectCacheByCacheTag', - 'DescribeRefreshQuota', - 'PushObjectCache', - 'RefreshObjectCaches', - 'DescribeRefreshTasks', - 'DescribeRefreshTaskById', - 'DescribePreloadDetailById', - 'DescribeCdnUserQuota', - ], + 'title' => 'Refresh and prefetch', ], [ - 'id' => 159074, - 'title' => 'Monitoring and usage analytics', - 'type' => 'directory', 'children' => [ [ - 'id' => 159075, - 'title' => 'Resource monitoring', - 'type' => 'directory', 'children' => [ [ - 'id' => 171915, - 'title' => 'Visit data', + 'children' => ['DescribeDomainPathData', 'DescribeDomainQpsData', 'DescribeDomainQpsDataByLayer', 'DescribeDomainBpsData', 'DescribeDomainBpsDataByLayer', 'DescribeDomainBpsDataByTimeStamp', 'DescribeDomainTrafficData', 'DescribeDomainHttpCodeData', 'DescribeDomainHttpCodeDataByLayer', 'DescribeDomainHitRateData', 'DescribeDomainReqHitRateData', 'DescribeDomainsUsageByDay', 'DescribeDomainDetailDataByLayer', 'DescribeRangeDataByLocateAndIspService'], 'type' => 'directory', - 'children' => [ - 'DescribeDomainPathData', - 'DescribeDomainQpsData', - 'DescribeDomainQpsDataByLayer', - 'DescribeDomainBpsData', - 'DescribeDomainBpsDataByLayer', - 'DescribeDomainBpsDataByTimeStamp', - 'DescribeDomainTrafficData', - 'DescribeDomainHttpCodeData', - 'DescribeDomainHttpCodeDataByLayer', - 'DescribeDomainHitRateData', - 'DescribeDomainReqHitRateData', - 'DescribeDomainsUsageByDay', - 'DescribeDomainDetailDataByLayer', - 'DescribeRangeDataByLocateAndIspService', - ], + 'title' => 'Access data', ], [ - 'id' => 171916, - 'title' => 'Source data', + 'children' => ['DescribeDomainSrcBpsData', 'DescribeDomainSrcHttpCodeData', 'DescribeDomainSrcTrafficData', 'DescribeDomainSrcQpsData'], 'type' => 'directory', - 'children' => [ - 'DescribeDomainSrcBpsData', - 'DescribeDomainSrcHttpCodeData', - 'DescribeDomainSrcTrafficData', - 'DescribeDomainSrcQpsData', - ], + 'title' => 'Origin fetch data', ], ], + 'type' => 'directory', + 'title' => 'Resource monitoring', ], [ - 'id' => 159094, - 'title' => 'Real-time Monitoring', - 'type' => 'directory', 'children' => [ [ - 'id' => 171917, - 'title' => 'Visit data', + 'children' => ['DescribeDomainRealTimeTrafficData', 'DescribeDomainRealTimeBpsData', 'DescribeDomainRealTimeHttpCodeData', 'DescribeDomainRealTimeQpsData', 'DescribeDomainRealTimeReqHitRateData', 'DescribeDomainRealTimeByteHitRateData'], 'type' => 'directory', - 'children' => [ - 'DescribeDomainRealTimeTrafficData', - 'DescribeDomainRealTimeBpsData', - 'DescribeDomainRealTimeHttpCodeData', - 'DescribeDomainRealTimeQpsData', - 'DescribeDomainRealTimeReqHitRateData', - 'DescribeDomainRealTimeByteHitRateData', - ], + 'title' => 'Access data', ], [ - 'id' => 171918, - 'title' => 'Source data', + 'children' => ['DescribeDomainRealTimeSrcBpsData', 'DescribeDomainRealTimeSrcHttpCodeData', 'DescribeDomainRealTimeSrcTrafficData'], 'type' => 'directory', - 'children' => [ - 'DescribeDomainRealTimeSrcBpsData', - 'DescribeDomainRealTimeSrcHttpCodeData', - 'DescribeDomainRealTimeSrcTrafficData', - ], + 'title' => 'Origin fetch data', ], ], + 'type' => 'directory', + 'title' => 'Real-time monitoring', ], [ - 'id' => 159128, - 'title' => 'EdgeScript (ES) monitoring', + 'children' => ['DescribeEsExecuteData', 'DescribeEsExceptionData'], 'type' => 'directory', - 'children' => [ - 'DescribeEsExecuteData', - 'DescribeEsExceptionData', - ], + 'title' => 'EdgeScript monitoring', ], ], - ], - [ - 'id' => 159116, - 'title' => 'Resource usage management', 'type' => 'directory', - 'children' => [ - 'DescribeCdnUserBillHistory', - 'DescribeCdnUserBillType', - 'DescribeCdnUserBillPrediction', - 'CreateUserUsageDataExportTask', - 'DescribeUserUsageDataExportTask', - 'DeleteUserUsageDataExportTask', - 'CreateUsageDetailDataExportTask', - 'DescribeUserUsageDetailDataExportTask', - 'DeleteUsageDetailDataExportTask', - 'DescribeDomainMax95BpsData', - 'DescribeDomainUsageData', - 'DescribeCdnUserResourcePackage', - ], + 'title' => 'Monitoring and query', ], [ - 'id' => 159168, - 'title' => 'Log management', + 'children' => ['DescribeCdnUserBillHistory', 'DescribeCdnUserBillType', 'DescribeCdnUserBillPrediction', 'CreateUserUsageDataExportTask', 'DescribeUserUsageDataExportTask', 'DeleteUserUsageDataExportTask', 'DeleteUsageDetailDataExportTask', 'DescribeDomainMax95BpsData', 'DescribeCdnUserResourcePackage'], 'type' => 'directory', - 'children' => [ - [ - 'id' => 159169, - 'title' => 'Log operations', - 'type' => 'directory', - 'children' => [ - 'DeleteRealTimeLogLogstore', - 'CreateRealTimeLogDelivery', - 'ModifyRealtimeLogDelivery', - 'DeleteRealtimeLogDelivery', - 'DisableRealtimeLogDelivery', - 'EnableRealtimeLogDelivery', - 'ListRealtimeLogDelivery', - 'DescribeDomainRealtimeLogDelivery', - 'DescribeRealtimeDeliveryAcc', - 'ListRealtimeLogDeliveryInfos', - 'ListRealtimeLogDeliveryDomains', - ], - ], - [ - 'id' => 159179, - 'title' => 'Offline logs', - 'type' => 'directory', - 'children' => [ - 'DescribeDomainCustomLogConfig', - 'DescribeCustomLogConfig', - 'DescribeCdnDomainLogs', - 'ListDomainsByLogConfigId', - 'ListUserCustomLogConfig', - ], - ], - ], + 'title' => 'Usage query', ], [ - 'id' => 159191, - 'title' => 'Service management', + 'children' => ['DescribeCdnDomainByCertificate', 'DescribeDomainCertificateInfo', 'DescribeCdnCertificateDetail', 'DescribeCdnCertificateList', 'DescribeCdnSSLCertificateList', 'DescribeCdnHttpsDomainList', 'DescribeCertificateInfoByID', 'DescribeUserCertificateExpireCount', 'CreateCdnCertificateSigningRequest', 'SetCdnDomainCSRCertificate', 'SetCdnDomainSMCertificate', 'DescribeCdnSMCertificateList', 'DescribeCdnSMCertificateDetail', 'SetCdnDomainSSLCertificate'], 'type' => 'directory', - 'children' => [ - 'OpenCdnService', - 'DescribeCdnRegionAndIsp', - 'DescribeCdnOrderCommodityCode', - 'DescribeCdnService', - ], - ], - [ - 'id' => 159194, 'title' => 'Certificate management', - 'type' => 'directory', - 'children' => [ - 'DescribeCdnDomainByCertificate', - 'DescribeDomainCertificateInfo', - 'DescribeCdnCertificateDetail', - 'DescribeCdnCertificateList', - 'DescribeCdnSSLCertificateList', - 'DescribeCdnHttpsDomainList', - 'DescribeCertificateInfoByID', - 'DescribeCdnCertificateDetailById', - 'DescribeUserCertificateExpireCount', - 'CreateCdnCertificateSigningRequest', - 'SetCdnDomainCSRCertificate', - 'SetCdnDomainSMCertificate', - 'DescribeCdnSMCertificateList', - 'DescribeCdnSMCertificateDetail', - 'SetCdnDomainSSLCertificate', - ], ], [ - 'id' => 159209, - 'title' => 'Tag management', + 'children' => ['DescribeUserTags'], 'type' => 'directory', - 'children' => [ - 'TagResources', - 'DescribeTagResources', - 'DescribeUserTags', - 'UntagResources', - 'ListTagResources', - ], + 'title' => 'Tag management', ], [ - 'id' => 159214, - 'title' => 'Operations reports', + 'children' => ['CreateCdnSubTask', 'DescribeCdnSubList', 'UpdateCdnSubTask', 'DeleteCdnSubTask', 'DescribeCdnReport', 'DescribeCdnReportList', 'CreateCdnDeliverTask', 'DescribeCdnDeliverList', 'UpdateCdnDeliverTask', 'DeleteCdnDeliverTask'], 'type' => 'directory', - 'children' => [ - 'CreateCdnSubTask', - 'DescribeCdnSubList', - 'UpdateCdnSubTask', - 'DeleteCdnSubTask', - 'DescribeCdnReport', - 'DescribeCdnReportList', - 'CreateCdnDeliverTask', - 'DescribeCdnDeliverList', - 'UpdateCdnDeliverTask', - 'DeleteCdnDeliverTask', - ], + 'title' => 'Operations report', ], [ - 'id' => 169776, - 'title' => 'Auxiliary tool operations', + 'children' => ['DescribeIpInfo', 'DescribeL2VipsByDomain', 'DescribeUserVipsByDomain', 'DescribeIpStatus', 'ListFCTrigger'], 'type' => 'directory', - 'children' => [ - 'DescribeIpInfo', - 'DescribeStagingIp', - 'DescribeL2VipsByDomain', - 'DescribeUserVipsByDomain', - 'DescribeIpStatus', - 'AddFCTrigger', - 'UpdateFCTrigger', - 'DescribeFCTrigger', - 'DeleteFCTrigger', - 'ListFCTrigger', - ], + 'title' => 'Supporting tools', ], [ - 'id' => 159234, - 'title' => 'Security information query', + 'children' => ['DescribeDomainCcActivityLog'], 'type' => 'directory', - 'children' => [ - 'DescribeDomainCcActivityLog', - ], + 'title' => 'Security information query', ], [ - 'id' => 170411, - 'title' => 'Offline in old version', - 'type' => 'directory', 'children' => [ [ - 'id' => 159104, - 'title' => 'Statistics', + 'children' => ['DescribeDomainAverageResponseTime'], 'type' => 'directory', - 'children' => [ - 'DescribeDomainPvData', - 'DescribeDomainUvData', - 'DescribeDomainTopUrlVisit', - 'DescribeDomainTopClientIpVisit', - 'DescribeDomainTopReferVisit', - 'DescribeDomainSrcTopUrlVisit', - 'DescribeTopDomainsByFlow', - 'DescribeDomainRegionData', - 'DescribeDomainISPData', - 'DescribeDomainAverageResponseTime', - ], + 'title' => 'Statistical analysis', ], 'DescribeDomainRealTimeDetailData', - 'DescribeDomainMultiUsageData', 'DescribeUserConfigs', 'SetReqHeaderConfig', ], + 'type' => 'directory', + 'title' => 'Legacy (discontinued)', ], [ - 'id' => 182313, - 'title' => 'Others', - 'type' => 'directory', 'children' => [ - 'ModifyCdnService', - 'DescribeUserCdnStatus', - 'DescribeCdnTypes', - 'ModifyCdnDomainOwner', - 'DescribeCdnConditionIPBInfo', - 'DescribeCdnSecFuncInfo', - 'CheckCdnDomainExist', - 'CheckCdnDomainICP', - 'BatchDescribeCdnIpInfo', - 'DescribeCdnFullDomainsBlockIPHistory', - 'SetCdnFullDomainsBlockIP', - 'DescribeCdnFullDomainsBlockIPConfig', + 'AddFCTrigger', 'BatchDescribeCdnIpInfo', 'CheckCdnDomainExist', 'CheckCdnDomainICP', 'CreateRealTimeLogDelivery', 'CreateUsageDetailDataExportTask', 'DeleteFCTrigger', 'DeleteRealTimeLogLogstore', 'DeleteRealtimeLogDelivery', 'DescribeBlockedRegions', 'DescribeCdnCertificateDetailById', 'DescribeCdnConditionIPBInfo', 'DescribeCdnDiagnoseReport', 'DescribeCdnDomainLogs', 'DescribeCdnFullDomainsBlockIPConfig', 'DescribeCdnFullDomainsBlockIPHistory', 'DescribeCdnOrderCommodityCode', 'DescribeCdnRegionAndIsp', 'DescribeCdnSecFuncInfo', 'DescribeCdnService', + 'DescribeCdnTaskList', 'DescribeCdnTypes', 'DescribeCdnUserConfigs', 'DescribeCdnUserDomainsByFunc', 'DescribeCdnWafDomain', 'DescribeCustomLogConfig', 'DescribeDomainCustomLogConfig', 'DescribeDomainISPData', 'DescribeDomainMultiUsageData', 'DescribeDomainPvData', 'DescribeDomainRealtimeLogDelivery', 'DescribeDomainRegionData', 'DescribeDomainSrcTopUrlVisit', 'DescribeDomainTopClientIpVisit', 'DescribeDomainTopReferVisit', 'DescribeDomainTopUrlVisit', 'DescribeDomainUsageData', 'DescribeDomainUvData', 'DescribeFCTrigger', 'DescribeRealtimeDeliveryAcc', + 'DescribeRefreshQuota', 'DescribeStagingIp', 'DescribeTagResources', 'DescribeTopDomainsByFlow', 'DescribeUserCdnStatus', 'DescribeUserUsageDetailDataExportTask', 'DescribeVerifyContent', 'DisableRealtimeLogDelivery', 'EnableRealtimeLogDelivery', 'GenerateCdnDiagnose', 'ListDomainsByLogConfigId', 'ListRealtimeLogDelivery', 'ListRealtimeLogDeliveryDomains', 'ListRealtimeLogDeliveryInfos', 'ListTagResources', 'ListUserCustomLogConfig', 'ModifyCdnDomainOwner', 'ModifyCdnService', 'ModifyRealtimeLogDelivery', 'OpenCdnService', + 'RefreshObjectCacheByCacheTag', 'RefreshObjectCaches', 'SetCdnFullDomainsBlockIP', 'SetWaitingRoomConfig', 'TagResources', 'UntagResources', 'UpdateFCTrigger', ], + 'title' => 'Others', + 'type' => 'directory', ], ], 'components' => [ @@ -383,15 +141,9 @@ ], 'apis' => [ 'AddCdnDomain' => [ - 'summary' => 'Adds a domain name to accelerate.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'summary' => 'To add an accelerated domain, call `AddCdnDomain`.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -401,9 +153,7 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '111676', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ @@ -411,133 +161,92 @@ 'name' => 'CdnType', 'in' => 'query', 'schema' => [ - 'description' => 'The workload type of the accelerated domain name. Valid values:'."\n" + 'description' => 'The business type of the domain name. Valid values:'."\n" + ."\n" + .'- **web**: images and small files.'."\n" ."\n" - .'* **web**: images and small files'."\n" - .'* **download**: large files'."\n" - .'* **video**: on-demand video and audio streaming'."\n", + .'- **download**: large files.'."\n" + ."\n" + .'- **video**: on-demand video and audio streaming.', + 'enumValueTitles' => ['download' => '', 'web' => '', 'video' => ''], 'type' => 'string', 'required' => true, - 'enumValueTitles' => [ - 'download' => 'download', - 'web' => 'web', - 'video' => 'video', - ], + 'enum' => ['unitcell', 'web', 'download', 'liveStream', 'video', 'app', 'mixed_download'], 'example' => 'web', - 'enum' => [ - 'unitcell', - 'web', - 'download', - 'liveStream', - 'video', - 'app', - ], + 'title' => '', ], ], [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that you want to add to Alibaba Cloud CDN.'."\n" - ."\n" - .'A wildcard domain that starts with a period (.) is supported, such as .example.com.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '.example.com', - ], + 'schema' => ['description' => 'The domain name that you want to add to CDN.'."\n" + ."\n" + .'A wildcard domain name is supported. A wildcard domain name must start with a period (.), for example, .example.com.', 'type' => 'string', 'required' => true, 'example' => '.example.com', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n" - ."\n" - .'If you do not set this parameter, the system uses the ID of the default resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmyuji4b6r4**', - ], + 'schema' => ['description' => 'The ID of the resource group.'."\n" + ."\n" + .'If you do not specify this parameter, the system automatically uses the ID of the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyuji4b6r4**', 'title' => ''], ], [ 'name' => 'Sources', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the addresses of origin servers.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '['."\n" - .' {'."\n" - .' "content": "192.0.2.0",'."\n" - .' "type": "ipaddr",'."\n" - .' "priority": "20",'."\n" - .' "port": 80,'."\n" - .' "weight": "15"'."\n" - .' }'."\n" - .']', - ], + 'schema' => ['description' => 'The addresses of origin servers.', 'type' => 'string', 'required' => true, 'example' => '['."\n" + .' {'."\n" + .' "content": "192.0.2.0",'."\n" + .' "type": "ipaddr",'."\n" + .' "priority": "20",'."\n" + .' "port": 80,'."\n" + .' "weight": "15"'."\n" + .' }'."\n" + .']', 'title' => ''], ], [ 'name' => 'CheckUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL that is used to check the accessibility of the origin server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example.com/test.html', - ], + 'schema' => ['description' => 'The health check URL.', 'type' => 'string', 'required' => false, 'example' => 'www.example.com/test.html', 'title' => ''], ], [ 'name' => 'Scope', 'in' => 'query', - 'schema' => [ - 'description' => 'The acceleration region. Default value: domestic. Valid values:'."\n" - ."\n" - .'* **domestic**: Chinese mainland'."\n" - .'* **overseas**: global (excluding the Chinese mainland)'."\n" - .'* **global**: global'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'domestic', - ], + 'schema' => ['description' => 'The acceleration region. Valid values:'."\n" + ."\n" + .'- **domestic** (default): Chinese mainland only.'."\n" + ."\n" + .'- **overseas**: global (excluding the Chinese mainland).'."\n" + ."\n" + .'- **global**: global.', 'type' => 'string', 'required' => false, 'example' => 'domestic', 'title' => ''], ], [ 'name' => 'TopLevelDomain', 'in' => 'query', - 'schema' => [ - 'description' => 'The top-level domain.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The top-level domain.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ - 'description' => 'Details about the tags. You can specify up to 20 tags.', + 'description' => 'The tags. You can specify a maximum of 20 tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. Valid values of N: **1 to 20**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'env', - ], - 'Value' => [ - 'description' => 'The value of the tag. Valid values of N: **1 to 20**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], + 'Key' => ['description' => 'The key of the tag.', 'type' => 'string', 'required' => false, 'example' => 'env', 'title' => ''], + 'Value' => ['description' => 'The value of the tag.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], ], 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], 'required' => false, 'maxItems' => 21, 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], ], @@ -546,213 +255,227 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'Specified DomainName is malformed.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InvalidCdnType.Malformed', - 'errorMessage' => 'Specified CdnType is malformed.', - ], - [ - 'errorCode' => 'InvalidSources.Malformed', - 'errorMessage' => 'Specified Sources is malformed.', - ], - [ - 'errorCode' => 'InvalidSourceType.Malformed', - 'errorMessage' => 'Specified CdnType is malformed.', - ], - [ - 'errorCode' => 'InvalidSource.Priority.Malformed', - 'errorMessage' => 'The specified Source Priority is invalid.', - ], - [ - 'errorCode' => 'InvalidTypeAndContent.MissMatch', - 'errorMessage' => 'The specified source type does not match the specified source content.', - ], - [ - 'errorCode' => 'InvalidScope.Malformed', - 'errorMessage' => 'Specified Scope is malformed.', - ], - [ - 'errorCode' => 'SourceIp.Exceed', - 'errorMessage' => 'The Certificate you provided is malformed', - ], - [ - 'errorCode' => 'InvalidCertificate', - 'errorMessage' => 'The Certificate you provided is malformed', - ], - [ - 'errorCode' => 'InvalidCertificate.TooLong', - 'errorMessage' => 'The Certificate you provided is over the max length', - ], - [ - 'errorCode' => 'InnerAddDomainDenied', - 'errorMessage' => 'Your account has not bind aoneId, can not add domain.', - ], - [ - 'errorCode' => 'CheckSourceHealthFailed', - 'errorMessage' => 'sources ip or source domain check health failed,please input right source.', - ], - [ - 'errorCode' => 'ExtensiveAndAllBothExist', - 'errorMessage' => 'Extensive domain and the domain begins with all. can not exist at the same time.', - ], - [ - 'errorCode' => 'CdnTypeNotSupportExtensiveDomain', - 'errorMessage' => 'Extensive domain not supported for this cdn type.', - ], - [ - 'errorCode' => 'ExtensiveAndSpecificDomainConflict', - 'errorMessage' => 'The number of wildcard domain names exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidResourceGroupId.Malformed', - 'errorMessage' => 'Specified ResourceGroupId is malformed.', - ], - [ - 'errorCode' => 'DomainReserved', - 'errorMessage' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', - ], - [ - 'errorCode' => 'InvalidDomainNameLevel', - 'errorMessage' => 'Domain name suffixed with alicdn.com only support third level.', - ], - [ - 'errorCode' => 'InvalidTopLevelDomain.Malformed', - 'errorMessage' => 'Specified TopLevelDomain is malformed.', - ], - [ - 'errorCode' => 'TopLevelDomain.NotFound', - 'errorMessage' => 'TopLevelDomain is not exist.', - ], - [ - 'errorCode' => 'EntityNotExists.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'EntityNotExist.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'InvalidStatus.ResourceGroup', - 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', - ], - [ - 'errorCode' => 'NotInternationRealIdentity', - 'errorMessage' => 'You need to do real name authentication when you use Chinese mainland resources.', - ], - [ - 'errorCode' => 'Abs.CheckUrl.Malformed', - 'errorMessage' => 'The CheckUrl you provided is malformed.', - ], - [ - 'errorCode' => 'RecordCheckNotAvailable', - 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', - ], - [ - 'errorCode' => 'IcpBlack', - 'errorMessage' => 'The domain is on the ICP blacklist.', - ], - [ - 'errorCode' => 'IspBlack', - 'errorMessage' => 'The domain is on the ISP blacklist.', - ], - [ - 'errorCode' => 'DomainOwnerVerifyFail', - 'errorMessage' => 'Owner verification of the root domain failed.', - ], - [ - 'errorCode' => 'TopLevelDomain.Mismatch', - 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', - ], - [ - 'errorCode' => 'DomainInBlacklist', - 'errorMessage' => 'The domain is in the blacklist.', - ], - [ - 'errorCode' => 'InvalidTagKey', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'InvalidTagValue', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'InvalidTagKey.Repeated', - 'errorMessage' => 'The specified TagKey is duplicated.', - ], - [ - 'errorCode' => 'InvalidTag', - 'errorMessage' => 'The specified Tag is Invalid.', - ], - [ - 'errorCode' => 'InvalidTagKey.OverLimit', - 'errorMessage' => 'The number of Tag can not over limit 20.', - ], - [ - 'errorCode' => 'SourceInBlacklist', - 'errorMessage' => 'Source is in the blacklist.', - ], - [ - 'errorCode' => 'ReservedTagKey', - 'errorMessage' => 'The tag key is used internally as a reserved field and is not allowed to be used.', - ], - [ - 'errorCode' => 'DomainOverLimit', - 'errorMessage' => 'The maximum number of domains is exceeded.', - ], - [ - 'errorCode' => 'DomainInRiskList', - 'errorMessage' => 'The domain you added may be at risk. If you have any questions, please submit a ticket.', - ], - [ - 'errorCode' => 'RegionNoResource', - 'errorMessage' => 'Resource allocation failed. Please submit a work order to contact customer service.', - ], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified DomainName is malformed.', 'description' => 'The specified DomainName parameter is invalid or wildcard domain names cannot be batch added.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', 'description' => 'You must specify the cdnType parameter.'], + ['errorCode' => 'InvalidCdnType.Malformed', 'errorMessage' => 'Specified CdnType is malformed.', 'description' => 'The CdnType parameter is set to an invalid value. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content.'], + ['errorCode' => 'InvalidSources.Malformed', 'errorMessage' => 'Specified Sources is malformed.', 'description' => 'The specified origin address is invalid.'], + ['errorCode' => 'InvalidSourceType.Malformed', 'errorMessage' => 'Specified CdnType is malformed.', 'description' => 'The specified CdnType parameter is invalid.'], + ['errorCode' => 'InvalidSource.Priority.Malformed', 'errorMessage' => 'The specified Source Priority is invalid.', 'description' => ''], + ['errorCode' => 'InvalidTypeAndContent.MissMatch', 'errorMessage' => 'The specified source type does not match the specified source content.', 'description' => ''], + ['errorCode' => 'InvalidScope.Malformed', 'errorMessage' => 'Specified Scope is malformed.', 'description' => 'The specified Scope parameter is invalid.'], + ['errorCode' => 'SourceIp.Exceed', 'errorMessage' => 'The Certificate you provided is malformed', 'description' => 'The specified certificate format is invalid.'], + ['errorCode' => 'InvalidCertificate', 'errorMessage' => 'The Certificate you provided is malformed', 'description' => 'The specified certificate format is invalid.'], + ['errorCode' => 'InvalidCertificate.TooLong', 'errorMessage' => 'The Certificate you provided is over the max length', 'description' => 'Certificate and private key length exceeds the limit'], + ['errorCode' => 'InnerAddDomainDenied', 'errorMessage' => 'Your account has not bind aoneId, can not add domain.', 'description' => 'Your account is not bound to aoneId and cannot add a domain name.'], + ['errorCode' => 'CheckSourceHealthFailed', 'errorMessage' => 'sources ip or source domain check health failed,please input right source.', 'description' => 'The origin IP address or domain name is invalid. Specify a valid value and try again.'], + ['errorCode' => 'ExtensiveAndAllBothExist', 'errorMessage' => 'Extensive domain and the domain begins with all. can not exist at the same time.', 'description' => 'Wildcard domain names and domain names that start with "all." cannot both exist.'], + ['errorCode' => 'CdnTypeNotSupportExtensiveDomain', 'errorMessage' => 'Extensive domain not supported for this cdn type.', 'description' => 'The specified CdnType parameter is not supported for wildcard domain names. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content.'], + ['errorCode' => 'ExtensiveAndSpecificDomainConflict', 'errorMessage' => 'The number of wildcard domain names exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidResourceGroupId.Malformed', 'errorMessage' => 'Specified ResourceGroupId is malformed.', 'description' => 'Format of parameter ResourceGroupId is incorrect.'], + ['errorCode' => 'DomainReserved', 'errorMessage' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', 'description' => ''], + ['errorCode' => 'InvalidDomainNameLevel', 'errorMessage' => 'Domain name suffixed with alicdn.com only support third level.', 'description' => 'alicdn.com supports up to three domain levels for wildcard domain names.'], + ['errorCode' => 'InvalidTopLevelDomain.Malformed', 'errorMessage' => 'Specified TopLevelDomain is malformed.', 'description' => 'The specified TopLevelDomain parameter is invalid.'], + ['errorCode' => 'TopLevelDomain.NotFound', 'errorMessage' => 'TopLevelDomain is not exist.', 'description' => 'The specified TopLevelDomain parameter does not exist.'], + ['errorCode' => 'EntityNotExists.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified ResourceGroup parameter does not exist.'], + ['errorCode' => 'EntityNotExist.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified resource group does not exist.'], + ['errorCode' => 'InvalidStatus.ResourceGroup', 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', 'description' => 'This operation is not supported while the resource group is in the current state.'], + ['errorCode' => 'NotInternationRealIdentity', 'errorMessage' => 'You need to do real name authentication when you use Chinese mainland resources.', 'description' => 'You have not passed real-name verification. According to the regulations issued by MIIT, you must pass real-name verification if you want to purchase IT services in the Chinese mainland. '], + ['errorCode' => 'Abs.CheckUrl.Malformed', 'errorMessage' => 'The CheckUrl you provided is malformed.', 'description' => ''], + ['errorCode' => 'RecordCheckNotAvailable', 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', 'description' => ''], + ['errorCode' => 'IcpBlack', 'errorMessage' => 'The domain is on the ICP blacklist.', 'description' => ''], + ['errorCode' => 'IspBlack', 'errorMessage' => 'The domain is on the ISP blacklist.', 'description' => ''], + ['errorCode' => 'DomainOwnerVerifyFail', 'errorMessage' => 'Owner verification of the root domain failed.', 'description' => 'The first time a domain name is added to Alibaba Cloud CDN, you must prove the ownership of the domain name. You must add a DNS record or a verification file for the domain name before it can be added to Alibaba Cloud CDN.'], + ['errorCode' => 'TopLevelDomain.Mismatch', 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', 'description' => 'The top-level domain name does not match the domain name type.'], + ['errorCode' => 'DomainInBlacklist', 'errorMessage' => 'The domain is in the blacklist.', 'description' => 'The domain name is in the blacklist.'], + ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => 'The parameter TagKey is invalid.'], + ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'InvalidTagKey.Repeated', 'errorMessage' => 'The specified TagKey is duplicated.', 'description' => ''], + ['errorCode' => 'InvalidTag', 'errorMessage' => 'The specified Tag is Invalid.', 'description' => ''], + ['errorCode' => 'InvalidTagKey.OverLimit', 'errorMessage' => 'The number of Tag can not over limit 20.', 'description' => ''], + ['errorCode' => 'SourceInBlacklist', 'errorMessage' => 'Source is in the blacklist.', 'description' => 'The origin server is in the blacklist.'], + ['errorCode' => 'ReservedTagKey', 'errorMessage' => 'The tag key is used internally as a reserved field and is not allowed to be used.', 'description' => 'The tag key is used as an internal reserved field and is not allowed.'], + ['errorCode' => 'DomainOverLimit', 'errorMessage' => 'The maximum number of domains is exceeded.', 'description' => 'The number of domain names exceeds the limit.'], + ['errorCode' => 'DomainInRiskList', 'errorMessage' => 'The domain you added may be at risk. If you have any questions, please submit a ticket.', 'description' => 'The domain name you added may be at risk. If you have any questions, please submit a work order.'], + ['errorCode' => 'RegionNoResource', 'errorMessage' => 'Resource allocation failed. Please submit a work order to contact customer service.', 'description' => 'Resource allocation failed. Please submit a work order to contact customer service.'], ], 403 => [ - [ - 'errorCode' => 'AccountException', - 'errorMessage' => 'Account exception. Please open ticket to make an appeal.', - ], + ['errorCode' => 'AccountException', 'errorMessage' => 'Account exception. Please open ticket to make an appeal.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<AddCdnDomainResponse>\\n <RequestId>15C66C7B-671A-4297-9187-2C4477247A74</RequestId>\\n</AddCdnDomainResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', 'title' => 'AddCdnDomain', - 'description' => '* You must activate Alibaba Cloud CDN before you can add a domain name to it. For more information, see [Activate Alibaba Cloud CDN](~~27272~~).'."\n" - .'* The domain name that you want to add has a valid Internet Content Provider (ICP) number.'."\n" - .'* You can add only one domain name to Alibaba Cloud CDN in each call. Each Alibaba Cloud account can add a maximum of 50 domain names to Alibaba Cloud CDN.'."\n" - .'* If the content of the origin server is not stored on Alibaba Cloud, the content must be reviewed. The review will be completed by the end of the next business day after you submit the application.'."\n" - .'* You can call this operation up to 30 times per second per account.', + 'description' => '- Before adding an accelerated domain name, activate the CDN service. For details, see [Activate CDN service](~~27272~~).'."\n" + ."\n" + .'- If the acceleration region is set to Chinese mainland only or global, the accelerated domain name must have a valid ICP filing.'."\n" + ."\n" + .'- You can add only one accelerated domain name at a time. By default, each user can add up to 50 accelerated domain names. To add more, submit a request in Quota Center.'."\n" + ."\n" + .'- Each user can call this API up to 100 times per hour.'."\n" + ."\n" + .'## Notes'."\n" + ."\n" + .'- After adding a domain name using the API, allow 3 to 5 minutes for it to take effect. Wait until the domain status is `online` before applying any further configurations.', + 'requestParamsDescription' => 'The following table describes the fields for the `Sources` parameter.'."\n" + ."\n" + .'| Parameter | Type | Required | Description |'."\n" + .'| --------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| type | String | Yes | The origin type. Valid values:<br>`ipaddr`: An IP address.<br>`domain`: A domain name.<br>`oss`: An OSS bucket.<br>`fc_domain`: A Function Compute service. |'."\n" + .'| content | String | Yes | The origin address. This can be an IP address or a domain name. |'."\n" + .'| port | Integer | No | The port of the origin server.<br>You can specify port 80, a custom port, or port 443 for HTTPS back-to-origin. The default is 80. |'."\n" + .'| priority | String | No | The priority of the origin.<br>Valid values are 20 (primary origin) and 30 (secondary origin). The default is 20. |'."\n" + .'| weight | String | No | The back-to-origin weight. The value must be an integer from 1 to 100. The default is 10. |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:03:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:52:50.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:52:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-19T05:41:02.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-11-26T02:48:47.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-11-15T06:10:51.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-03T06:21:50.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-12T02:36:05.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-08-08T09:10:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-27T03:34:47.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-01-04T03:16:13.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2022-11-23T02:23:21.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:AddCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], ], - 'BatchAddCdnDomain' => [ - 'summary' => 'Adds one or more domain names to Alibaba Cloud CDN. You can add a maximum of 50 domain names at a time.', - 'methods' => [ - 'get', - 'post', + 'AddFCTrigger' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'http', - 'https', + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ + [ + 'name' => 'TriggerARN', + 'in' => 'query', + 'schema' => ['description' => 'The trigger that corresponds to the Function Compute service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger'], + ], + [ + 'name' => 'EventMetaName', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the event.'."\n", 'type' => 'string', 'required' => true, 'example' => 'LogFileCreated'], + ], + [ + 'name' => 'EventMetaVersion', + 'in' => 'formData', + 'schema' => ['description' => 'The version of the event.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.0.0'], + ], + [ + 'name' => 'SourceARN', + 'in' => 'formData', + 'schema' => ['description' => 'The resources and filters for event listening.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:cdn:*:1234567890:domain/example.com'], + ], + [ + 'name' => 'FunctionARN', + 'in' => 'formData', + 'schema' => ['description' => 'The feature trigger.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:fc:1223455566666:123:services/myservice/functions/myfunction'], + ], + [ + 'name' => 'RoleARN', + 'in' => 'formData', + 'schema' => ['description' => 'The assigned Resource Access Management (RAM) role.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole'], + ], + [ + 'name' => 'Notes', + 'in' => 'formData', + 'schema' => ['description' => 'The remarks.'."\n", 'type' => 'string', 'required' => true, 'example' => 'test'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90'], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'NotFound.EventMeta', 'errorMessage' => 'EventMeta not found.', 'description' => ''], + ['errorCode' => 'Duplicated.FCTrigger', 'errorMessage' => 'FCTrigger has already existed.', 'description' => ''], + ['errorCode' => 'InvalidParameter.TriggerARN', 'errorMessage' => 'The specified parameter TriggerARN is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SourceARN', 'errorMessage' => 'The specified parameter SourceARN is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FunctionARN', 'errorMessage' => 'The specified parameter FunctionARN is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RoleARN', 'errorMessage' => 'The specified parameter RoleARN is not valid.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'PermissionDeny', 'errorMessage' => 'No permission to operate this FCTrigger.', 'description' => ''], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90</RequestId>","errorExample":""}]', + 'title' => 'AddFCTrigger', + 'summary' => 'Adds a Function Compute trigger.', + 'requestParamsDescription' => '## TriggerARN'."\n" + ."\n" + .'TriggerARN format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + ."\n" + .'* Filter indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" + .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by `example.com` if Filter is set to `domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyundoc.com}`.'."\n" + .'* Separate filters with forward slashes (/). The forward slashes indicate the AND logic. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddFCTrigger'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:AddFCTrigger', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'BatchAddCdnDomain' => [ + 'summary' => 'Use the `BatchAddCdnDomain` operation to add up to 50 accelerated domain names in a single request.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -762,97 +485,64 @@ 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '111681', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'CdnType', 'in' => 'query', - 'schema' => [ - 'description' => 'The workload type of the domain name to accelerate. Valid values:'."\n" - ."\n" - .'* **web**: images and small files'."\n" - .'* **download**: large files'."\n" - .'* **video**: on-demand video and audio streaming'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'web', - ], + 'schema' => ['description' => 'The service type of the accelerated domain. Valid values:'."\n" + ."\n" + .'- **web**: small files and images.'."\n" + ."\n" + .'- **download**: large file downloads.'."\n" + ."\n" + .'- **video**: VOD acceleration.', 'type' => 'string', 'required' => true, 'example' => 'web', 'title' => ''], ], [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain names that you want to add to Alibaba Cloud CDN. Separate domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com,aliyundoc.com', - ], + 'schema' => ['description' => 'The domain names to add to CDN. Separate multiple domains with a comma.', 'type' => 'string', 'required' => true, 'example' => 'example.com,aliyundoc.com', 'title' => ''], ], [ 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. If you do not specify a value for this parameter, the system uses the ID of the default resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmyuji4b6r4**', - ], + 'schema' => ['description' => 'The ID of the resource group. If you omit this parameter, the system automatically uses the ID of the default resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyuji4b6r4**', 'title' => ''], ], [ 'name' => 'Sources', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the addresses of origin servers.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '['."\n" - .' {'."\n" - .' "content": "192.0.2.0",'."\n" - .' "type": "ipaddr",'."\n" - .' "priority": "20",'."\n" - .' "port": 80,'."\n" - .' "weight": "15"'."\n" - .' }'."\n" - .']', - ], + 'schema' => ['description' => 'A list of origins.', 'type' => 'string', 'required' => true, 'example' => '['."\n" + .' {'."\n" + .' "content": "192.0.2.0",'."\n" + .' "type": "ipaddr",'."\n" + .' "priority": "20",'."\n" + .' "port": 80,'."\n" + .' "weight": "15"'."\n" + .' }'."\n" + .']', 'title' => ''], ], [ 'name' => 'CheckUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL that is used for health checks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'url', - ], + 'schema' => ['description' => 'The health check URL.', 'type' => 'string', 'required' => false, 'example' => 'url', 'title' => ''], ], [ 'name' => 'Scope', 'in' => 'query', - 'schema' => [ - 'description' => 'The acceleration region. Default value: domestic. Valid values:'."\n" - ."\n" - .'* **domestic**: Chinese mainland'."\n" - .'* **overseas**: global (excluding the Chinese mainland)'."\n" - .'* **global**: global'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'domestic', - ], + 'schema' => ['description' => 'The service area. Valid values:'."\n" + ."\n" + .'- **domestic**: Chinese mainland only.'."\n" + ."\n" + .'- **overseas**: Global (excluding Chinese mainland).'."\n" + ."\n" + .'- **global**: Global.', 'type' => 'string', 'required' => false, 'example' => 'domestic', 'title' => ''], ], [ 'name' => 'TopLevelDomain', 'in' => 'query', - 'schema' => [ - 'description' => 'The top-level domain.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The root domain name, such as example.com.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -860,176 +550,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', - ], + 'RequestId' => ['description' => 'The unique request ID.', 'type' => 'string', 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'Specified DomainName is malformed.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InvalidCdnType.Malformed', - 'errorMessage' => 'Specified CdnType is malformed.', - ], - [ - 'errorCode' => 'InvalidSources.Malformed', - 'errorMessage' => 'Specified Sources is malformed.', - ], - [ - 'errorCode' => 'InvalidSourceType.Malformed', - 'errorMessage' => 'Specified CdnType is malformed.', - ], - [ - 'errorCode' => 'InvalidSource.Priority.Malformed', - 'errorMessage' => 'The specified Source Priority is invalid.', - ], - [ - 'errorCode' => 'InvalidTypeAndContent.MissMatch', - 'errorMessage' => 'InvalidTypeAndContent.MissMatch', - ], - [ - 'errorCode' => 'InvalidScope.Malformed', - 'errorMessage' => 'Specified Scope is malformed.', - ], - [ - 'errorCode' => 'SourceIp.Exceed', - 'errorMessage' => 'The Certificate you provided is malformed', - ], - [ - 'errorCode' => 'InvalidCertificate', - 'errorMessage' => 'The Certificate you provided is malformed', - ], - [ - 'errorCode' => 'InvalidCertificate.TooLong', - 'errorMessage' => 'The Certificate you provided is over the max length', - ], - [ - 'errorCode' => 'InnerAddDomainDenied', - 'errorMessage' => 'Your account has not bind aoneId, can not add domain.', - ], - [ - 'errorCode' => 'CheckSourceHealthFailed', - 'errorMessage' => 'sources ip or source domain check health failed,please input right source.', - ], - [ - 'errorCode' => 'ExtensiveAndAllBothExist', - 'errorMessage' => 'Extensive domain and the domain begins with all. can not exist at the same time.', - ], - [ - 'errorCode' => 'CdnTypeNotSupportExtensiveDomain', - 'errorMessage' => 'Extensive domain not supported for this cdn type.', - ], - [ - 'errorCode' => 'ExtensiveAndSpecificDomainConflict', - 'errorMessage' => 'The number of wildcard domain names exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidResourceGroupId.Malformed', - 'errorMessage' => 'Specified ResourceGroupId is malformed.', - ], - [ - 'errorCode' => 'DomainReserved', - 'errorMessage' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', - ], - [ - 'errorCode' => 'InvalidDomainNameLevel', - 'errorMessage' => 'Domain name suffixed with alicdn.com only support third level.', - ], - [ - 'errorCode' => 'InvalidTopLevelDomain.Malformed', - 'errorMessage' => 'Specified TopLevelDomain is malformed.', - ], - [ - 'errorCode' => 'TopLevelDomain.NotFound', - 'errorMessage' => 'TopLevelDomain is not exist.', - ], - [ - 'errorCode' => 'EntityNotExists.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'EntityNotExist.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'InvalidStatus.ResourceGroup', - 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', - ], - [ - 'errorCode' => 'NotInternationRealIdentity', - 'errorMessage' => 'You need to do real name authentication when you use Chinese mainland resources.', - ], - [ - 'errorCode' => 'RecordCheckNotAvailable', - 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', - ], - [ - 'errorCode' => 'IcpBlack', - 'errorMessage' => 'The domain is on the ICP blacklist.', - ], - [ - 'errorCode' => 'IspBlack', - 'errorMessage' => 'The domain is on the ISP blacklist.', - ], - [ - 'errorCode' => 'DomainOwnerVerifyFail', - 'errorMessage' => 'Owner verification of the root domain failed.', - ], - [ - 'errorCode' => 'TopLevelDomain.Mismatch', - 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', - ], - [ - 'errorCode' => 'DomainOverLimit', - 'errorMessage' => 'The maximum number of domains is exceeded.', - ], - [ - 'errorCode' => 'DomainInRiskList', - 'errorMessage' => 'The domain you added may be at risk. If you have any questions, please submit a ticket.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<BatchAddCdnDomainResponse>\\r\\n\\t<RequestId>15C66C7B-671A-4297-9187-2C4477247A74</RequestId>\\r\\n</BatchAddCdnDomainResponse>","errorExample":""}]', + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'Specified DomainName is malformed.', 'description' => 'The specified DomainName parameter is invalid or wildcard domain names cannot be batch added.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', 'description' => 'You must specify the cdnType parameter.'], + ['errorCode' => 'InvalidCdnType.Malformed', 'errorMessage' => 'Specified CdnType is malformed.', 'description' => 'The CdnType parameter is set to an invalid value. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content.'], + ['errorCode' => 'InvalidSources.Malformed', 'errorMessage' => 'Specified Sources is malformed.', 'description' => 'The specified origin address is invalid.'], + ['errorCode' => 'InvalidSourceType.Malformed', 'errorMessage' => 'Specified CdnType is malformed.', 'description' => 'The specified CdnType parameter is invalid.'], + ['errorCode' => 'InvalidSource.Priority.Malformed', 'errorMessage' => 'The specified Source Priority is invalid.', 'description' => ''], + ['errorCode' => 'InvalidTypeAndContent.MissMatch', 'errorMessage' => 'InvalidTypeAndContent.MissMatch', 'description' => ''], + ['errorCode' => 'InvalidScope.Malformed', 'errorMessage' => 'Specified Scope is malformed.', 'description' => 'The specified Scope parameter is invalid.'], + ['errorCode' => 'SourceIp.Exceed', 'errorMessage' => 'The Certificate you provided is malformed', 'description' => 'The specified certificate format is invalid.'], + ['errorCode' => 'InvalidCertificate', 'errorMessage' => 'The Certificate you provided is malformed', 'description' => 'The specified certificate format is invalid.'], + ['errorCode' => 'InvalidCertificate.TooLong', 'errorMessage' => 'The Certificate you provided is over the max length', 'description' => 'Certificate and private key length exceeds the limit'], + ['errorCode' => 'InnerAddDomainDenied', 'errorMessage' => 'Your account has not bind aoneId, can not add domain.', 'description' => 'Your account is not bound to aoneId and cannot add a domain name.'], + ['errorCode' => 'CheckSourceHealthFailed', 'errorMessage' => 'sources ip or source domain check health failed,please input right source.', 'description' => 'The origin IP address or domain name is invalid. Specify a valid value and try again.'], + ['errorCode' => 'ExtensiveAndAllBothExist', 'errorMessage' => 'Extensive domain and the domain begins with all. can not exist at the same time.', 'description' => 'Wildcard domain names and domain names that start with "all." cannot both exist.'], + ['errorCode' => 'CdnTypeNotSupportExtensiveDomain', 'errorMessage' => 'Extensive domain not supported for this cdn type.', 'description' => 'The specified CdnType parameter is not supported for wildcard domain names. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content.'], + ['errorCode' => 'ExtensiveAndSpecificDomainConflict', 'errorMessage' => 'The number of wildcard domain names exceeds the limit.', 'description' => ''], + ['errorCode' => 'InvalidResourceGroupId.Malformed', 'errorMessage' => 'Specified ResourceGroupId is malformed.', 'description' => 'Format of parameter ResourceGroupId is incorrect.'], + ['errorCode' => 'DomainReserved', 'errorMessage' => 'The root domain of your domain is reserved by another account. Submit a ticket to contact customer support.', 'description' => ''], + ['errorCode' => 'InvalidDomainNameLevel', 'errorMessage' => 'Domain name suffixed with alicdn.com only support third level.', 'description' => 'alicdn.com supports up to three domain levels for wildcard domain names.'], + ['errorCode' => 'InvalidTopLevelDomain.Malformed', 'errorMessage' => 'Specified TopLevelDomain is malformed.', 'description' => 'The specified TopLevelDomain parameter is invalid.'], + ['errorCode' => 'TopLevelDomain.NotFound', 'errorMessage' => 'TopLevelDomain is not exist.', 'description' => 'The specified TopLevelDomain parameter does not exist.'], + ['errorCode' => 'EntityNotExists.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified ResourceGroup parameter does not exist.'], + ['errorCode' => 'EntityNotExist.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified resource group does not exist.'], + ['errorCode' => 'InvalidStatus.ResourceGroup', 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', 'description' => 'This operation is not supported while the resource group is in the current state.'], + ['errorCode' => 'NotInternationRealIdentity', 'errorMessage' => 'You need to do real name authentication when you use Chinese mainland resources.', 'description' => 'You have not passed real-name verification. According to the regulations issued by MIIT, you must pass real-name verification if you want to purchase IT services in the Chinese mainland. '], + ['errorCode' => 'RecordCheckNotAvailable', 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', 'description' => ''], + ['errorCode' => 'IcpBlack', 'errorMessage' => 'The domain is on the ICP blacklist.', 'description' => ''], + ['errorCode' => 'IspBlack', 'errorMessage' => 'The domain is on the ISP blacklist.', 'description' => ''], + ['errorCode' => 'DomainOwnerVerifyFail', 'errorMessage' => 'Owner verification of the root domain failed.', 'description' => 'The first time a domain name is added to Alibaba Cloud CDN, you must prove the ownership of the domain name. You must add a DNS record or a verification file for the domain name before it can be added to Alibaba Cloud CDN.'], + ['errorCode' => 'TopLevelDomain.Mismatch', 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', 'description' => 'The top-level domain name does not match the domain name type.'], + ['errorCode' => 'DomainOverLimit', 'errorMessage' => 'The maximum number of domains is exceeded.', 'description' => 'The number of domain names exceeds the limit.'], + ['errorCode' => 'DomainInRiskList', 'errorMessage' => 'The domain you added may be at risk. If you have any questions, please submit a ticket.', 'description' => 'The domain name you added may be at risk. If you have any questions, please submit a work order.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', 'title' => 'BatchAddCdnDomain', - 'description' => '* You must activate Alibaba Cloud CDN before you can add a domain name to it. For more information, see [Activate Alibaba Cloud CDN](~~27272~~).'."\n" - .'* If the acceleration region is Chinese Mainland Only or Global, you must apply for an ICP filing for the domain name.'."\n" - .'* You can specify multiple domain names and separate them with commas (,). You can specify at most 50 domain names in each call.'."\n" - .'* For more information, see [Add a domain name](~~122181~~).'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n", - 'requestParamsDescription' => 'The following table describes the fields in the Sources parameter.'."\n" + 'description' => '- You must enable the CDN service before adding an accelerated domain name. For details, see [Enable CDN service](~~27272~~).'."\n" ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|type|String|Yes|The type of the origin server.ipaddr: an origin IP addressdomain: an origin domain nameoss: the domain name of an Object Storage Service (OSS) bucketfc\\_domain: a Function Compute domain name|'."\n" - .'|content|String|Yes|The address of the origin server. You can specify an IP address or a domain name.|'."\n" - .'|port|Integer|No|You can specify port 443, port 80, or a custom port. Default value: 80. If you specify port 443, CDN communicates with the origin server over HTTPS.|'."\n" - .'|priority|String|No|The priority of the origin server if multiple origin servers are specified. Valid values: 20 and 30. Default value: 20. A value of 20 specifies that the origin is a primary origin. A value of 30 specifies that the origin is a secondary origin.|'."\n" - .'|weight|String|No|The weight of the origin server if multiple origin servers are specified. You must specify a value that is less than 100. Default value: 10.|', + .'- If you select Chinese mainland or Global as the acceleration region, the accelerated domain name must have an ICP filing.'."\n" + ."\n" + .'- You can query up to 50 domain names per call. To query multiple domain names, separate them with a comma (,).'."\n" + ."\n" + .'- Each user can call this operation up to 100 times per hour.', + 'requestParamsDescription' => 'The following table describes the fields in `Sources`.'."\n" + ."\n" + .'| Parameter | Type | Required | Description |'."\n" + .'| --------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| type | String | Yes | The type of the origin. Valid values:<br>`ipaddr`: an IP origin.<br>`domain`: a domain name origin.<br>`oss`: an OSS Bucket origin.<br>`fc_domain`: a Function Compute origin. |'."\n" + .'| content | String | Yes | The IP address or domain name of the origin. |'."\n" + .'| port | Integer | No | The port of the origin. Options include 443 for HTTPS origin-pull, 80 (default), or a custom port number. |'."\n" + .'| priority | String | No | The origin priority. Use `20` for a primary origin (default) and `30` for a backup origin. |'."\n" + .'| weight | String | No | The origin weight. Value range: 1 to 100. Default value: 10. |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCdnDomain' => [ - 'summary' => 'Removes an accelerated domain name from Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-09-03T06:21:50.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-01-04T02:51:15.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2022-11-15T02:39:14.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:BatchAddCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/*'], + ], + ], + ], ], + ], + 'BatchDeleteCdnDomainConfig' => [ + 'summary' => 'Deletes configurations for multiple accelerated domain names.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1038,21 +652,23 @@ 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'delete', - 'abilityTreeCode' => '111702', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'abilityTreeCode' => '111682', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'DomainNames', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name that you want to remove. You can specify only one domain name in each call.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain names whose configurations you want to delete. Separate multiple domain names with a comma (,). Note the following limits:'."\n" + ."\n" + .'- You can specify up to 20 domain names in each request.'."\n" + ."\n" + .'- The number of domain names multiplied by the number of feature names cannot exceed 50.', 'type' => 'string', 'required' => true, 'example' => 'example.com,example.org', 'title' => ''], + ], + [ + 'name' => 'FunctionNames', + 'in' => 'query', + 'schema' => ['description' => 'The feature names that you want to delete. Separate multiple feature names with a comma (,). You can specify up to 50 feature names in each request. For more information, see [Parameters for configuring features for domain names](~~388460~~).', 'type' => 'string', 'required' => true, 'example' => 'referer_white_list_set,https_force', 'title' => ''], ], ], 'responses' => [ @@ -1060,186 +676,487 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => 'The response parameters.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], - [ - 'errorCode' => 'RewriteHostRely', - 'errorMessage' => 'Domain name is configured as rewrite host by others.', - ], - [ - 'errorCode' => 'InvalidDomain.BelongToConfigGroup', - 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', - ], + ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''], + ['errorCode' => 'DeleteFunctionFailed', 'errorMessage' => 'Batch delete functions failed.', 'description' => ''], + ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', 'description' => ''], + ['errorCode' => 'EdgeScripOptionsHasInnerConfig', 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'The extension has a background configuration or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => 'JavaScript rules are not supported. For more information, submit a ticket.'], + ['errorCode' => 'InvalidRule.Malformed ', 'errorMessage' => 'Check rules error: %s', 'description' => ''], + ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.'], ], - 403 => [ - [ - 'errorCode' => 'OperationDenied', - 'errorMessage' => 'You do not have access to this operation.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'BatchDeleteCdnDomainConfig', + 'description' => '- The call frequency is limited to 30 calls per second per user.', + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:03:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:52:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-05-09T02:27:32.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDeleteCdnDomainConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:BatchDeleteCdnDomainConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DeleteCdnDomainResponse>\\t\\r\\n <RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>\\r\\n</DeleteCdnDomainResponse>","errorExample":""}]', - 'title' => 'DeleteCdnDomain', - 'description' => '* We recommend that you add an A record for the domain name in the system of your DNS service provider before you remove the domain name from Alibaba Cloud CDN. Otherwise, the domain name may become inaccessible. Proceed with caution.'."\n" - .'* After you successfully call the DeleteCdnDomain operation, all records of the removed domain name are deleted. If you need to only disable the domain name, we recommend that you call the StopCdnDomain operation.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', 'extraInfo' => ' ', ], - 'DescribeCdnDeletedDomains' => [ - 'summary' => 'Queries the domain names that are deleted from your account.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BatchDescribeCdnIpInfo' => [ + 'summary' => 'Queries whether one or more IP addresses are assigned to Alibaba Cloud CDN.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111723', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '156304', + 'abilityTreeNodes' => ['FEATUREcdnNSUDKT'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PageNumber', + 'name' => 'IpAddrList', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Valid values: **1** to **100000**. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100000', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The list of IP addresses to query. Separate IP addresses with commas (,). You can specify up to 20 IP addresses at a time.'."\n" + ."\n" + .'> - Example of an IPv4 address: 192.0.2.1'."\n" + .'>'."\n" + .'> - Example of an IPv6 address: 2001:db8:ffff:ffff:ffff:\\*\\*\\*\\*:ffff.', 'type' => 'string', 'required' => true, 'example' => '111.XXX.XXX.230,47.XXX.XXX.243', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Language', 'in' => 'query', 'schema' => [ - 'description' => 'The number of domain names to return per page. Valid values: an integer between **1** and **500**. Default value: **20**.'."\n", - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The language of the query results. Valid values:'."\n" + ."\n" + .'- **zh** (default): Simplified Chinese.'."\n" + ."\n" + .'- **en**: English.', + 'enumValueTitles' => ['en' => 'en', 'zh' => 'zh'], + 'type' => 'string', 'required' => false, - 'maximum' => '500', - 'minimum' => '1', - 'example' => '5', - 'default' => '20', + 'example' => 'en', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'AA75AADB-5E25-4970-B480-EAA1F5658483', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page, which is the same as the **PageNumber** parameter in request parameters.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of domain names returned per page, which is the same as the **PageSize** parameter in request parameters.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'TotalCount' => [ - 'description' => 'The total number of domain names returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '55ADD936-763F-5E1A-BF54-2EA3F6E94A52'], + 'IpInfoList' => [ + 'description' => 'The results about IP addresses returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'IpAddress' => ['description' => 'The IP address.', 'type' => 'string', 'example' => '111.XXX.XXX.230', 'title' => ''], + 'IspName' => ['description' => 'The ISP to which the IP address belongs.', 'type' => 'string', 'example' => 'China Mobile', 'title' => ''], + 'Country' => ['description' => 'The country to which the IP address belongs.', 'type' => 'string', 'example' => 'China', 'title' => ''], + 'Province' => ['description' => 'The province to which the IP address belongs.', 'type' => 'string', 'example' => 'Beijing', 'title' => ''], + 'City' => ['description' => 'The city to which the IP address belongs.', 'type' => 'string', 'example' => 'Beijing', 'title' => ''], + 'CdnIp' => ['description' => 'Indicates whether the IP address belongs to an Alibaba Cloud CDN point of presence (POP).'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'string', 'example' => 'true', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'Domains' => [ + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvaildBatchIp.LengthTooLong', 'errorMessage' => 'The batchIp parameter is too long', 'description' => 'The length of the IP addresses exceeds the limit.'], + ], + 403 => [ + ['errorCode' => 'InvaildParameter', 'errorMessage' => 'The parameter you provided is invalid.', 'description' => 'The format of the domain name is invalid. Correct the format and try again.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"55ADD936-763F-5E1A-BF54-2EA3F6E94A52\\",\\n \\"IpInfoList\\": [\\n {\\n \\"IpAddress\\": \\"111.XXX.XXX.230\\",\\n \\"IspName\\": \\"China Mobile\\",\\n \\"Country\\": \\"China\\",\\n \\"Province\\": \\"Beijing\\",\\n \\"City\\": \\"Beijing\\",\\n \\"CdnIp\\": \\"true\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'BatchDescribeCdnIpInfo', + 'description' => '> The maximum number of times that each user can call this operation per second is 20.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-05-16T01:24:00.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDescribeCdnIpInfo'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:BatchDescribeCdnIpInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'translator' => 'manual', + ], + 'BatchSetCdnDomainConfig' => [ + 'summary' => 'You can call BatchSetCdnDomainConfig to configure multiple domain names at once.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111684', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + ], + 'parameters' => [ + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => ['description' => 'Accelerated domain names. Separate multiple domain names with commas (,). Note the following limits:'."\n" + ."\n" + .'- You can specify up to 20 domain names in one request.'."\n" + ."\n" + .'- The total number of domain names multiplied by the number of functions must be 50 or fewer.', 'type' => 'string', 'required' => true, 'example' => 'www.example.com', 'title' => ''], + ], + [ + 'name' => 'Functions', + 'in' => 'query', + 'schema' => ['description' => 'List of features. You can specify up to 50 items in one request. The format is as follows:'."\n" + ."\n" + .'- **functionName** (required): Name of the feature. For supported features, see [Feature list](~~388460~~). Separate multiple parameters with commas (,).'."\n" + ."\n" + .'- **argName** (required): Configuration item for **functionName**. You can specify multiple configuration items.'."\n" + ."\n" + .'- **argValue** (required): Value for the configuration item of **functionName**.'."\n" + ."\n" + .'- **parentid** (optional): ID of a rule condition. By configuring the **condition** function (rules engine) in [Domain configuration feature parameters](~~388460~~), you can create rule conditions that match and filter user requests based on parameters in the request. Each rule condition generates a [configid](~~388994~~) after creation. This configid can be used as a ParentId parameter referenced by other feature functions, enabling flexible combinations of rule conditions and feature configurations.'."\n" + ."\n" + .'If **parentId** is set to **-1**, the existing rule condition for this configuration is deleted.'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "Feature parameter A", '."\n" + .' "argValue": "Value for Feature parameter A"'."\n" + .' }, '."\n" + .' {'."\n" + .' "argName": "Feature parameter B", '."\n" + .' "argValue": "Value for Feature parameter B"'."\n" + .' }], '."\n" + .' "functionName": "Feature name",'."\n" + .' "parentId": Optional. ConfigId of the referenced rule condition'."\n" + .'}]'."\n" + .'```'."\n" + ."\n" + .'Example without using **parentId**:'."\n" + .'To add an origin HTTP request header using the **origin\\_request\\_header** function, use the following request parameters:'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "header_operation_type",'."\n" + .' "argValue": "add"'."\n" + .' }, {'."\n" + .' "argName": "header_name",'."\n" + .' "argValue": "Accept-Encoding"'."\n" + .' }, {'."\n" + .' "argName": "header_value",'."\n" + .' "argValue": "gzip"'."\n" + .' }, {'."\n" + .' "argName": "duplicate",'."\n" + .' "argValue": "off"'."\n" + .' }],'."\n" + .' "functionName": "origin_request_header"'."\n" + .'}]'."\n" + .'```'."\n" + ."\n" + .'Example using **parentId**:'."\n" + .'To add an origin HTTP request header using the **origin\\_request\\_header** function and reference a rule condition with **configid=222728944812032**, use the following request parameters:'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "header_operation_type",'."\n" + .' "argValue": "add"'."\n" + .' }, {'."\n" + .' "argName": "header_name",'."\n" + .' "argValue": "Accept-Encoding"'."\n" + .' }, {'."\n" + .' "argName": "header_value",'."\n" + .' "argValue": "gzip"'."\n" + .' }, {'."\n" + .' "argName": "duplicate",'."\n" + .' "argValue": "off"'."\n" + .' }],'."\n" + .' "functionName": "origin_request_header",'."\n" + .' "parentId": 222728944812032'."\n" + .'}]'."\n" + .'```'."\n" + ."\n" + .'Example to remove a **parentId** reference from an existing configuration:'."\n" + .'The **origin\\_request\\_header** function currently references a rule condition with **configid=222728944812032**. To remove this reference, use the following request parameters:'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "header_operation_type",'."\n" + .' "argValue": "add"'."\n" + .' }, {'."\n" + .' "argName": "header_name",'."\n" + .' "argValue": "Accept-Encoding"'."\n" + .' }, {'."\n" + .' "argName": "header_value",'."\n" + .' "argValue": "gzip"'."\n" + .' }, {'."\n" + .' "argName": "duplicate",'."\n" + .' "argValue": "off"'."\n" + .' }],'."\n" + .' "functionName": "origin_request_header",'."\n" + .' "parentId": -1'."\n" + .'}]'."\n" + .'```', 'type' => 'string', 'required' => true, 'example' => '[{"functionArgs": [{"argName": "key","argValue": "Content-Encoding"},{"argName": "value","argValue": "gzip"}],"functionName": "set_resp_header"} ]', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'DomainConfigList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'PageData' => [ - 'description' => 'The list of accelerated domain names and the time each domain name was last modified.'."\n", + 'DomainConfigModel' => [ + 'description' => 'List of domain configurations.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the accelerated domain name.'."\n", 'type' => 'object', 'properties' => [ - 'GmtModified' => [ - 'description' => 'The time when the accelerated domain name was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2015-10-28T11:05:52Z', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], + 'ConfigId' => ['description' => 'The configuration ID. If the value is 0, the configuration failed and must be retried.', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567', 'title' => ''], + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'FunctionName' => ['description' => 'The feature name.', 'type' => 'string', 'example' => 'set_resp_header', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidPageNumber.ValueNotSupported', - 'errorMessage' => 'The specified value of PageNumber is not supported.', + ['errorCode' => 'InvalidFunctions.Malformed', 'errorMessage' => 'The specified Functions is incorrectly formatted.', 'description' => ''], + ['errorCode' => 'InvalidArgValue.Malformed', 'errorMessage' => 'The specified ArgValue is invalid.', 'description' => 'Specified ArgValue is malformed.'], + ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => '[%s] is not supported.', 'description' => ''], + ['errorCode' => 'Invalid%s.Malformed', 'errorMessage' => 'The specified ArgValue [%s] is invalid.', 'description' => ''], + ['errorCode' => 'MissingParameter%s', 'errorMessage' => 'The specified value of ArgName[%s] is missing.', 'description' => 'You must specify this parameter.'], + ['errorCode' => 'InvalidFunctionArgs.Malformed', 'errorMessage' => 'The specified FunctionArgs is invalid.', 'description' => 'The specified feature parameter is invalid.'], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The specified ArgValue is missing.', 'description' => ''], + ['errorCode' => 'InvalidHeaderKey.ValueNotSupported', 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.', 'description' => 'The specified HTTP header is invalid. Valid values: Content-Type, Cache-Control, Content-Disposition, Content-Language, Expires, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Max-Age, Access-Control-Expose-Headers, and Access-Control-Allow-Credentials.'], + ['errorCode' => 'TooManyDomains', 'errorMessage' => 'The count of domain is over 50.', 'description' => ''], + ['errorCode' => 'InvalidRule.Malformed', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ConfigurationConflicts', 'errorMessage' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the stating environment. Set parameters in the staging environment before you publish them to the production environment.'], + ['errorCode' => 'InvalidFunction.NotSupported', 'errorMessage' => 'The domain is not supported to set the function.', 'description' => 'This feature is not supported for domain names.'], + ['errorCode' => 'InvalidDomain.BelongToConfigGroup', 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', 'description' => ''], + ['errorCode' => 'EntityNotExist.Role', 'errorMessage' => 'EntityNotExist.Role', 'description' => ''], + ['errorCode' => 'MissingParameterFunctions', 'errorMessage' => 'The specified value of Functions is missing.', 'description' => ''], + ['errorCode' => 'NoPermission.SLR', 'errorMessage' => 'The current user does not have permission to create servicelinkedrole. Please contact the Alibaba Cloud account or administrator to authorize AliyunCDNFullAccess or custom policy:Service Name:cdn-ddos.cdn.aliyuncs.com,Role: AliyunServiceRoleForCDNAccessingDDoS,Permission: ram: CreateServiceLinkedRole', 'description' => 'You are not authorized to create service-linked roles. Obtain the AliyunCDNFullAccess permission or custom permission policies used to create service-linked roles from your Alibaba Cloud account or the administrator. Obtain custom permissions based on the following information: Service Name: cdn-ddos.cdn.aliyuncs.com, Service-linked Role Name: AliyunServiceRoleForCDNAccessingDDoS, Required Permission: ram:CreateServiceLinkedRole.'], + ['errorCode' => 'ConfigExceedLimit', 'errorMessage' => 'Count of config entries exceeds the limit.', 'description' => 'The upper limit is reached.'], + ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit.', 'description' => 'The number of rules exceeds the limit. To increase the limit, submit a ticket.'], + ['errorCode' => 'EdgeScripOptionsHasInnerConfig', 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'The extension has a background configuration or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => 'JavaScript rules are not supported. For more information, submit a ticket.'], + ['errorCode' => 'ServiceInvokeFailed', 'errorMessage' => 'Failed to invoke service.', 'description' => 'An internal server error occurred.'], + ['errorCode' => 'ConfigParentExceedLimit', 'errorMessage' => 'Config parent exceed limit.', 'description' => 'The referenced advanced conditional rule exceeds the threshold.'], + ['errorCode' => 'Function.InvalidParentId', 'errorMessage' => 'The specified parentId does not exist.', 'description' => 'The specified rule does not exist.'], + ['errorCode' => 'BatchSetBusinessError', 'errorMessage' => 'some configs error:%s', 'description' => 'A configuration error occurred: %s'], + ['errorCode' => 'ConfigDuplicate', 'errorMessage' => 'Duplicate configuration. This function has already been configured and cannot be added repeatedly.', 'description' => 'Duplicate configuration. This function has already been configured and cannot be added repeatedly.'], + ['errorCode' => 'FunctionArgError', 'errorMessage' => 'The function parameter of the domain configuration is incorrect.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DomainConfigList\\": {\\n \\"DomainConfigModel\\": [\\n {\\n \\"ConfigId\\": 1234567,\\n \\"DomainName\\": \\"www.example.com\\",\\n \\"FunctionName\\": \\"set_resp_header\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'BatchSetCdnDomainConfig', + 'description' => '- Maximum request rate per user: 3 requests per second.'."\n" + ."\n" + .'- After you call BatchSetCdnDomainConfig to configure a feature for a domain, a unique ConfigId is generated. Use this ConfigId to update or delete the configuration. For more information, see [Use and query ConfigId](~~388994~~).', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:03:42.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:53:08.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-26T02:48:47.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-13T02:32:43.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-25T02:31:27.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-23T02:56:00.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-03-15T07:25:47.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-23T02:17:34.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:BatchSetCdnDomainConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], + ], ], - [ - 'errorCode' => 'InvalidPageSize.ValueNotSupported', - 'errorMessage' => 'The specified value of PageSize is invalid.', + 'additionalActions' => [ + ['action' => 'ram:CreateServiceLinkedRole', 'validationType' => 'always'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AA75AADB-5E25-4970-B480-EAA1F5658483\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 5,\\n \\"TotalCount\\": 16,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"GmtModified\\": \\"2015-10-28T11:05:52Z\\",\\n \\"DomainName\\": \\"example.com\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnDeletedDomainsResponse>\\n<PageNumber>1</PageNumber>\\n<TotalCount>16</TotalCount>\\n<PageSize>5</PageSize>\\n<RequestId>AA75AADB-5E25-4970-B480-EAA1F5658483</RequestId>\\n<Domains>\\n <PageData>\\n <DomainName>example.com</DomainName>\\n <GmtModified>2015-10-28T11:05:52Z</GmtModified>\\n </PageData>\\n <PageData>\\n <DomainName>example.org</DomainName>\\n <GmtModified>2015-10-28T11:05:50Z</GmtModified>\\n </PageData>\\n <PageData>\\n <DomainName>example.net</DomainName>\\n <GmtModified>2015-10-27T06:26:34Z</GmtModified>\\n </PageData>\\n <PageData>\\n <DomainName>example.edu</DomainName>\\n <GmtModified>2015-10-23T09:23:29Z</GmtModified>\\n </PageData>\\n <PageData>\\n <DomainName>aliyundoc.com</DomainName>\\n <GmtModified>2015-10-23T09:02:11Z</GmtModified>\\n </PageData>\\n</Domains>\\n</DescribeCdnDeletedDomainsResponse>","errorExample":""}]', - 'title' => 'DescribeCdnDeletedDomains', - 'description' => '> You can call this operation up to 10 times per second per account.'."\n", + ], + 'BatchStartCdnDomain' => [ + 'summary' => 'Enables one or more domain names at a time. After a domain name is enabled, the value of the DomainStatus parameter is changed to Online.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '111686', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB', 'FEATUREcdn9UE6OO'], + ], + 'parameters' => [ + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain names. You can specify one or more domain names. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'RecordCheckNotAvailable', 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', 'description' => ''], + ['errorCode' => 'IcpBlack', 'errorMessage' => 'The domain is on the ICP blacklist.', 'description' => ''], + ['errorCode' => 'IspBlack', 'errorMessage' => 'The domain is on the ISP blacklist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'BatchStartCdnDomain', + 'description' => '- If a domain name specified in the request is in an invalid state or your account has an overdue payment, the domain name cannot be enabled.'."\n" + ."\n" + .'- Each account can call this operation up to 30 times per second.'."\n" + ."\n" + .'- You can specify up to 50 domain names in each request.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'VerifyDomainOwner' => [ - 'summary' => 'Verifies the ownership of a specified domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStartCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:BatchStartCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], + ], + ], + ], ], + ], + 'BatchStopCdnDomain' => [ + 'summary' => 'Disables one or more accelerated domain names at a time. After an accelerated domain name is disabled, the value of the DomainStatus parameter is changed to Offline.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1247,35 +1164,105 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111923', - 'abilityTreeNodes' => [ - 'FEATUREcdnRLQ471', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '111687', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB', 'FEATUREcdn9UE6OO'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'DomainNames', 'in' => 'query', + 'schema' => ['description' => 'The names of the accelerated domain names. You can specify one or more domain names in each request. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The domain name of which you want to verify the ownership. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '324AEFFF-308C-4DA7-8CD3-01B277B98F28', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"324AEFFF-308C-4DA7-8CD3-01B277B98F28\\"\\n}","type":"json"}]', + 'title' => 'BatchStopCdnDomain', + 'description' => '- After an accelerated domain name is disabled, Alibaba Cloud CDN retains its information and reroutes all the requests that are destined for the accelerated domain name to the origin.'."\n" + ."\n" + .'- If you need to temporarily disable CDN acceleration for a domain name, we recommend that you call the StopDomain operation.'."\n" + ."\n" + .'- Each account can call this operation up to 30 times per second.'."\n" + ."\n" + .'- You can specify up to 50 domain names in each request.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-16T02:52:26.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:BatchStopCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStopCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + ], + 'BatchUpdateCdnDomain' => [ + 'summary' => 'Updates multiple accelerated domain names at a time.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VerifyType', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '111688', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB', 'FEATUREcdn9UE6OO'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The verification method. Valid values:'."\n" - ."\n" - .'* **dnsCheck**: by DNS record'."\n" - .'* **fileCheck**: by verification file'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dnsCheck', - ], + 'schema' => ['description' => 'The accelerated domain names. You can specify one or more accelerated domain names. Separate domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com,example.org', 'title' => ''], + ], + [ + 'name' => 'Sources', + 'in' => 'query', + 'schema' => ['description' => 'The information about the addresses of origin servers.'."\n" + ."\n" + .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.', 'type' => 'string', 'required' => false, 'example' => '[{"content":"10.10.10.10","type":"ipaddr","priority":"20","port":80,"weight":"15"}]', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyuji4b6r4**', 'title' => ''], + ], + [ + 'name' => 'TopLevelDomain', + 'in' => 'query', + 'schema' => ['description' => 'The root domain.'."\n" + ."\n" + .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -1283,115 +1270,153 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Content' => [ - 'description' => 'The verification result.'."\n" - ."\n" - .'> This parameter is returned only if the operation fails.'."\n", - 'type' => 'string', - 'example' => 'verify_dffeb6610035dcb77b413a59c32c****', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'DomainOwnerVerifyFail', - 'errorMessage' => 'Owner verification of the root domain failed.', - ], - [ - 'errorCode' => 'InvalidFile', - 'errorMessage' => 'The file is not found.', - ], - [ - 'errorCode' => 'VerifyError', - 'errorMessage' => 'The specified Verify is incorrectly formatted.', - ], + ['errorCode' => 'MissingDomainName', 'errorMessage' => 'The domainName parameter is required.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], + ['errorCode' => 'InvalidSource.Content.Malformed', 'errorMessage' => 'The specified Source Content is invalid.', 'description' => 'The specified origin address is invalid.'], + ['errorCode' => 'InvalidTypeContent.Mismatch', 'errorMessage' => 'The specified source type does not match the specified source content.', 'description' => ''], + ['errorCode' => 'MissingSource.Content', 'errorMessage' => 'The Source Content must be specified.', 'description' => 'You must specify the origin information.'], + ['errorCode' => 'MissingSource.Type', 'errorMessage' => 'The Source Type must be specified.', 'description' => ''], + ['errorCode' => 'InvalidSources.Malformed', 'errorMessage' => 'Specified Sources is malformed.', 'description' => 'The specified origin address is invalid.'], + ['errorCode' => 'InvalidSource.Type.Malformed', 'errorMessage' => 'The specified Source Type is invalid.', 'description' => ''], + ['errorCode' => 'InvalidSource.Priority.Malformed', 'errorMessage' => 'The specified Source Priority is invalid.', 'description' => ''], + ['errorCode' => 'InvalidResourceGroupId.Malformed', 'errorMessage' => 'The specified ResourceGroupId is invalid.', 'description' => ''], + ['errorCode' => 'EntityNotExists.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified ResourceGroup parameter does not exist.'], + ['errorCode' => 'EntityNotExist.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified resource group does not exist.'], + ['errorCode' => 'InvalidStatus.ResourceGroup', 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', 'description' => 'This operation is not supported while the resource group is in the current state.'], + ], + 403 => [ + ['errorCode' => 'DomainInProtectedMode', 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": \\"verify_dffeb6610035dcb77b413a59c32c****\\",\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\"\\n}","errorExample":""},{"type":"xml","example":"<VerifyDomainOwnerResponse>\\n<Content>verify_dffeb6610035dcb77b413a59c32c****</Content>\\n<RequestId>34AB41F1-04A5-496F-8C8D-634BDBE6A9FB</RequestId>\\n</VerifyDomainOwnerResponse>","errorExample":""}]', - 'title' => 'VerifyDomainOwner', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'requestParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'BatchUpdateCdnDomain', + 'description' => '- Each account can call this operation up to 30 times per second.'."\n" + ."\n" + .'- You can specify up to 50 domain names in each request. Separate multiple domain names with commas (,).', + 'requestParamsDescription' => 'The following table describes the fields in the Sources parameter.'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| -------- | ------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| type | String | Yes | The type of the origin server.ipaddr: an IP addressdomain: a domain nameoss: the domain name of an Object Storage Service (OSS) bucketfc_domain: a Function Compute domain name |'."\n" + .'| content | String | Yes | The address of the origin server. You can specify an IP address or a domain name. |'."\n" + .'| port | Integer | No | The port. You can specify port 80, port 443, or a custom port. Default value: 80. If you specify port 443, Alibaba Cloud CDN communicates with the origin server over HTTPS. |'."\n" + .'| priority | String | No | The priority of the origin server if multiple origin servers are specified. Valid values: 20 and 30. Default value: 20. A value of 20 specifies that the origin is a primary origin. A value of 30 specifies that the origin is a secondary origin. |'."\n" + .'| weight | String | No | The weight of the origin server if multiple origin servers are specified. You must specify a value that is less than 100. Default value: 10. |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeVerifyContent' => [ - 'summary' => 'Queries the ownership verification content of an accelerated domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:BatchUpdateCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUpdateCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'CheckCdnDomainExist' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111847', - 'abilityTreeNodes' => [ - 'FEATUREcdnRLQ471', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '172982', + 'abilityTreeNodes' => ['FEATUREcdnORORBI'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', 'schema' => [ - 'description' => 'The domain name of which the ownership was verified. You can specify only one domain name.', + 'title' => 'A short description of struct', + 'description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', + 'enum' => [], ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'Content' => [ - 'description' => 'The verification content.', - 'type' => 'string', - 'example' => 'verify_dffeb6610035dcb77b413a59c32cd91f', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.', - 'type' => 'string', - 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '64D28B53-5902-409B-94F6-FD46680144FE'], + 'Status' => ['description' => 'The status of the domain name. Valid values:'."\n" + ."\n" + .'* **DomainNotExist**: The domain name is not added.'."\n" + .'* **DomainExistOtherUser**: The domain name has been added by another account.'."\n" + .'* **DomainExistCdnProduct**: The domain name has been added to Alibaba Cloud CDN.'."\n" + .'* **DomainExistDcdnProduct**: The domain name has been added to Dynamic Content Delivery Network (DCDN).'."\n" + .'* **DomainExistScdnProduct**: The domain name has been added to Secure CDN (SCDN).'."\n" + .'* **DomainExistVodProduct**: The domain name has been added to ApsaraVideo VOD.'."\n" + .'* **DomainExistLiveProduct**: The domain name has been added to ApsaraVideo Live.'."\n" + .'* **DomainExistDcdnipaProduct**: The domain name has been added to DCDN IP Application Accelerator (IPA).'."\n", 'type' => 'string', 'example' => 'DomainNotExist'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": \\"verify_dffeb6610035dcb77b413a59c32cd91f\\",\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeVerifyContentResponse>\\n<Content>verify_dffeb6610035dcb77b413a59c32cd91f</Content>\\n<RequestId>34AB41F1-04A5-496F-8C8D-634BDBE6A9FB</RequestId>\\n</DescribeVerifyContentResponse>","errorExample":""}]', - 'title' => 'DescribeVerifyContent', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeDomainVerifyData' => [ - 'summary' => 'Queries the verification content of an accelerated domain name based on whether the global resource plan is enabled.', - 'methods' => [ - 'get', - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'DomainExist.OtherUser', 'errorMessage' => 'This domain is already added by another user.', 'description' => ''], + ['errorCode' => 'DomainExist.OtherProduct', 'errorMessage' => 'This domain is already existed in %s.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"Status\\": \\"DomainNotExist\\"\\n}","type":"json"}]', + 'title' => 'CheckCdnDomainExist', + 'summary' => 'Checks whether a domain name exists.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CheckCdnDomainExist', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#AccountId}:domain/{#DomainName}'], + ], + ], + ], ], + ], + 'CheckCdnDomainICP' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1399,122 +1424,357 @@ ], 'operationType' => 'read', 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '178430', - 'abilityTreeNodes' => [ - 'FEATUREcdnRLQ471', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', + 'schema' => ['title' => 'A short description of struct', 'description' => 'The domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'www.yourdomain.com', + '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' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8'], + 'Status' => [ + 'description' => 'The status of the resource plan. Valid value:'."\n" + ."\n" + .'* **DomainIsRegistration**: An ICP filing is obtained for the domain name.'."\n" + .'* **DomainNotRegistration**: No ICP filing is obtained for the domain name.'."\n", + 'type' => 'string', + 'enumValueTitles' => ['DomainNotRegistration' => '', 'DomainIsRegistration' => ''], + 'example' => 'DomainIsRegistration', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => '-124', 'errorMessage' => 'The domain provided does not belong to you.', 'description' => ''], + ['errorCode' => 'CheckDomainICPFail', 'errorMessage' => 'The domain query icp info error,check domain icp failed.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"Status\\": \\"DomainIsRegistration\\"\\n}","type":"json"}]', + 'title' => 'CheckCdnDomainICP', + 'summary' => 'Checks whether an ICP filing is obtained for the domain name.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CheckCdnDomainICP', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CreateCdnCertificateSigningRequest' => [ + 'summary' => 'Creates a certificate signing request (CSR).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'GlobalResourcePlan', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111691', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CommonName', + 'in' => 'query', + 'schema' => ['description' => 'The Common Name of the certificate.', 'type' => 'string', 'required' => true, 'example' => 'CommonName', 'title' => ''], + ], + [ + 'name' => 'SANs', + 'in' => 'query', + 'schema' => ['description' => 'The Subject Alternative Name (SAN) extension of the SSL certificate. This extension is used to add domain names to the certificate. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'Organization', 'in' => 'query', + 'schema' => ['description' => 'The name of the organization. Default value: Alibaba Inc.', 'type' => 'string', 'required' => false, 'default' => 'Alibaba Inc.', 'example' => 'Alibaba Inc', 'title' => ''], + ], + [ + 'name' => 'OrganizationUnit', + 'in' => 'query', + 'schema' => ['description' => 'The name of the department. Default value: Aliyun CDN.', 'type' => 'string', 'required' => false, 'default' => 'Aliyun CDN', 'example' => 'Aliyun CDN', 'title' => ''], + ], + [ + 'name' => 'Country', + 'in' => 'query', + 'schema' => ['description' => 'The country or region in which the organization is located. Default value: CN.', 'type' => 'string', 'required' => false, 'default' => 'CN', 'example' => 'CN', 'title' => ''], + ], + [ + 'name' => 'State', + 'in' => 'query', + 'schema' => ['description' => 'The provincial district. Default value: Zhejiang.', 'type' => 'string', 'required' => false, 'default' => 'Zhejiang', 'example' => 'Zhejiang', 'title' => ''], + ], + [ + 'name' => 'City', + 'in' => 'query', + 'schema' => ['description' => 'The city. Default value: Hangzhou.', 'type' => 'string', 'required' => false, 'default' => 'Hangzhou', 'example' => 'Hangzhou', 'title' => ''], + ], + [ + 'name' => 'Email', + 'in' => 'query', + 'schema' => ['description' => 'The email address.', 'type' => 'string', 'required' => false, 'example' => 'username@example.com', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to enable the global resource plan.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* off'."\n" - ."\n" - .' <!-- -->'."\n" - ."\n" - .' <!-- -->'."\n" - ."\n" - .' <!-- -->'."\n" - ."\n" - .'* on'."\n" - ."\n" - .' <!-- -->'."\n" - ."\n" - .' <!-- -->'."\n" - ."\n" - .' <!-- -->'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'off' => 'off', - 'on' => 'on', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', 'title' => ''], + 'PubMd5' => ['description' => 'The MD5 hash value of the certificate public key.', 'type' => 'string', 'example' => '629bf4fd8104eda171135bcb0f77****', 'title' => ''], + 'Csr' => ['description' => 'The content of the CSR file.', 'type' => 'string', 'example' => 'CSRName', 'title' => ''], + 'CommonName' => ['description' => 'The Common Name of the certificate.', 'type' => 'string', 'example' => 'CommonName', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidValue.Malformed', 'errorMessage' => 'Country must be 2 characters.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'Internal.KeyError', 'errorMessage' => 'Failed to generate rsa key.', 'description' => ''], + ['errorCode' => 'Internal.CreateCSRError', 'errorMessage' => 'Failed to create CSR.', 'description' => ''], + ['errorCode' => 'Internal.EncodeCSRError', 'errorMessage' => 'Failed to encode CSR.', 'description' => ''], + ['errorCode' => 'Internal.EncodeKeyError', 'errorMessage' => 'Failed to encode private key.', 'description' => ''], + ['errorCode' => 'Internal.Error', 'errorMessage' => 'The request processing has failed due to backend service exception.', 'description' => ''], + ], + ], + 'title' => 'CreateCdnCertificateSigningRequest', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-05T06:57:41.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCdnCertificateSigningRequest'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateCdnCertificateSigningRequest', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'example' => 'off', ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"PubMd5\\": \\"629bf4fd8104eda171135bcb0f77****\\",\\n \\"Csr\\": \\"CSRName\\",\\n \\"CommonName\\": \\"CommonName\\"\\n}","type":"json"}]', + ], + 'CreateCdnDeliverTask' => [ + 'summary' => 'Creates a tracking task. After you create a tracking task, the system sends operations reports to you by email on a regular basis.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'create'], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the tracking task.', 'type' => 'string', 'example' => 'Domain subscription', 'required' => true, 'title' => ''], + ], + [ + 'name' => 'Reports', + 'in' => 'formData', + 'schema' => ['description' => 'The operations reports that are tracked by the task. The data must be escaped in JSON.', 'type' => 'string', 'example' => '[{\\"reportId\\":1,\\"conditions\\":[{\\"field\\":\\"prov\\",\\"op\\":\\"in\\",\\"value\\":[\\" Heilongjiang\\",\\" Beijing\\"]}]}]', 'required' => true, 'title' => ''], + ], + [ + 'name' => 'DomainName', + 'in' => 'formData', + 'schema' => ['description' => 'The domain names to be tracked. Separate multiple domain names with commas (,). You can specify up to 500 domain names. If you want to specify more than 500 domain names, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" + ."\n" + .'> If you do not specify a domain name, the tracking task is created for all domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'www.example1.com,www.example2.com', 'title' => ''], + ], + [ + 'name' => 'Deliver', + 'in' => 'formData', + 'schema' => ['description' => 'The method that is used to send operations reports. Operations reports are sent to you only by email. The settings must be escaped in JSON.', 'type' => 'string', 'example' => '{"email":{"subject":" topic name","to":["username@example.com","username@example.org"]}}', 'required' => true, 'title' => ''], + ], + [ + 'name' => 'Schedule', + 'in' => 'formData', + 'schema' => ['description' => 'The parameters that specify the time interval at which the tracking task sends operations reports. The settings must be escaped in JSON.', 'type' => 'string', 'example' => '{"schedName":"Periodic task name","description":"Description","crontab":"000**?","frequency":"d","status":"enable","effectiveFrom":"2020-09-17T00:00:00Z","effectiveEnd":"2020-11-17T00:00:00Z"}', 'required' => true, 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Content' => [ - 'description' => 'The verification content.'."\n", - 'type' => 'string', - 'example' => '{'."\n" - .' "verifiCode": "uy0-DbxL4HBmUtSUXpkXctaSnCAUKhhNH6WKl-JnJY4",'."\n" - .' "verifyKey": "_acme-challenge"'."\n" - .' }', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', - ], + 'DeliverId' => ['description' => 'The ID of the tracking task.', 'type' => 'string', 'example' => '1025', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Content\\": \\"{\\\\n \\\\\\"verifiCode\\\\\\": \\\\\\"uy0-DxxxxxxxxKl-JnJY4\\\\\\",\\\\n \\\\\\"verifyKey\\\\\\": \\\\\\"_acxxxe-xxxx\\\\\\"\\\\n}\\",\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\"\\n}","type":"json"}]', - 'title' => 'DescribeDomainVerifyData', - 'description' => 'You can call this operation to query the verification content of an accelerated domain name based on whether the global resource plan is enabled.'."\n", - ], - 'StartCdnDomain' => [ - 'summary' => 'Enables a disabled domain name. After the domain name is enabled, the value of the DomainStatus parameter is changed to Online.', - 'methods' => [ - 'get', - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DeliverId\\": \\"1025\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'CreateCdnDeliverTask', + 'description' => '> Each account can call this operation up to three times per second.', + 'requestParamsDescription' => '**Fields in the ReDatas parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ---------- | ---------- | -------- | ------------------------------------- |'."\n" + .'| reportId | String | Yes | The ID of the operations report. |'."\n" + .'| conditions | ConDatas[] | No | The filter conditions for the report. |'."\n" + ."\n" + .'**Fields in the ConDatas parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ----- | -------- | -------- | -------------------------- |'."\n" + .'| field | String | No | The filter field. |'."\n" + .'| op | String | No | The filter operation. |'."\n" + .'| value | String[] | No | The array of field values. |'."\n" + ."\n" + .'**Fields in the email parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ------- | -------- | -------- | --------------------------------------------------------- |'."\n" + .'| subject | String | Yes | The email subject. |'."\n" + .'| to | String[] | Yes | The email addresses to which operations reports are sent. |'."\n" + ."\n" + .'**Fields in the Deliver parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ------- | -------- | -------- | --------------------------------------------------------- |'."\n" + .'| subject | String | No | The email subject. |'."\n" + .'| to | String[] | Yes | The email addresses to which operations reports are sent. |'."\n" + ."\n" + .'**Fields in the Schedule parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ------------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------- |'."\n" + .'| schedName | String | No | The name of the tracking task. |'."\n" + .'| description | String | No | The description of the tracking task. |'."\n" + .'| crontab | String | Yes | Specifies when the tracking task is scheduled to run. |'."\n" + .'| frequency | String | Yes | The interval at which the reports are sent. Valid values:<br>**h**: by hour<br>**d**: by day<br>**w**: by week |'."\n" + .'| status | String | No | The status of the tracking task. Valid values :<br>**enable**<br>**disable** |'."\n" + .'| effectiveFrom | String | No | The start time of the tracking task. |'."\n" + .'| effectiveEnd | String | No | The end time of the tracking task. |', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCdnDeliverTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateCdnDeliverTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'translator' => 'manual', + ], + 'CreateCdnSubTask' => [ + 'summary' => 'Creates a custom operations report.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111916', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - 'FEATUREcdn9UE6OO', - ], - ], + 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ + 'name' => 'ReportIds', + 'in' => 'formData', + 'schema' => ['description' => 'The IDs of the metrics that you want to include in the report. Separate multiple IDs with commas (,). Valid values:'."\n" + ."\n" + .'- **1**: frequently requested URLs (ranked by the number of requests)'."\n" + ."\n" + .'- **3**: frequently requested URLs (ranked by the amount of network traffic)'."\n" + ."\n" + .'- **5**: frequently used Referer headers (ranked by the number of requests)'."\n" + ."\n" + .'- **7**: frequently used Referer headers (ranked by the amount of network traffic)'."\n" + ."\n" + .'- **9**: frequently requested URLs that are redirected to the origin (ranked by the number of requests)'."\n" + ."\n" + .'- **11**: frequently requested URLs that are redirected to the origin (ranked by the amount of network traffic)'."\n" + ."\n" + .'- **13**: top client IP addresses (ranked by the number of requests)'."\n" + ."\n" + .'- **15**: top client IP addresses (ranked by the amount of network traffic)'."\n" + ."\n" + .'- **17**: domain names ranked by the amount of network traffic'."\n" + ."\n" + .'- **19**: page views and unique visitors'."\n" + ."\n" + .'- **21**: regions from which requests are initiated'."\n" + ."\n" + .'- **23**: Internet service providers (ISPs)', 'type' => 'string', 'required' => true, 'example' => '1,3,5', 'title' => ''], + ], + [ 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The domain names to be tracked. Separate multiple domain names with commas (,). You can specify up to 500 domain names. If you want to specify more than 500 domain names, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" + ."\n" + .'> If you do not specify a domain name, the custom operations report is created for all domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'www.example1.com,www.example2.com', 'title' => ''], ], ], 'responses' => [ @@ -1522,49 +1782,60 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RecordCheckNotAvailable', - 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', - ], - [ - 'errorCode' => 'IcpBlack', - 'errorMessage' => 'The domain is on the ICP blacklist.', - ], - [ - 'errorCode' => 'IspBlack', - 'errorMessage' => 'The domain is on the ISP blacklist.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<StartCdnDomainResponse>\\r\\n\\t<RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\r\\n</StartCdnDomainResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'StartCdnDomain', - 'description' => '* If the domain name is in an invalid state or you have an overdue payment in your account, the domain name cannot be enabled.'."\n" - .'* You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'CreateCdnSubTask', + 'description' => '- This operation allows you to create a custom operations report for a specific domain name. You can view the statistics about the domain name in the report.'."\n" + ."\n" + .'- Each account can call this operation up to three times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BatchStartCdnDomain' => [ - 'summary' => 'Enables one or more domain names at a time. After a domain name is enabled, the value of the DomainStatus parameter is changed to Online.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-05-18T11:07:13.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCdnSubTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateCdnSubTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + ], + 'CreateRealTimeLogDelivery' => [ + 'summary' => 'Enables real-time log delivery for specific accelerated domain names.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1572,23 +1843,32 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111686', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111696', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'DomainNames', + 'name' => 'Project', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain names. You can specify one or more domain names. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'required' => true, 'example' => 'ProjectName', 'title' => ''], + ], + [ + 'name' => 'Logstore', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'required' => true, 'example' => 'LogstoreName', 'title' => ''], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], + ], + [ + 'name' => 'Domain', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name for which you want to configure real-time log delivery.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -1596,74 +1876,114 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F32C57AA-7BF8-49AE-A2CC-9F42390F5A19', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'RecordCheckNotAvailable', - 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', - ], - [ - 'errorCode' => 'IcpBlack', - 'errorMessage' => 'The domain is on the ICP blacklist.', - ], - [ - 'errorCode' => 'IspBlack', - 'errorMessage' => 'The domain is on the ISP blacklist.', - ], + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'LogstoreNotExist', 'errorMessage' => 'Logstore does not exist', 'description' => ''], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain does not exist, or it does not belong to you.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}"},{"type":"xml","example":"<BatchStartCdnDomainResponse>\\r\\n\\t<RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\r\\n</BatchStartCdnDomainResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'BatchStartCdnDomain', - 'description' => '* If a domain name specified in the request is in an invalid state or your account has an overdue payment, the domain name cannot be enabled.'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n" - .'* You can specify up to 50 domain names in each request.'."\n", + 'title' => 'CreateRealTimeLogDelivery', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'StopCdnDomain' => [ - 'summary' => 'Disables an accelerated domain name. After the domain name is disabled, the value of the DomainStatus parameter is changed to Offline.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateRealTimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateRealTimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#Domain}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F32C57AA-7BF8-49AE-A2CC-9F42390F5A19\\"\\n}","type":"json"}]', + ], + 'CreateUsageDetailDataExportTask' => [ + 'summary' => 'Creates a task to export resource usage details to an Excel file.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111917', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - 'FEATUREcdn9UE6OO', - ], - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name that you want to disable. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2019-12-10T20:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => true, 'example' => '2019-12-10T21:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Group', + 'in' => 'query', + 'schema' => ['description' => 'The domain name group. If you specify this parameter, the **DomainNames** parameter is ignored.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], + ], + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => ['description' => 'The domain names. If you do not specify the Group parameter, resource usage details of these domain names are exported.'."\n" + ."\n" + .'If you do not specify this parameter, resource usage details are exported based on accounts.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The type of resource usage data to query. Valid values:'."\n" + ."\n" + .'- **flow**: traffic and bandwidth'."\n" + ."\n" + .'- **vas**: requests', 'type' => 'string', 'required' => true, 'example' => 'flow', 'title' => ''], + ], + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the task.', 'type' => 'string', 'example' => 'Refresh', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => ['description' => 'The language in which you want to export the file. Valid values:'."\n" + ."\n" + .'- **zh-cn**: Chinese. This is the default value.'."\n" + ."\n" + .'- **en-us**: English', 'type' => 'string', 'required' => false, 'default' => 'zh-cn', 'example' => 'en-us', 'title' => ''], ], ], 'responses' => [ @@ -1671,41 +1991,241 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], + 'EndTime' => ['description' => 'The end of the time range for which the data was queried.', 'type' => 'string', 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range for which the data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC', 'title' => ''], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => '123456', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidDomain.BelongToConfigGroup', - 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterDimension', 'errorMessage' => 'The parameter Dimension is invalid.', 'description' => 'The Dimension parameter is invalid. Specify a valid value that is provided in the documentation.'], + ['errorCode' => 'InvalidParameterBillType', 'errorMessage' => 'The parameter BillType is invalid.', 'description' => 'The bill type is invalid. Make sure that the bill type is supported by the query method.'], + ['errorCode' => 'InvalidParameterAliuid', 'errorMessage' => 'Invalid Parameter Aliuid.', 'description' => 'The Aliuid parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterStartTime', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameterEndTime', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidTimeRange', 'errorMessage' => 'Invalid StartTime and EndTime range.', 'description' => 'The specified time range is invalid.'], + ['errorCode' => 'InvalidParameterOperator', 'errorMessage' => 'Invalid Parameter Operator.', 'description' => 'The Operator parameter is set to an invalid value.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"TaskId\\": \\"123456\\"\\n}","type":"json"}]', + 'title' => 'CreateUsageDetailDataExportTask', + 'description' => '- You can create a task to query data in the last year. The maximum time range that can be queried is one month.'."\n" + ."\n" + .'- Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:53.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUsageDetailDataExportTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CreateUsageDetailDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<StopCdnDomainResponse>\\r\\n\\t<RequestId>324AEFFF-308C-4DA7-8CD3-01B277B98F28</RequestId>\\r\\n</StopCdnDomainResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'StopCdnDomain', - 'description' => '* After an accelerated domain is disabled, Alibaba Cloud CDN retains its information and routes all the requests that are destined for the accelerated domain to the origin server.'."\n" - .'* You can call this operation up to 40 times per second per account.'."\n", + 'translator' => 'manual', + ], + 'CreateUserUsageDataExportTask' => [ + 'summary' => 'Creates a task to export your resource usage history to a PDF file.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The start of the time range to query. The data is collected every 5 minutes.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. The end time must be later than the start time.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + ], + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the task.', 'type' => 'string', 'example' => 'Refresh', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => ['description' => 'The language in which you want to export the file. Default value: zh-cn. Valid values:'."\n" + ."\n" + .'- **zh-cn**: Chinese'."\n" + ."\n" + .'- **en-us**: English', 'type' => 'string', 'required' => false, 'example' => 'zh-cn', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC', 'title' => ''], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => '129456', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterAliuid', 'errorMessage' => 'Invalid Parameter Aliuid.', 'description' => 'The Aliuid parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterStartTime', 'errorMessage' => 'The parameter StartTime is invalid.', 'description' => 'The specified StartTime parameter is invalid.'], + ['errorCode' => 'InvalidParameterEndTime', 'errorMessage' => 'The parameter EndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidTimeRange', 'errorMessage' => 'Invalid StartTime and EndTime range.', 'description' => 'The specified time range is invalid.'], + ['errorCode' => 'InvalidParameterOperator', 'errorMessage' => 'Invalid Parameter Operator.', 'description' => 'The Operator parameter is set to an invalid value.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"TaskId\\": \\"129456\\"\\n}","type":"json"}]', + 'title' => 'CreateUserUsageDataExportTask', + 'description' => '- You can create a task to query data in the last year. The maximum time range that can be queried is one month.'."\n" + ."\n" + .'- Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:36.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUserUsageDataExportTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CreateUserUsageDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'translator' => 'manual', ], - 'BatchStopCdnDomain' => [ - 'summary' => 'Disables one or more accelerated domain names at a time. After an accelerated domain name is disabled, the value of the DomainStatus parameter is changed to Offline.', - 'methods' => [ - 'get', - 'post', + 'DeleteCdnDeliverTask' => [ + 'summary' => 'Deletes tracking tasks by task ID.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ + [ + 'name' => 'DeliverId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the tracking task that you want to delete. You can call the [DescribeCdnDeliverList](~~270877~~) operation to query task IDs.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'DeleteCdnDeliverTask', + 'description' => '> Each account can call this operation up to three times per second.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCdnDeliverTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteCdnDeliverTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DeleteCdnDomain' => [ + 'summary' => 'Removes an accelerated domain name from Alibaba Cloud CDN.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1713,493 +2233,675 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111687', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '111702', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], ], 'parameters' => [ [ - 'name' => 'DomainNames', + 'name' => 'DomainName', 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name that you want to remove. You can specify only one domain name in each call.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The names of the accelerated domain names. You can specify one or more domain names in each request. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], + ['errorCode' => 'RewriteHostRely', 'errorMessage' => 'Domain name is configured as rewrite host by others.', 'description' => 'The domain name is configured as a shared cache object by another domain name.'], + ['errorCode' => 'InvalidDomain.BelongToConfigGroup', 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'OperationDenied', 'errorMessage' => 'You do not have access to this operation.', 'description' => 'You are not authorized to operate the specified resource; please check your authorization using RAM.'."\n"], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","type":"json"}]', + 'title' => 'DeleteCdnDomain', + 'description' => '- We recommend that you add an A record for the domain name in the system of your DNS service provider before you remove the domain name from Alibaba Cloud CDN. Otherwise, the domain name may become inaccessible. Proceed with caution.'."\n" + ."\n" + .'- After you successfully call the DeleteCdnDomain operation, all records of the removed domain name are deleted. If you need to only disable the domain name, we recommend that you call the StopCdnDomain operation.'."\n" + ."\n" + .'- Each account can call this operation up to 10 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], ], + ], + 'DeleteCdnSubTask' => [ + 'summary' => 'Deletes all custom operations reports.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '324AEFFF-308C-4DA7-8CD3-01B277B98F28', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324AEFFF-308C-4DA7-8CD3-01B277B98F28\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"324AEFFF-308C-4DA7-8CD3-01B277B98F28\\"\\n}"},{"type":"xml","example":"<BatchStopCdnDomainResponse>\\r\\n\\t<RequestId>324AEFFF-308C-4DA7-8CD3-01B277B98F28</RequestId>\\r\\n</BatchStopCdnDomainResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'BatchStopCdnDomain', - 'description' => '* After an accelerated domain name is disabled, Alibaba Cloud CDN retains its information and reroutes all the requests that are destined for the accelerated domain name to the origin.'."\n" - .'* If you need to temporarily disable CDN acceleration for a domain name, we recommend that you call the StopDomain operation.'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n" - .'* You can specify up to 50 domain names in each request.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'DeleteCdnSubTask', + 'description' => '> Each account can call this operation up to three times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCdnSubTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteCdnSubTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], ], - 'DescribeUserDomains' => [ - 'summary' => 'Queries all accelerated domain names in your Alibaba Cloud account and the status of the accelerated domain names. You can filter domain names by name or status. Fuzzy match is supported.', - 'methods' => [ - 'get', - 'post', + 'DeleteFCTrigger' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'http', - 'https', + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], + 'parameters' => [ + [ + 'name' => 'TriggerARN', + 'in' => 'query', + 'schema' => ['description' => 'The trigger that corresponds to the Function Compute service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:cdn:{RegionID}:{AccountID}:{Filter}'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E'], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.TriggerARN', 'errorMessage' => 'The specified parameter TriggerARN is not valid.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'PermissionDeny', 'errorMessage' => 'No permission to operate this FCTrigger.', 'description' => ''], + ], ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteFCTriggerResponse>\\r\\n<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\r\\n</DeleteFCTriggerResponse>","errorExample":""}]', + 'title' => 'DeleteFCTrigger', + 'summary' => 'Deletes a specified Function Compute trigger.', + 'requestParamsDescription' => '## SourceARN'."\n" + ."\n" + .'SourceARN format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + ."\n" + .'* Filter indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" + .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by `example.com` if Filter is set to `domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyun.com}`.'."\n" + .'* Separate filters with forward slashes (/). Set the logical operator among filters to AND. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", + 'extraInfo' => ' ', + 'changeSet' => [], + ], + 'DeleteRealTimeLogLogstore' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111842', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111709', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'Project', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: **1 to 500**. Default value: **20**. Maximum value: **500**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '500', - 'example' => '5', - 'default' => '20', - ], + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'required' => true, 'example' => 'ProjectName', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'Logstore', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Valid values: **1** to **100000**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The name of the Logstore to which log entries are delivered.', 'type' => 'string', 'required' => true, 'example' => 'LogstoreName', 'title' => ''], ], [ - 'name' => 'DomainName', + 'name' => 'Region', 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The accelerated domain. If you do not set this parameter, all domain names that match the conditions are returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - 'maxLength' => 6800, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', 'description' => ''], + ['errorCode' => 'DomainDeliveryConfigExist', 'errorMessage' => 'Domain delivery configuration existed.', 'description' => 'The domain name delivery configuration has been associated.'], + ], + 404 => [ + ['errorCode' => 'LogstoreNotExist', 'errorMessage' => 'Logstore does not exist.', 'description' => 'The specified Logstore does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'title' => 'DeleteRealTimeLogLogstore', + 'summary' => 'Deletes the Logstore that is used by a specified configuration record of real-time log delivery.', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-05T03:20:57.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRealTimeLogLogstore'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DeleteRealTimeLogLogstore', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","type":"json"}]', + ], + 'DeleteRealtimeLogDelivery' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'DomainStatus', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111708', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], + ], + 'parameters' => [ + [ + 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the domain name. Valid values:'."\n" - ."\n" - .'* **online**'."\n" - .'* **offline**'."\n" - .'* **configuring**'."\n" - .'* **configure_failed**'."\n" - .'* **checking**'."\n" - .'* **check_failed**'."\n" - .'* **stopping**'."\n" - .'* **deleting**'."\n" - ."\n" - .'If you do not set this parameter, domain names in all states are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'configure_failed', - ], + 'schema' => ['description' => 'The acceleration domain name for which you want to disable real-time log delivery. You can specify multiple domain names and separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'DomainSearchType', + 'name' => 'Project', 'in' => 'query', - 'schema' => [ - 'description' => 'The search mode. Valid values:'."\n" - ."\n" - .'* **fuzzy_match**: fuzzy match'."\n" - .'* **pre_match**: prefix match'."\n" - .'* **suf_match**: suffix match'."\n" - .'* **full_match** (default): exact match'."\n" - ."\n" - .'> If you specify the domain names to query but do not set the DomainSearchType parameter, the exact match mode is used.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'fuzzy_match', - ], + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'required' => true, 'example' => 'ProjectName', 'title' => ''], ], [ - 'name' => 'CdnType', + 'name' => 'Logstore', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of workload accelerated by Alibaba Cloud CDN. Separate types with commas (,). Valid values:'."\n" - ."\n" - .'* **web**: images and small files'."\n" - .'* **download**: large files'."\n" - .'* **video**: on-demand video and audio streaming'."\n" - ."\n" - .'If you do not set this parameter, all service types are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'download,web,video', - ], + 'schema' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'required' => true, 'example' => 'LogstoreName', 'title' => ''], ], [ - 'name' => 'CheckDomainShow', + 'name' => 'Region', 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Specifies whether to display domain names that are under review, failed the review, or failed to be configured. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', 'description' => ''], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => 'The specified domain name does not exist or does not belong to the current account. Check whether the domain name is valid, belongs to the current account, or has expired.'], + ], + 404 => [ + ['errorCode' => 'LogstoreNotExist', 'errorMessage' => 'Logstore does not exist.', 'description' => 'The specified Logstore does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'title' => 'DeleteRealtimeLogDelivery', + 'summary' => 'Deletes real-time log delivery for specific accelerated domain names.', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-05T03:20:57.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRealtimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group. By default, all IDs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'abcd1234abcd1234', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:DeleteRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#Domain}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","type":"json"}]', + ], + 'DeleteSpecificConfig' => [ + 'summary' => 'Deletes specified configurations of an accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ChangeStartTime', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '111710', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-10T12:14:55Z', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'ChangeEndTime', + 'name' => 'ConfigId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the configuration. Separate multiple configuration IDs with commas (,). For more information about ConfigId, see [Usage notes on ConfigId](~~388994~~).', 'type' => 'string', 'required' => true, 'example' => '2317', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-10T12:14:58Z', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''], + ['errorCode' => 'ConfigurationConflicts', 'errorMessage' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the stating environment. Set parameters in the staging environment before you publish them to the production environment.'], + ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', 'description' => ''], + ['errorCode' => 'EdgeScripOptionsHasInnerConfig', 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'The extension has a background configuration or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => 'JavaScript rules are not supported. For more information, submit a ticket.'], + ['errorCode' => 'InvalidRule.Malformed ', 'errorMessage' => '%s', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'DeleteSpecificConfig', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-09-05T03:13:50.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T08:03:57.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:53:15.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-05-09T02:27:32.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteSpecificConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSpecificConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + ], + 'DeleteSpecificStagingConfig' => [ + 'summary' => 'Deletes a specified configuration of the staging environment.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Coverage', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '111711', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The acceleration region. By default, all acceleration regions are queried. Valid values:'."\n" - ."\n" - .'* **domestic**: Chinese mainland'."\n" - .'* **global**: global'."\n" - .'* **overseas**: outside the Chinese mainland'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'domestic', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 50 domain names in each request. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'Source', + 'name' => 'ConfigId', 'in' => 'query', + 'schema' => ['description' => 'The configuration IDs. Separate configuration IDs with commas (,). For more information about ConfigId, see [Usage notes on ConfigId](~~388994~~).', 'type' => 'string', 'required' => true, 'example' => '2317', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The information about the origin server.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.source.com', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''], + ['errorCode' => 'GrayConfigIsNull', 'errorMessage' => 'You cannot delete all gary configurations. You can clear them by rolling back the simulation environment.', 'description' => 'After you remove all rules in the staging environment, configurations on POPs are not removed. You can roll back the staging environment to remove configurations from the staging environment.'], + ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', 'description' => ''], + ['errorCode' => 'EdgeScripOptionsHasInnerConfig', 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'The extension has a background configuration or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => 'JavaScript rules are not supported. For more information, submit a ticket.'], + ['errorCode' => 'InvalidRule.Malformed ', 'errorMessage' => 'Check rules error: %s', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'DeleteSpecificStagingConfig', + 'description' => '> Each account can call this operation up to 20 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-08T02:50:11.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-09T02:27:32.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteSpecificStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSpecificStagingConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + ], + 'DeleteUsageDetailDataExportTask' => [ + 'summary' => 'Deletes a task that was used to export usage details.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Tag', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'TaskId', 'in' => 'query', - 'style' => 'repeatList', + 'schema' => ['description' => 'The ID of the task. You can call the [DescribeUserUsageDataExportTask](~~91062~~) operation to query tasks.', 'type' => 'string', 'required' => true, 'example' => '10', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The list of tags. Maximum number of elements in the list: 20'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details about the tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of a tag.'."\n" - ."\n" - .'By default, all tag keys are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'key', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n" - ."\n" - .'By default, all tag values are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - ], - 'required' => false, + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', 'title' => ''], ], - 'required' => false, - 'maxItems' => 20, + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterAliuid', 'errorMessage' => 'Invalid Parameter Aliuid.', 'description' => 'The Aliuid parameter is set to an invalid value.'], + ['errorCode' => 'InvalidTaskId.Malformed', 'errorMessage' => 'Specified TaskId is malformed.', 'description' => 'Invalid TaskId'], + ['errorCode' => 'InvalidParameterOperator', 'errorMessage' => 'Invalid Parameter Operator.', 'description' => 'The Operator parameter is set to an invalid value.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'DeleteUsageDetailDataExportTask', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:48.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DeleteUsageDetailDataExportTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUsageDetailDataExportTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + ], + 'DeleteUserUsageDataExportTask' => [ + 'summary' => 'Deletes a task that was used to export usage history.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'TaskId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the task to delete.', 'type' => 'string', 'required' => true, 'example' => '10', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The description of returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BDA62CE4-3477-439A-B52E-D2D7C829D7C1', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Domains' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PageData' => [ - 'description' => 'The list of the accelerated domain names returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the accelerated domain name.'."\n", - 'type' => 'object', - 'properties' => [ - 'SslProtocol' => [ - 'description' => 'Indicates whether HTTPS is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'Sandbox' => [ - 'description' => 'Indicates whether the accelerated domain name is in a sandbox.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'GmtModified' => [ - 'description' => 'The time when the accelerated domain name was modified.'."\n", - 'type' => 'string', - 'example' => '2015-10-28T11:05:52Z', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DomainId' => [ - 'description' => 'The ID of the accelerated domain name.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11223344', - ], - 'GmtCreated' => [ - 'description' => 'The time when the accelerated domain name was added.'."\n", - 'type' => 'string', - 'example' => '2015-10-28T09:32:51Z', - ], - 'Description' => [ - 'description' => 'The information about Internet Content Provider (ICP) filing.'."\n", - 'type' => 'string', - 'example' => 'filing description', - ], - 'Coverage' => [ - 'description' => 'The acceleration region. Valid values:'."\n" - ."\n" - .'* **domestic**: Chinese mainland'."\n" - .'* **global**: global'."\n" - .'* **overseas**: outside the Chinese mainland'."\n", - 'type' => 'string', - 'example' => 'domestic', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'abcd1234abcd1234', - ], - 'Cname' => [ - 'description' => 'The CNAME assigned to the accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com.w.alikunlun.net', - ], - 'DomainStatus' => [ - 'description' => 'The status of the accelerated domain name. Valid values:'."\n" - ."\n" - .'* **online**'."\n" - .'* **offline**'."\n" - .'* **configuring**'."\n" - .'* **configure_failed**'."\n" - .'* **checking**'."\n" - .'* **check_failed**'."\n" - .'* **stopping**'."\n" - .'* **deleting**'."\n", - 'type' => 'string', - 'example' => 'configure_failed', - ], - 'CdnType' => [ - 'description' => 'The type of the workload accelerated by Alibaba Cloud CDN. Valid values:'."\n" - ."\n" - .'* **web**: images and small files'."\n" - .'* **download**: large files'."\n" - .'* **video**: on-demand video and audio streaming'."\n", - 'type' => 'string', - 'example' => 'download', - ], - 'Sources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Source' => [ - 'description' => 'The information about the origin server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details about the origin server.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the origin server.'."\n", - 'type' => 'string', - 'example' => 'oss', - ], - 'Weight' => [ - 'description' => 'The weight of the origin server if multiple origin servers have been specified.'."\n", - 'type' => 'string', - 'example' => '15', - ], - 'Priority' => [ - 'description' => 'The priority.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'Port' => [ - 'description' => 'The port of the origin server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Content' => [ - 'description' => 'The address of the origin server.'."\n", - 'type' => 'string', - 'example' => '***.oss-cn-hangzhou.aliyuncs.com', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidPageNumber.ValueNotSupported', - 'errorMessage' => 'The specified value of PageNumber is not supported.', - ], - [ - 'errorCode' => 'InvalidPageSize.ValueNotSupported', - 'errorMessage' => 'The specified value of PageSize is invalid.', - ], - [ - 'errorCode' => 'InvalidDomainStatus.ValueNotSupported', - 'errorMessage' => 'The specified value of DomainStatus is invalid.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], - [ - 'errorCode' => 'InvalidDomainSearchType.ValueNotSupported', - 'errorMessage' => 'The specified value of DomainSearchType is invalid.', - ], - [ - 'errorCode' => 'InvalidChangeStartTime.Malformed', - 'errorMessage' => 'The specified ChangeStartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidChangeEndTime.Malformed', - 'errorMessage' => 'The specified ChangeEndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidCdnType.Malformed', - 'errorMessage' => 'The specified CdnType is invalid.', - ], + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterAliuid', 'errorMessage' => 'Invalid Parameter Aliuid.', 'description' => 'The Aliuid parameter is set to an invalid value.'], + ['errorCode' => 'InvalidTaskId.Malformed', 'errorMessage' => 'Specified TaskId is malformed.', 'description' => 'Invalid TaskId'], + ['errorCode' => 'InvalidParameterOperator', 'errorMessage' => 'Invalid Parameter Operator.', 'description' => 'The Operator parameter is set to an invalid value.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BDA62CE4-3477-439A-B52E-D2D7C829D7C1\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 2,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"SslProtocol\\": \\"on\\",\\n \\"Sandbox\\": \\"true\\",\\n \\"GmtModified\\": \\"2015-10-28T11:05:52Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DomainId\\": 11223344,\\n \\"GmtCreated\\": \\"2015-10-28T09:32:51Z\\",\\n \\"Description\\": \\"filing description\\",\\n \\"Coverage\\": \\"domestic\\",\\n \\"ResourceGroupId\\": \\"abcd1234abcd1234\\",\\n \\"Cname\\": \\"example.com.w.alikunlun.net\\",\\n \\"DomainStatus\\": \\"configure_failed\\",\\n \\"CdnType\\": \\"download\\",\\n \\"Sources\\": {\\n \\"Source\\": [\\n {\\n \\"Type\\": \\"oss\\",\\n \\"Weight\\": \\"15\\",\\n \\"Priority\\": \\"20\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"***.oss-cn-hangzhou.aliyuncs.com\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserDomainsResponse>\\n <RequestId>BDA62CE4-3477-439A-B52E-D2D7C829D7C1</RequestId>\\n <PageNumber>1</PageNumber>\\n <PageSize>20</PageSize>\\n <TotalCount>2</TotalCount>\\n <Domains>\\n <SslProtocol>on</SslProtocol>\\n <Sandbox>normal</Sandbox>\\n <GmtModified>2015-10-28T11:05:52Z</GmtModified>\\n <DomainName>example.com</DomainName>\\n <DomainId>11223344</DomainId>\\n <GmtCreated>2015-10-28T09:32:51Z</GmtCreated>\\n <Description>filing description</Description>\\n <Coverage>domestic</Coverage>\\n <ResourceGroupId>abcd1234abcd1234</ResourceGroupId>\\n <Cname>example.com.w.alikunlun.net</Cname>\\n <DomainStatus>configure_failed</DomainStatus>\\n <CdnType>download</CdnType>\\n <Sources>\\n <Type>oss</Type>\\n <Weight>15</Weight>\\n <Priority>20</Priority>\\n <Port>80</Port>\\n <Content>***.oss-cn-hangzhou.aliyuncs.com</Content>\\n </Sources>\\n </Domains>\\n</DescribeUserDomainsResponse>","errorExample":""}]', - 'title' => 'DescribeUserDomains', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* You can specify up to 50 domain names in each request. Separate multiple domain names with commas (,).'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'DeleteUserUsageDataExportTask', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainCname' => [ - 'summary' => 'Detects the CNAME for an accelerated domain name. You can check the resolution result to determine whether the CNAME is configured.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:42.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DeleteUserUsageDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserUsageDataExportTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeBlockedRegions' => [ + 'summary' => 'Queries countries and regions that can be added to the blacklist.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2208,110 +2910,111 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111769', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111717', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'Language', 'in' => 'query', 'schema' => [ - 'description' => 'The accelerated domain name that you want to query. Separate multiple domain names with commas (,). This parameter cannot be left empty.'."\n", + 'description' => 'The language. Valid values:'."\n" + ."\n" + .'- **zh**: simplified Chinese'."\n" + ."\n" + .'- **en**: English'."\n" + ."\n" + .'- **jp**: Japanese', 'type' => 'string', 'required' => true, - 'example' => 'pay.slci6c.mbolsos.com,mch.b7r2v7.mbolsos.com,p.h99e.mbolsos.com,p.xmko.mbolsos.com,p.f2kd.mbolsos.com', + 'enum' => ['zh', 'en', 'jp'], + 'example' => 'zh', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The detection results.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '06D29681-B7CD-4034-A8CC-28AFFA213539', - ], - 'CnameDatas' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23', 'title' => ''], + 'InfoList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Data' => [ - 'description' => 'Details about the CNAME detection results.'."\n", + 'InfoItem' => [ + 'description' => 'The information returned.', 'type' => 'array', 'items' => [ - 'description' => 'The CNAME information.'."\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The CNAME detection result. Valid values:'."\n" - ."\n" - .'* 0: The DNS can detect the CNAME assigned to the domain name.'."\n" - .'* Value other than 0: The DNS cannot detect the CNAME assigned to the domain name.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'enumValueTitles' => [ - '0', - ], - 'example' => '0', - ], - 'Domain' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'a.com', - ], - 'Cname' => [ - 'description' => 'The CNAME assigned to the domain name by Alibaba Cloud CDN.'."\n", - 'type' => 'string', - 'example' => 'a.com.w.alikunlun.net', - ], - 'Passed' => [ - 'type' => 'string', - ], - 'ErrMsg' => [ - 'type' => 'string', - ], + 'CountriesAndRegions' => ['description' => 'The abbreviation of the name of the country or region.', 'type' => 'string', 'example' => 'AF', 'title' => ''], + 'Continent' => ['description' => 'The district to which the country or region belongs.', 'type' => 'string', 'example' => 'Asia', 'title' => ''], + 'CountriesAndRegionsName' => ['description' => 'The name of the country or region.', 'type' => 'string', 'example' => 'Afghanistan', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'DomainNameOverLimit', - 'errorMessage' => 'A maximum of 30 domains are supported for each request.', - ], + ['errorCode' => 'MISS_PARAMETER', 'errorMessage' => 'MISS_PARAMETER', 'description' => ''], + ['errorCode' => 'INVALID_PARAMETER', 'errorMessage' => 'INVALID_PARAMETER', 'description' => ''], + ['errorCode' => 'FAILED', 'errorMessage' => 'FAILED', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'InvaildParameter', - 'errorMessage' => 'The parameter you provided is invalid.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23\\",\\n \\"InfoList\\": {\\n \\"InfoItem\\": [\\n {\\n \\"CountriesAndRegions\\": \\"AF\\",\\n \\"Continent\\": \\"Asia\\",\\n \\"CountriesAndRegionsName\\": \\"Afghanistan\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeBlockedRegions', + 'description' => '> Each account can call this operation up to 50 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBlockedRegions'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeBlockedRegions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06D29681-B7CD-4034-A8CC-28AFFA213539\\",\\n \\"CnameDatas\\": {\\n \\"Data\\": [\\n {\\n \\"Status\\": 0,\\n \\"Domain\\": \\"a.com\\",\\n \\"Cname\\": \\"a.com.w.alikunlun.net\\",\\n \\"Passed\\": \\"true\\",\\n \\"ErrMsg\\": \\"timeout\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeDomainCname', ], - 'DescribeDomainsBySource' => [ - 'summary' => 'Queries accelerated domain names by origin server.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnCertificateDetail' => [ + 'summary' => 'Queries an SSL certificate.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2320,168 +3023,72 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111802', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '111721', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], ], 'parameters' => [ [ - 'name' => 'Sources', + 'name' => 'CertName', 'in' => 'query', - 'schema' => [ - 'description' => 'The origin servers. Separate multiple origin servers with commas (,). Fuzzy match is not supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The ID of the SSL certificate. You can query only one certificate at a time.', 'type' => 'string', 'required' => true, 'example' => 'cert-15480655xxxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data structure of the response.'."\n", 'type' => 'object', 'properties' => [ - 'Sources' => [ - 'description' => 'The origin servers.'."\n", - 'type' => 'string', - 'example' => 'example.com,aliyundoc.com', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B0F074E5-A1AC-4B32-8EA2-6F450410D1E0', - ], - 'DomainsList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DomainsData' => [ - 'description' => 'The domain names corresponding to each origin server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain names corresponding to each origin server.'."\n", - 'type' => 'object', - 'properties' => [ - 'Source' => [ - 'description' => 'The origin server.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DomainInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'domainInfo' => [ - 'description' => 'Information about the domain name.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details about the domain name.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the domain name. Valid values:'."\n" - ."\n" - .'* **applying**: The domain name is under review.'."\n" - .'* **configuring**: The domain name is being configured.'."\n" - .'* **online**: The domain name is working as expected.'."\n" - .'* **stopping**: The domain name is being stopped.'."\n" - .'* **offline**: The domain name is disabled.'."\n" - .'* **disabling**: The domain name is being removed.'."\n", - 'type' => 'string', - 'example' => 'online', - ], - 'UpdateTime' => [ - 'description' => 'The update time.'."\n", - 'type' => 'string', - 'example' => '2017-03-31T04:49:00+08:00', - ], - 'CreateTime' => [ - 'description' => 'The creation time.'."\n", - 'type' => 'string', - 'example' => '2016-07-12T11:53:19+08:00', - ], - 'DomainCname' => [ - 'description' => 'The CNAME record assigned to the domain name.'."\n", - 'type' => 'string', - 'example' => '***.alikunlun.com', - ], - 'CdnType' => [ - 'description' => 'The workload type of the accelerated domain name. Valid values:'."\n" - ."\n" - .'* **web**: images and small files'."\n" - .'* **download**: large files'."\n" - .'* **video**: on-demand video and audio streaming'."\n", - 'type' => 'string', - 'example' => 'web', - ], - 'DomainName' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.org', - ], - ], - ], - ], - ], - ], - 'Domains' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'domainNames' => [ - 'description' => 'The domain names that correspond to each origin server.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.org', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'cert-15480655xxxx', 'title' => ''], + 'Key' => ['description' => 'The key of the SSL certificate.', 'type' => 'string', 'example' => 'xxxx', 'title' => ''], + 'Cert' => ['description' => 'The certificate.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----\\nMIIFzDCCBLSgAwIBxxxx', 'title' => ''], + 'CertId' => ['description' => 'The ID of the certificate.', 'type' => 'integer', 'format' => 'int64', 'example' => '881049', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The parameter Sources miss.', - ], - [ - 'errorCode' => 'InvalidSources.Malformed', - 'errorMessage' => 'Specified Sources is malformed.', - ], - [ - 'errorCode' => 'InvalidSources.NotFound', - 'errorMessage' => 'The sources provided does not found in your domains', - ], + 403 => [ + ['errorCode' => 'InvaildParameter', 'errorMessage' => 'The parameter you provided is invalid.', 'description' => 'The format of the domain name is invalid. Correct the format and try again.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Sources\\": \\"example.com,aliyundoc.com\\",\\n \\"RequestId\\": \\"B0F074E5-A1AC-4B32-8EA2-6F450410D1E0\\",\\n \\"DomainsList\\": {\\n \\"DomainsData\\": [\\n {\\n \\"Source\\": \\"example.com\\",\\n \\"DomainInfos\\": {\\n \\"domainInfo\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"UpdateTime\\": \\"2017-03-31T04:49:00+08:00\\",\\n \\"CreateTime\\": \\"2016-07-12T11:53:19+08:00\\",\\n \\"DomainCname\\": \\"***.alikunlun.com\\",\\n \\"CdnType\\": \\"web\\",\\n \\"DomainName\\": \\"example.org\\"\\n }\\n ]\\n },\\n \\"Domains\\": {\\n \\"domainNames\\": [\\n \\"example.org\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainsBySourceResponse>\\n <Sources>example.com,aliyundoc.com</Sources>\\n <RequestId>B0F074E5-A1AC-4B32-8EA2-6F450410D1E0</RequestId>\\n <DomainsList>\\n <Source>example.com</Source>\\n <DomainInfos>\\n <Status>online</Status>\\n <UpdateTime>2017-03-31T04:49:00+08:00</UpdateTime>\\n <CreateTime>2016-07-12T11:53:19+08:00</CreateTime>\\n <DomainCname>***.alikunlun.com</DomainCname>\\n <CdnType>web</CdnType>\\n <DomainName>example.org</DomainName>\\n </DomainInfos>\\n <Domains>example.org</Domains>\\n </DomainsList>\\n</DescribeDomainsBySourceResponse>","errorExample":""}]', - 'title' => 'DescribeDomainsBySource', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CertName\\": \\"cert-15480655xxxx\\",\\n \\"Key\\": \\"xxxx\\",\\n \\"Cert\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIIFzDCCBLSgAwIBxxxx\\",\\n \\"CertId\\": 881049,\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'DescribeCdnCertificateDetail', + 'description' => '> Each account can call this operation up to 20 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnUserDomainsByFunc' => [ - 'summary' => 'Queries accelerated domain names that have specified features configured and the status of the domain names.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-25T03:08:17.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-16T07:35:27.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnCertificateDetail'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnCertificateDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeCdnCertificateDetailById' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -2490,292 +3097,98 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111750', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'abilityTreeCode' => '168240', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'FuncId', + 'name' => 'CertId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the feature.'."\n" - ."\n" - .'For example, the ID of the origin host feature (set_req_host_header) is 18.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '7', - ], + 'schema' => ['description' => 'The ID of the certificate.'."\n", 'type' => 'string', 'required' => true, 'example' => '12345', 'pattern' => '^\\d+$'], ], [ - 'name' => 'PageNumber', + 'name' => 'CertRegion', 'in' => 'query', 'schema' => [ - 'description' => 'The number of the page to return. Default value: **1**.'."\n" + 'description' => 'The region of the certificate. Valid values:'."\n" ."\n" - .'Valid values: **1** to **100000**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of domain names to return on each page. Default value: **20**.'."\n" + .'* **ap-southeast-1**: Singapore'."\n" + .'* **cn-hangzhou**: China (Hangzhou)'."\n" ."\n" - .'Valid values: **1** to **50**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '500', - 'example' => '20', - 'default' => '20', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", + .'Default value: **cn-hangzhou**'."\n", 'type' => 'string', 'required' => false, - 'example' => 'rg-xxxxx', + 'enumValueTitles' => ['ap-southeast-1' => 'ap-southeast-1', 'cn-hangzhou' => 'cn-hangzhou'], + 'example' => 'cn-hangzhou'."\n", ], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'AA75AADB-5E25-4970-B480-EAA1F5658483', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - 'Domains' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'PageData' => [ - 'description' => 'The configurations of the accelerated domain name.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'GmtCreated' => [ - 'description' => 'The time when the accelerated domain name was added to Alibaba Cloud CDN.'."\n", - 'type' => 'string', - 'example' => '2015-10-28T11:05:52Z', - ], - 'SslProtocol' => [ - 'description' => 'Indicates whether HTTPS is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'Description' => [ - 'description' => 'The description of the status.'."\n", - 'type' => 'string', - 'example' => 'audit failed', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'rg-xxxxx', - ], - 'DomainStatus' => [ - 'description' => 'The status of the accelerated domain name. Valid values:'."\n" - ."\n" - .'* **online**: The domain name is enabled.'."\n" - .'* **offline**: The domain is disabled.'."\n" - .'* **configuring**: The endpoint group is being configured.'."\n" - .'* **configure_failed**: The domain failed to be configured.'."\n" - .'* **checking**: The domain name is under review.'."\n" - .'* **check_failed**: The domain name failed the review.'."\n" - .'* **stopping**: The domain name is be disabled.'."\n" - .'* **deleting**: being deleted'."\n", - 'type' => 'string', - 'example' => 'configure_failed', - ], - 'Cname' => [ - 'description' => 'The CNAME assigned to the accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com.w.alikunlun.com', - ], - 'GmtModified' => [ - 'description' => 'The last time when the accelerated domain was modified.'."\n", - 'type' => 'string', - 'example' => '2015-10-29T10:15:31Z', - ], - 'CdnType' => [ - 'description' => 'The type of workload accelerated by Alibaba Cloud CDN. Valid values:'."\n" - ."\n" - .'* **web**: image and small file distribution'."\n" - .'* **download**: large file distribution'."\n" - .'* **video**: on-demand video and audio streaming'."\n" - .'* **liveStream**: live streaming'."\n", - 'type' => 'string', - 'example' => 'web', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'Sources' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Source' => [ - 'description' => 'The information about the origin server.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the origin server.'."\n", - 'type' => 'string', - 'example' => 'ipaddr', - ], - 'Weight' => [ - 'description' => 'The weight of the origin server if multiple origin servers have been specified.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'Priority' => [ - 'description' => 'The priority of the configuration item.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'Port' => [ - 'description' => 'The port of the origin server.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Content' => [ - 'description' => 'The address of the origin server.'."\n", - 'type' => 'string', - 'example' => '1.1.1.1', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'CertName' => ['description' => 'The name of the certificate.'."\n", 'type' => 'string', 'example' => 'yourCertName'."\n"], + 'Key' => ['description' => 'The public key of the certificate.'."\n", 'type' => 'string', 'example' => '587f6db37e3a2f01047b032b739cbe31'."\n"], + 'Cert' => ['description' => 'The content of the certificate.'."\n", 'type' => 'string', 'example' => '-----BEGINCERTIFICATE-----xxx-----END CERTIFICATE-----'."\n"], + 'CertId' => ['description' => 'The ID of the certificate.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '12345'], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E'."\n"], ], + 'description' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidPageNumber.ValueNotSupported', - 'errorMessage' => 'The specified value of PageNumber is not supported.', - ], - [ - 'errorCode' => 'InvalidPageSize.ValueNotSupported', - 'errorMessage' => 'The specified value of PageSize is invalid.', - ], - [ - 'errorCode' => 'InvalidDomainStatus.ValueNotSupported', - 'errorMessage' => 'The specified value of DomainStatus is invalid.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], - [ - 'errorCode' => 'InvalidDomainSearchType.ValueNotSupported', - 'errorMessage' => 'The specified value of DomainSearchType is invalid.', - ], - [ - 'errorCode' => 'InvalidChangeStartTime.Malformed', - 'errorMessage' => 'The specified ChangeStartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidChangeEndTime.Malformed', - 'errorMessage' => 'The specified ChangeEndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidCdnType.Malformed', - 'errorMessage' => 'The specified CdnType is invalid.', + ['errorCode' => 'InvalidCertId.NotFound', 'errorMessage' => 'The certId does not exist.', 'description' => 'The certificate ID does not exist.'], + ['errorCode' => 'Abs.CertRegion.ValueNotSupported', 'errorMessage' => 'CertRegion is not supported.', 'description' => 'The certificate region is not supported.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CertName\\": \\"yourCertName\\\\n\\",\\n \\"Key\\": \\"587f6db37e3a2f01047b032b739cbe31\\\\n\\",\\n \\"Cert\\": \\"-----BEGINCERTIFICATE-----xxx-----END CERTIFICATE-----\\\\n\\",\\n \\"CertId\\": 12345,\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\\\n\\"\\n}","type":"json"}]', + 'title' => 'DescribeCdnCertificateDetailById', + 'summary' => 'Queries certificate details by certificate ID.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnCertificateDetailById', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AA75AADB-5E25-4970-B480-EAA1F5658483\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 5,\\n \\"TotalCount\\": 16,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"GmtCreated\\": \\"2015-10-28T11:05:52Z\\",\\n \\"SslProtocol\\": \\"on\\",\\n \\"Description\\": \\"audit failed\\",\\n \\"ResourceGroupId\\": \\"rg-xxxxx\\",\\n \\"DomainStatus\\": \\"configure_failed\\",\\n \\"Cname\\": \\"example.com.w.alikunlun.com\\",\\n \\"GmtModified\\": \\"2015-10-29T10:15:31Z\\",\\n \\"CdnType\\": \\"web\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"Sources\\": {\\n \\"Source\\": [\\n {\\n \\"Type\\": \\"ipaddr\\",\\n \\"Weight\\": \\"10\\",\\n \\"Priority\\": \\"20\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"1.1.1.1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<PageNumber>1</PageNumber>\\n<TotalCount>16</TotalCount>\\n<PageSize>5</PageSize>\\n<RequestId>AA75AADB-5E25-4970-B480-EAA1F5658483</RequestId>\\n<Domains>\\n <PageData>\\n <CdnType>download</CdnType>\\n <DomainStatus>configure_failed</DomainStatus>\\n <DomainName>example.com</DomainName>\\n <GmtModified>2015-10-28T11:05:52Z</GmtModified>\\n <GmtCreated>2015-10-28T09:32:51Z</GmtCreated>\\n <Description>audit failed</Description>\\n <ResourceGroupId>rg-xxxxx</ResourceGroupId>\\n <Sources>\\n <Source>\\n <Type>ipaddr</Type>\\n <Content>1.1.1.1</Content>\\n <Priority>20</Priority>\\n <Port>80</Port>\\n <Weight>10</Weight>\\n </Source>\\n </Sources>\\n </PageData>\\n <PageData>\\n <CdnType>web</CdnType>\\n <DomainStatus>configure_failed</DomainStatus>\\n <DomainName>example.org</DomainName>\\n <GmtModified>2015-10-28T11:05:50Z</GmtModified>\\n <GmtCreated>2015-10-28T09:31:59Z</GmtCreated>\\n <ResourceGroupId>rg-xxxxx</ResourceGroupId>\\n </PageData>\\n <PageData>\\n <Cname>example.edu.w.alikunlun.com</Cname>\\n <CdnType>video</CdnType>\\n <DomainStatus>online</DomainStatus>\\n <DomainName>example.edu</DomainName>\\n <GmtModified>2015-10-23T09:02:11Z</GmtModified>\\n <GmtCreated>2015-10-23T09:01:57Z</GmtCreated>\\n <ResourceGroupId>rg-xxxxx</ResourceGroupId>\\n </PageData>\\n</Domains>","errorExample":""}]', - 'title' => 'DescribeCdnUserDomainsByFunc', - 'description' => '> The maximum number of times that each user can call this operation per second is 100.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeCdnDomainDetail' => [ - 'summary' => 'Queries the basic information about an accelerated domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnCertificateList' => [ + 'summary' => 'Queries the certificates of accelerated domain names.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => true, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111728', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'abilityTreeCode' => '111722', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" + ."\n" + .'If you do not specify an accelerated domain name, SSL certificates of all your accelerated domain names are queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -2783,487 +3196,307 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '18CF38AA-1275-451D-A12B-4EC0BF1C5E30', - ], - 'GetDomainDetailModel' => [ - 'description' => 'The details about the accelerated domain name.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'FC0E34AC-0239-44A7-AB0E-800DE522C8DA', 'title' => ''], + 'CertificateListModel' => [ + 'description' => 'Details about certificates.', 'type' => 'object', 'properties' => [ - 'GmtCreated' => [ - 'description' => 'The time when the domain name was created.'."\n", - 'type' => 'string', - 'example' => '2015-06-25T03:30:50Z', - ], - 'Description' => [ - 'description' => 'The description of the domain name.'."\n", - 'type' => 'string', - 'example' => 'Streaming domain'."\n", - ], - 'HttpsCname' => [ - 'description' => 'The CNAME for which HTTPS is enabled.'."\n", - 'type' => 'string', - 'example' => 'example.com.w.kunlunle.com', - ], - 'ResourceGroupId' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'example' => 'abcd1234abcd1234', - ], - 'ServerCertificateStatus' => [ - 'description' => 'Indicates whether the SSL certificate is enabled. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'Scope' => [ - 'description' => 'The acceleration region.'."\n", - 'type' => 'string', - 'example' => 'domestic', - ], - 'DomainStatus' => [ - 'description' => 'The status of the accelerated domain name. Valid values:'."\n" - ."\n" - .'* **online**'."\n" - .'* **offline**'."\n" - .'* **configuring**'."\n" - .'* **configure_failed**'."\n" - .'* **checking**'."\n" - .'* **check_failed**'."\n" - .'* **stopping**'."\n" - .'* **deleting**'."\n", - 'type' => 'string', - 'example' => 'online', - ], - 'Cname' => [ - 'description' => 'The CNAME that is assigned to the accelerated domain name. You must add the CNAME record in the system of your DNS service provider to map the accelerated domain name to the CNAME.'."\n", - 'type' => 'string', - 'example' => 'example.com.w.kunlunle.com', - ], - 'GmtModified' => [ - 'description' => 'The time when the domain name was last modified.'."\n", - 'type' => 'string', - 'example' => '2017-06-25T03:30:50Z', - ], - 'CdnType' => [ - 'description' => 'The workload type of the accelerated domain name. Valid values:'."\n" - ."\n" - .'* **web**: images and small files'."\n" - .'* **download**: large files'."\n" - .'* **video**: on-demand video and audio streaming'."\n", - 'type' => 'string', - 'example' => 'web', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'SourceModels' => [ + 'Count' => ['description' => 'The number of certificates that are returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CertList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'SourceModel' => [ - 'description' => 'The information about the origin server.'."\n", + 'Cert' => [ + 'description' => 'The list of certificates.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the origin server. Valid values:'."\n" - ."\n" - .'* **ipaddr**: an origin IP address'."\n" - .'* **domain**: an origin domain name'."\n" - .'* **oss**: the domain name of an Object Storage Service (OSS) bucket'."\n" - .'* **fc_domain:** a Function Compute domain name'."\n", - 'type' => 'string', - 'example' => 'domain', - ], - 'Weight' => [ - 'description' => 'The weight of the origin server if multiple origin servers have been specified.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'Enabled' => [ - 'description' => 'The status.'."\n", - 'type' => 'string', - 'example' => 'online', - ], - 'Priority' => [ - 'description' => 'The priority.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'Port' => [ - 'description' => 'The port over which requests are redirected to the origin server. Ports 443 and 80 are supported.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'Content' => [ - 'description' => 'The address of the origin server.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], + 'LastTime' => ['description' => 'The timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1512388610', 'title' => ''], + 'Fingerprint' => ['description' => 'The fingerprint of the certificate.', 'type' => 'string', 'example' => '2ED68FD33786C5B42950D40A6C50353575BB****', 'title' => ''], + 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'Certificate 1', 'title' => ''], + 'Issuer' => ['description' => 'The certificate authority (CA) that issued the certificate.', 'type' => 'string', 'example' => 'CO****', 'title' => ''], + 'CertId' => ['description' => 'The ID of the certificate.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Common' => ['description' => 'The Common Name (CN) attribute of the certificate. In most cases, the CN is a domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"18CF38AA-1275-451D-A12B-4EC0BF1C5E30\\",\\n \\"GetDomainDetailModel\\": {\\n \\"GmtCreated\\": \\"2015-06-25T03:30:50Z\\",\\n \\"Description\\": \\"直播域名\\",\\n \\"HttpsCname\\": \\"example.com.w.kunlunle.com\\",\\n \\"ResourceGroupId\\": \\"abcd1234abcd1234\\",\\n \\"ServerCertificateStatus\\": \\"on\\",\\n \\"Scope\\": \\"domestic\\",\\n \\"DomainStatus\\": \\"online\\",\\n \\"Cname\\": \\"example.com.w.kunlunle.com\\",\\n \\"GmtModified\\": \\"2017-06-25T03:30:50Z\\",\\n \\"CdnType\\": \\"web\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"SourceModels\\": {\\n \\"SourceModel\\": [\\n {\\n \\"Type\\": \\"domain\\",\\n \\"Weight\\": \\"10\\",\\n \\"Enabled\\": \\"online\\",\\n \\"Priority\\": \\"20\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"example.com\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeCdnDomainDetailResponse>\\n<GetDomainDetailModel>\\n <CdnType>web</CdnType>\\n <Cname>example.com.w.kunlunle.com</Cname>\\n <DomainName>example.com</DomainName>\\n <DomainStatus>online</DomainStatus>\\n <GmtCreated>2015-06-25T03:30:50Z</GmtCreated>\\n <GmtModified>2015-06-25T03:30:53Z</GmtModified>\\n <HttpsCname>example.com.w.kunlunle.com</HttpsCname>\\n <SourceType>domain</SourceType>\\n <ResourceGroupId>abcd1234abcd1234</ResourceGroupId>\\n <SourceModels>\\n <SourceModel>\\n <Enabled>online</Enabled>\\n <Port>80</Port>\\n <Type>domain</Type>\\n <Content>example.com</Content>\\n <Priority>20</Priority>\\n <Weight>10</Weight>\\n </SourceModel>\\n </SourceModels>\\n</GetDomainDetailModel>\\n<RequestId>18CF38AA-1275-451D-A12B-4EC0BF1C5E30</RequestId>\\n</DescribeCdnDomainDetailResponse>","errorExample":""}]', - 'title' => 'DescribeCdnDomainDetail', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeCdnDomainConfigs' => [ - 'summary' => 'Queries the configurations of an accelerated domain name. You can query the configurations of one or more features at the same time.', - 'methods' => [ - 'get', - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'FlowControlError', 'errorMessage' => 'The request was denied due to flow control.', 'description' => 'The request was denied due to throttling.'], + ], + ], + 'staticInfo' => [ + 'substitutions' => ['Cdn::2018-05-10::DescribeCdnSSLCertificateList'], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FC0E34AC-0239-44A7-AB0E-800DE522C8DA\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"LastTime\\": 1512388610,\\n \\"Fingerprint\\": \\"2ED68FD33786C5B42950D40A6C50353575BB****\\",\\n \\"CertName\\": \\"Certificate 1\\",\\n \\"Issuer\\": \\"CO****\\",\\n \\"CertId\\": 1,\\n \\"Common\\": \\"example.com\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnCertificateList', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-25T03:08:16.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-16T07:48:31.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnCertificateList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnCertificateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeCdnConditionIPBInfo' => [ + 'summary' => 'Queries the Internet service provider (ISP), region, and country that are required for advanced conditions.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111727', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'DataId', 'in' => 'query', 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", + 'description' => 'The configuration ID. Valid values:'."\n" + ."\n" + .'- condition\\_region\\_config\\_cn'."\n" + ."\n" + .'- condition\\_region\\_config\\_en'."\n" + ."\n" + .'- condition\\_isp\\_config\\_cn'."\n" + ."\n" + .'- condition\\_isp\\_config\\_en'."\n" + ."\n" + .'- condition\\_country\\_config\\_cn'."\n" + ."\n" + .'- condition\\_country\\_config\\_en', 'type' => 'string', 'required' => true, - 'example' => 'example.com', + 'docRequired' => false, + 'enum' => ['condition_region_config_cn', 'condition_region_config_en', 'condition_isp_config_cn', 'condition_isp_config_en', 'condition_country_config_cn', 'condition_country_config_en'], + 'example' => 'condition_region_config_cn', + 'title' => '', ], ], - [ - 'name' => 'FunctionNames', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The names of the features. Separate multiple feature names with commas (,). For more information, see [Parameters for configuring features for domain names](~~388460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aliauth', + 'title' => 'Schema of Response', + 'description' => 'The request ID.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '2C4AA72D-8C00-1113-BD68-8BC4E3CF4FF6'], + 'Datas' => [ + 'description' => 'The data that is returned.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The configuration value.', 'type' => 'string', 'example' => '"[{\\"text\\":\\"阿鲁巴\\",\\"value\\":\\"AW\\"}]"', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2C4AA72D-8C00-1113-BD68-8BC4E3CF4FF6\\",\\n \\"Datas\\": [\\n {\\n \\"Value\\": \\"\\\\\\"[{\\\\\\\\\\\\\\"text\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"阿鲁巴\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AW\\\\\\\\\\\\\\"}]\\\\\\"\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeCdnConditionIPBInfo', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnConditionIPBInfo'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ [ - 'name' => 'ConfigId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the configuration. For more information about ConfigId, see [Usage notes on ConfigId](~~388994~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '6295', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnConditionIPBInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + ], + 'DescribeCdnDeletedDomains' => [ + 'summary' => 'Queries the domain names that are deleted from your account.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Valid values: **1** to **100000**. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100000', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of domain names to return per page. Valid values: an integer between **1** and **500**. Default value: **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '1', 'default' => '20', 'example' => '5', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C80705BF-0F76-41FA-BAD1-5B59296A4E59', - ], - 'DomainConfigs' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AA75AADB-5E25-4970-B480-EAA1F5658483', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page, which is the same as the **PageNumber** parameter in request parameters.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of domain names returned per page, which is the same as the **PageSize** parameter in request parameters.', 'type' => 'integer', 'format' => 'int64', 'example' => '5', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of domain names returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], + 'Domains' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DomainConfig' => [ - 'description' => 'The configurations of the domain name.'."\n", + 'PageData' => [ + 'description' => 'The list of accelerated domain names and the time each domain name was last modified.', 'type' => 'array', 'items' => [ + 'description' => 'The information about the accelerated domain name.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the configuration. Valid values:'."\n" - ."\n" - .'* **success**'."\n" - .'* **testing**'."\n" - .'* **failed**'."\n" - .'* **configuring**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ParentId' => [ - 'description' => 'The ID of the rule condition. This parameter is optional.'."\n" - ."\n" - .'To create a rule condition, you can configure the **condition** feature that is described in the [Parameters for configuring features for domain names](~~388460~~) topic. A rule condition can identify parameters that are included in requests and filter requests based on the identified parameters. Each rule condition has a [ConfigId](~~388994~~). You can use ConfigId as ParentId that is referenced by other features. This way, you can combine rule conditions and features for flexible configurations.'."\n" - ."\n" - .'For more information, see [BatchSetCdnDomainConfig](~~90915~~) or ParentId configuration example in this topic.'."\n", - 'type' => 'string', - 'example' => '222728944812032', - ], - 'ConfigId' => [ - 'description' => 'The ID of the configuration.'."\n", - 'type' => 'string', - 'example' => '6295', - ], - 'FunctionName' => [ - 'description' => 'The name of the feature.'."\n", - 'type' => 'string', - 'example' => 'aliauth', - ], - 'FunctionArgs' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'FunctionArg' => [ - 'description' => 'The configuration of each feature.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ArgName' => [ - 'description' => 'The parameter name, which is the configuration item of **functionName**. You can configure multiple configuration items.'."\n", - 'type' => 'string', - 'example' => 'auth_type', - ], - 'ArgValue' => [ - 'description' => 'The parameter value, which is the value of the configuration item of **functionName**.'."\n", - 'type' => 'string', - 'example' => 'req_auth', - ], - ], - ], - ], - ], - ], + 'GmtModified' => ['description' => 'The time when the accelerated domain name was modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2015-10-28T11:05:52Z', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s.ValueNotSupported', - 'errorMessage' => 'FunctionName [%s] is not supported.', - ], + ['errorCode' => 'InvalidPageNumber.ValueNotSupported', 'errorMessage' => 'The specified value of PageNumber is not supported.', 'description' => ''], + ['errorCode' => 'InvalidPageSize.ValueNotSupported', 'errorMessage' => 'The specified value of PageSize is invalid.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C80705BF-0F76-41FA-BAD1-5B59296A4E59\\",\\n \\"DomainConfigs\\": {\\n \\"DomainConfig\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"ParentId\\": \\"222728944812032\\",\\n \\"ConfigId\\": \\"6295\\",\\n \\"FunctionName\\": \\"aliauth\\",\\n \\"FunctionArgs\\": {\\n \\"FunctionArg\\": [\\n {\\n \\"ArgName\\": \\"auth_type\\",\\n \\"ArgValue\\": \\"req_auth\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnDomainConfigsResponse>\\n <RequestId>C80705BF-0F76-41FA-BAD1-5B59296A4E59</RequestId>\\n <DomainConfigs>\\n <Status>success</Status>\\n <ParentId>222728944812032</ParentId>\\n <ConfigId>6295</ConfigId>\\n <FunctionName>aliauth</FunctionName>\\n <FunctionArgs>\\n <ArgName>auth_type</ArgName>\\n <ArgValue>req_auth</ArgValue>\\n </FunctionArgs>\\n </DomainConfigs>\\n</DescribeCdnDomainConfigsResponse>","errorExample":""}]', - 'title' => 'DescribeCdnDomainConfigs', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'responseParamsDescription' => '# ParentId configuration example'."\n" - ."\n" - .'If the **ParentId** parameter is \\*\\*-1\\*\\*, the existing rule conditions in the configurations are deleted.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "Parameter A", '."\n" - .' "argValue": Value of parameter A"'."\n" - .' }, '."\n" - .' {'."\n" - .' "argName": "Parameter B", '."\n" - .' "argValue": "Value of parameter B"'."\n" - .' }], '."\n" - .' "functionName": "Feature name"'."\n" - .' "ParentId": "Optional. This corresponds to configid of the referenced rule condition."'."\n" - .'}]'."\n" - .'```'."\n" - ."\n" - .'The following code provides a sample configuration if **parentId** is not used. In this example, the **origin_request_header** feature is used to add back-to-origin HTTP headers, and the rule condition whose configuration ID is **222728944812032** is referenced.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "header_operation_type",'."\n" - .' "argValue": "add"'."\n" - .' }, {'."\n" - .' "argName": "header_name",'."\n" - .' "argValue": "Accept-Encoding"'."\n" - .' }, {'."\n" - .' "argName": "header_value",'."\n" - .' "argValue": "gzip"'."\n" - .' }, {'."\n" - .' "argName": "duplicate",'."\n" - .' "argValue": "off"'."\n" - .' }],'."\n" - .' "functionName": "origin_request_header"'."\n" - .'}]'."\n" - .'```'."\n" - ."\n" - .'The following code provides a sample configuration if **parentId** is used. In this example, the **origin_request_header** feature is used to add back-to-origin HTTP headers, and the rule condition whose configuration ID is **222728944812032** is referenced.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "header_operation_type",'."\n" - .' "argValue": "add"'."\n" - .' }, {'."\n" - .' "argName": "header_name",'."\n" - .' "argValue": "Accept-Encoding"'."\n" - .' }, {'."\n" - .' "argName": "header_value",'."\n" - .' "argValue": "gzip"'."\n" - .' }, {'."\n" - .' "argName": "duplicate",'."\n" - .' "argValue": "off"'."\n" - .' }],'."\n" - .' "functionName": "origin_request_header",'."\n" - .' "parentId": "222728944812032"'."\n" - .'}]'."\n" - .'```'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AA75AADB-5E25-4970-B480-EAA1F5658483\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 5,\\n \\"TotalCount\\": 16,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"GmtModified\\": \\"2015-10-28T11:05:52Z\\",\\n \\"DomainName\\": \\"example.com\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnDeletedDomains', + 'description' => '> Each account can call this operation up to 10 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'BatchSetCdnDomainConfig' => [ - 'summary' => 'Configures multiple accelerated domain names at a time.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDeletedDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDeletedDomains'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeCdnDeliverList' => [ + 'summary' => 'Queries a list of report tracking tasks. This operation returns all tracking tasks under your account.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111684', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'abilityTreeCode' => '111724', + 'abilityTreeNodes' => ['FEATUREcdnEK7SNH'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DomainNames', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain names. You can specify multiple accelerated domain names and separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'www.example.com', - ], - ], - [ - 'name' => 'Functions', + 'name' => 'DeliverId', 'in' => 'query', - 'schema' => [ - 'description' => 'The features that you want to configure. Format:'."\n" - ."\n" - .'* **functionName**: the name of the feature. This parameter is required. Separate multiple values with commas (,). For more information, see [Parameters for configuring features for domain names](~~388460~~).'."\n" - .'* **argName**: the feature parameter for **functionName**. This parameter is required. You can specify multiple feature parameters.'."\n" - .'* **argValue**: the parameter value that is specified for **functionName**. This parameter is required.'."\n" - .'* **parentid**: the rule condition ID. This parameter is optional. You can use the **condition** rule engine to create a rule condition. For information, see [Parameters for configuring features for domain names](~~388460~~). A rule condition can identify parameters that are included in requests and filter requests based on the identified parameters. After you create a rule condition, a [configid](~~388994~~) is generated. A configid can be used as parentId that is referenced by other features. This way, you can combine rule conditions and features for flexible configurations.'."\n" - ."\n" - .'If the **ParentId** parameter is \\*\\*-1\\*\\*, the existing rule conditions in the configurations are deleted.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "Parameter A", '."\n" - .' "argValue": "Value of parameter A"'."\n" - .' }, '."\n" - .' {'."\n" - .' "argName": "Parameter B", '."\n" - .' "argValue": "Value of parameter B"'."\n" - .' }], '."\n" - .' "functionName": "Feature name"'."\n" - .' "parentId": Optional. parentId corresponds to configid of the referenced rule condition'."\n" - .'}]'."\n" - .'```'."\n" - ."\n" - .'The following code provides a sample configuration if **parentId** is not used. In this example, the **origin_request_header** feature is used to add back-to-origin HTTP headers, and the rule condition whose configuration ID is **configid=222728944812032** is referenced.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "header_operation_type",'."\n" - .' "argValue": "add"'."\n" - .' }, {'."\n" - .' "argName": "header_name",'."\n" - .' "argValue": "Accept-Encoding"'."\n" - .' }, {'."\n" - .' "argName": "header_value",'."\n" - .' "argValue": "gzip"'."\n" - .' }, {'."\n" - .' "argName": "duplicate",'."\n" - .' "argValue": "off"'."\n" - .' }],'."\n" - .' "functionName": "origin_request_header"'."\n" - .'}]'."\n" - .'```'."\n" - ."\n" - .'The following code shows a sample configuration if **parentId** is used. In this example, the **origin_request_header** feature is used to add back-to-origin HTTP headers, and the rule condition whose configuration ID is **222728944812032** is referenced.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "header_operation_type",'."\n" - .' "argValue": "add"'."\n" - .' }, {'."\n" - .' "argName": "header_name",'."\n" - .' "argValue": "Accept-Encoding"'."\n" - .' }, {'."\n" - .' "argName": "header_value",'."\n" - .' "argValue": "gzip"'."\n" - .' }, {'."\n" - .' "argName": "duplicate",'."\n" - .' "argValue": "off"'."\n" - .' }],'."\n" - .' "functionName": "origin_request_header",'."\n" - .' "parentId": 222728944812032'."\n" - .'}]'."\n" - .'```'."\n" - ."\n" - .'The following code provides a sample configuration that deletes the reference to **parentId** for a feature that uses **parentId**. This example shows how to delete the rule condition that has a configuration ID of **222728944812032** and is referenced when **origin_request_header** feature is used to add back-to-origin HTTP headers.'."\n" - ."\n" - .'```[{'."\n" - .' "functionArgs": [{'."\n" - .' "argName": "header_operation_type",'."\n" - .' "argValue": "add"'."\n" - .' }, {'."\n" - .' "argName": "header_name",'."\n" - .' "argValue": "Accept-Encoding"'."\n" - .' }, {'."\n" - .' "argName": "header_value",'."\n" - .' "argValue": "gzip"'."\n" - .' }, {'."\n" - .' "argName": "duplicate",'."\n" - .' "argValue": "off"'."\n" - .' }],'."\n" - .' "functionName": "origin_request_header",'."\n" - .' "parentId": -1'."\n" - .'}]'."\n" - .'```', - 'type' => 'string', - 'required' => true, - 'example' => '[{"functionArgs": [{"argName": "key","argValue": "Content-Encoding"},{"argName": "value","argValue": "gzip"}],"functionName": "set_resp_header"} ]', - ], + 'schema' => ['description' => 'The ID of the tracking task to query. If you do not specify this parameter, all tracking tasks are returned.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''], ], ], 'responses' => [ @@ -3271,210 +3504,175 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'DomainConfigList' => [ - 'type' => 'object', - 'itemNode' => true, + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '12345', 'title' => ''], + 'Content' => [ + 'description' => 'The list of tracking tasks.', 'properties' => [ - 'DomainConfigModel' => [ - 'description' => 'The list of domain configurations.'."\n", + 'data' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ConfigId' => [ - 'description' => 'The ID of the configuration.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567', + 'createTime' => ['type' => 'string', 'example' => '2021-12-30T10:29:29Z', 'description' => '', 'title' => ''], + 'crontab' => ['type' => 'string', 'example' => '00 00 08 * * ?', 'description' => '', 'title' => ''], + 'deliver' => [ + 'type' => 'object', + 'properties' => [ + 'email' => [ + 'type' => 'object', + 'properties' => [ + 'to' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'xx@xx.xx', 'description' => '', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'DomainName' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', + 'deliverId' => ['type' => 'integer', 'format' => 'int64', 'example' => '1', 'description' => '', 'title' => ''], + 'dmList' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'a.b.c', 'description' => '', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'FunctionName' => [ - 'description' => 'The name of the feature.'."\n", - 'type' => 'string', - 'example' => 'set_resp_header', + 'frequency' => ['type' => 'string', 'example' => 'd', 'description' => '', 'title' => ''], + 'name' => ['type' => 'string', 'example' => 'xxxx', 'description' => '', 'title' => ''], + 'reports' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'reportId' => ['type' => 'integer', 'format' => 'int64', 'example' => '1', 'description' => '', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'status' => ['type' => 'string', 'example' => 'enable', 'description' => '', 'title' => ''], + 'timeEndFormat' => ['type' => 'string', 'example' => '-1d', 'description' => '', 'title' => ''], + 'timeFromFormat' => ['type' => 'string', 'example' => '-1d', 'description' => '', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'type' => 'object', + 'example' => '"data": [{"deliverId": 1,"status": "enable","createTime": "2020-10-14T11:19:26Z","crontab": "0 0 0 * * ?","frequency": "d","name": " domain name subscription","dmList": ["www.example.com"],"reports": [{"reportId": 1,"conditions": [{"op": "in","field": "prov","value": [" Heilongjiang"," Beijing"]}]},{"reportId": 2}],"deliver": {"email": {"subject": " topic","to": ["example@alibaba-inc.com","example@alibaba-inc.com"]}}}]}}', + 'title' => '', ], ], + 'description' => 'The response entity.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidFunctions.Malformed', - 'errorMessage' => 'The specified Functions is incorrectly formatted.', - ], - [ - 'errorCode' => 'InvalidArgValue.Malformed', - 'errorMessage' => 'The specified ArgValue is invalid.', - ], - [ - 'errorCode' => 'Invalid%s.ValueNotSupported', - 'errorMessage' => '[%s] is not supported.', - ], - [ - 'errorCode' => 'Invalid%s.Malformed', - 'errorMessage' => 'The specified ArgValue [%s] is invalid.', - ], - [ - 'errorCode' => 'MissingParameter%s', - 'errorMessage' => 'The specified value of ArgName[%s] is missing.', - ], - [ - 'errorCode' => 'InvalidFunctionArgs.Malformed', - 'errorMessage' => 'The specified FunctionArgs is invalid.', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The specified ArgValue is missing.', - ], - [ - 'errorCode' => 'InvalidHeaderKey.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.', - ], - [ - 'errorCode' => 'TooManyDomains', - 'errorMessage' => 'The count of domain is over 50.', - ], - [ - 'errorCode' => 'InvalidRule.Malformed', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ConfigurationConflicts', - 'errorMessage' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', - ], - [ - 'errorCode' => 'InvalidFunction.NotSupported', - 'errorMessage' => 'The domain is not supported to set the function.', - ], - [ - 'errorCode' => 'InvalidDomain.BelongToConfigGroup', - 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', - ], - [ - 'errorCode' => 'EntityNotExist.Role', - 'errorMessage' => 'EntityNotExist.Role', - ], - [ - 'errorCode' => 'MissingParameterFunctions', - 'errorMessage' => 'The specified value of Functions is missing.', - ], - [ - 'errorCode' => 'NoPermission.SLR', - 'errorMessage' => 'The current user does not have permission to create servicelinkedrole. Please contact the Alibaba Cloud account or administrator to authorize AliyunCDNFullAccess or custom policy:Service Name:cdn-ddos.cdn.aliyuncs.com,Role: AliyunServiceRoleForCDNAccessingDDoS,Permission: ram: CreateServiceLinkedRole', - ], - [ - 'errorCode' => 'ConfigExceedLimit', - 'errorMessage' => 'Count of config entries exceeds the limit.', - ], - [ - 'errorCode' => 'EdgeScriptCountExceedLimit', - 'errorMessage' => 'The number of rules exceeds the default limit.', - ], - [ - 'errorCode' => 'EdgeScripOptionsHasInnerConfig', - 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptGrammarNotSupport', - 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptNotSupportJs', - 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'ServiceInvokeFailed', - 'errorMessage' => 'Failed to invoke service.', - ], - [ - 'errorCode' => 'ConfigParentExceedLimit', - 'errorMessage' => 'Config parent exceed limit.', - ], - [ - 'errorCode' => 'Function.InvalidParentId', - 'errorMessage' => 'The specified parentId does not exist.', - ], - [ - 'errorCode' => 'BatchSetBusinessError', - 'errorMessage' => 'some configs error:%s', - ], - [ - 'errorCode' => 'ConfigDuplicate', - 'errorMessage' => 'Duplicate configuration. This function has already been configured and cannot be added repeatedly.', - ], - [ - 'errorCode' => 'FunctionArgError', - 'errorMessage' => 'The function parameter of the domain configuration is incorrect.', + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"12345\\",\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"createTime\\": \\"2021-12-30T10:29:29Z\\",\\n \\"crontab\\": \\"00 00 08 * * ?\\",\\n \\"deliver\\": {\\n \\"email\\": {\\n \\"to\\": [\\n \\"xx@xx.xx\\"\\n ]\\n }\\n },\\n \\"deliverId\\": 1,\\n \\"dmList\\": [\\n \\"a.b.c\\"\\n ],\\n \\"frequency\\": \\"d\\",\\n \\"name\\": \\"xxxx\\",\\n \\"reports\\": [\\n {\\n \\"reportId\\": 1\\n }\\n ],\\n \\"status\\": \\"enable\\",\\n \\"timeEndFormat\\": \\"-1d\\",\\n \\"timeFromFormat\\": \\"-1d\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnDeliverList', + 'description' => '> The call frequency for a single user is limited to 3 calls per second.', + 'responseParamsDescription' => '**The data parameter**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| deliverId | Long | The ID of the tracking task. |'."\n" + .'| status | String | The status of the tracking task. Valid values:<br>**enable**: The task is enabled.<br>**disable**: The task is disabled. |'."\n" + .'| createTime | String | The time when the tracking task was created. |'."\n" + .'| crontab | String | The execution schedule of the tracking task. |'."\n" + .'| frequency | String | The execution frequency. Valid values:<br>**h**: hourly<br>**d**: daily<br>**M**: monthly |'."\n" + .'| name | String | The name of the tracking task. |'."\n" + .'| dmList | String[] | The list of domain names for the tracking task. |'."\n" + .'| reports | String[] | The list of subscribed reports. This parameter contains the following subparameters:<br>reportId: The report ID.<br>conditions: The filter conditions for the report. This parameter is empty if no filter conditions are specified. The filter conditions include the operation (`op`), field (`field`), and value (`value`). Only the **in** operation is supported. |'."\n" + .'| deliver | String | The delivery method. This parameter contains information such as the email subject and recipients.<br>email: The email delivery details.<br>subject: The email subject.<br>to: The list of recipients.<br>copy: The list of CC recipients. |'."\n" + ."\n" + .'**The reports parameter**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| --------- | ------ | ------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| deliverId | Long | The ID of the tracking task. |'."\n" + .'| status | String | The status of the tracking task. Valid values:<br>**enable**: The task is enabled.<br>**disable**: The task is disabled. |', + 'changeSet' => [ + ['createdAt' => '2025-07-17T06:26:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDeliverList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDeliverList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DomainConfigList\\": {\\n \\"DomainConfigModel\\": [\\n {\\n \\"ConfigId\\": 1234567,\\n \\"DomainName\\": \\"www.example.com\\",\\n \\"FunctionName\\": \\"set_resp_header\\"\\n }\\n ]\\n }\\n}","errorExample":"[{\\"functionArgs\\":[{\\"argName\\":\\"file_type\\",\\"argValue\\":\\"jpg\\"},{\\"argName\\":\\"ttl\\",\\"argValue\\":\\"18\\"},{\\"argName\\":\\"weight\\",\\"argValue\\":\\"30\\"}],\\"functionName\\":\\"filetype_based_ttl_set\\",\\"configId\\":5068995}]"},{"type":"xml","example":"<BatchSetCdnDomainConfigResponse>\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n<DomainConfigModel>\\n <DomainName>www.example.com</DomainName>\\n <ConfigId>1234567</ConfigId>\\n <FunctionName>set_resp_header</FunctionName>\\n</DomainConfigModel>\\n</BatchSetCdnDomainConfigResponse>","errorExample":"http://cdn.aliyuncs.com/?Action=BatchSetCdnDomainConfig\\n&DomainName=example.com\\n&Functions=[{\\"functionArgs\\":[{\\"argName\\":\\"domain_name\\",\\"argValue\\":\\"api.hellodtworld.com\\"}],\\"functionName\\":\\"set_req_host_header\\"}]\\n&<公共请求参数>"}]', - 'title' => 'BatchSetCdnDomainConfig', - 'description' => '* You can call this operation up to 30 times per second per account.'."\n" - .'* You can specify multiple domain names and must separate them with commas (,). You can specify up to 50 domain names in each call.'."\n" - .'* If the BatchSetCdnDomainConfig operation is successful, a unique configuration ID (ConfigId) is generated. You can use configuration IDs to update or delete configurations. For more information, see [Usage notes on ConfigId](~~388994~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'translator' => 'machine', ], - 'BatchDeleteCdnDomainConfig' => [ - 'summary' => 'Deletes configurations of multiple accelerated domain names at a time.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnDiagnoseReport' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111682', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197154', + 'abilityTreeNodes' => ['FEATUREcdnEK7SNH'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DomainNames', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain names whose configurations you want to delete. Separate multiple accelerated domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com,example.org', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The diagnostic task ID.', 'type' => 'string', 'required' => false, 'example' => 'xxxxxxxxx-x-x-xxxxxxxxxxxxxxx'], ], [ - 'name' => 'FunctionNames', + 'name' => 'TraceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The names of the features that you want to delete. Separate multiple feature names with commas (,). For more information about feature names, see [Parameters for configuring features for domain names](~~388460~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'referer_white_list_set,https_force', - ], + 'schema' => ['description' => 'The diagnostic trace ID.', 'type' => 'string', 'required' => false, 'example' => '0000xxxxxxxxxxxxxxxxxxxxxx75e', 'title' => ''], ], ], 'responses' => [ @@ -3482,123 +3680,158 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '64D28B53-xxxxx-xxx-xxxxx-FD46680144FE'], + 'Content' => [ + 'type' => 'object', + 'properties' => [ + 'Aliuid' => ['description' => 'The Alibaba Cloud account ID.', 'type' => 'string', 'example' => '1077********7468', 'title' => ''], + 'ClientAddr' => ['description' => 'The IP address of the local DNS server.', 'type' => 'string', 'example' => 'xx.xx.xx.xx', 'title' => ''], + 'ClientInfo' => [ + 'description' => 'The client information.', + 'type' => 'object', + 'properties' => [ + 'BrowserInfo' => ['description' => 'The browser.', 'type' => 'string', 'example' => 'Chrome', 'title' => ''], + 'Os' => ['description' => 'The operating system.', 'type' => 'string', 'example' => 'Macintosh', 'title' => ''], + 'UAString' => ['description' => 'The User-Agent string.', 'type' => 'string', 'example' => 'Mozilla/5.0 (Macintosh Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ClientIp' => ['description' => 'The client IP address.', 'type' => 'string', 'example' => 'xx.xx.xx.xx', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the report was created.', 'type' => 'string', 'example' => '2022-12-10 15:11:47', 'title' => ''], + 'DiagnoseId' => ['description' => 'The diagnostic ID.', 'type' => 'string', 'example' => 'f2xxxxd5', 'title' => ''], + 'DiagnoseReportLink' => ['description' => 'The link to the diagnostic report.', 'type' => 'string', 'example' => 'https://cdnskyeye.alibaba-inc.com/#/databrain/detectionPlatformAction?module=trace报表&id=xxx&instance_id=xxxx&type=copy&edition_id=xxxxx', 'title' => ''], + 'DiagnoseUrl' => ['description' => 'The diagnostic URL.', 'type' => 'string', 'example' => 'http://cdn.dns-detect.alicdn.com/diagnose/xxxxxx', 'title' => ''], + 'Domain' => ['description' => 'The diagnosed domain name.', 'type' => 'string', 'example' => 'http://www.example.com', 'title' => ''], + 'ExpireTime' => ['description' => 'The expiration time, specified as a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1678701915', 'title' => ''], + 'RemainDiagnoseTimes' => ['description' => 'The number of remaining diagnostic attempts.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'Report' => [ + 'description' => 'The details of the diagnostic report.', + 'type' => 'object', + 'properties' => [ + 'ClientInfo' => ['description' => 'The client information.', 'type' => 'string', 'example' => '客户端IP : xxx.xxx.xxx.xxx DNS_IP : xxx.xxx.xxx.xxx ', 'title' => ''], + 'DiagnoseResult' => ['description' => 'The diagnostic result.', 'type' => 'string', 'example' => '诊断结论 : 检测正常 调度结论 : 检测正常 检测项详情 : 异常项 : 【请求正常】 ', 'title' => ''], + 'L1Node' => ['description' => 'Information about the L1 node.', 'type' => 'string', 'example' => '节点:cn4461 电信-山东省青岛市(400G)\\n水位: (223.36G/400G)\\n状态: online\\n节点IP: 150.138.98.121\\n响应状态码: 200\\n响应时长: 107ms\\n响应大小: 3775 bytes\\n平均响应速度: 35.28 kb/s\\n', 'title' => ''], + 'L1Tengine' => [ + 'description' => 'Information about the L1 Tengine.', + 'type' => 'object', + 'properties' => [ + 'Addr' => ['description' => 'The IP address and port.', 'type' => 'string', 'example' => '150.xxx.xxx.197:81', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'ErrorLog' => ['description' => 'The error log.', 'type' => 'string', 'example' => 'Unmatched CNAME.', 'title' => ''], + 'Fbt' => ['description' => 'The time to first byte (TTFB).', 'type' => 'string', 'example' => '107ms', 'title' => ''], + 'Intro' => ['description' => 'Information about the node that handles the request.', 'type' => 'string', 'example' => '节点: cn4461\\n请求时间: 2023-02-06 12:17:47\\n状态码: 200\\nreq_time : 107ms\\nresp_size : 2892bytes\\nfbt : 107ms\\nups_read_wait_time: 107ms\\nups_header_time: 107ms\\nups_connect_time: 0ms\\nwrite_wait_time: 0ms', 'title' => ''], + 'ReqHeader' => ['description' => 'The request header.', 'type' => 'string', 'example' => 'aG9zd******8tbWVtYmV', 'title' => ''], + 'ReqTime' => ['description' => 'The request time.', 'type' => 'string', 'example' => '2023-02-06 12:17:47', 'title' => ''], + 'RespHeader' => ['description' => 'The response header.', 'type' => 'string', 'example' => 'U2VydmV*******Qo', 'title' => ''], + 'RespSize' => ['description' => 'The size of the response, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '2892', 'title' => ''], + 'Rt' => ['description' => 'The response time.', 'type' => 'string', 'example' => '107ms', 'title' => ''], + 'Station' => ['description' => 'The node name.', 'type' => 'string', 'example' => 'cn4461', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'SourceInfo' => [ + 'description' => 'Information about the origin server.', + 'type' => 'array', + 'items' => ['description' => 'Information about the origin server.', 'type' => 'string', 'example' => '源站IP : xxx.xxx.xxx.xxx tproxy响应状态码 : 200\\n平均响应速度 : 47.96 kb/s', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'State' => [ + 'description' => 'The state of the report generation. Valid values:'."\n" + ."\n" + .'- `0`: Succeeded'."\n" + ."\n" + .'- `1`: Failed'."\n" + ."\n" + .'- `2`: Timed out'."\n" + ."\n" + .'- `3`: In progress'."\n" + ."\n" + .'- `4`: Pending', + 'enumValueTitles' => [], + 'type' => 'string', + 'example' => '0', + 'title' => '', + ], + 'Status' => ['description' => 'The status of the diagnostic URL. Valid values:'."\n" + ."\n" + .'- `1`: Active'."\n" + ."\n" + .'- `0`: Expired', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => 'xxxxxxx-xxxxx-xxxxx-xxxxxxxxxxx'."\n", 'title' => ''], + 'TimeConsuming' => ['description' => 'The time taken to generate the report.', 'type' => 'integer', 'format' => 'int64', 'example' => '1s', 'title' => ''], + 'TraceDisplayLink' => ['description' => 'The link to the trace display.', 'type' => 'string', 'example' => 'https://tracing-sk.alibaba-inc.com/trace/xxxxxxxxxxxxxx', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID.', 'type' => 'string', 'example' => '0000006xxxxxxxxxxxx533427e', 'title' => ''], + ], + 'description' => 'The report data.', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s.ValueNotSupported', - 'errorMessage' => 'FunctionName [%s] is not supported.', - ], - [ - 'errorCode' => 'DeleteFunctionFailed', - 'errorMessage' => 'Batch delete functions failed.', - ], - [ - 'errorCode' => 'EdgeScriptCountExceedLimit', - 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScripOptionsHasInnerConfig', - 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptNotSupportJs', - 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'InvalidRule.Malformed ', - 'errorMessage' => 'Check rules error: %s', - ], - [ - 'errorCode' => 'EdgeScriptGrammarNotSupport', - 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeCdnDiagnoseReport', + 'summary' => 'Call DescribeCdnDiagnoseReport to retrieve the details of a diagnostic report.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<BatchDeleteCdnDomainConfigResponse>\\r\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</BatchDeleteCdnDomainConfigResponse>","errorExample":""}]', - 'title' => 'BatchDeleteCdnDomainConfig', - 'description' => '* You can specify up to 50 domain names in each request.'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64D28B53-xxxxx-xxx-xxxxx-FD46680144FE\\",\\n \\"Content\\": {\\n \\"Aliuid\\": \\"1077********7468\\",\\n \\"ClientAddr\\": \\"xx.xx.xx.xx\\",\\n \\"ClientInfo\\": {\\n \\"BrowserInfo\\": \\"Chrome\\",\\n \\"Os\\": \\"Macintosh\\",\\n \\"UAString\\": \\"Mozilla/5.0 (Macintosh Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36\\"\\n },\\n \\"ClientIp\\": \\"xx.xx.xx.xx\\",\\n \\"CreateTime\\": \\"2022-12-10 15:11:47\\",\\n \\"DiagnoseId\\": \\"f2xxxxd5\\",\\n \\"DiagnoseReportLink\\": \\"https://cdnskyeye.alibaba-inc.com/#/databrain/detectionPlatformAction?module=trace报表&id=xxx&instance_id=xxxx&type=copy&edition_id=xxxxx\\",\\n \\"DiagnoseUrl\\": \\"http://cdn.dns-detect.alicdn.com/diagnose/xxxxxx\\",\\n \\"Domain\\": \\"http://www.example.com\\",\\n \\"ExpireTime\\": 1678701915,\\n \\"RemainDiagnoseTimes\\": 10,\\n \\"Report\\": {\\n \\"ClientInfo\\": \\"客户端IP : xxx.xxx.xxx.xxx DNS_IP : xxx.xxx.xxx.xxx \\",\\n \\"DiagnoseResult\\": \\"诊断结论 : 检测正常 调度结论 : 检测正常 检测项详情 : 异常项 : 【请求正常】 \\",\\n \\"L1Node\\": \\"节点:cn4461 电信-山东省青岛市(400G)\\\\\\\\n水位: (223.36G/400G)\\\\\\\\n状态: online\\\\\\\\n节点IP: 150.138.98.121\\\\\\\\n响应状态码: 200\\\\\\\\n响应时长: 107ms\\\\\\\\n响应大小: 3775 bytes\\\\\\\\n平均响应速度: 35.28 kb/s\\\\\\\\n\\",\\n \\"L1Tengine\\": {\\n \\"Addr\\": \\"150.xxx.xxx.197:81\\",\\n \\"Code\\": \\"200\\",\\n \\"ErrorLog\\": \\"Unmatched CNAME.\\",\\n \\"Fbt\\": \\"107ms\\",\\n \\"Intro\\": \\"节点: cn4461\\\\\\\\n请求时间: 2023-02-06 12:17:47\\\\\\\\n状态码: 200\\\\\\\\nreq_time : 107ms\\\\\\\\nresp_size : 2892bytes\\\\\\\\nfbt : 107ms\\\\\\\\nups_read_wait_time: 107ms\\\\\\\\nups_header_time: 107ms\\\\\\\\nups_connect_time: 0ms\\\\\\\\nwrite_wait_time: 0ms\\",\\n \\"ReqHeader\\": \\"aG9zd******8tbWVtYmV\\",\\n \\"ReqTime\\": \\"2023-02-06 12:17:47\\",\\n \\"RespHeader\\": \\"U2VydmV*******Qo\\",\\n \\"RespSize\\": 2892,\\n \\"Rt\\": \\"107ms\\",\\n \\"Station\\": \\"cn4461\\"\\n },\\n \\"SourceInfo\\": [\\n \\"源站IP : xxx.xxx.xxx.xxx tproxy响应状态码 : 200\\\\\\\\n平均响应速度 : 47.96 kb/s\\"\\n ]\\n },\\n \\"State\\": \\"0\\",\\n \\"Status\\": 1,\\n \\"TaskId\\": \\"xxxxxxx-xxxxx-xxxxx-xxxxxxxxxxx\\\\n\\",\\n \\"TimeConsuming\\": 0,\\n \\"TraceDisplayLink\\": \\"https://tracing-sk.alibaba-inc.com/trace/xxxxxxxxxxxxxx\\",\\n \\"TraceId\\": \\"0000006xxxxxxxxxxxx533427e\\"\\n }\\n}","type":"json"}]', ], - 'BatchUpdateCdnDomain' => [ - 'summary' => 'Updates the configurations of multiple accelerated domain names at a time.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnDomainByCertificate' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111688', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111726', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'SSLPub', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain names. You can specify one or more accelerated domain names. Separate domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com,example.org', - ], + 'schema' => ['description' => 'The public key of the SSL certificate. You must encode the public key in Base64 and then call the encodeURIComponent function to encode the public key again.'."\n" + ."\n" + .'The public key must be in the PEM format.', 'type' => 'string', 'required' => true, 'example' => '******', 'title' => ''], ], [ - 'name' => 'Sources', + 'name' => 'SSLStatus', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the addresses of origin servers.'."\n" - ."\n" - .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"content":"10.10.10.10","type":"ipaddr","priority":"20","port":80,"weight":"15"}]', - ], + 'schema' => ['description' => 'Specifies whether the domain name list to return contains only domain names with HTTPS enabled or disabled.'."\n" + ."\n" + .'- true: The domain name list contains only domain names with HTTPS enabled.'."\n" + ."\n" + .'- false: The domain name list contains only domain names with HTTPS disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'Exact', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmyuji4b6r4**', - ], - ], - [ - 'name' => 'TopLevelDomain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The root domain.'."\n" - ."\n" - .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'Specifies whether the domain name list to return match the SSL certificate.'."\n" + ."\n" + .'- true: The domain name list match the SSL certificate.'."\n" + ."\n" + .'- false: The domain name list do not match the SSL certificate.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -3606,136 +3839,126 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ASAF2FDS-12SADSA-DDSAE3D-DSADCD4C-CDADS2D', 'title' => ''], + 'CertInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CertInfo' => [ + 'description' => 'The information about the certificate.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CertStartTime' => ['description' => 'The time when the certificate became effective.', 'type' => 'string', 'example' => 'Nov 29 23:59:59 2017 GMT', 'title' => ''], + 'CertExpireTime' => ['description' => 'The expiration time of the certificate.', 'type' => 'string', 'example' => 'Nov 29 00:00:00 2016 GMT', 'title' => ''], + 'CertCaIsLegacy' => ['description' => 'Indicates whether the SSL certificate is obsolete. Valid values:'."\n" + ."\n" + .'- **yes**: The SSL certificate is obsolete.'."\n" + ."\n" + .'- **no**: The SSL certificate is working as expected.', 'type' => 'string', 'example' => 'yes', 'title' => ''], + 'CertSubjectCommonName' => ['description' => 'The name of the SSL certificate owner.', 'type' => 'string', 'example' => 'owner', 'title' => ''], + 'CertType' => ['description' => 'The type of the certificate. Valid values: **RSA**, **DSA**, and **ECDSA**.', 'type' => 'string', 'example' => 'RSA', 'title' => ''], + 'DomainNames' => ['description' => 'The domain names (DNS fields) that match the SSL certificate. Multiple domain names are separated by commas (,).', 'type' => 'string', 'example' => '*.example.com,aliyundoc.com', 'title' => ''], + 'CertExpired' => ['description' => 'Indicates whether the SSL certificate is expired. Valid values:'."\n" + ."\n" + .'- **yes**: The SSL certificate is expired.'."\n" + ."\n" + .'- **no**: The SSL certificate is not expired.', 'type' => 'string', 'example' => 'yes', 'title' => ''], + 'Issuer' => ['description' => 'The certificate authority (CA) that issued the certificate.', 'type' => 'string', 'example' => 'C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=Domain Validated SSL, CN=Symantec Basic DV SSL CA - G1', 'title' => ''], + 'DomainList' => ['description' => 'If a value is returned, the value matches the SSL certificate. Multiple domain names are separated by commas (,).', 'type' => 'string', 'example' => 'example.com,aliyundoc.com', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingDomainName', - 'errorMessage' => 'The domainName parameter is required.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], - [ - 'errorCode' => 'InvalidSource.Content.Malformed', - 'errorMessage' => 'The specified Source Content is invalid.', - ], - [ - 'errorCode' => 'InvalidTypeContent.Mismatch', - 'errorMessage' => 'The specified source type does not match the specified source content.', - ], - [ - 'errorCode' => 'MissingSource.Content', - 'errorMessage' => 'The Source Content must be specified.', - ], - [ - 'errorCode' => 'MissingSource.Type', - 'errorMessage' => 'The Source Type must be specified.', - ], - [ - 'errorCode' => 'InvalidSources.Malformed', - 'errorMessage' => 'Specified Sources is malformed.', - ], - [ - 'errorCode' => 'InvalidSource.Type.Malformed', - 'errorMessage' => 'The specified Source Type is invalid.', - ], - [ - 'errorCode' => 'InvalidSource.Priority.Malformed', - 'errorMessage' => 'The specified Source Priority is invalid.', - ], - [ - 'errorCode' => 'InvalidResourceGroupId.Malformed', - 'errorMessage' => 'The specified ResourceGroupId is invalid.', - ], - [ - 'errorCode' => 'EntityNotExists.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'EntityNotExist.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'InvalidStatus.ResourceGroup', - 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', - ], + ['errorCode' => 'Certificate.FormatError', 'errorMessage' => 'The format of the certificate is invalid.', 'description' => 'The specified certificate is invalid.'], + ['errorCode' => 'SSLPub.MissingParameter', 'errorMessage' => 'The Cert parameter is required.', 'description' => ''], + ['errorCode' => 'Decode.Error', 'errorMessage' => 'Error decoding the SSLPub certificate.', 'description' => ''], + ['errorCode' => 'Certificate.DecodeError', 'errorMessage' => 'An error occurred while decoding the certificate.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'DomainInProtectedMode', - 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', - ], + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to backend service exception.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<BatchUpdateCdnDomainResponse>\\t\\r\\n <RequestId>15C66C7B-671A-4297-9187-2C4477247A74</RequestId>\\r\\n</BatchUpdateCdnDomainResponse>\\t","errorExample":""}]', - 'title' => 'BatchUpdateCdnDomain', - 'description' => '* You can call this operation up to 30 times per second per account.'."\n" - .'* You can specify up to 50 domain names in each request. Separate multiple domain names with commas (,).'."\n", - 'requestParamsDescription' => 'The following table describes the fields in the Sources parameter.'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|type|String|Yes|The type of the origin server.ipaddr: an IP addressdomain: a domain nameoss: the domain name of an Object Storage Service (OSS) bucketfc\\_domain: a Function Compute domain name|'."\n" - .'|content|String|Yes|The address of the origin server. You can specify an IP address or a domain name.|'."\n" - .'|port|Integer|No|The port. You can specify port 80, port 443, or a custom port. Default value: 80. If you specify port 443, Alibaba Cloud CDN communicates with the origin server over HTTPS.|'."\n" - .'|priority|String|No|The priority of the origin server if multiple origin servers are specified. Valid values: 20 and 30. Default value: 20. A value of 20 specifies that the origin is a primary origin. A value of 30 specifies that the origin is a secondary origin.|'."\n" - .'|weight|String|No|The weight of the origin server if multiple origin servers are specified. You must specify a value that is less than 100. Default value: 10.|', + 'title' => 'DescribeCdnDomainByCertificate', + 'summary' => 'Queries accelerated domain names by SSL certificate.', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteSpecificConfig' => [ - 'summary' => 'Deletes specified configurations of an accelerated domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-08-22T01:57:26.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainByCertificate'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainByCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ASAF2FDS-12SADSA-DDSAE3D-DSADCD4C-CDADS2D\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertStartTime\\": \\"Nov 29 23:59:59 2017 GMT\\",\\n \\"CertExpireTime\\": \\"Nov 29 00:00:00 2016 GMT\\",\\n \\"CertCaIsLegacy\\": \\"yes\\",\\n \\"CertSubjectCommonName\\": \\"owner\\",\\n \\"CertType\\": \\"RSA\\",\\n \\"DomainNames\\": \\"*.example.com,aliyundoc.com\\",\\n \\"CertExpired\\": \\"yes\\",\\n \\"Issuer\\": \\"C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=Domain Validated SSL, CN=Symantec Basic DV SSL CA - G1\\",\\n \\"DomainList\\": \\"example.com,aliyundoc.com\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnDomainConfigs' => [ + 'summary' => 'Retrieves the configurations of an accelerated domain name. You can query the configurations of multiple features in a single call.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111710', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '111727', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can query only one domain name at a time.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'FunctionNames', + 'in' => 'query', + 'schema' => ['description' => 'The names of the features. Separate multiple feature names with commas (,). For more information about feature names, see [Parameters for domain name configurations](~~388460~~).', 'type' => 'string', 'required' => false, 'example' => 'aliauth', 'title' => ''], ], [ 'name' => 'ConfigId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the configuration. Separate multiple configuration IDs with commas (,). For more information about ConfigId, see [Usage notes on ConfigId](~~388994~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2317', - ], + 'schema' => ['description' => 'The ID of the feature configuration. For more information about how to query and use a ConfigId, see [Usage of ConfigId](~~388994~~).', 'type' => 'string', 'required' => false, 'example' => '6295', 'title' => ''], ], ], 'responses' => [ @@ -3743,107 +3966,190 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C80705BF-0F76-41FA-BAD1-5B59296A4E59', 'title' => ''], + 'DomainConfigs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainConfig' => [ + 'description' => 'The domain name configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the configuration. Valid values:'."\n" + ."\n" + .'- **success**: The configuration is successful.'."\n" + ."\n" + .'- **testing**: The configuration is being tested.'."\n" + ."\n" + .'- **failed**: The configuration failed.'."\n" + ."\n" + .'- **configuring**: The configuration is in progress.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ParentId' => ['description' => 'The ID of the rule condition. This parameter is optional.'."\n" + ."\n" + .'You can create a rule condition by configuring the **condition** feature (rules engine) in [Parameters for domain name configurations](~~388460~~). A rule condition can match and filter user requests by detecting various parameters in the requests. After a rule condition is created, a corresponding [ConfigId](~~388994~~) is generated. The ConfigId can be referenced by other features as the ParentId parameter. This way, you can combine rule conditions and feature configurations to create more flexible configurations.'."\n" + ."\n" + .'For more information about the configuration procedure, see [Configure domain names in batches](~~90915~~) or the ParentId configuration example in this topic.', 'type' => 'string', 'example' => '222728944812032', 'title' => ''], + 'ConfigId' => ['description' => 'The configuration ID.', 'type' => 'string', 'example' => '6295', 'title' => ''], + 'FunctionName' => ['description' => 'The name of the feature.', 'type' => 'string', 'example' => 'aliauth', 'title' => ''], + 'FunctionArgs' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'FunctionArg' => [ + 'description' => 'The parameter settings for each feature.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ArgName' => ['description' => 'The parameter name. This is a configuration item of **functionName**. You can configure multiple configuration items.', 'type' => 'string', 'example' => 'auth_type', 'title' => ''], + 'ArgValue' => ['description' => 'The parameter value. This is the value of the configuration item for **functionName**.', 'type' => 'string', 'example' => 'req_auth', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s.ValueNotSupported', - 'errorMessage' => 'FunctionName [%s] is not supported.', - ], - [ - 'errorCode' => 'ConfigurationConflicts', - 'errorMessage' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', - ], - [ - 'errorCode' => 'EdgeScriptCountExceedLimit', - 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScripOptionsHasInnerConfig', - 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptGrammarNotSupport', - 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptNotSupportJs', - 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'InvalidDomain.BelongToConfigGroup', - 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', - ], - [ - 'errorCode' => 'InvalidRule.Malformed ', - 'errorMessage' => '%s', - ], + ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}"},{"type":"xml","example":"<DeleteSpecificConfigResponse>\\r\\n\\t<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</DeleteSpecificConfigResponse>","errorExample":""}]', - 'title' => 'DeleteSpecificConfig', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C80705BF-0F76-41FA-BAD1-5B59296A4E59\\",\\n \\"DomainConfigs\\": {\\n \\"DomainConfig\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"ParentId\\": \\"222728944812032\\",\\n \\"ConfigId\\": \\"6295\\",\\n \\"FunctionName\\": \\"aliauth\\",\\n \\"FunctionArgs\\": {\\n \\"FunctionArg\\": [\\n {\\n \\"ArgName\\": \\"auth_type\\",\\n \\"ArgValue\\": \\"req_auth\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnDomainConfigs', + 'description' => '> The throttling limit for a single user is 100 calls per second.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseParamsDescription' => '## ParentId configuration example'."\n" + ."\n" + .'If parentId is set to **-1**, the existing rule conditions in the configuration are deleted.'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "Feature parameter A", '."\n" + .' "argValue": "Value of feature parameter A"'."\n" + .' }, '."\n" + .' {'."\n" + .' "argName": "Feature parameter B", '."\n" + .' "argValue": "Value of feature parameter B"'."\n" + .' }], '."\n" + .' "functionName": "Feature name",'."\n" + .' "parentId": "Optional. The configid of the referenced rule condition."'."\n" + .'}]'."\n" + .'```'."\n" + ."\n" + .'The following example shows how to use the **origin\\_request\\_header** feature to add an origin fetch HTTP request header without using **parentId**. The request parameters are as follows:'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "header_operation_type",'."\n" + .' "argValue": "add"'."\n" + .' }, {'."\n" + .' "argName": "header_name",'."\n" + .' "argValue": "Accept-Encoding"'."\n" + .' }, {'."\n" + .' "argName": "header_value",'."\n" + .' "argValue": "gzip"'."\n" + .' }, {'."\n" + .' "argName": "duplicate",'."\n" + .' "argValue": "off"'."\n" + .' }],'."\n" + .' "functionName": "origin_request_header"'."\n" + .'}]'."\n" + .'```'."\n" + ."\n" + .'The following example shows a configuration that uses parentId. In this example, the **origin\\_request\\_header** feature is used to add an origin fetch HTTP request header and reference the rule condition with a **configid** of **222728944812032**. The request parameters are as follows:'."\n" + ."\n" + .'```[{'."\n" + .' "functionArgs": [{'."\n" + .' "argName": "header_operation_type",'."\n" + .' "argValue": "add"'."\n" + .' }, {'."\n" + .' "argName": "header_name",'."\n" + .' "argValue": "Accept-Encoding"'."\n" + .' }, {'."\n" + .' "argName": "header_value",'."\n" + .' "argValue": "gzip"'."\n" + .' }, {'."\n" + .' "argName": "duplicate",'."\n" + .' "argValue": "off"'."\n" + .' }],'."\n" + .' "functionName": "origin_request_header",'."\n" + .' "parentId": "222728944812032"'."\n" + .'}]'."\n" + .'```', 'extraInfo' => ' ', - ], - 'ModifyCdnDomainSchdmByProperty' => [ - 'summary' => 'Changes the acceleration region for an accelerated domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-09-09T06:36:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainConfigs'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainConfigs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + ], + 'DescribeCdnDomainDetail' => [ + 'summary' => 'Queries an accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111870', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '111728', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to change the acceleration region. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'Property', - 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the acceleration region. {"coverage":"overseas"}'."\n" - ."\n" - .'Valid values for coverage:'."\n" - ."\n" - .'* **domestic**: Chinese mainland'."\n" - .'* **overseas**: global (excluding the Chinese mainland)'."\n" - .'* **global**: global'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{"coverage":"overseas"}', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -3851,114 +4157,176 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '18CF38AA-1275-451D-A12B-4EC0BF1C5E30', 'title' => ''], + 'GetDomainDetailModel' => [ + 'description' => 'The details about the accelerated domain name.', + 'type' => 'object', + 'properties' => [ + 'GmtCreated' => ['description' => 'The time when the domain name was created.', 'type' => 'string', 'example' => '2015-06-25T03:30:50Z', 'title' => ''], + 'Description' => ['description' => 'The description of the domain name.', 'type' => 'string', 'example' => 'Streaming domain', 'title' => ''], + 'HttpsCname' => ['description' => 'The CNAME for which HTTPS is enabled.', 'type' => 'string', 'example' => 'example.com.w.kunlunle.com', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'abcd1234abcd1234', 'title' => ''], + 'ServerCertificateStatus' => ['description' => 'Indicates whether the SSL certificate is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'Scope' => ['description' => 'The acceleration region.', 'type' => 'string', 'example' => 'domestic', 'title' => ''], + 'DomainStatus' => ['description' => 'The status of the accelerated domain name. Valid values:'."\n" + ."\n" + .'- **online**'."\n" + ."\n" + .'- **offline**'."\n" + ."\n" + .'- **configuring**'."\n" + ."\n" + .'- **configure\\_failed**'."\n" + ."\n" + .'- **checking**'."\n" + ."\n" + .'- **check\\_failed**'."\n" + ."\n" + .'- **stopping**'."\n" + ."\n" + .'- **deleting**', 'type' => 'string', 'example' => 'online', 'title' => ''], + 'Cname' => ['description' => 'The CNAME that is assigned to the accelerated domain name. You must add the CNAME record in the system of your DNS service provider to map the accelerated domain name to the CNAME.', 'type' => 'string', 'example' => 'example.com.w.kunlunle.com', 'title' => ''], + 'GmtModified' => ['description' => 'The time when the domain name was last modified.', 'type' => 'string', 'example' => '2017-06-25T03:30:50Z', 'title' => ''], + 'CdnType' => ['description' => 'The workload type of the accelerated domain name. Valid values:'."\n" + ."\n" + .'- **web**: images and small files'."\n" + ."\n" + .'- **download**: large files'."\n" + ."\n" + .'- **video**: on-demand video and audio streaming', 'type' => 'string', 'example' => 'web', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'SourceModels' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'SourceModel' => [ + 'description' => 'The information about the origin server.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the origin server. Valid values:'."\n" + ."\n" + .'- **ipaddr**: an origin IP address'."\n" + ."\n" + .'- **domain**: an origin domain name'."\n" + ."\n" + .'- **oss**: the domain name of an Object Storage Service (OSS) bucket'."\n" + ."\n" + .'- **fc\\_domain:** a Function Compute domain name', 'type' => 'string', 'example' => 'domain', 'title' => ''], + 'Weight' => ['description' => 'The weight of the origin server if multiple origin servers have been specified.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'Enabled' => ['description' => 'The status.', 'type' => 'string', 'example' => 'online', 'title' => ''], + 'Priority' => ['description' => 'The priority.', 'type' => 'string', 'example' => '20', 'title' => ''], + 'Port' => ['description' => 'The port over which requests are redirected to the origin server. Ports 443 and 80 are supported.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Content' => ['description' => 'The address of the origin server.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Schedule.NotFound', - 'errorMessage' => 'there is no schedule domain found by the targeted coverage value', - ], - [ - 'errorCode' => 'DomainTraffic.ExceedThreshold', - 'errorMessage' => 'not allowed to do this operation because the last day traffic exceeds the threshold', - ], - [ - 'errorCode' => 'Domain.BeianInvalid', - 'errorMessage' => 'not allowed to do this operation because the domain registration record invalid in China main land', - ], - [ - 'errorCode' => 'Schedule.ChangeFail', - 'errorMessage' => 'change domain failed', - ], - [ - 'errorCode' => 'InvalidTopLevelDomain.Malformed', - 'errorMessage' => 'Specified TopLevelDomain is malformed.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyCdnDomainSchdmByPropertyResponse>\\r\\n\\t<RequestId>15C66C7B-671A-4297-9187-2C4477247A74</RequestId>\\r\\n</ModifyCdnDomainSchdmByPropertyResponse>","errorExample":""}]', - 'title' => 'ModifyCdnDomainSchdmByProperty', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"18CF38AA-1275-451D-A12B-4EC0BF1C5E30\\",\\n \\"GetDomainDetailModel\\": {\\n \\"GmtCreated\\": \\"2015-06-25T03:30:50Z\\",\\n \\"Description\\": \\"Streaming domain\\",\\n \\"HttpsCname\\": \\"example.com.w.kunlunle.com\\",\\n \\"ResourceGroupId\\": \\"abcd1234abcd1234\\",\\n \\"ServerCertificateStatus\\": \\"on\\",\\n \\"Scope\\": \\"domestic\\",\\n \\"DomainStatus\\": \\"online\\",\\n \\"Cname\\": \\"example.com.w.kunlunle.com\\",\\n \\"GmtModified\\": \\"2017-06-25T03:30:50Z\\",\\n \\"CdnType\\": \\"web\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"SourceModels\\": {\\n \\"SourceModel\\": [\\n {\\n \\"Type\\": \\"domain\\",\\n \\"Weight\\": \\"10\\",\\n \\"Enabled\\": \\"online\\",\\n \\"Priority\\": \\"20\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"example.com\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnDomainDetail', + 'description' => '> Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyCdnDomain' => [ - 'summary' => 'Modifies the configuration of an accelerated domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-08-19T01:14:02.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-06-27T06:08:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-23T03:07:04.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainDetail'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeCdnDomainLogs' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111869', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111729', + 'abilityTreeNodes' => ['FEATUREcdnGZSOSW'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The domain name. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'Sources', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The information about the addresses of origin servers.'."\n" - ."\n" - .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"content":"1.1.1.1","type":"ipaddr","priority":"20","port":80,"weight":"15"}]', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Default value: **300**. Maximum value: **1000**. Valid values: **1** to **1000**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1000', 'default' => '300', 'example' => '300', 'title' => ''], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmyuji4b6r4**', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from page **1**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'default' => '1', 'example' => '2', 'title' => ''], ], [ - 'name' => 'TopLevelDomain', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The root domain. To add a root domain name, you must be added to the whitelist specified by the CDN_TOP_LEVEL_DOMAIN_GREY_USER_LIST parameter.'."\n" - ."\n" - .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aliyundoc.com', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2017-12-21T08:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2017-12-22T08:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -3966,150 +4334,143 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'DomainLogDetails' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainLogDetail' => [ + 'description' => 'A set of DomainLogDetail data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LogCount' => ['description' => 'The total number of entries returned on the current page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'LogInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LogInfoDetail' => [ + 'description' => 'A set of LogInfoDetail data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-05-23T14:00:00Z', 'title' => ''], + 'LogSize' => ['description' => 'The size of the log file.', 'type' => 'integer', 'format' => 'int64', 'example' => '258', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-05-23T13:00:00Z', 'title' => ''], + 'LogName' => ['description' => 'The name of the log file.', 'type' => 'string', 'example' => 'demo.aliyundoc.com_2015_05_23_2100_2200.gz', 'title' => ''], + 'LogPath' => ['description' => 'The path of the log file.', 'type' => 'string', 'example' => 'guide.aliyundoc.com-hangzhou.xxx', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'PageInfos' => [ + 'description' => 'A set of PageInfoDetail data.', + 'type' => 'object', + 'properties' => [ + 'PageIndex' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Total' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Abs.Sources.Malformed', - 'errorMessage' => 'The specified Sources is invalid.', - ], - [ - 'errorCode' => 'MissingDomainName', - 'errorMessage' => 'The domainName parameter is required.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], - [ - 'errorCode' => 'InvalidSource.Content.Malformed', - 'errorMessage' => 'The specified Source Content is invalid.', - ], - [ - 'errorCode' => 'InvalidTypeContent.Mismatch', - 'errorMessage' => 'The specified source type does not match the specified source content.', - ], - [ - 'errorCode' => 'MissingSource.Content', - 'errorMessage' => 'The Source Content must be specified.', - ], - [ - 'errorCode' => 'MissingSource.Type', - 'errorMessage' => 'The Source Type must be specified.', - ], - [ - 'errorCode' => 'InvalidSource.Type.Malformed', - 'errorMessage' => 'The specified Source Type is invalid.', - ], - [ - 'errorCode' => 'InvalidSource.Priority.Malformed', - 'errorMessage' => 'The specified Source Priority is invalid.', - ], - [ - 'errorCode' => 'InvalidResourceGroupId.Malformed', - 'errorMessage' => 'The specified ResourceGroupId is invalid.', - ], - [ - 'errorCode' => 'EntityNotExists.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'EntityNotExist.ResourceGroup', - 'errorMessage' => 'The resource group does not exist.', - ], - [ - 'errorCode' => 'InvalidStatus.ResourceGroup', - 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', - ], - [ - 'errorCode' => 'TopLevelDomain.NotFound', - 'errorMessage' => 'TopLevelDomain is not exist.', - ], - [ - 'errorCode' => 'InvalidTopLevelDomain.Malformed', - 'errorMessage' => 'Specified TopLevelDomain is malformed.', - ], - [ - 'errorCode' => 'TopLevelDomain.Mismatch', - 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', - ], - [ - 'errorCode' => 'SourceInBlacklist', - 'errorMessage' => 'Source is in the blacklist.', - ], - ], - 403 => [ - [ - 'errorCode' => 'DomainInProtectedMode', - 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'EndTime is earlier than StartTime.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<ModifyCdnDomainResponse>\\r\\n\\t<RequestId>94E3559F-7B6A-4A5E-AFFD-44E2A208A249</RequestId>\\r\\n</ModifyCdnDomainResponse>","errorExample":""}]', - 'title' => 'ModifyCdnDomain', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'requestParamsDescription' => 'The following table describes the fields in the Sources parameter.'."\n" + 'title' => 'DescribeCdnDomainLogs', + 'summary' => 'Queries the address where you can download the log data of a specific domain name.', + 'description' => '- If you do not set **StartTime** or **EndTime**, the request returns the data collected in the last 24 hours. If you set both **StartTime** and **EndTime**, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'- The log data is collected every hour.'."\n" + ."\n" + .'- Each account can call this operation up to 100 times per second.'."\n" ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|type|String|Yes|The type of the origin server.ipaddr: an IP addressdomain: a domain nameoss: the domain name of an Object Storage Service (OSS) bucketfc\\_domain: a Function Compute domain name|'."\n" - .'|content|String|Yes|The address of the origin server. You can specify an IP address or a domain name.|'."\n" - .'|port|Integer|No|The port number. You can specify port 80, port 443, or a custom port. Default value: 80. If you specify port 443, CDN communicates with the origin server over HTTPS.|'."\n" - .'|priority|String|No|The priority of the origin server if multiple origin servers are specified. Valid values: 20 and 30. Default value: 20. A value of 20 specifies that the origin is a primary origin. A value of 30 specifies that the origin is a secondary origin.|'."\n" - .'|weight|String|No|The weight of the origin server if multiple origin servers are specified. You must specify a value that is less than 100. Default value: 10.|', + .'- You can query only logs in the last month. The start time and the current time cannot exceed 31 days.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainLogs'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainLogDetails\\": {\\n \\"DomainLogDetail\\": [\\n {\\n \\"LogCount\\": 10,\\n \\"DomainName\\": \\"example.com\\",\\n \\"LogInfos\\": {\\n \\"LogInfoDetail\\": [\\n {\\n \\"EndTime\\": \\"2015-05-23T14:00:00Z\\",\\n \\"LogSize\\": 258,\\n \\"StartTime\\": \\"2015-05-23T13:00:00Z\\",\\n \\"LogName\\": \\"demo.aliyundoc.com_2015_05_23_2100_2200.gz\\",\\n \\"LogPath\\": \\"guide.aliyundoc.com-hangzhou.xxx\\"\\n }\\n ]\\n },\\n \\"PageInfos\\": {\\n \\"PageIndex\\": 1,\\n \\"PageSize\\": 20,\\n \\"Total\\": 20\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeCdnDomainStagingConfig' => [ 'summary' => 'Queries the configurations of features in the staging environment.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111730', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'FunctionNames', 'in' => 'query', - 'schema' => [ - 'description' => 'The list of feature names. Separate multiple values with commas (,). For more information, see [A list of features](~~388460~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'aliauth', - ], + 'schema' => ['description' => 'The list of feature names. Separate multiple values with commas (,). For more information, see [A list of features](~~388460~~).', 'type' => 'string', 'required' => false, 'example' => 'aliauth', 'title' => ''], ], ], 'responses' => [ @@ -4117,84 +4478,65 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C80705BF-0F76-41FA-BAD1-5B59296A4E59', - ], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C80705BF-0F76-41FA-BAD1-5B59296A4E59', 'title' => ''], 'DomainConfigs' => [ - 'description' => 'The domain name configurations.'."\n", + 'description' => 'The domain name configurations.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The configuration status. Valid values:'."\n" - ."\n" - .'* **testing**'."\n" - .'* **configuring**'."\n" - .'* **success**'."\n" - .'* **failed**'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ParentId' => [ - 'description' => 'The rule condition ID. This parameter is optional. To create a rule condition, you can configure the **condition** feature that is described in the [Parameters for configuring features for domain names](~~388460~~) topic. A rule condition can identify parameters that are included in requests and filter requests based on the identified parameters. Each rule condition has a [ConfigId](~~388994~~). You can reference ConfigId instead of ParentId in other features. This way, you can combine rule conditions and features for flexible configurations. For more information, see [BatchSetCdnDomainConfig](~~90915~~) or ParentId configuration example in this topic.'."\n", - 'type' => 'string', - 'example' => '222728944812032', - ], - 'ConfigId' => [ - 'description' => 'The configuration ID.'."\n", - 'type' => 'string', - 'example' => '6xx5', - ], - 'FunctionName' => [ - 'description' => 'The feature name.'."\n", - 'type' => 'string', - 'example' => 'aliauth', - ], + 'Status' => ['description' => 'The configuration status. Valid values:'."\n" + ."\n" + .'- **testing**'."\n" + ."\n" + .'- **configuring**'."\n" + ."\n" + .'- **success**'."\n" + ."\n" + .'- **failed**', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ParentId' => ['description' => 'The rule condition ID. This parameter is optional. To create a rule condition, you can configure the **condition** feature that is described in the [Parameters for configuring features for domain names](~~388460~~) topic. A rule condition can identify parameters that are included in requests and filter requests based on the identified parameters. Each rule condition has a [ConfigId](~~388994~~). You can reference ConfigId instead of ParentId in other features. This way, you can combine rule conditions and features for flexible configurations. For more information, see [BatchSetCdnDomainConfig](~~90915~~) or ParentId configuration example in this topic.', 'type' => 'string', 'example' => '222728944812032', 'title' => ''], + 'ConfigId' => ['description' => 'The configuration ID.', 'type' => 'string', 'example' => '6xx5', 'title' => ''], + 'FunctionName' => ['description' => 'The feature name.', 'type' => 'string', 'example' => 'aliauth', 'title' => ''], 'FunctionArgs' => [ - 'description' => 'The description of each feature.'."\n", + 'description' => 'The description of each feature.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ArgName' => [ - 'description' => 'The configuration name.'."\n", - 'type' => 'string', - 'example' => 'auth_type', - ], - 'ArgValue' => [ - 'description' => 'The configuration value.'."\n", - 'type' => 'string', - 'example' => 'req_auth', - ], + 'ArgName' => ['description' => 'The configuration name.', 'type' => 'string', 'example' => 'auth_type', 'title' => ''], + 'ArgValue' => ['description' => 'The configuration value.', 'type' => 'string', 'example' => 'req_auth', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Invalid%s.ValueNotSupported', - 'errorMessage' => 'FunctionName [%s] is not supported.', - ], + ['errorCode' => 'Invalid%s.ValueNotSupported', 'errorMessage' => 'FunctionName [%s] is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"C80705BF-0F76-41FA-BAD1-5B59296A4E59\\",\\n \\"DomainConfigs\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"ParentId\\": \\"222728944812032\\",\\n \\"ConfigId\\": \\"6xx5\\",\\n \\"FunctionName\\": \\"aliauth\\",\\n \\"FunctionArgs\\": [\\n {\\n \\"ArgName\\": \\"auth_type\\",\\n \\"ArgValue\\": \\"req_auth\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnDomainStagingConfigResponse>\\n <DomainName>example.com</DomainName>\\n <RequestId>C80705BF-0F76-41FA-BAD1-5B59296A4E59</RequestId>\\n <DomainConfigs>\\n <Status>success</Status>\\n <ParentId>222728944812032</ParentId>\\n <ConfigId>6xx5</ConfigId>\\n <FunctionName>aliauth</FunctionName>\\n <FunctionArgs>\\n <ArgName>auth_type</ArgName>\\n <ArgValue>req_auth</ArgValue>\\n </FunctionArgs>\\n </DomainConfigs>\\n</DescribeCdnDomainStagingConfigResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"C80705BF-0F76-41FA-BAD1-5B59296A4E59\\",\\n \\"DomainConfigs\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"ParentId\\": \\"222728944812032\\",\\n \\"ConfigId\\": \\"6xx5\\",\\n \\"FunctionName\\": \\"aliauth\\",\\n \\"FunctionArgs\\": [\\n {\\n \\"ArgName\\": \\"auth_type\\",\\n \\"ArgValue\\": \\"req_auth\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', 'title' => 'DescribeCdnDomainStagingConfig', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'description' => '> Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => '### ParentId configuration example'."\n" ."\n" @@ -4217,7 +4559,7 @@ ."\n" .'The following code describes a sample configuration if **parentId** is not used.'."\n" ."\n" - .'In this example, the **origin_request_header** feature is used to add origin HTTP headers, and the rule condition whose configuration ID is **222728944812032** is referenced.'."\n" + .'In this example, the **origin\\_request\\_header** feature is used to add origin HTTP headers, and the rule condition whose configuration ID is **222728944812032** is referenced.'."\n" ."\n" .'```json'."\n" .'[{'."\n" @@ -4240,7 +4582,7 @@ ."\n" .'The following code describes a sample configuration if **parentId** is used.'."\n" ."\n" - .'In the following example, the **origin_request_header** feature is used to add origin HTTP headers, and the rule condition that corresponds to the **222728944812032** configid is referenced.'."\n" + .'In the following example, the **origin\\_request\\_header** feature is used to add origin HTTP headers, and the rule condition that corresponds to the **222728944812032** configid is referenced.'."\n" ."\n" .'```json'."\n" .'[{'."\n" @@ -4260,210 +4602,251 @@ .' "functionName": "origin_request_header",'."\n" .' "parentId": "222728944812032"'."\n" .'}]'."\n" - .'```'."\n", + .'```', 'extraInfo' => ' ', - ], - 'SetCdnDomainStagingConfig' => [ - 'summary' => 'Configures a domain name to be accelerated in the staging environment.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainStagingConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '111889', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', + ], + 'DescribeCdnFullDomainsBlockIPConfig' => [ + 'summary' => 'Queries the configurations of full blocking.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'DomainName', - 'in' => 'query', + 'name' => 'IPList', + 'in' => 'formData', + 'schema' => ['description' => 'The IP address or CIDR block to query. Separate multiple values with commas (,). You can specify up to 50 IP addresses or CIDR blocks.', 'type' => 'string', 'required' => false, 'example' => '1.XXX.XXX.1,2.XXX.XXX.2', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '95994621-8382-464B-8762-C708E73568D1'], + 'Message' => ['description' => 'The returned results. If the operation is successful, URLs of OSS objects are returned. If the operation fails, an error message is returned.', 'type' => 'string', 'example' => 'http://xxxx-api.oss-cn-hangzhou.aliyuncs.com/blocklist%2Fxxxxxxxxxxxx.txt?Expires=1682663947&OSSAccessKeyId=xxxxxxxxxx&Signature=xxxxxx', 'title' => ''], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'The value of Code is not 0 in the following scenarios:'."\n" + ."\n" + .'- The format of the IP address is invalid.'."\n" + ."\n" + .'- The number of IP addresses exceeds the upper limit.'."\n" + ."\n" + .'- Other abnormal scenarios.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The quota is exceeded.', 'description' => 'The quota is exhausted.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95994621-8382-464B-8762-C708E73568D1\\",\\n \\"Message\\": \\"http://xxxx-api.oss-cn-hangzhou.aliyuncs.com/blocklist%2Fxxxxxxxxxxxx.txt?Expires=1682663947&OSSAccessKeyId=xxxxxxxxxx&Signature=xxxxxx\\",\\n \\"Code\\": 0\\n}","type":"json"}]', + 'title' => 'DescribeCdnFullDomainsBlockIPConfig', + 'description' => '>'."\n" + ."\n" + .'- To use this operation,[submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" + ."\n" + .'- If you specify IP addresses or CIDR blocks, IP addresses that are effective and the corresponding expiration time are returned. If you do not specify IP addresses or CIDR blocks, all effective IP addresses and the corresponding expiration time are returned.'."\n" + ."\n" + .'- The results are written to OSS and returned as OSS URLs. The content in OSS objects is in the format of IP address-Corresponding expiration time. The expiration time is in the YYYY-MM-DD hh:mm:ss format.'."\n" + ."\n" + .'- You can share OSS URLs with others. The shared URLs are valid for three days.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnFullDomainsBlockIPConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ [ - 'name' => 'Functions', - 'in' => 'query', - 'schema' => [ - 'description' => 'The features that you want to configure. Format:'."\n" - ."\n" - .'> * **functionName**: The name of the feature. Separate multiple values with commas (,). For more information, see [A list of features](~~388460~~).'."\n" - .'>* **argName**: The feature parameters for **functionName**.'."\n" - .'>* **argValue**: The parameter values set for **functionName**.'."\n" - ."\n" - .' ['."\n" - .' {'."\n" - .' "functionArgs": ['."\n" - .' {'."\n" - .' "argName": "Parameter A", '."\n" - .' "argValue": "Value of Parameter A"'."\n" - .' }, '."\n" - .' {'."\n" - .' "argName": "Parameter B", '."\n" - .' "argValue": "Value of Parameter B"'."\n" - .' }'."\n" - .' ], '."\n" - .' "functionName": "Feature name"'."\n" - .' }'."\n" - .' ]', - 'type' => 'string', - 'required' => true, - 'example' => '[{"functionArgs":[{"argName":"enable","argValue":"on"},{"argName":"pri","argValue":"1"},{"argName":"rule","argValue":"xxx"}],"functionName":"edge_function"}]', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnFullDomainsBlockIPConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + ], + 'DescribeCdnFullDomainsBlockIPHistory' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'IPList', + 'in' => 'formData', + 'schema' => ['description' => 'The IP address or CIDR blocks to query.'."\n", 'type' => 'string', 'required' => true, 'example' => '1.XXX.XXX.1,2.XXX.XXX.2'], + ], + [ + 'name' => 'StartTime', + 'in' => 'formData', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.'."\n", 'type' => 'string', 'required' => true, 'example' => '2023-04-24T17:00:00Z'."\n"], + ], + [ + 'name' => 'EndTime', + 'in' => 'formData', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => true, 'example' => '2023-04-24T19:00:00Z'."\n"], + ], + ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'DomainConfigList' => [ - 'description' => 'The list of domain configurations.'."\n", + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BCD7D917-76F1-442F-BB75-C810DE34C761'], + 'IPBlockInfo' => [ + 'description' => 'The result of the operation.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ConfigId' => [ - 'description' => 'The ID of the configuration.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567', - ], - 'DomainName' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'FunctionName' => [ - 'description' => 'The name of the feature.'."\n", - 'type' => 'string', - 'example' => 'set_resp_header', - ], + 'BlockIP' => ['description' => 'The blocked IP address or CIDR block.'."\n", 'type' => 'string', 'example' => '1.XXX.XXX.0~1.XXX.XXX.255'."\n"], + 'DeliverTime' => ['description' => 'The delivery time.'."\n", 'type' => 'string', 'example' => '2023-04-24 18:49:37'."\n"], + 'Status' => ['description' => 'The delivery status.'."\n" + ."\n" + .'* Success'."\n" + .'* Failed'."\n", 'type' => 'string', 'example' => 'Success'], ], + 'description' => '', ], ], + 'Code' => ['description' => 'The response code.'."\n" + ."\n" + .'The value of Code is not 0 in the following scenarios:'."\n" + ."\n" + .'* The format of the IP address is invalid.'."\n" + .'* The format of the time is invalid.'."\n" + .'* Other abnormal scenarios.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'Description' => ['description' => 'The description of the status returned.'."\n", 'type' => 'string', 'example' => 'OK'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidFunctionName.ValueNotSupported', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidArgValue.Malformed', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'ConfigurationConflicts', - 'errorMessage' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', - ], - [ - 'errorCode' => 'InvalidArgName.ValueNotSupported', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'GrayConfigExist', - 'errorMessage' => 'The domain exists other gray config.', - ], - [ - 'errorCode' => 'InvalidRule.Malformed', - 'errorMessage' => '%s', - ], - [ - 'errorCode' => 'InvalidDomain.BelongToConfigGroup', - 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', - ], - [ - 'errorCode' => 'EdgeScriptCountExceedLimit', - 'errorMessage' => 'The number of rules exceeds the default limit.', - ], - [ - 'errorCode' => 'EdgeScripOptionsHasInnerConfig', - 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptGrammarNotSupport', - 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptNotSupportJs', - 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'MissingRequiredArg', - 'errorMessage' => 'required argument missing.', - ], - [ - 'errorCode' => 'FunctionArgError', - 'errorMessage' => 'The function parameter of the domain configuration is incorrect.', + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The quota is exceeded.', 'description' => 'The quota is exhausted.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BCD7D917-76F1-442F-BB75-C810DE34C761\\",\\n \\"IPBlockInfo\\": [\\n {\\n \\"BlockIP\\": \\"1.XXX.XXX.0~1.XXX.XXX.255\\\\n\\",\\n \\"DeliverTime\\": \\"2023-04-24 18:49:37\\\\n\\",\\n \\"Status\\": \\"Success\\"\\n }\\n ],\\n \\"Code\\": 0,\\n \\"Description\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'DescribeCdnFullDomainsBlockIPHistory', + 'summary' => 'Queries the blocking history.', + 'description' => '> '."\n" + ."\n" + .'* To use this operation, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" + ."\n" + .'* For a specified IP addresses and time range, the time when the IP address was delivered to the edge and the corresponding result are returned.'."\n" + ."\n" + .'* If a specified IP address or CIDR block has multiple blocking records in a specified time range, the records are sorted by delivery time in descending order.'."\n" + ."\n" + .'* The maximum time range to query is 90 days.'."\n" + ."\n" + .'* If no blocking record exists or delivery fails for the given IP address and time range, the delivery time is empty.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnFullDomainsBlockIPHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DomainConfigList\\": [\\n {\\n \\"ConfigId\\": 1234567,\\n \\"DomainName\\": \\"www.example.com\\",\\n \\"FunctionName\\": \\"set_resp_header\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<SetCdnDomainStagingConfigResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <DomainConfigList>\\n <ConfigId>1234567</ConfigId>\\n <DomainName>www.example.com</DomainName>\\n <FunctionName>set_resp_header</FunctionName>\\n </DomainConfigList>\\n</SetCdnDomainStagingConfigResponse>","errorExample":""}]', - 'title' => 'SetCdnDomainStagingConfig', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'RollbackStagingConfig' => [ - 'summary' => 'Rolls back configurations in the staging environment. After you call this operation, all configurations in the staging environment are cleared.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnHttpsDomainList' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111884', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111731', + 'abilityTreeNodes' => ['FEATUREcdnD4PEWG', 'FEATUREcdn4R6KLH'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The page number to return. Valid values: **1** to **100000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. The default value is **20**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '20', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'Keyword', + 'in' => 'query', + 'schema' => ['description' => 'The keyword for the search.', 'type' => 'string', 'required' => false, 'example' => 'com', 'title' => ''], ], ], 'responses' => [ @@ -4471,63 +4854,117 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '16', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F5E8DF64-7175-4186-9B06-F002C0BBD0C5', 'title' => ''], + 'CertInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CertInfo' => [ + 'description' => 'A list of certificate information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CertStartTime' => ['description' => 'The start time of the certificate.', 'type' => 'string', 'example' => '2018-11-26 14:45:09', 'title' => ''], + 'CertExpireTime' => ['description' => 'The expiration time of the certificate.', 'type' => 'string', 'example' => '2018-12-26 14:45:09', 'title' => ''], + 'CertUpdateTime' => ['description' => 'The time when the certificate was last updated.', 'type' => 'string', 'example' => '2019-01-08 18:33:16', 'title' => ''], + 'CertType' => ['description' => 'The type of the certificate.'."\n" + ."\n" + .'- **free**: a free certificate.'."\n" + ."\n" + .'- **cas**: an Alibaba Cloud Security certificate.'."\n" + ."\n" + .'- **upload**: a custom certificate that you uploaded.', 'type' => 'string', 'example' => 'free', 'title' => ''], + 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'CertStatus' => ['description' => 'The status of the certificate.'."\n" + ."\n" + .'- **ok**: Normal.'."\n" + ."\n" + .'- **mismatch**: The domain name does not match the certificate.'."\n" + ."\n" + .'- **expired**: The certificate has expired.'."\n" + ."\n" + .'- **expire\\_soon**: The certificate is about to expire.', 'type' => 'string', 'example' => 'mismatch', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'CertCommonName' => ['description' => 'The primary domain name of the certificate.', 'type' => 'string', 'example' => 'example.org', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'StagingConfig.NotFound', - 'errorMessage' => 'The Staging configuration does not exist.', - ], + 400 => [ + ['errorCode' => 'NoHttpsDomain', 'errorMessage' => 'Your account doesn\'t have https domain.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<RollbackStagingConfigResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</RollbackStagingConfigResponse>","errorExample":""}]', - 'title' => 'RollbackStagingConfig', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'title' => 'DescribeCdnHttpsDomainList', + 'summary' => 'Queries all certificate information for your account.', + 'description' => '> The call frequency is limited to 100 calls per second for each account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'PublishStagingConfigToProduction' => [ - 'summary' => 'Publishes the configurations of the staging environment to the production environment.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnHttpsDomainList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnHttpsDomainList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 16,\\n \\"RequestId\\": \\"F5E8DF64-7175-4186-9B06-F002C0BBD0C5\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertStartTime\\": \\"2018-11-26 14:45:09\\",\\n \\"CertExpireTime\\": \\"2018-12-26 14:45:09\\",\\n \\"CertUpdateTime\\": \\"2019-01-08 18:33:16\\",\\n \\"CertType\\": \\"free\\",\\n \\"CertName\\": \\"test\\",\\n \\"CertStatus\\": \\"mismatch\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"CertCommonName\\": \\"example.org\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnOrderCommodityCode' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111879', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '137446', + 'abilityTreeNodes' => ['FEATUREcdnYC0IJ0'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'CommodityCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each call.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The original commodity code.', 'type' => 'string', 'required' => true, 'example' => 'xxx', 'title' => ''], ], ], 'responses' => [ @@ -4535,220 +4972,225 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'OrderCommodityCode' => ['description' => 'The commodity code for products sold by multiple OUs.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'StagingConfig.Failed', - 'errorMessage' => 'Rules in staging are being configured, please try again later.', - ], - ], - 404 => [ - [ - 'errorCode' => 'StagingConfig.NotFound', - 'errorMessage' => 'The Staging configuration does not exist.', + 'title' => 'DescribeCdnOrderCommodityCode', + 'summary' => 'Queries the commodity code for a specified UID.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-15T07:39:28.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnOrderCommodityCode'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnOrderCommodityCode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<PublishStagingConfigToProductionResponse>\\r\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</PublishStagingConfigToProductionResponse>","errorExample":""}]', - 'title' => 'PublishStagingConfigToProduction', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OrderCommodityCode\\": \\"xxx\\",\\n \\"RequestId\\": \\"BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23\\"\\n}","type":"json"}]', ], - 'DeleteSpecificStagingConfig' => [ - 'summary' => 'Deletes a specified configuration of the staging environment.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnRegionAndIsp' => [ + 'summary' => 'Queries regions and carriers.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111711', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 50 domain names in each request. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'ConfigId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration IDs. Separate configuration IDs with commas (,). For more information about ConfigId, see [Usage notes on ConfigId](~~388994~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2317', - ], - ], + 'operationType' => 'none', + 'abilityTreeCode' => '111736', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], + 'tenantRelevance' => 'publicInformation', ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2387C335-932C-4E1E-862C-1C4363B6DE72', 'title' => ''], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'itemNode' => true, + 'description' => 'The list of regions.', + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NameEn' => ['description' => 'The English name.', 'type' => 'string', 'example' => 'liaoning', 'title' => ''], + 'NameZh' => ['description' => 'The Chinese name.', 'type' => 'string', 'example' => '辽宁省', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Isps' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Isp' => [ + 'itemNode' => true, + 'description' => 'The list of carriers.', + 'title' => '', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'NameEn' => ['description' => 'The English name.', 'type' => 'string', 'example' => 'unicom', 'title' => ''], + 'NameZh' => ['description' => 'The Chinese name.', 'type' => 'string', 'example' => '联通', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Invalid%s.ValueNotSupported', - 'errorMessage' => 'FunctionName [%s] is not supported.', - ], - [ - 'errorCode' => 'GrayConfigIsNull', - 'errorMessage' => 'You cannot delete all gary configurations. You can clear them by rolling back the simulation environment.', - ], - [ - 'errorCode' => 'EdgeScriptCountExceedLimit', - 'errorMessage' => 'The number of rules exceeds the default limit (1). To increase the limit, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScripOptionsHasInnerConfig', - 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptGrammarNotSupport', - 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'EdgeScriptNotSupportJs', - 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', - ], - [ - 'errorCode' => 'InvalidRule.Malformed ', - 'errorMessage' => 'Check rules error: %s', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2387C335-932C-4E1E-862C-1C4363B6DE72\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"NameEn\\": \\"liaoning\\",\\n \\"NameZh\\": \\"辽宁省\\"\\n }\\n ]\\n },\\n \\"Isps\\": {\\n \\"Isp\\": [\\n {\\n \\"NameEn\\": \\"unicom\\",\\n \\"NameZh\\": \\"联通\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnRegionAndIsp', + 'description' => '- The list of regions and carriers that are supported by Alibaba Cloud CDN is updated periodically. For the latest information, follow the updates on the official website.'."\n" + ."\n" + .'- Each user can make up to 30 calls per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-16T07:41:48.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnRegionAndIsp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSpecificStagingConfigResponse>\\r\\n\\t<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</DeleteSpecificStagingConfigResponse>","errorExample":""}]', - 'title' => 'DeleteSpecificStagingConfig', - 'description' => '> You can call this operation up to 20 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetWaitingRoomConfig' => [ - 'summary' => 'Configures the virtual waiting room feature for an accelerated domain name. This operation is available only for accelerated domain names of the Dynamic CDN workload type.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnRegionAndIsp'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeCdnReport' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111915', - 'abilityTreeNodes' => [ - 'FEATUREcdn2GPRJF', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111737', + 'abilityTreeNodes' => ['FEATUREcdnEK7SNH'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The domain names to query. Separate multiple domain names with commas.', 'type' => 'string', 'required' => false, 'example' => 'www.example1.com,example2.com', 'title' => ''], ], [ - 'name' => 'WaitUri', + 'name' => 'ReportId', 'in' => 'query', - 'schema' => [ - 'description' => 'The regular expression that is used to match URI strings for which the virtual waiting room feature is enabled.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '.*/aaa/bbb$', - ], + 'schema' => ['description' => 'The ID of the report to query. You can specify only one report ID per call. To query report IDs, call the [DescribeCdnSubList](~~271655~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'AllowPct', + 'name' => 'Area', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of requests that are allowed to be redirected to the origin server. Valid values: **0** to **100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '30', - ], + 'schema' => ['description' => 'The name of the region. To get a list of supported regions, call the [DescribeCdnRegionAndIsp](~~91077~~) operation.'."\n" + ."\n" + .'- If you omit this parameter, data for all regions is returned.'."\n" + ."\n" + .'- You can specify one or more regions, separated by commas.', 'type' => 'string', 'required' => false, 'example' => 'shanghai', 'title' => ''], ], [ - 'name' => 'MaxTimeWait', + 'name' => 'IsOverseas', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum length of waiting time in the queue. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '30', - ], + 'schema' => ['description' => 'Specifies whether the region is outside the Chinese mainland. Valid values:'."\n" + ."\n" + .'- **1**: A region outside the Chinese mainland.'."\n" + ."\n" + .'- **0**: The Chinese mainland.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ - 'name' => 'GapTime', + 'name' => 'HttpCode', 'in' => 'query', - 'schema' => [ - 'description' => 'The length of waiting time to skip after an exit from the queue. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '20', - ], + 'schema' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: 2xx status codes.'."\n" + ."\n" + .'- **3xx**: 3xx status codes.'."\n" + ."\n" + .'- **4xx**: 4xx status codes.'."\n" + ."\n" + .'- **5xx**: 5xx status codes.'."\n" + ."\n" + .'If you do not specify this parameter, data for all supported HTTP status codes is returned.', 'type' => 'string', 'required' => false, 'example' => '2xx', 'title' => ''], ], [ - 'name' => 'WaitUrl', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the waiting page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'https://example.com/waitingroom.html', - ], + 'schema' => ['description' => 'The start of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2020-09-17T00:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2020-09-17T01:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -4756,32 +5198,187 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'Content' => [ + 'description' => 'The report data returned by the query.', + 'type' => 'object', + 'example' => '{'."\n" + .' "data": ['."\n" + .' {'."\n" + .' "deliver": {'."\n" + .' "report": {'."\n" + .' "title": "TopUrlByAcc",'."\n" + .' "format": "table",'."\n" + .' "shape": "",'."\n" + .' "header": ['."\n" + .' "url",'."\n" + .' "traf",'."\n" + .' "traf_rate",'."\n" + .' "acc",'."\n" + .' "acc_rate"'."\n" + .' ]'."\n" + .' }'."\n" + .' },'."\n" + .' "data": ['."\n" + .' {'."\n" + .' "acc": 440,'."\n" + .' "acc_rate": "0.200%",'."\n" + .' "traf": 22,'."\n" + .' "url": "http://demo.com",'."\n" + .' "traf_rate": "0.100%"'."\n" + .' },'."\n" + .' {'."\n" + .' "acc": 440,'."\n" + .' "acc_rate": "0.200%",'."\n" + .' "traf": 22,'."\n" + .' "url": "http://demo.com",'."\n" + .' "traf_rate": "0.100%"'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .' ]'."\n" + .'}', + 'properties' => [ + 'data' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'data' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'deliver' => [ + 'type' => 'object', + 'properties' => [ + 'report' => [ + 'type' => 'object', + 'properties' => [ + 'format' => ['type' => 'string', 'example' => 'table', 'description' => '', 'title' => ''], + 'header' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'acc', 'description' => '', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'outLine' => ['type' => 'integer', 'format' => 'int64', 'example' => '0', 'description' => '', 'title' => ''], + 'outSize' => ['type' => 'integer', 'format' => 'int64', 'example' => '0', 'description' => '', 'title' => ''], + 'shape' => ['type' => 'string', 'example' => 'line', 'description' => '', 'title' => ''], + 'title' => ['type' => 'string', 'example' => 'test', 'description' => '', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<SetWaitingRoomConfigResponse>\\r\\n <RequestId>AED00EC1-32A8-4D48-BEB9-BD782AF3C6BD</RequestId>\\r\\n</SetWaitingRoomConfigResponse>","errorExample":""}]', - 'title' => 'SetWaitingRoomConfig', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], + ], + ], + 'title' => 'DescribeCdnReport', + 'summary' => 'Call DescribeCdnReport to query customized reports.', + 'description' => '> A single user is limited to 3 calls per second.', + 'requestParamsDescription' => '**Required parameters for each report**'."\n" + ."\n" + .'| Report name | Required parameters | Description |'."\n" + .'| ---------------------------------------- | ----------------------------------------------------------------- | ---------------------------------- |'."\n" + .'| PV and UV | Action, ReportId, DomainName, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top client IPs by traffic | Action, ReportId, DomainName, Area, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top client IPs by request count | Action, ReportId, DomainName, Area, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Access distribution by region | Action, ReportId, DomainName, IsOverseas, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| ISP distribution | Action, ReportId, DomainName, IsOverseas, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top Referer by traffic | Action, ReportId, DomainName, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top Referer by request count | Action, ReportId, DomainName, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top URLs by traffic | Action, ReportId, DomainName, HttpCode, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top URLs by request count | Action, ReportId, DomainName, HttpCode, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top back-to-origin URLs by traffic | Action, ReportId, DomainName, HttpCode, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Top back-to-origin URLs by request count | Action, ReportId, DomainName, HttpCode, StartTime, and EndTime. | No other parameters are supported. |'."\n" + .'| Domain name ranking by traffic | Action, ReportId, StartTime, and EndTime. | No other parameters are supported. |', + 'responseParamsDescription' => '**The `data` object**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| deliver | report | The report definition. |'."\n" + .'| data | String[] | An array of objects containing the report data. For example: `[{"header 1":"value1","header 2":"value2"}, {"header 1":"value3","header 2":"value4"}]`. |'."\n" + ."\n" + .'**The `report` object**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| title | String | The report title. |'."\n" + .'| format | String | The report type. Possible values:<br>`chart`: Displays the data as a chart.<br>`table`: Displays the data as a table. |'."\n" + .'| shape | String | The chart type. This parameter applies only when `format` is `chart`. Possible values:<br>`line`: A line chart.<br>`pie`: A pie chart.<br>`bar`: A bar chart. |'."\n" + .'| header | String[] | An array of strings for the report headers. |'."\n" + .'| legend | String | The data field for the chart\'s legend. |'."\n" + .'| xAxis | String | The data field for the chart\'s x-axis. Can be empty. |'."\n" + .'| yAxis | String | The data field for the chart\'s y-axis. Can be empty. |', 'extraInfo' => ' ', - ], - 'DescribeCdnUserConfigs' => [ - 'summary' => 'Queries configurations of security features.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:23.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnReport'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnReport', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"data\\": [\\n {\\n \\"key\\": \\"\\"\\n }\\n ],\\n \\"deliver\\": {\\n \\"report\\": {\\n \\"format\\": \\"table\\",\\n \\"header\\": [\\n \\"acc\\"\\n ],\\n \\"outLine\\": 0,\\n \\"outSize\\": 0,\\n \\"shape\\": \\"line\\",\\n \\"title\\": \\"test\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + ], + 'DescribeCdnReportList' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4790,25 +5387,16 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111749', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111738', + 'abilityTreeNodes' => ['FEATUREcdnEK7SNH'], ], 'parameters' => [ [ - 'name' => 'FunctionName', + 'name' => 'ReportId', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration that you want to query. Valid values:'."\n" - ."\n" - .'* **domain_business_control**: user configurations'."\n" - .'* **waf**: Web Application Firewall (WAF) configurations'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'domain_business_control', - ], + 'schema' => ['description' => 'The ID of the report that you want to query. If you do not specify this parameter, all reports are queried by default.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -4816,78 +5404,128 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '06D29681-B7CD-4034-A8CC-28AFFA213539', - ], - 'Configs' => [ - 'description' => 'The user configurations.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ArgValue' => [ - 'description' => 'The value of the configuration. Valid values:'."\n" - ."\n" - .'* **cc_rule**: HTTP flood protection rules'."\n" - .'* **ddos_dispatch**: integration with Anti-DDoS'."\n" - .'* **edge_safe**: application security settings on POPs'."\n" - .'* **blocked_regions**: blocked regions'."\n" - .'* **http_acl_policy**: access control list (ACL) rules'."\n" - .'* **bot_manager**: bot traffic management'."\n" - .'* **ip_reputation**: IP reputation library'."\n", - 'type' => 'string', - 'example' => '{\\"dcdn_allow\\":[\\"cc_rule\\",\\"ddos_dispatch\\"]}', - ], - 'ArgName' => [ - 'description' => 'The name of the configuration.'."\n" - ."\n" - .'The configuration is specified by enterprise users and public service sectors.'."\n", - 'type' => 'string', - 'example' => 'allow_function', - ], - 'FunctionName' => [ - 'description' => 'The name of the feature.'."\n", - 'type' => 'string', - 'example' => 'domain_business_control', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'Content' => [ + 'description' => 'The list of reports.', + 'type' => 'object', + 'properties' => [ + 'data' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'deliver' => [ + 'type' => 'object', + 'properties' => [ + 'report' => [ + 'type' => 'object', + 'properties' => [ + 'format' => ['description' => 'The display format.', 'type' => 'string', 'example' => 'table', 'title' => ''], + 'header' => [ + 'type' => 'array', + 'items' => ['description' => 'The table header.', 'type' => 'string', 'example' => 'url', 'title' => ''], + 'title' => '', + 'description' => 'The list of table headers.', + 'example' => '', + ], + 'outLine' => ['description' => 'The number of output rows.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'outSize' => ['description' => 'The output size.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'shape' => ['description' => 'The chart type of the report.', 'type' => 'string', 'example' => 'line', 'title' => ''], + 'title' => ['description' => 'The title of the report.', 'type' => 'string', 'example' => 'TopUrlByAcc', 'title' => ''], + ], + 'title' => '', + 'description' => 'The report information.', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'The display format of the report.', + 'example' => '', + ], + 'reportId' => ['description' => 'The report ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'description' => 'The report data.', + 'example' => '', ], + 'description' => 'The report data.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '"data":[{"reportId":1,"deliver":{"report":{"title":"DomainPvUv","format":"chart","shape":"line","xAxis":"ds","yAxis":"cnt","legend":"cnt_type","header":["ds","cnt_type","cnt"]}}}', ], ], + 'description' => 'The response body.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidArgValue.Malformed', - 'errorMessage' => 'The specified ArgValue is invalid.', - ], - [ - 'errorCode' => 'InvalidArgName.ValueNotSupported', - 'errorMessage' => '%s', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"06D29681-B7CD-4034-A8CC-28AFFA213539\\",\\n \\"Configs\\": [\\n {\\n \\"ArgValue\\": \\"{\\\\\\\\\\\\\\"dcdn_allow\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"cc_rule\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ddos_dispatch\\\\\\\\\\\\\\"]}\\",\\n \\"ArgName\\": \\"allow_function\\",\\n \\"FunctionName\\": \\"domain_business_control\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnUserConfigsResponse>\\n <RequestId>06D29681-B7CD-4034-A8CC-28AFFA213539</RequestId>\\n <Configs>\\n <FunctionName>domain_business_control</FunctionName>\\n <ArgValue>{\\"dcdn_allow\\":[\\"cc_rule\\",\\"ddos_dispatch\\"]}</ArgValue>\\n <ArgName>allow_function</ArgName>\\n </Configs>\\n</DescribeCdnUserConfigsResponse>","errorExample":""}]', - 'title' => 'DescribeCdnUserConfigs', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'title' => 'DescribeCdnReportList', + 'summary' => 'Queries a list of all custom reports.', + 'description' => '- This operation returns the metadata of all custom reports but does not return the statistical data.'."\n" + ."\n" + .'- The call frequency for this operation is limited to 3 calls per second per user.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseParamsDescription' => '**Description of the data parameter**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| --------- | ------ | ----------------- |'."\n" + .'| reportId | Long | The report ID. |'."\n" + .'| deliver | report | The report style. |'."\n" + ."\n" + .'**Description of the report parameter**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| title | String | The title of the report. |'."\n" + .'| format | String | The report type. Valid values:<br>chart: The report is a chart.<br>table: The report is a table. |'."\n" + .'| shape | String | The chart type. If the format parameter is set to table, ignore this parameter. Valid values:<br>line: line chart.<br>pie: pie chart.<br>bar: column chart. |'."\n" + .'| header | String[] | The table header fields of the report. |'."\n" + .'| legend | String | The legend field of the chart. |'."\n" + .'| xAxis | String | The x-axis of the chart. This parameter is empty if the chart does not have an x-axis. |'."\n" + .'| yAxis | String | The y-axis of the chart. This parameter is empty if the chart does not have a y-axis. |', 'extraInfo' => ' ', - ], - 'DescribeCdnWafDomain' => [ - 'summary' => 'Queries domain names that use Web Application Firewall (WAF).', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnReportList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnReportList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"deliver\\": {\\n \\"report\\": {\\n \\"format\\": \\"table\\",\\n \\"header\\": [\\n \\"url\\"\\n ],\\n \\"outLine\\": 0,\\n \\"outSize\\": 0,\\n \\"shape\\": \\"line\\",\\n \\"title\\": \\"TopUrlByAcc\\"\\n }\\n },\\n \\"reportId\\": 1\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnSMCertificateDetail' => [ + 'summary' => 'Queries a ShangMi (SM) certificate.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4895,57 +5533,92 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111755', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '111741', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'CertIdentifier', 'in' => 'query', + 'schema' => ['description' => 'The ID of the certificate.', 'type' => 'string', 'required' => true, 'example' => '648****-cn-hangzhou', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The region where WAF is enabled. Valid values:'."\n" - ."\n" - .'* **cn-hangzhou**: inside the Chinese mainland'."\n" - .'* **ap-southeast-1**: outside the Chinese mainland'."\n" - ."\n" - .'> ap-southeast-1 includes Hong Kong (China), Macao (China), Taiwan (China), and other countries and regions.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - 'enum' => [ - 'cn-hangzhou', - 'ap-southeast-1', + 'type' => 'object', + 'properties' => [ + 'CertExpireTime' => ['description' => 'The expiration time of the certificate. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-08-31T09:42:28Z', 'title' => ''], + 'CertIdentifier' => ['description' => 'The ID of the certificate.', 'type' => 'string', 'example' => '648****-cn-hangzhou', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A7C69682-7F88-40DD-A198-10D0309E439D', 'title' => ''], + 'CommonName' => ['description' => 'The common name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'yourCertName', 'title' => ''], + 'Sans' => ['description' => 'The subdomain name.', 'type' => 'string', 'example' => '***.example.com', 'title' => ''], + 'SignCertificate' => ['description' => 'The content of the signature certificate.', 'type' => 'string', 'example' => '--BEGIN CERTIFICATE-----***-----END CERTIFICATE--', 'title' => ''], + 'CertOrg' => ['description' => 'The certificate authority (CA) that issued the certificate.', 'type' => 'string', 'example' => 'DigiCert Inc', 'title' => ''], + 'EncryptCertificate' => ['description' => 'The content of the encryption certificate.', 'type' => 'string', 'example' => '-BEGIN CERTIFICATE-----***-----END CERTIFICATE--', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that you want to query.'."\n" - ."\n" - .'You can specify only one domain name in each request. You have three options to configure this parameter:'."\n" - ."\n" - .'* Specify an exact domain name. For example, if you set this parameter to example.com, configuration information of example.com is queried.'."\n" - .'* Specify a keyword. For example, if you set this parameter to example, configuration information about all domain names that contain example is queried.'."\n" - .'* Leave this parameter empty. If this parameter is left empty, all accelerated domain names for which WAF is configured are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidCertIdentifier.ValueNotSupported', 'errorMessage' => 'The specified value of parameter CertIdentifier is not valid.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CertExpireTime\\": \\"2022-08-31T09:42:28Z\\",\\n \\"CertIdentifier\\": \\"648****-cn-hangzhou\\",\\n \\"RequestId\\": \\"A7C69682-7F88-40DD-A198-10D0309E439D\\",\\n \\"CommonName\\": \\"example.com\\",\\n \\"CertName\\": \\"yourCertName\\",\\n \\"Sans\\": \\"***.example.com\\",\\n \\"SignCertificate\\": \\"--BEGIN CERTIFICATE-----***-----END CERTIFICATE--\\",\\n \\"CertOrg\\": \\"DigiCert Inc\\",\\n \\"EncryptCertificate\\": \\"-BEGIN CERTIFICATE-----***-----END CERTIFICATE--\\"\\n}","type":"json"}]', + 'title' => 'DescribeCdnSMCertificateDetail', + 'description' => '> Each account can call this operation up to 20 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:23.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSMCertificateDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSMCertificateDetail'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + ], + 'DescribeCdnSMCertificateList' => [ + 'summary' => 'Queries the ShangMi (SM) certificates of an accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ResourceGroupId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '111742', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1234', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -4953,104 +5626,84 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The number of accelerated domain names.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'CB1A380B-09F0-41BB-802B-72F8FD6DA2FE', - ], - 'OutPutDomains' => [ - 'description' => 'The information about the accelerated domain name.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AclStatus' => [ - 'description' => 'The status of the access control list (ACL) feature. Valid values:'."\n" - ."\n" - .'* **0**: disabled'."\n" - .'* **1**: enabled'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Status' => [ - 'description' => 'The WAF status of the domain name. Valid values:'."\n" - ."\n" - .'* **1**: The domain name is added to WAF or valid.'."\n" - .'* **10**: The domain name is being added to WAF.'."\n" - .'* **11**: The domain name failed to be added to WAF.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Domain' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'CcStatus' => [ - 'description' => 'The status of protection against HTTP flood attacks. Valid values:'."\n" - ."\n" - .'* **0**: disabled'."\n" - .'* **1**: enabled'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'WafStatus' => [ - 'description' => 'The status of WAF. Valid values:'."\n" - ."\n" - .'* **0**: disabled'."\n" - .'* **1**: enabled'."\n", - 'type' => 'string', - 'example' => '1', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'DC0E34AC-0239-44A7-AB0E-800DE522C8DC', 'title' => ''], + 'CertificateListModel' => [ + 'description' => 'The type of the certificate information.', + 'type' => 'object', + 'properties' => [ + 'Count' => ['description' => 'The number of certificates that are returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CertList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cert' => [ + 'description' => 'The list of certificates.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'yourCertName', 'title' => ''], + 'Issuer' => ['description' => 'The certificate authority (CA) that issued the certificate.', 'type' => 'string', 'example' => 'yourCertIssuer', 'title' => ''], + 'CertIdentifier' => ['description' => 'The ID of the certificate.', 'type' => 'string', 'example' => 'yourCertldentifier', 'title' => ''], + 'Common' => ['description' => 'The common name of the certificate.', 'type' => 'string', 'example' => 'yourCertCommon', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'InvalidParameter.', - ], - [ - 'errorCode' => 'InvalidParameterRegionId', - 'errorMessage' => 'Invalid Region ID.', - ], - [ - 'errorCode' => 'InvalidParameterDomain', - 'errorMessage' => 'Invalid Domain Name.', - ], - [ - 'errorCode' => 'DomainNotExist ', - 'errorMessage' => 'Specified Domain Not Exist.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"DC0E34AC-0239-44A7-AB0E-800DE522C8DC\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"CertName\\": \\"yourCertName\\",\\n \\"Issuer\\": \\"yourCertIssuer\\",\\n \\"CertIdentifier\\": \\"yourCertldentifier\\",\\n \\"Common\\": \\"yourCertCommon\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnSMCertificateList', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-10-25T15:57:24.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSMCertificateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-802B-72F8FD6DA2FE\\",\\n \\"OutPutDomains\\": [\\n {\\n \\"AclStatus\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"CcStatus\\": \\"1\\",\\n \\"WafStatus\\": \\"1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnWafDomainResponse>\\n<TotalCount>1</TotalCount>\\n<OutputDomains>\\n <AclStatus>1</AclStatus>\\n <CcStatus>1</CcStatus>\\n <Domain>example.com</Domain>\\n <Status>1</Status>\\n <WafStatus>1</WafStatus>\\n</OutputDomains>\\n<RequestId>CB1A380B-09F0-41BB-802B-72F8FD6DA2FE</RequestId>\\n</DescribeCdnWafDomainResponse>","errorExample":""}]', - 'title' => 'DescribeCdnWafDomain', - 'description' => '> You can call this operation up to 150 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeBlockedRegions' => [ - 'summary' => 'Queries countries and regions that can be added to the blacklist.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSMCertificateList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeCdnSSLCertificateList' => [ + 'summary' => 'Queries the certificate list by domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5059,248 +5712,339 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111717', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'abilityTreeCode' => '168239', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Language', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The language. Valid values:'."\n" - ."\n" - .'* **zh**: simplified Chinese'."\n" - .'* **en**: English'."\n" - .'* **jp**: Japanese'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'zh', - 'enum' => [ - 'zh', - 'en', - 'jp', - ], - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'www.example.com'."\n", 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Default value: **1**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'default' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: an integer from **1** to **1000**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'default' => '1000', 'title' => ''], + ], + [ + 'name' => 'SearchKeyword', + 'in' => 'query', + 'schema' => ['description' => 'The keyword that is used to query the certificate.'."\n", 'type' => 'string', 'required' => false, 'example' => 'certabc', 'title' => ''], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23', - ], - 'InfoList' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E9D3257A-1B7C-414C-90C1-8D07AC47BCAC', 'title' => ''], + 'CertificateListModel' => [ + 'description' => 'The list of certificates.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'InfoItem' => [ - 'description' => 'The information returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CountriesAndRegions' => [ - 'description' => 'The abbreviation of the name of the country or region.'."\n", - 'type' => 'string', - 'example' => 'AF', - ], - 'Continent' => [ - 'description' => 'The district to which the country or region belongs.'."\n", - 'type' => 'string', - 'example' => 'Asia'."\n", - ], - 'CountriesAndRegionsName' => [ - 'description' => 'The name of the country or region.'."\n", - 'type' => 'string', - 'example' => 'Afghanistan'."\n", + 'Count' => ['description' => 'The number of certificates.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CertList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Cert' => [ + 'description' => 'Details about each certificate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'LastTime' => ['description' => 'The time when the certificate was last modified. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1679896965', 'title' => ''], + 'Fingerprint' => ['description' => 'The fingerprint of the certificate.'."\n", 'type' => 'string', 'example' => '933c6ddee95c9c41a40f9f50493d82be03ad87bf', 'title' => ''], + 'CertName' => ['description' => 'The name of the certificate.'."\n", 'type' => 'string', 'example' => 'Certificate 1', 'title' => ''], + 'Issuer' => ['description' => 'The certificate authority (CA) that issued the certificate.'."\n", 'type' => 'string', 'example' => 'yourCertIssuer', 'title' => ''], + 'CertId' => ['description' => 'The ID of the certificate.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '9128192', 'title' => ''], + 'Common' => ['description' => 'The Common Name (CN) attribute of the certificate. In most cases, the CN is a domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'CertRegion' => ['description' => 'The region ID of the certificate. Valid values: **cn-hangzhou** and **ap-southeast-1**. Default value: **cn-hangzhou**.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'PageNumber' => ['description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. Valid values: an integer from 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MISS_PARAMETER', - 'errorMessage' => 'MISS_PARAMETER', - ], - [ - 'errorCode' => 'INVALID_PARAMETER', - 'errorMessage' => 'INVALID_PARAMETER', - ], - [ - 'errorCode' => 'FAILED', - 'errorMessage' => 'FAILED', - ], + ['errorCode' => 'NotFoundCertList', 'errorMessage' => 'The certList is null.', 'description' => 'The certificate list is empty.'], + ['errorCode' => 'InternalException', 'errorMessage' => 'Internal occasional exception, please try again later.', 'description' => 'Internal occasional exception, please try again later.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23\\",\\n \\"InfoList\\": {\\n \\"InfoItem\\": [\\n {\\n \\"CountriesAndRegions\\": \\"AF\\",\\n \\"Continent\\": \\"亚洲\\",\\n \\"CountriesAndRegionsName\\": \\"阿富汗\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeBlockedRegionsResponse>\\n<RequestId>BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23</RequestId>\\n<InfoList>\\n <InfoItem>\\n <Continent>亚洲</Continent>\\n <CountriesAndRegions>AF</CountriesAndRegions>\\n <CountriesAndRegionsName>阿富汗</CountriesAndRegionsName>\\n </InfoItem>\\n</InfoList>\\n</DescribeBlockedRegionsResponse>","errorExample":""}]', - 'title' => 'DescribeBlockedRegions', - 'description' => '> You can call this operation up to 50 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'RefreshObjectCacheByCacheTag' => [ - 'summary' => 'Refreshes the cache based on cache tags that you configured.', - 'methods' => [ - 'post', - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E9D3257A-1B7C-414C-90C1-8D07AC47BCAC\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"LastTime\\": 1679896965,\\n \\"Fingerprint\\": \\"933c6ddee95c9c41a40f9f50493d82be03ad87bf\\",\\n \\"CertName\\": \\"Certificate 1\\",\\n \\"Issuer\\": \\"yourCertIssuer\\",\\n \\"CertId\\": 9128192,\\n \\"Common\\": \\"example.com\\",\\n \\"CertRegion\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 2,\\n \\"PageSize\\": 20\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnSSLCertificateList', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-25T03:08:16.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSSLCertificateList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSSLCertificateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '206248', - 'abilityTreeNodes' => [ - 'FEATUREcdnW2530F', + ], + 'DescribeCdnSecFuncInfo' => [ + 'summary' => 'Queries security features of Alibaba Cloud CDN.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'SecFuncType', 'in' => 'query', 'schema' => [ - 'description' => 'The accelerated domain name.'."\n", + 'title' => 'A short description of struct', + 'description' => 'The type of the security feature. Valid values:'."\n" + ."\n" + .'- CipherSuiteGroupCustomize: custom cipher suite.'."\n" + ."\n" + .'- CipherSuiteGroupStrict: dustom cipher suite.', + 'enumValueTitles' => ['CipherSuiteGroupCustomize' => '', 'CipherSuiteGroupStrict' => ''], 'type' => 'string', 'required' => true, - 'example' => 'example.com', + 'enum' => ['CipherSuiteGroupStrict', 'CipherSuiteGroupCustomize'], + 'example' => 'CipherSuiteGroupCustomize', ], ], [ - 'name' => 'CacheTag', + 'name' => 'Lang', 'in' => 'query', 'schema' => [ - 'description' => 'The tags of Cache. If multiple tags are returned, the tags are separated by commas (,).', + 'title' => 'A short description of struct', + 'description' => 'The language.'."\n" + ."\n" + .'- en: English'."\n" + ."\n" + .'- zh: Chinese', + 'enumValueTitles' => ['en' => '', 'zh' => ''], 'type' => 'string', 'required' => true, - 'example' => 'tag1,tag2', - 'maxLength' => 16384, + 'enum' => ['zh', 'en'], + 'example' => 'zh', ], ], - [ - 'name' => 'Force', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ + 'headers' => [], 'schema' => [ - 'description' => 'Specifies whether to purge all resources that you submit if the requested content is one of the resources that you submit to purge. Default value: false.'."\n" - ."\n" - .'* **true**: The nearest POP fetches all resources from the origin server, delivers them to the client, and updates the cache with the new version.'."\n" - .'* **false**: The nearest POP checks the Last-Modified parameter of the resource on the origin server. If the parameter value is the same as that of the cached resource, the POP serves the cached resource. If the parameter value is not the same as that of the cached resource, the POP fetches the latest version from the origin server, delivers it to the client, and updates the cache with the new version.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'title' => 'Schema of Response', + 'description' => 'The returned information about the security feature.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'BCD7D917-76F1-442F-BB75-C810DE34C761'], + 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RetCode' => ['description' => 'The HTTP request response code.'."\n" + ."\n" + .'- 0: OK.'."\n" + ."\n" + .'- Values other than 0: an error.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'HttpStatus' => ['description' => 'The HTTP status code returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Content' => [ + 'description' => 'Queried data.', + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Label' => ['description' => 'The tag.', 'type' => 'string', 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', 'title' => ''], + 'Value' => ['description' => 'The value.', 'type' => 'string', 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BCD7D917-76F1-442F-BB75-C810DE34C761\\",\\n \\"Description\\": \\"OK\\",\\n \\"RetCode\\": \\"0\\",\\n \\"HttpStatus\\": \\"200\\",\\n \\"Content\\": [\\n {\\n \\"Label\\": \\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\",\\n \\"Value\\": \\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeCdnSecFuncInfo', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSecFuncInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSecFuncInfo'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + ], + 'DescribeCdnService' => [ + 'summary' => 'Queries the status of the Alibaba Cloud CDN service. The returned information includes the current metering method, the service activation time, the next metering method that will take effect, and the current service status.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '111740', + 'abilityTreeNodes' => ['FEATUREcdnYC0IJ0'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2E5AD83F-BD7B-462E-8319-2E30E305519A', - ], - 'RefreshTaskId' => [ - 'description' => 'The ID of the refresh task. If multiple tasks are returned, the task IDs are separated by commas (,). The task IDs are merged based on the following rules:'."\n" - ."\n" - .'* If the tasks are specified for the same accelerated domain name, submitted within the same second, and run to refresh content based on URLs instead of directories, the task IDs are merged into one task ID (RefreshTaskId).'."\n" - .'* If the number of tasks that are specified for the same accelerated domain name, submitted within the same second, and run to refresh content based on URLs instead of directories exceeds 2,000, every 2,000 task IDs are merged into one task ID (RefreshTaskId).'."\n", - 'type' => 'string', - 'example' => '17772470184', + 'ChangingAffectTime' => ['description' => 'The time when the next metering method takes effect. The time is in GMT.', 'type' => 'string', 'example' => '2019-11-27T16:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'ChangingChargeType' => ['description' => 'The next metering method that will take effect.'."\n" + ."\n" + .'- **PayByTraffic**: by traffic.'."\n" + ."\n" + .'- **PayByBandwidth**: by peak bandwidth.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'OpeningTime' => ['description' => 'The time when the service was activated. The time is in the ISO 8601 format.', 'type' => 'string', 'example' => '2019-02-28T13:11:49Z', 'title' => ''], + 'InternetChargeType' => ['description' => 'The current metering method.'."\n" + ."\n" + .'- **PayByTraffic**: by traffic.'."\n" + ."\n" + .'- **PayByBandwidth**: by peak bandwidth.', 'type' => 'string', 'example' => 'PayByTraffic', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'aliuidxx', 'title' => ''], + 'OperationLocks' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'LockReason' => [ + 'description' => 'The lock status of the service.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LockReason' => ['description' => 'The reason why the service is locked. The value \\`financial\\` indicates an overdue payment.', 'type' => 'string', 'example' => 'financial', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'ChangingDynamicBillingType' => ['description' => 'The next metering method for dynamic acceleration that will take effect.', 'type' => 'string', 'example' => 'DynamicHourTraffic', 'title' => ''], + 'DynamicBillingType' => ['description' => 'The metering method for dynamic acceleration.', 'type' => 'string', 'example' => 'DynamicHourTraffic', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SingleRequest.OverLimit', - 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', - ], - [ - 'errorCode' => 'InvalidObjectType.Malformed', - 'errorMessage' => 'The specified ObjectType is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectPath.Malformed', - 'errorMessage' => 'The specified ObjectPath is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectPath.Size.Malformed', - 'errorMessage' => 'The size of ObjectPath is bigger than 1000.', - ], - [ - 'errorCode' => 'QuotaExceeded.Refresh', - 'errorMessage' => 'You\'ve exceeded the prescribed refresh limits.', - ], - [ - 'errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', - 'errorMessage' => 'The specified ExtensiveDomain is not supported.', - ], - [ - 'errorCode' => 'QuotaPerMinuteExceeded.Refresh', - 'errorMessage' => 'You tried to refresh too frequently; please try again later.', - ], - [ - 'errorCode' => 'TooMany.Refresh', - 'errorMessage' => 'The refresh queue is full; please try again later.', - ], - [ - 'errorCode' => 'PreloadQueueFull', - 'errorMessage' => 'Preload queue is full, please try again later!', - ], - [ - 'errorCode' => 'InvalidStations.Malformed', - 'errorMessage' => 'The specified Stations is invalid.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The parameters you provided are invalid.', - ], + ['errorCode' => 'UnsupportedParameter', 'errorMessage' => 'There is unsupported parameters', 'description' => ' '], + ['errorCode' => 'InternetChargeTypeInvalid', 'errorMessage' => 'The specified InternetChargeType is invalid.', 'description' => 'The specified InternetChargeType is invalid.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ChangingAffectTime\\": \\"2019-11-27T16:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"ChangingChargeType\\": \\"PayByTraffic\\",\\n \\"OpeningTime\\": \\"2019-02-28T13:11:49Z\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"InstanceId\\": \\"aliuidxx\\",\\n \\"OperationLocks\\": {\\n \\"LockReason\\": [\\n {\\n \\"LockReason\\": \\"financial\\"\\n }\\n ]\\n },\\n \\"ChangingDynamicBillingType\\": \\"DynamicHourTraffic\\",\\n \\"DynamicBillingType\\": \\"DynamicHourTraffic\\"\\n}","type":"json"}]', + 'title' => 'DescribeCdnService', + 'description' => '> A single user can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-05T06:58:03.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2E5AD83F-BD7B-462E-8319-2E30E305519A\\",\\n \\"RefreshTaskId\\": \\"17772470184\\"\\n}","type":"json"}]', - 'title' => 'RefreshObjectCacheByCacheTag', - ], - 'DescribeRefreshQuota' => [ - 'summary' => 'DescribeRefreshQuota', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnService'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeCdnSubList' => [ + 'summary' => 'The DescribeCdnSubList operation queries customized report tasks.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5309,10 +6053,10 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111830', - 'abilityTreeNodes' => [ - 'FEATUREcdnW2530F', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111743', + 'abilityTreeNodes' => ['FEATUREcdnEK7SNH'], ], 'parameters' => [], 'responses' => [ @@ -5320,201 +6064,173 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PreloadRemain' => [ - 'description' => 'The maximum number of times that you can prefetch content to L1 nodes on the current day.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'BlockRemain' => [ - 'description' => 'The remaining number of times that you can prefetch content to L2 points of presence (POPs) on the current day.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'RegexRemain' => [ - 'description' => 'The remaining number of URLs that can be blocked on the current day.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'UrlRemain' => [ - 'description' => 'The remaining number of URLs or directories that can be refreshed by using regular expressions on the current day.'."\n", - 'type' => 'string', - 'example' => '1996', - ], - 'DirRemain' => [ - 'description' => 'The remaining number of URLs that can be refreshed on the current day.'."\n", - 'type' => 'string', - 'example' => '99', - ], - 'UrlQuota' => [ - 'description' => 'The remaining number of directories that can be refreshed on the current day.'."\n", - 'type' => 'string', - 'example' => '2000', - ], - 'BlockQuota' => [ - 'description' => 'The maximum number of URLs that can be refreshed on the current day.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'RequestId' => [ - 'description' => 'The maximum number of URLs and directories that can be blocked on the current day.'."\n", - 'type' => 'string', - 'example' => '42E0554B-80F4-4921-AED6-ACFB22CAAAD0', - ], - 'DirQuota' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'PreloadEdgeQuota' => [ - 'description' => 'The maximum number of directories that can be refreshed on the current day.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'PreloadEdgeRemain' => [ - 'description' => 'The maximum number of times that you can prefetch content to L1 POPs on the current day.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'PreloadQuota' => [ - 'description' => 'The remaining number of times that you can prefetch content to L1 POPs on the current day.'."\n", - 'type' => 'string', - 'example' => '500', - ], - 'RegexQuota' => [ - 'description' => 'The maximum number of times that you can prefetch content to L2 POPs on the current day.'."\n", - 'type' => 'string', - 'example' => '20', - ], - 'IgnoreParamsQuota' => [ - 'description' => 'The maximum number of URLs or directories with parameters ignored that can be refreshed on the current day.'."\n", - 'type' => 'string', - 'example' => '100', - ], - 'IgnoreParamsRemain' => [ - 'description' => 'The number of remaining URLs or directories that can be refreshed with parameters ignored on the current day.'."\n", - 'type' => 'string', - 'example' => '10', + 'Content' => [ + 'description' => 'The customized report task.', + 'properties' => [ + 'data' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'createTime' => ['type' => 'string', 'example' => '2024-05-16T09:43:38Z', 'description' => '', 'title' => ''], + 'domains' => [ + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'a.b.com', 'description' => '', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'effectiveEnd' => ['type' => 'string', 'example' => '2024-05-16T09:43:38Z', 'description' => '', 'title' => ''], + 'effectiveFrom' => ['type' => 'string', 'example' => '2024-05-16T09:43:38Z', 'description' => '', 'title' => ''], + 'reportId' => [ + 'type' => 'array', + 'items' => ['type' => 'integer', 'format' => 'int64', 'example' => '1', 'description' => '', 'title' => ''], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'status' => ['type' => 'string', 'example' => 'enable', 'description' => '', 'title' => ''], + 'subId' => ['type' => 'integer', 'format' => 'int64', 'example' => '1', 'description' => '', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'type' => 'object', + 'example' => '{"RequestId":"3250A51D-C11D-46BA-B6B3-95348EEDE652","Description":" succeeded","Content":{"data":[{"subId":5,"reportId":[1,2,3],"createTime":"2020-09-25T09:39:33Z","domains"["all"],"effectiveFrom":"2020-09-17T00:00:00Z","effectiveEnd":"2020-11-17T00:00:00Z","status":"enable"}]}}', + 'title' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3250A51D-C11D-46BA-B6B3-95348EEDE652', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PreloadRemain\\": \\"400\\",\\n \\"BlockRemain\\": \\"100\\",\\n \\"RegexRemain\\": \\"10\\",\\n \\"UrlRemain\\": \\"1996\\",\\n \\"DirRemain\\": \\"99\\",\\n \\"UrlQuota\\": \\"2000\\",\\n \\"BlockQuota\\": \\"300\\",\\n \\"RequestId\\": \\"42E0554B-80F4-4921-AED6-ACFB22CAAAD0\\",\\n \\"DirQuota\\": \\"100\\",\\n \\"PreloadEdgeQuota\\": \\"20\\",\\n \\"PreloadEdgeRemain\\": \\"20\\",\\n \\"PreloadQuota\\": \\"500\\",\\n \\"RegexQuota\\": \\"20\\",\\n \\"IgnoreParamsQuota\\": \\"100\\",\\n \\"IgnoreParamsRemain\\": \\"10\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeRefreshQuotaResponse>\\r\\n <RequestId>42E0554B-80F4-4921-AED6-ACFB22CAAAD0</RequestId>\\r\\n\\t<UrlQuota>2000</UrlQuota>\\r\\n <DirQuota>100</DirQuota>\\r\\n <UrlRemain>1996</UrlRemain>\\r\\n\\t<DirRemain>99</DirRemain>\\r\\n\\t<PreloadQuota>500</PreloadQuota>\\r\\n\\t<PreloadRemain>400</PreloadRemain>\\r\\n <BlockQuota>300</BlockQuota>\\r\\n <RegexQuota>20</RegexQuota>\\r\\n <RegexRemain>10</RegexRemain>\\r\\n <blockRemain>200</blockRemain>\\r\\n</DescribeRefreshQuotaResponse>\\t","errorExample":""}]', - 'title' => 'DescribeRefreshQuota', - 'description' => 'Queries the maximum and remaining numbers of URLs and directories that can be refreshed, the maximum and remaining numbers of times that you can prefetch content, and the maximum and remaining numbers of URLs and directories that can be blocked on the current day.', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"createTime\\": \\"2024-05-16T09:43:38Z\\",\\n \\"domains\\": [\\n \\"a.b.com\\"\\n ],\\n \\"effectiveEnd\\": \\"2024-05-16T09:43:38Z\\",\\n \\"effectiveFrom\\": \\"2024-05-16T09:43:38Z\\",\\n \\"reportId\\": [\\n 1\\n ],\\n \\"status\\": \\"enable\\",\\n \\"subId\\": 1\\n }\\n ]\\n },\\n \\"RequestId\\": \\"3250A51D-C11D-46BA-B6B3-95348EEDE652\\"\\n}","type":"json"}]', + 'title' => 'DescribeCdnSubList', + 'description' => '- By default, this operation queries all customized report tasks. However, only one task is returned in the response.'."\n" + ."\n" + .'- The call frequency is limited to 3 calls per second for each user.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseParamsDescription' => '**Data description**'."\n" + ."\n" + .'| Parameter | Type | Description |'."\n" + .'| ------------- | -------- | -------------------------------------------------------------------------------------------------- |'."\n" + .'| subId | Long | The request ID of the task. |'."\n" + .'| reportId | Long[] | A list of report IDs. |'."\n" + .'| createTime | String | The time when the report was created. |'."\n" + .'| domains | String[] | A list of domain names for the customized report. |'."\n" + .'| effectiveFrom | String | The start time of the customized task. |'."\n" + .'| effectiveEnd | String | The end time of the customized task. |'."\n" + .'| status | String | The status of the customized task. Valid values:<br>**enable**: Enabled.<br>**disable**: Disabled. |', 'extraInfo' => ' ', - ], - 'PushObjectCache' => [ - 'summary' => 'Prefetches content from origin servers to points of presence (POPs). This reduces loads on origin servers because users can directly hit cache upon their first visits.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-25T08:28:59.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-06-25T08:15:12.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-25T08:14:57.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSubList'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSubList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'DescribeCdnTaskList' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111882', - 'abilityTreeNodes' => [ - 'FEATUREcdnKZKOWX', - ], + 'abilityTreeCode' => '197153', + 'abilityTreeNodes' => ['FEATUREcdnORORBI'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ObjectPath', + 'name' => 'DiagnoseId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URLs based on which content is prefetched. Format: **accelerated domain name/files to be prefetched**.'."\n" - ."\n" - .'> Separate URLs with line feeds (\\n or \\r\\n). Each object path can be up to 1,024 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com/image/1.png\\nexample.org/image/2.png', - ], + 'schema' => ['description' => 'The diagnosis ID.', 'type' => 'string', 'required' => false, 'example' => 'f2xxx5', 'title' => ''], ], [ - 'name' => 'Area', + 'name' => 'TraceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The acceleration region where content is to be prefetched. Valid values:'."\n" - ."\n" - .'* **domestic****: Chinese mainland**'."\n" - .'* **overseas****: regions outside the Chinese mainland**'."\n" - ."\n" - .'If you do not set this parameter, content in the service location (specified by parameter Coverage) that you configured for the domain is prefetched. Content is prefetched based on the following rules:'."\n" - ."\n" - .'* If the acceleration region is set to **Chinese Mainland Only**, content in regions in the Chinese mainland is prefetched.'."\n" - .'* If the acceleration region is set to **Global**, content in all regions is prefetched.'."\n" - .'* If the acceleration region is set to **Global (Excluding the Chinese Mainland)**, content in regions outside the Chinese mainland is prefetched.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'domestic', - 'enum' => [ - 'domestic', - 'overseas', - ], - ], + 'schema' => ['description' => 'The trace ID.', 'type' => 'string', 'required' => false, 'example' => '000000xxxxxxxxxxxxxxxxxxxxxx33427e', 'title' => ''], ], [ - 'name' => 'L2Preload', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to prefetch content to L2 points of presence (POPs). Valid values:'."\n" - ."\n" - .'* **true**: prefetches content to L2 POPs.'."\n" - .'* **false**: prefetches content to regular POPs. Regular POPs can be L2 POPs or L3 POPs. Default value: **false**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'schema' => ['description' => 'The task ID.', 'type' => 'string', 'required' => false, 'example' => 'xxxxxxxxxx-x-x-xxxxxxxxxxxxxxxxx', 'title' => ''], ], [ - 'name' => 'WithHeader', + 'name' => 'ClientIp', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom header for prefetch in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{'."\n" - .' "Accept-Encoding": ['."\n" - .' "gzip"'."\n" - .' ]'."\n" - .'}', - ], + 'schema' => ['description' => 'The client IP address.', 'type' => 'string', 'required' => false, 'example' => '60.xx.xxx.38'."\n", 'title' => ''], ], [ - 'name' => 'QueryHashkey', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter specifies whether to enable the hash key query mode when you run a prefetch task. Valid values:'."\n" - ."\n" - .'* false: The default mode, in which the submitted URL is used as the hash key for the prefetch.'."\n" - .'* true: In this mode, the actual hash key used for the prefetch is queried based on the configuration of the domain name.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The domain name to diagnose.', 'type' => 'string', 'required' => false, 'example' => 'http://www.example.com', 'title' => ''], ], [ - 'name' => 'ConsistencyHash', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The start of the query time range, specified as a UNIX timestamp in seconds.', 'type' => 'string', 'required' => false, 'example' => '1644467126', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the query time range, specified as a UNIX timestamp in seconds.', 'type' => 'string', 'required' => false, 'example' => '1644467126', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return per page. The value must be an integer from **1** to **1000**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ @@ -5522,155 +6238,172 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PushTaskId' => [ - 'description' => 'The ID of the prefetch task. If multiple tasks are returned, the IDs are separated by commas (,). The task IDs are merged based on the following rules:'."\n" - ."\n" - .'* If the tasks are set for the same accelerated domain name, submitted within the same second, and prefetch content from URLs instead of directories, the tasks IDs are merged into the same task ID (RushTaskId).'."\n" - .'* If the number of tasks that are set for the same accelerated domain name, submitted within the same second, and prefetch content from URLs instead of directories exceeds 500, every 500 task IDs are merged into the same task ID (RushTaskId).'."\n", - 'type' => 'string', - 'example' => '9524xxxx', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', + 'Content' => [ + 'type' => 'object', + 'properties' => [ + 'Count' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'List' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Aliuid' => ['description' => 'The Alibaba Cloud account ID.', 'type' => 'string', 'example' => '1077********7468', 'title' => ''], + 'ClientAddr' => ['description' => 'The IP address of the local DNS server.', 'type' => 'string', 'example' => 'xx.xx.xx.xx', 'title' => ''], + 'ClientIp' => ['description' => 'The client IP address.', 'type' => 'string', 'example' => 'xx.xx.xx.xx', 'title' => ''], + 'CreateTime' => ['description' => 'The time the report was created.', 'type' => 'string', 'example' => '2022-12-10 15:11:47', 'title' => ''], + 'DiagnoseId' => ['description' => 'The diagnostic ID.', 'type' => 'string', 'example' => 'f2a18ad5', 'title' => ''], + 'DiagnoseUrl' => ['description' => 'The diagnostic link.', 'type' => 'string', 'example' => 'http://cdn.dns-detect.alicdn.com/diagnose/xxxxxx', 'title' => ''], + 'Domain' => ['description' => 'The diagnosed domain name.', 'type' => 'string', 'example' => 'http://www.example.com', 'title' => ''], + 'ExpireTime' => ['description' => 'The expiration time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1669285111', 'title' => ''], + 'RemainDiagnoseTimes' => ['description' => 'The number of remaining diagnostic attempts.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'State' => ['description' => 'The generation status of the report. Valid values:'."\n" + ."\n" + .'- 0: Success'."\n" + ."\n" + .'- 1: Failure'."\n" + ."\n" + .'- 2: Timeout'."\n" + ."\n" + .'- 3: Running'."\n" + ."\n" + .'- 4: Waiting', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Status' => ['description' => 'The status of the diagnostic link. Valid values:'."\n" + ."\n" + .'- 1: Active'."\n" + ."\n" + .'- 0: Expired', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '000000xxxxxxxxxxxxxxxxxxxxxxxxxxxx475e', 'title' => ''], + 'TimeConsuming' => ['description' => 'The duration of the report generation.', 'type' => 'integer', 'format' => 'int64', 'example' => '1s', 'title' => ''], + 'TraceId' => ['description' => 'The diagnostic trace ID.', 'type' => 'string', 'example' => '000000xxxxxxxxxxxxxxxxxxxxxx25941e', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of diagnostic tasks.', + 'title' => '', + 'example' => '', + ], + 'PageNumber' => ['description' => 'The page number. The default value is **1**.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. The value must be an integer from **1** to **1000**.', 'type' => 'integer', 'format' => 'int64', 'example' => '6', 'title' => ''], + ], + 'description' => 'The data for the diagnostic task list.', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '4E09C5D7-E1CF-4CAA-A45E-8727F4C8FD70', 'title' => ''], ], + 'description' => 'The response parameters.', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'SingleRequest.OverLimit', - 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', - ], - [ - 'errorCode' => 'QuotaExceeded.Preload', - 'errorMessage' => 'Your preload attempts have exceeded the daily limit.', - ], - [ - 'errorCode' => 'InvalidObjectPath.Malformed', - 'errorMessage' => 'The specified ObjectPath is invalid.', - ], - [ - 'errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', - 'errorMessage' => 'The specified ExtensiveDomain is not supported.', - ], - [ - 'errorCode' => 'PreloadQueueFull', - 'errorMessage' => 'The warming queue is full,please try again later.', - ], - [ - 'errorCode' => 'QuotaPerMinuteExceeded.Refresh', - 'errorMessage' => 'You have exceeded the prescribed preload limits per minute.', - ], - [ - 'errorCode' => 'InvalidObjectPath.ExceedsMaximum', - 'errorMessage' => 'The maximum number of urls is exceeded.', - ], - [ - 'errorCode' => 'InvalidCustomHeader', - 'errorMessage' => 'Parse preload header failed.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeCdnTaskList', + 'summary' => '`DescribeCdnTaskList` returns a list of diagnostic tasks.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Content\\": {\\n \\"Count\\": 10,\\n \\"List\\": [\\n {\\n \\"Aliuid\\": \\"1077********7468\\",\\n \\"ClientAddr\\": \\"xx.xx.xx.xx\\",\\n \\"ClientIp\\": \\"xx.xx.xx.xx\\",\\n \\"CreateTime\\": \\"2022-12-10 15:11:47\\",\\n \\"DiagnoseId\\": \\"f2a18ad5\\",\\n \\"DiagnoseUrl\\": \\"http://cdn.dns-detect.alicdn.com/diagnose/xxxxxx\\",\\n \\"Domain\\": \\"http://www.example.com\\",\\n \\"ExpireTime\\": 1669285111,\\n \\"RemainDiagnoseTimes\\": 10,\\n \\"State\\": \\"0\\",\\n \\"Status\\": 1,\\n \\"TaskId\\": \\"000000xxxxxxxxxxxxxxxxxxxxxxxxxxxx475e\\",\\n \\"TimeConsuming\\": 0,\\n \\"TraceId\\": \\"000000xxxxxxxxxxxxxxxxxxxxxx25941e\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 6\\n },\\n \\"RequestId\\": \\"4E09C5D7-E1CF-4CAA-A45E-8727F4C8FD70\\"\\n}","type":"json"}]', + ], + 'DescribeCdnTypes' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '111744', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BDA62CE4-3477-439A-B52E-D2D7C829D7C1'."\n"], + 'CdnTypes' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CdnType' => [ + 'description' => 'The types of the domain names.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the domain name.'."\n", + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the domain name.'."\n", 'type' => 'string', 'example' => 'download'], + 'Desc' => ['description' => 'The description of the domain name type.'."\n", 'type' => 'string', 'example' => 'Download Acceleration'], + ], + ], + ], + ], + ], + ], + 'description' => '', ], ], - 429 => [ - [ - 'errorCode' => 'TooManyRequests', - 'errorMessage' => 'System load fluctuates, please try again later.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BDA62CE4-3477-439A-B52E-D2D7C829D7C1\\\\n\\",\\n \\"CdnTypes\\": {\\n \\"CdnType\\": [\\n {\\n \\"Type\\": \\"download\\",\\n \\"Desc\\": \\"Download Acceleration\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeCdnTypes', + 'summary' => 'Queries the types of domain names.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PushTaskId\\": \\"9524xxxx\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","errorExample":""},{"type":"xml","example":"<PushObjectCacheResponse>\\n <PushTaskId>9524xxxx</PushTaskId>\\n <RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>\\n</PushObjectCacheResponse>","errorExample":""}]', - 'title' => 'PushObjectCache', - 'description' => '* Alibaba Cloud CDN supports POST requests in which parameters are sent as a form.'."\n" - .'* You can call the [RefreshObjectCaches](~~91164~~) operation to refresh content and call the [PushObjectCache](~~91161~~) operation to prefetch content.'."\n" - .'* By default, each Alibaba Cloud account can submit up to 1,000 URLs per day. If the daily peak bandwidth value of your workloads exceeds 200 Mbit/s, you can [submit a ticket](https://account.alibabacloud.com/login/login.htm?oauth_callback=https%3A//ticket-intl.console.aliyun.com/%23/ticket/createIndex) to increase your daily quota. Alibaba Cloud reviews your application and then increases the quota accordingly.'."\n" - .'* You can specify at most 100 URLs in each prefetch request.'."\n" - .'* For each Alibaba Cloud account, the prefetch queue can contain up to 50,000 URLs. Content is prefetched based on the time when the URLs are submitted. The URL that is submitted the earliest has the highest priority. If the number of URLs in the queue reaches 50,000, you cannot submit more URLs until the number drops below 50,000.'."\n" - .'* You can call this operation up to 50 times per second per account.'."\n" - .'* For more information about how to automate refresh or prefetch tasks, see [Run scripts to refresh and prefetch content](~~151829~~).'."\n" - ."\n" - .'## Precautions'."\n" - ."\n" - .'* After a prefetch task is submitted and completed, the POPs immediately start to retrieve resources from the origin server. Therefore, a large number of refresh tasks cause a large number of concurrent download tasks. This increases the number of requests that are redirected to the origin server. The back-to-origin routing process consumes more bandwidth resources and the origin server may be overwhelmed.'."\n" - .'* The time required for a prefetch task to complete is proportional to the size of the prefetched file. In actual practice, most prefetch tasks require 5 to 30 minutes to complete. A task with a smaller average file size requires less time.'."\n" - .'* To allow RAM users to perform this operation, you must first grant them the required permissions. For more information, see [Authorize a RAM user to prefetch and refresh resources](~~260300~~).'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'RefreshObjectCaches' => [ - 'summary' => 'Purges files on POPs. After files are purged, the original file content immediately becomes invalid. If clients request the original file content, Alibaba Cloud CDN redirects the requests to the origin server where the content is stored. Then, Alibaba Cloud CDN caches the latest content to the POPs and returns it to the clients. Alibaba Cloud CDN allows you to purge content from multiple URLs at a time.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeCdnUserBillHistory' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111883', - 'abilityTreeNodes' => [ - 'FEATUREcdnW2530F', - 'FEATUREcdnMNEAI4', - 'FEATUREcdnMZ37V7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111746', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ObjectPath', - 'in' => 'formData', - 'schema' => [ - 'description' => '* If you submit multiple URLs or directories at a time, separate them with line breaks (\\n) or (\\r\\n).'."\n" - .'* The total number of domain names contained all URLs in a submitted task cannot exceed 10.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'http://example.com/image/1.png\\nhttp://aliyundoc.com/image/2.png', - ], - ], - [ - 'name' => 'ObjectType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The type of the object that you want to refresh. Valid values:'."\n" - ."\n" - .'* **File** (default): refreshes one or more files.'."\n" - .'* **Directory**: refreshes the files in one or more directories.'."\n" - .'* **Regex**: refreshes content based on regular expressions.'."\n" - .'* **ExQuery**: omits parameters after the question mark in the URL and refreshes content.'."\n" - ."\n" - .'If you set the ObjectType parameter to File or Directory, you can view [Refresh and prefetch resources](~~27140~~) to obtain more information. If you set the ObjectType parameter to Regex, you can view [Configure URL refresh rules that contain regular expressions](~~146195~~) to obtain more information.'."\n" - ."\n" - .'If you set the ObjectType parameter to Directory, the resources in the directory that you want to refresh are marked as expired. You cannot delete the directory. If clients request resources on POPs that are marked as expired, Alibaba Cloud CDN checks whether the resources on your origin server are updated. If resources are updated, Alibaba Cloud CDN retrieves the latest version of the resources and returns the resources to the clients. Otherwise, the origin server returns the 304 status code.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'File', - 'default' => 'File', - ], + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The minimum data granularity is 5 minutes.', 'type' => 'string', 'required' => true, 'example' => '2018-09-30T16:00:00Z', 'title' => ''], ], [ - 'name' => 'Force', - 'in' => 'formData', - 'schema' => [ - 'description' => 'When the comparison between the source content and the source site resources is consistent, should the resources within the corresponding range be forcibly refreshed. The default is false.'."\n" - ."\n" - .'* **true**: purges all resources in the range that corresponds to the type of the purge task. If you set this parameter to true, when the requested resource matches the resource in the range that corresponds to the type of the purge task, the POP retrieves the resource from the origin server, returns the resource to the client, and caches the resource.'."\n" - .'* **false**: purges the changed resources in the range that corresponds to the type of the purge task. If you set this parameter to false, when the requested resource matches the resource in the range that corresponds to the type of the purge task, the POP obtains the Last-Modified parameter of the resource from the origin server. If the obtained value of the Last-Modified parameter is the same as that of the cached resource, the cached resource is returned. Otherwise, the POP retrieves the resource from the origin server, returns the resource to the client, and caches the resource.'."\n" - ."\n" - .'> This parameter takes effect only when the ObjectType parameter is not set to File.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.', 'type' => 'string', 'required' => true, 'example' => '2018-10-31T16:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -5678,95 +6411,139 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RefreshTaskId' => [ - 'description' => 'The ID of the refresh task. If multiple tasks are returned, the task IDs are separated by commas (,). The task IDs are merged based on the following rules:'."\n" - ."\n" - .'* If the tasks are specified for the same accelerated domain name, submitted within the same second, and run to refresh content based on URLs instead of directories, the task IDs are merged into one task ID (RefreshTaskId).'."\n" - .'* If the number of tasks that are specified for the same accelerated domain name, submitted within the same second, and run to refresh content based on URLs instead of directories exceeds 2,000, every 2,000 task IDs are merged into one task ID (RefreshTaskId).'."\n", - 'type' => 'string', - 'example' => '704222904', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC', 'title' => ''], + 'BillHistoryData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BillHistoryDataItem' => [ + 'description' => 'The billing history returned.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Dimension' => ['description' => 'The dimension.', 'type' => 'string', 'example' => 'flow', 'title' => ''], + 'BillType' => ['description' => 'The metering method.', 'type' => 'string', 'example' => 'month_4th_day_bandwidth', 'title' => ''], + 'BillTime' => ['description' => 'The beginning of the time range that was queried.', 'type' => 'string', 'example' => '2018-09-30T16:00:00Z', 'title' => ''], + 'BillingData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BillingDataItem' => [ + 'description' => 'The billable items.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.', 'type' => 'number', 'format' => 'float', 'example' => '24567', 'title' => ''], + 'Bandwidth' => ['description' => 'The bandwidth. Unit: bit/s.', 'type' => 'number', 'format' => 'float', 'example' => '4041', 'title' => ''], + 'Count' => ['description' => 'The number of requests.', 'type' => 'number', 'format' => 'float', 'example' => '203601', 'title' => ''], + 'CdnRegion' => ['description' => 'The billable region. Valid values:'."\n" + ."\n" + .'- **CN**: Chinese mainland'."\n" + ."\n" + .'- **OverSeas**: outside the Chinese mainland'."\n" + ."\n" + .'- **AP1**: Asia Pacific 1'."\n" + ."\n" + .'- **AP2**: Asia Pacific 2'."\n" + ."\n" + .'- **AP3**: Asia Pacific 3'."\n" + ."\n" + .'- **NA**: North America'."\n" + ."\n" + .'- **SA**: South America'."\n" + ."\n" + .'- **EU**: Europe'."\n" + ."\n" + .'- **MEAA**: Middle East and Africa', 'type' => 'string', 'example' => 'AP1', 'title' => ''], + 'ChargeType' => ['description' => 'The billing method. Valid values:'."\n" + ."\n" + .'- **StaticHttp**: static HTTP requests'."\n" + ."\n" + .'- **DynamicHttp**: dynamic HTTP requests'."\n" + ."\n" + .'- **DynamicHttps**: dynamic HTTPS requests', 'type' => 'string', 'example' => 'DynamicHttp', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SingleRequest.OverLimit', - 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', - ], - [ - 'errorCode' => 'InvalidObjectType.Malformed', - 'errorMessage' => 'The specified ObjectType is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectPath.Malformed', - 'errorMessage' => 'The specified ObjectPath is invalid.', - ], - [ - 'errorCode' => 'QuotaExceeded.Refresh', - 'errorMessage' => 'Your refresh attempts have exceeded the daily limit.', - ], - [ - 'errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', - 'errorMessage' => 'The specified ExtensiveDomain is not supported.', - ], - [ - 'errorCode' => 'QuotaPerMinuteExceeded.Refresh', - 'errorMessage' => 'You tried to refresh too frequently, please try again later.', - ], - [ - 'errorCode' => 'TooMany.Refresh', - 'errorMessage' => 'The refresh queue is full, please try again later.', - ], - ], - 429 => [ - [ - 'errorCode' => 'TooManyRequests', - 'errorMessage' => 'Too many requests, please try again later', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span as described in API documentation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RefreshTaskId\\": \\"704222901\\",\\n \\"RequestId\\": \\"D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C\\"\\n}","errorExample":"{\\n\\"RefreshTaskId\\":\\"704222904\\",\\"RequestId\\":\\"D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C\\"\\n}"},{"type":"xml","example":"<RefreshObjectCachesResponse>\\n<RefreshTaskId>704222904</RefreshTaskId>\\n<RequestId>D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C</RequestId>\\n</RefreshObjectCachesResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"utf-8\\"?>,<RefreshObjectCachesResponse>,<RefreshTaskId>704225667</RefreshTaskId>,<RequestId>AB14769A-A5F2-4CCD-B85B-3368DFF63C0A</RequestId>,</RefreshObjectCachesResponse>"}]', - 'title' => 'RefreshObjectCaches', - 'description' => '* Alibaba Cloud CDN supports POST requests in which parameters are sent as a form.'."\n" - .'* You can call the [RefreshObjectCaches](~~91164~~) operation to refresh content and call the [PushObjectCache](~~91161~~) operation to prefetch content.'."\n" - .'* You can call the RefreshObjectCaches operation up to 50 times per second per account.'."\n" - .'* For more information about how to automatically refresh or prefetch tasks, see [Run scripts to refresh and prefetch content](~~151829~~).'."\n" - ."\n" - .'## Precautions'."\n" - ."\n" - .'* After a refresh task is submitted and completed, specific resources are removed from POPs. When a POP receives a request for the removed resources, the POP forwards the request to the origin server to retrieve the resources. The retrieved resources are returned to the client and cached on the POP. Multiple refresh tasks may cause a large number of resources to be removed from the POPs. This increases the number of requests that are forwarded to the origin server. The back-to-origin routing process consumes more bandwidth resources and the origin server may be overwhelmed.'."\n" - .'* A refresh task takes effect 5 to 6 minutes after being submitted. This means that if the resource you want to refresh has a TTL of less than five minutes, you wait for it to expire instead of manually running a refresh task.'."\n" - .'* If you want to use RAM users to refresh or prefetch resources, you must obtain the required permissions. For more information, see [Authorize a RAM user to prefetch and refresh resources](~~260300~~).'."\n" - ."\n" - .'### Refresh quota'."\n" + 'title' => 'DescribeCdnUserBillHistory', + 'summary' => 'Queries the billing history under your Alibaba Cloud account.', + 'description' => '- You can query billing history up to the last one month.'."\n" ."\n" - .'* By default, each Alibaba Cloud account can refresh content from up to 10,000 URLs and 100 directories per day. The directories include subdirectories. If the daily peak bandwidth value exceeds 200 Mbit/s, you can [submit a ticket](https://account.alibabacloud.com/login/login.htm?oauth_callback=https%3A//ticket-intl.console.aliyun.com/%23/ticket/createIndex) to request a quota increase. Alibaba Cloud CDN evaluates your application based on your workloads.'."\n" - .'* By default, each Alibaba Cloud account can submit up to 20 refresh rules that contain regular expressions per day. If the daily peak bandwidth of your Alibaba Cloud account exceeds 10 Gbit/s, you can [submit a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex) to request a quota increase.'."\n" - .'* You can specify up to 1,000 URL refresh rules, 100 directory refresh rules, or 1 refresh rule that contains regular expressions in each call.'."\n" - .'* You can refresh up to 1,000 URLs per minute for each domain name.'."\n", + .'- Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRefreshTasks' => [ - 'summary' => 'Queries the status of refresh or prefetch tasks that belong to an accelerated domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-07-05T02:39:04.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserBillHistory'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserBillHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"BillHistoryData\\": {\\n \\"BillHistoryDataItem\\": [\\n {\\n \\"Dimension\\": \\"flow\\",\\n \\"BillType\\": \\"month_4th_day_bandwidth\\",\\n \\"BillTime\\": \\"2018-09-30T16:00:00Z\\",\\n \\"BillingData\\": {\\n \\"BillingDataItem\\": [\\n {\\n \\"Flow\\": 24567,\\n \\"Bandwidth\\": 4041,\\n \\"Count\\": 203601,\\n \\"CdnRegion\\": \\"AP1\\",\\n \\"ChargeType\\": \\"DynamicHttp\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnUserBillPrediction' => [ + 'summary' => 'Estimates resource usage of the current month.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -5777,145 +6554,207 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111832', - 'abilityTreeNodes' => [ - 'FEATUREcdnW2530F', - ], + 'abilityTreeCode' => '111747', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the task that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1234321', - ], + 'schema' => ['description' => 'The start time of the estimation. The default value is 00:00 on the first day of the current month. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2018-09-30T16:00:00Z', 'title' => ''], ], [ - 'name' => 'ObjectPath', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The path of the object. The path is used as a condition for exact matching.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://example.com/1.txt', - ], + 'schema' => ['description' => 'The end time of the estimation. The default value is the current time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2018-10-25T10:00:00Z', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'Dimension', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Valid values: **1** to **100000**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100000', - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The billable item. A value of flow specifies bandwidth.', 'type' => 'string', 'required' => false, 'example' => 'flow', 'title' => ''], ], [ - 'name' => 'ObjectType', + 'name' => 'Area', 'in' => 'query', + 'schema' => ['description' => 'The billable region. Valid values:'."\n" + ."\n" + .'- **CN**: the Chinese mainland'."\n" + ."\n" + .'- **OverSeas**: outside the Chinese mainland'."\n" + ."\n" + .'- **AP1**: Asia Pacific 1'."\n" + ."\n" + .'- **AP2**: Asia Pacific 2'."\n" + ."\n" + .'- **AP3**: Asia Pacific 3'."\n" + ."\n" + .'- **NA**: North America'."\n" + ."\n" + .'- **SA**: South America'."\n" + ."\n" + .'- **EU**: Europe'."\n" + ."\n" + .'- **MEAA**: Middle East and Africa'."\n" + ."\n" + .'By default, the value of this parameter is determined by the metering method that is currently used. Regions inside and outside the Chinese mainland are classified into the **CN** and **OverSeas** billable regions. Billable regions inside the Chinese mainland include **CN**. Billable regions outside the Chinese mainland include **AP1**, **AP2**, **AP3**, **NA**, **SA**, **EU**, and **MEAA**.'."\n" + ."\n" + .'> For more information about billable regions, see [Billable regions](~~142221~~).', 'type' => 'string', 'required' => false, 'example' => 'CN,OverSeas', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The type of the task. Valid values:'."\n" - ."\n" - .'* **file**: refreshes one or more files.'."\n" - .'* **directory**: refreshes files in specific directories.'."\n" - .'* **regex**: refreshes content based on a regular expression.'."\n" - .'* **preload**: prefetches one or more files.'."\n" - ."\n" - .'> If you set the **DomainName** or **Status** parameter, you must also set the **ObjectType** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'file', - 'enum' => [ - 'file', - 'directory', - 'preload', - 'regex', - 'IgnoreParams', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The end time of the estimation.', 'type' => 'string', 'example' => '2018-10-25T10:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the estimation.', 'type' => 'string', 'example' => '2018-09-30T16:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', 'title' => ''], + 'BillType' => ['description' => 'The metering method.'."\n" + ."\n" + .'> If the metering method ends with \\_overseas, the billable region is outside the Chinese mainland. For example, BillType": "month\\_avg\\_day\\_bandwidth\\_overseas specifies a billable region outside the Chinese mainland and that the metering method is pay by daily peak bandwidth per month.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- hour\\_flow: pay by hourly data transfer'."\n" + ."\n" + .'- day\\_bandwidth: pay by daily bandwidth'."\n" + ."\n" + .'- month\\_95: pay by monthly 95th percentile bandwidth.'."\n" + ."\n" + .'- month\\_avg\\_day\\_bandwidth: pay by average daily peak bandwidth per month'."\n" + ."\n" + .'- month\\_4th\\_day\\_bandwidth: pay by monthly 4th peak bandwidth'."\n" + ."\n" + .'- month\\_avg\\_day\\_95: pay by average daily 95th percentile bandwidth per month'."\n" + ."\n" + .'- month\\_95\\_night\\_half: pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00.'."\n" + ."\n" + .'- hour\\_vas: pay by value-added services per hour'."\n" + ."\n" + .'- day\\_count: pay by daily requests', 'type' => 'string', 'example' => 'month_95_overseas', 'title' => ''], + 'BillPredictionData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'BillPredictionDataItem' => [ + 'description' => 'The estimated bill data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The estimated value.', 'type' => 'number', 'format' => 'float', 'example' => '10000', 'title' => ''], + 'TimeStp' => ['description' => 'The time when the value used as the estimated value is generated. This parameter is returned only if the metering method is pay by 95th percentile, pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00, or pay by 4th peak bandwidth per month.', 'type' => 'string', 'example' => '2018-10-15T16:00:00Z', 'title' => ''], + 'Area' => ['description' => 'The billable region.', 'type' => 'string', 'example' => 'CN', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one accelerated domain name in each call. By default, this operation queries the status of tasks for all accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'BillTypeNotFound', 'errorMessage' => 'The user billing type is not found or the billing type of this user is not the monthly billing type.', 'description' => 'The bill type does not exist, or your account does not support monthly bills.'], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified Time is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span as described in API documentation.'], ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the task. Valid values:'."\n" - ."\n" - .'* **Complete**: The task is complete.'."\n" - .'* **Refreshing**: The task is in progress.'."\n" - .'* **Failed**: The task failed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Complete', - 'enum' => [ - 'Complete', - 'Refreshing', - 'Failed', + ], + 'title' => 'DescribeCdnUserBillPrediction', + 'description' => 'Estimates resource usage of the current month based on the metering method that is specified on the first day of the current month. This operation estimates resource usage only of the current month within your Alibaba Cloud account. The time range used for the estimation starts at 00:00 on the first day of the current month and ends 2 hours earlier than the current time.'."\n" + ."\n" + .'- Pay by monthly 95th percentile: The top 5% values between the start time and end time are excluded. The estimated value is the highest value among the remaining values.'."\n" + ."\n" + .'- Pay by average daily peak bandwidth per month: Estimated value = Sum of daily peak bandwidth values/Number of days. The current day is excluded.'."\n" + ."\n" + .'- Pay by 4th peak bandwidth per month: The estimated value is the 4th peak bandwidth value between the start time and end time. If the time range is less than four days, the estimated value is 0.'."\n" + ."\n" + .'- Pay by average daily 95th percentile bandwidth per month: Estimated value = Sum of daily 95th percentile bandwidth values/Number of days. The current day is excluded.'."\n" + ."\n" + .'- Pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00: The top 5% values between the start time and end time are excluded. The estimated value is the highest value among the remaining values.'."\n" + ."\n" + .'> Each account can call this operation only once per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:21:21.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ['createdAt' => '2023-01-09T06:08:31.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserBillPrediction'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserBillPrediction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2018-10-25T10:00:00Z\\",\\n \\"StartTime\\": \\"2018-09-30T16:00:00Z\\",\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"BillType\\": \\"month_95_overseas\\",\\n \\"BillPredictionData\\": {\\n \\"BillPredictionDataItem\\": [\\n {\\n \\"Value\\": 10000,\\n \\"TimeStp\\": \\"2018-10-15T16:00:00Z\\",\\n \\"Area\\": \\"CN\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnUserBillType' => [ + 'summary' => 'Queries information about the metering methods of an account. The maximum time range to query is one month.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **100**. Valid values: **1** to **100**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '20', - 'default' => '20', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111748', + 'abilityTreeNodes' => ['FEATUREcdnYC0IJ0'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The start of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-21T08:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The minimum data granularity is 5 minutes.', 'type' => 'string', 'required' => true, 'example' => '2018-09-30T16:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-22T08:00:00Z', - ], - ], - [ - 'name' => 'ResourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the resource group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmyuji4b6r4**', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.', 'type' => 'string', 'required' => true, 'example' => '2018-10-31T16:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -5923,213 +6762,143 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '174F6032-AA26-470D-B90E-36F0EB205BEE', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Tasks' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', 'title' => ''], + 'BillTypeData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'CDNTask' => [ - 'description' => 'Details about tasks.'."\n", + 'BillTypeDataItem' => [ + 'description' => 'Details about the metering methods returned.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the task. Valid values:'."\n" - ."\n" - .'* **Complete**: The task has completed.'."\n" - .'* **Refreshing**: The task is in progress.'."\n" - .'* **Failed**: The task failed.'."\n", - 'type' => 'string', - 'example' => 'Complete', - ], - 'CreationTime' => [ - 'description' => 'The time when the task was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2014-11-27T08:23:22Z', - ], - 'ObjectType' => [ - 'description' => 'The type of the task.'."\n" - ."\n" - .'* **file**: refreshes one or more files.'."\n" - .'* **directory**: refreshes files in the specified directories.'."\n" - .'* **regex**: refreshes content based on a regular expression.'."\n" - .'* **preload**: prefetches one or more files.'."\n", - 'type' => 'string', - 'example' => 'file', - ], - 'Process' => [ - 'description' => 'The progress of the task, in percentage.'."\n", - 'type' => 'string', - 'example' => '100%', - ], - 'Description' => [ - 'description' => 'The type of the error returned when the refresh or prefetch task failed. Valid values:'."\n" - ."\n" - .'* **InternalError**: An internal error occurred.'."\n" - .'* **OriginTimeout**: The response from the origin server timed out.'."\n" - .'* **OriginReturnStatusCode 5XX**: The origin server returned a 5XX error.'."\n", - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ObjectPath' => [ - 'description' => 'The URL of the object refreshed.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/1.txt', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '704225667', - ], + 'EndTime' => ['description' => 'The time when the metering method ended.', 'type' => 'string', 'example' => '2018-10-31T16:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The time when the metering method started.', 'type' => 'string', 'example' => '2018-10-30T16:00:00Z', 'title' => ''], + 'BillingCycle' => ['description' => 'The billing cycle.', 'type' => 'string', 'example' => 'month', 'title' => ''], + 'Product' => ['description' => 'The name of the product.', 'type' => 'string', 'example' => 'cdn', 'title' => ''], + 'BillType' => ['description' => 'The metering method.'."\n" + ."\n" + .'> If the metering method is suffixed with \\*\\*\\_overseas\\*\\*, the billable region is outside the Chinese mainland. For example, "BillType": "month\\_avg\\_day\\_bandwidth\\_overseas" indicates that the metering method is pay by average daily peak bandwidth per month in a billable region outside the Chinese mainland.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- hour\\_flow: pay by hourly data transfer'."\n" + ."\n" + .'- day\\_bandwidth: pay by daily bandwidth'."\n" + ."\n" + .'- month\\_95: pay by monthly 95th percentile bandwidth'."\n" + ."\n" + .'- month\\_avg\\_day\\_bandwidth: pay by average daily peak bandwidth per month'."\n" + ."\n" + .'- month\\_4th\\_day\\_bandwidth: pay by monthly 4th peak bandwidth'."\n" + ."\n" + .'- month\\_avg\\_day\\_95: pay by average daily 95th percentile bandwidth per month'."\n" + ."\n" + .'- month\\_95\\_night\\_half: pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00'."\n" + ."\n" + .'- hour\\_vas: pay by value-added services per hour'."\n" + ."\n" + .'- quic\\_hour\\_count: pay by hourly QUIC requests'."\n" + ."\n" + .'- day\\_count: pay by daily requests'."\n" + ."\n" + .'- hour\\_count: pay by hourly requests'."\n" + ."\n" + .'- day\\_95: pay by daily 95th percentile bandwidth', 'type' => 'string', 'example' => 'month_avg_day_bandwidth_overseas', 'title' => ''], + 'Dimension' => ['description' => 'The dimension. Valid values:'."\n" + ."\n" + .'- flow: traffic and bandwidth'."\n" + ."\n" + .'- vas: value-added services (HTTPS and requests for dynamic content)'."\n" + ."\n" + .'- quic: the number of QUIC requests'."\n" + ."\n" + .'- websocket: the WebSocket communications protocol'."\n" + ."\n" + .'- rtlog2sls: log entries delivered to Log Service in real time'."\n" + ."\n" + .'- stationflow: traffic over the internal network', 'type' => 'string', 'example' => 'flow', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTaskId.Malformed', - 'errorMessage' => 'The specified TaskId is invalid.', - ], - [ - 'errorCode' => 'MissingParameter.ObjectType', - 'errorMessage' => 'The ObjectType parameter is required if DomainName or Status is specified.', - ], - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', - ], - [ - 'errorCode' => 'DomainNameOverLimit', - 'errorMessage' => 'A maximum of 500 domains are supported for each request.', - ], - [ - 'errorCode' => 'InvalidTime', - 'errorMessage' => 'The query time cannot exceed the last 3 days.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectPath.Malformed', - 'errorMessage' => 'The specified ObjectPath is invalid.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidEndTime.ValueNotSupported', - 'errorMessage' => 'The specified EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectType.ValueNotSupported', - 'errorMessage' => 'The specified ObjectType is not supported.', - ], - [ - 'errorCode' => 'InvalidStatus.ValueNotSupported', - 'errorMessage' => 'The specified Status is not supported.', - ], - [ - 'errorCode' => 'InvalidParams', - 'errorMessage' => 'The parameter you provided is invalid.', - ], - ], - 429 => [ - [ - 'errorCode' => 'TooManyRequests', - 'errorMessage' => 'The server is busy. Please try again later.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterAliuid', 'errorMessage' => 'Invalid Parameter Aliuid.', 'description' => 'The Aliuid parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterStartTime', 'errorMessage' => 'The parameter StartTime is invalid.', 'description' => 'The specified StartTime parameter is invalid.'], + ['errorCode' => 'InvalidParameterEndTime', 'errorMessage' => 'The parameter EndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidTimeRange', 'errorMessage' => 'Invalid StartTime and EndTime range.', 'description' => 'The specified time range is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"174F6032-AA26-470D-B90E-36F0EB205BEE\\",\\n \\"PageNumber\\": 10,\\n \\"PageSize\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Tasks\\": {\\n \\"CDNTask\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreationTime\\": \\"2014-11-27T08:23:22Z\\",\\n \\"ObjectType\\": \\"file\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"ObjectPath\\": \\"http://example.com/1.txt\\",\\n \\"TaskId\\": \\"704225667\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<Tasks>\\n <CDNTask>\\n <CreationTime>2014-11-27T08:23:22Z</CreationTime>\\n <ObjectPath>http://example.com/1.txt</ObjectPath>\\n <Status>Complete</Status>\\n <TaskId>704225667</TaskId>\\n <ObjectType>file</ObjectType>\\n <Process>100%</Process>\\n </CDNTask>\\n <CDNTask>\\n <CreationTime>2014-11-27T08:18:38Z</CreationTime>\\n <ObjectPath>http://aliyundoc.com/1.txt</ObjectPath>\\n <Status>Complete</Status>\\n <TaskId>704222904</TaskId>\\n <ObjectType>file</ObjectType>\\n <Process>100%</Process>\\n </CDNTask>\\n</Tasks>\\n<PageNumber>1</PageNumber>\\n<PageSize>10</PageSize>\\n<TotalCount>2</TotalCount>\\n<RequestId>174F6032-AA26-470D-B90E-36F0EB205BEE</RequestId>","errorExample":""}]', - 'title' => 'DescribeRefreshTasks', - 'description' => '* You can query the status of tasks by task ID or URL.'."\n" - .'* You can set both the **TaskId** and **ObjectPath** parameters. If you do not set the **TaskId** or **ObjectPath** parameter, data entries on the first page (20 entries) collected in the last 3 days are returned.'."\n" - .'* You can query data collected in the last 3 days.'."\n" - .'* If auto CDN cache update is enabled in the Object Storage Service (OSS) console, you cannot call the DescribeRefreshTasks operation to query automatic refresh tasks in OSS.'."\n" - .'* You can call this operation up to 10 times per second per account. If you want to query tasks at a higher frequency, call the [DescribeRefreshTaskById](~~187709~~) operation. This operation allows you to query tasks by task ID.'."\n", + 'title' => 'DescribeCdnUserBillType', + 'description' => '- You can call this operation up to 100 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRefreshTaskById' => [ - 'summary' => 'Queries the statuses of refresh or prefetch tasks by task ID.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:15:52.000Z', 'description' => 'Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserBillType'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserBillType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"BillTypeData\\": {\\n \\"BillTypeDataItem\\": [\\n {\\n \\"EndTime\\": \\"2018-10-31T16:00:00Z\\",\\n \\"StartTime\\": \\"2018-10-30T16:00:00Z\\",\\n \\"BillingCycle\\": \\"month\\",\\n \\"Product\\": \\"cdn\\",\\n \\"BillType\\": \\"month_avg_day_bandwidth_overseas\\",\\n \\"Dimension\\": \\"flow\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnUserConfigs' => [ + 'summary' => 'Queries configurations of security features.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '111831', - 'abilityTreeNodes' => [ - 'FEATUREcdnW2530F', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'FunctionName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the task that you want to query.'."\n" - ."\n" - .'You can call the [RefreshObjectCaches](~~91164~~) operation to query task IDs. Then, you can use the task IDs to query task status.'."\n" - ."\n" - .'You can specify up to 10 task IDs. Separate task IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12345678', - ], + 'schema' => ['description' => 'The configuration that you want to query. Valid values:'."\n" + ."\n" + .'- **domain\\_business\\_control**: user configurations'."\n" + ."\n" + .'- **waf**: Web Application Firewall (WAF) configurations', 'type' => 'string', 'required' => true, 'example' => 'domain_business_control', 'title' => ''], ], ], 'responses' => [ @@ -6137,187 +6906,118 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'E0C2EF95-B1EC-4C93-855E-2059A7DA2B7B', - ], - 'Tasks' => [ - 'description' => 'Details about tasks.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '06D29681-B7CD-4034-A8CC-28AFFA213539', 'title' => ''], + 'Configs' => [ + 'description' => 'The user configurations.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the task. Valid values:'."\n" - ."\n" - .'* **Complete**'."\n" - .'* **Pending**'."\n" - .'* **Refreshing**'."\n" - .'* **Failed**'."\n", - 'type' => 'string', - 'example' => 'Complete', - ], - 'CreationTime' => [ - 'description' => 'The time when the task was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2020-08-03T08:54:23Z', - ], - 'ObjectType' => [ - 'description' => 'The type of the task. Valid values:'."\n" - ."\n" - .'* **file**: refreshes an individual file.'."\n" - .'* **directory**: refreshes files in the specified directory.'."\n" - .'* **preload**: prefetches an individual file.'."\n" - .'* **regex**: refreshes content based on a regular expression.'."\n", - 'type' => 'string', - 'example' => 'file', - ], - 'Process' => [ - 'description' => 'The progress of the task, in percentage.'."\n", - 'type' => 'string', - 'example' => '100%', - ], - 'Description' => [ - 'description' => 'The error returned when the refresh or prefetch task failed. Valid values:'."\n" - ."\n" - .'* **Internal Error**'."\n" - .'* **Origin Timeout**'."\n" - .'* **Origin Return StatusCode 5XX**', - 'type' => 'string', - 'example' => 'Internal Error', - ], - 'ObjectPath' => [ - 'description' => 'The path of the object refreshed by the refresh task.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/abc.jpg', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '24840', - ], + 'ArgValue' => ['description' => 'The value of the configuration. Valid values:'."\n" + ."\n" + .'- **cc\\_rule**: HTTP flood protection rules'."\n" + ."\n" + .'- **ddos\\_dispatch**: integration with Anti-DDoS'."\n" + ."\n" + .'- **edge\\_safe**: application security settings on POPs'."\n" + ."\n" + .'- **blocked\\_regions**: blocked regions'."\n" + ."\n" + .'- **http\\_acl\\_policy**: access control list (ACL) rules'."\n" + ."\n" + .'- **bot\\_manager**: bot traffic management'."\n" + ."\n" + .'- **ip\\_reputation**: IP reputation library', 'type' => 'string', 'example' => '{\\"dcdn_allow\\":[\\"cc_rule\\",\\"ddos_dispatch\\"]}', 'title' => ''], + 'ArgName' => ['description' => 'The name of the configuration.'."\n" + ."\n" + .'The configuration is specified by enterprise users and public service sectors.', 'type' => 'string', 'example' => 'allow_function', 'title' => ''], + 'FunctionName' => ['description' => 'The name of the feature.', 'type' => 'string', 'example' => 'domain_business_control', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTaskId.Malformed', - 'errorMessage' => 'The specified TaskId is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectPath.Malformed', - 'errorMessage' => 'The specified ObjectPath is invalid.', - ], - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'MissingParameter.ObjectType', - 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidEndTime.ValueNotSupported', - 'errorMessage' => 'The specified EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidObjectType.ValueNotSupported', - 'errorMessage' => 'The specified ObjectType is not supported.', - ], - [ - 'errorCode' => 'InvalidStatus.ValueNotSupported', - 'errorMessage' => 'The specified Status is not supported.', - ], - [ - 'errorCode' => 'DomainNameOverLimit', - 'errorMessage' => 'A maximum of 500 domains are supported for each request.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The parameters you provided are invalid.', - ], - [ - 'errorCode' => 'InvalidTime', - 'errorMessage' => 'The query time cannot exceed the last 3 days.', - ], - ], - 429 => [ - [ - 'errorCode' => 'TooManyRequests', - 'errorMessage' => 'Too many requests, please try again later', - ], + ['errorCode' => 'InvalidArgValue.Malformed', 'errorMessage' => 'The specified ArgValue is invalid.', 'description' => 'Specified ArgValue is malformed.'], + ['errorCode' => 'InvalidArgName.ValueNotSupported', 'errorMessage' => '%s', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"E0C2EF95-B1EC-4C93-855E-2059A7DA2B7B\\",\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreationTime\\": \\"2020-08-03T08:54:23Z\\",\\n \\"ObjectType\\": \\"file\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"ObjectPath\\": \\"http://example.com/abc.jpg\\",\\n \\"TaskId\\": \\"24840\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeRefreshTaskByIdResponse>\\n<RequestId>E0C2EF95-B1EC-4C93-855E-2059A7DA2B7B</RequestId>\\n<Tasks>\\n <CreationTime>2020-08-03T08:54:23Z</CreationTime>\\n <Description/>\\n <ObjectPath>http://example.com/abc.jpg</ObjectPath>\\n <ObjectType>file</ObjectType>\\n <Process>100%</Process>\\n <Status>Complete</Status>\\n <TaskId>12345678</TaskId>\\n</Tasks>\\n<Tasks>\\n <CreationTime>2020-08-03T09:12:44Z</CreationTime>\\n <Description/>\\n <ObjectPath>http://example.com/bcd.jpg</ObjectPath>\\n <ObjectType>file</ObjectType>\\n <Process>99.37%</Process>\\n <Status>Refreshing</Status>\\n <TaskId>23456789</TaskId>\\n</Tasks>\\n<TotalCount>2</TotalCount>\\n</DescribeRefreshTaskByIdResponse>","errorExample":""}]', - 'title' => 'DescribeRefreshTaskById', - 'description' => '* You can query data in the last three days.'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06D29681-B7CD-4034-A8CC-28AFFA213539\\",\\n \\"Configs\\": [\\n {\\n \\"ArgValue\\": \\"{\\\\\\\\\\\\\\"dcdn_allow\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"cc_rule\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ddos_dispatch\\\\\\\\\\\\\\"]}\\",\\n \\"ArgName\\": \\"allow_function\\",\\n \\"FunctionName\\": \\"domain_business_control\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeCdnUserConfigs', + 'description' => '> Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribePreloadDetailById' => [ - 'summary' => 'Queries the prefetch details of a task, including the prefetch progress of all resources in the task. Only users who are included in the whitelist can use this operation. You can contact your business manager to apply for the whitelist.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserConfigs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserConfigs'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeCdnUserDomainsByFunc' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '165361', - 'abilityTreeNodes' => [ - 'FEATUREcdnKZKOWX', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'FuncId', 'in' => 'query', - 'schema' => [ - 'description' => 'Queries the details of a preload task by task ID. You can query one task ID at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '15423123921', - ], + 'schema' => ['description' => 'The ID of the feature.'."\n" + ."\n" + .'For example, the ID of the origin host feature (set_req_host_header) is 18.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '7'], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The number of the page to return. Default value: **1**.'."\n" + ."\n" + .'Valid values: **1** to **100000**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'default' => '1'], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of domain names to return on each page. Default value: **20**.'."\n" + ."\n" + .'Valid values: **1** to **50**.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'example' => '20', 'default' => '20'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rg-xxxxx'], ], ], 'responses' => [ @@ -6325,89 +7025,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The number of queried tasks.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request. You can use the ID to query logs and troubleshoot issues.'."\n", - 'type' => 'string', - 'example' => 'E9D3257A-1B7C-414C-90C1-8D07AC47BCAC', - ], - 'UrlDetails' => [ - 'description' => 'The details of the task, including the task ID, start time, end time, domain name, success rate, status, returned error code, and completion details of all URL resources.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TaskId' => [ - 'description' => 'The ID of the task that you want to query.'."\n" - ."\n" - .'You can call the PushObjectCache operation to query task IDs. Then, you can use the task IDs to query task status.'."\n" - ."\n" - .'You can query one task ID at a time.'."\n", - 'type' => 'string', - 'example' => '14286878547', - ], - 'Domain' => [ - 'description' => 'The domain name for prefetching resources.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'CreationTime' => [ - 'description' => 'The time when the task was created. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-11-23T02:26:56Z', - ], - 'EndTime' => [ - 'description' => 'The time when the task ended. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-11-23T02:27:00Z', - ], - 'RetCode' => [ - 'description' => 'The turned error code. A value of `0` indicates that the task succeeded.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Process' => [ - 'description' => 'The progress of the prefetch task, which indicates the number of points of presence (POPs) on which the prefetch task is completed.'."\n", - 'type' => 'string', - 'example' => '100%', - ], - 'Status' => [ - 'description' => 'The status of the task. Valid values:'."\n" - ."\n" - .'* **Complete**'."\n" - .'* **Refreshing**'."\n" - .'* **Failed**'."\n", - 'type' => 'string', - 'example' => 'Complete', - ], - 'Urls' => [ - 'description' => 'The completion details of all URL resources in the task.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Url' => [ - 'description' => 'The URL of the prefetched resource.'."\n", - 'type' => 'string', - 'example' => '/abc.jpg'."\n", - ], - 'Success' => [ - 'description' => 'The success percentage, which indicates the number of POPs on which the resource is prefetched.'."\n", - 'type' => 'string', - 'example' => '47%', - ], - 'Description' => [ - 'description' => 'The details of resource prefetch.'."\n" - ."\n" - .'* If the resource is prefetched on all POPs, "Successfully preloaded" is returned.'."\n" - .'* If the resource fails to be prefetched on some POPs, the failure details separated by vertical bars (|) are returned.'."\n", - 'type' => 'string', - 'example' => 'Successfully preloaded', + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'AA75AADB-5E25-4970-B480-EAA1F5658483'], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], + 'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '16'], + 'Domains' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'PageData' => [ + 'description' => 'The configurations of the accelerated domain name.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'GmtCreated' => ['description' => 'The time when the accelerated domain name was added to Alibaba Cloud CDN.'."\n", 'type' => 'string', 'example' => '2015-10-28T11:05:52Z'], + 'SslProtocol' => ['description' => 'Indicates whether HTTPS is enabled. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", 'type' => 'string', 'example' => 'on'], + 'Description' => ['description' => 'The description of the status.'."\n", 'type' => 'string', 'example' => 'audit failed'], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.'."\n", 'type' => 'string', 'example' => 'rg-xxxxx'], + 'DomainStatus' => ['description' => 'The status of the accelerated domain name. Valid values:'."\n" + ."\n" + .'* **online**: The domain name is enabled.'."\n" + .'* **offline**: The domain is disabled.'."\n" + .'* **configuring**: The endpoint group is being configured.'."\n" + .'* **configure_failed**: The domain failed to be configured.'."\n" + .'* **checking**: The domain name is under review.'."\n" + .'* **check_failed**: The domain name failed the review.'."\n" + .'* **stopping**: The domain name is be disabled.'."\n" + .'* **deleting**: being deleted'."\n", 'type' => 'string', 'example' => 'configure_failed'], + 'Cname' => ['description' => 'The CNAME assigned to the accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com.w.alikunlun.com'], + 'GmtModified' => ['description' => 'The last time when the accelerated domain was modified.'."\n", 'type' => 'string', 'example' => '2015-10-29T10:15:31Z'], + 'CdnType' => ['description' => 'The type of workload accelerated by Alibaba Cloud CDN. Valid values:'."\n" + ."\n" + .'* **web**: image and small file distribution'."\n" + .'* **download**: large file distribution'."\n" + .'* **video**: on-demand video and audio streaming'."\n" + .'* **liveStream**: live streaming'."\n", 'type' => 'string', 'example' => 'web'], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com'], + 'Sources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Source' => [ + 'description' => 'The information about the origin server.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the origin server.'."\n", 'type' => 'string', 'example' => 'ipaddr'], + 'Weight' => ['description' => 'The weight of the origin server if multiple origin servers have been specified.'."\n", 'type' => 'string', 'example' => '10'], + 'Priority' => ['description' => 'The priority of the configuration item.'."\n", 'type' => 'string', 'example' => '20'], + 'Port' => ['description' => 'The port of the origin server.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'Content' => ['description' => 'The address of the origin server.'."\n", 'type' => 'string', 'example' => '1.1.1.1'], + ], + ], + ], ], ], ], @@ -6421,45 +7096,42 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTaskId.Malformed', - 'errorMessage' => 'The specified TaskId is invalid.', - ], - [ - 'errorCode' => 'DomainNameOverLimit', - 'errorMessage' => 'A maximum of 500 domains are supported for each request.', - ], - [ - 'errorCode' => 'InvalidParameters', - 'errorMessage' => 'The parameters you provided are invalid.', - ], - [ - 'errorCode' => 'InvalidTime', - 'errorMessage' => 'The query time cannot exceed the last 3 days.', - ], + ['errorCode' => 'InvalidPageNumber.ValueNotSupported', 'errorMessage' => 'The specified value of PageNumber is not supported.', 'description' => ''], + ['errorCode' => 'InvalidPageSize.ValueNotSupported', 'errorMessage' => 'The specified value of PageSize is invalid.', 'description' => ''], + ['errorCode' => 'InvalidDomainStatus.ValueNotSupported', 'errorMessage' => 'The specified value of DomainStatus is invalid.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], + ['errorCode' => 'InvalidDomainSearchType.ValueNotSupported', 'errorMessage' => 'The specified value of DomainSearchType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidChangeStartTime.Malformed', 'errorMessage' => 'The specified ChangeStartTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidChangeEndTime.Malformed', 'errorMessage' => 'The specified ChangeEndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidCdnType.Malformed', 'errorMessage' => 'The specified CdnType is invalid.', 'description' => ''], ], - 429 => [ - [ - 'errorCode' => 'TooManyRequests', - 'errorMessage' => 'Too many requests, please try again later', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AA75AADB-5E25-4970-B480-EAA1F5658483\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 5,\\n \\"TotalCount\\": 16,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"GmtCreated\\": \\"2015-10-28T11:05:52Z\\",\\n \\"SslProtocol\\": \\"on\\",\\n \\"Description\\": \\"audit failed\\",\\n \\"ResourceGroupId\\": \\"rg-xxxxx\\",\\n \\"DomainStatus\\": \\"configure_failed\\",\\n \\"Cname\\": \\"example.com.w.alikunlun.com\\",\\n \\"GmtModified\\": \\"2015-10-29T10:15:31Z\\",\\n \\"CdnType\\": \\"web\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"Sources\\": {\\n \\"Source\\": [\\n {\\n \\"Type\\": \\"ipaddr\\",\\n \\"Weight\\": \\"10\\",\\n \\"Priority\\": \\"20\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"1.1.1.1\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<PageNumber>1</PageNumber>\\n<TotalCount>16</TotalCount>\\n<PageSize>5</PageSize>\\n<RequestId>AA75AADB-5E25-4970-B480-EAA1F5658483</RequestId>\\n<Domains>\\n <PageData>\\n <CdnType>download</CdnType>\\n <DomainStatus>configure_failed</DomainStatus>\\n <DomainName>example.com</DomainName>\\n <GmtModified>2015-10-28T11:05:52Z</GmtModified>\\n <GmtCreated>2015-10-28T09:32:51Z</GmtCreated>\\n <Description>audit failed</Description>\\n <ResourceGroupId>rg-xxxxx</ResourceGroupId>\\n <Sources>\\n <Source>\\n <Type>ipaddr</Type>\\n <Content>1.1.1.1</Content>\\n <Priority>20</Priority>\\n <Port>80</Port>\\n <Weight>10</Weight>\\n </Source>\\n </Sources>\\n </PageData>\\n <PageData>\\n <CdnType>web</CdnType>\\n <DomainStatus>configure_failed</DomainStatus>\\n <DomainName>example.org</DomainName>\\n <GmtModified>2015-10-28T11:05:50Z</GmtModified>\\n <GmtCreated>2015-10-28T09:31:59Z</GmtCreated>\\n <ResourceGroupId>rg-xxxxx</ResourceGroupId>\\n </PageData>\\n <PageData>\\n <Cname>example.edu.w.alikunlun.com</Cname>\\n <CdnType>video</CdnType>\\n <DomainStatus>online</DomainStatus>\\n <DomainName>example.edu</DomainName>\\n <GmtModified>2015-10-23T09:02:11Z</GmtModified>\\n <GmtCreated>2015-10-23T09:01:57Z</GmtCreated>\\n <ResourceGroupId>rg-xxxxx</ResourceGroupId>\\n </PageData>\\n</Domains>","errorExample":""}]', + 'title' => 'DescribeCdnUserDomainsByFunc', + 'summary' => 'Queries accelerated domain names that have specified features configured and the status of the domain names.', + 'description' => '> The maximum number of times that each user can call this operation per second is 100.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserDomainsByFunc', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"E9D3257A-1B7C-414C-90C1-8D07AC47BCAC\\",\\n \\"UrlDetails\\": [\\n {\\n \\"TaskId\\": \\"14286878547\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"CreationTime\\": \\"2022-11-23T02:26:56Z\\",\\n \\"EndTime\\": \\"2022-11-23T02:27:00Z\\",\\n \\"RetCode\\": \\"0\\",\\n \\"Process\\": \\"100%\\",\\n \\"Status\\": \\"Complete\\",\\n \\"Urls\\": [\\n {\\n \\"Url\\": \\"/abc.jpg\\\\n\\",\\n \\"Success\\": \\"47%\\",\\n \\"Description\\": \\"Successfully preloaded\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribePreloadDetailById', - 'description' => '* You can query data within the last 3 days.'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n", ], 'DescribeCdnUserQuota' => [ 'summary' => 'Queries the quotas and usage of Alibaba Cloud CDN resources.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6469,9 +7141,7 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '111751', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [], @@ -6480,97 +7150,59 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'BlockQuota' => [ - 'description' => 'The maximum number of URLs and directories that can be blocked.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'RefreshUrlRemain' => [ - 'description' => 'The remaining number of URLs that can be refreshed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'DomainQuota' => [ - 'description' => 'The maximum number of accelerated domain names.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'BlockRemain' => [ - 'description' => 'The remaining number of URLs and directories that can be blocked.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'PreloadRemain' => [ - 'description' => 'The remaining number of URLs that can be prefetched.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EF4F084A-2F49-4E1C-9CA0-DC85BCE7F391', - ], - 'RefreshUrlQuota' => [ - 'description' => 'The maximum number of URLs that can be refreshed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'PreloadQuota' => [ - 'description' => 'The maximum number of URLs that can be prefetched.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'RefreshDirQuota' => [ - 'description' => 'The maximum number of directories that can be refreshed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'RefreshDirRemain' => [ - 'description' => 'The remaining number of directories that can be refreshed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'IgnoreParamsQuota' => [ - 'description' => 'The maximum number of ignore params that can be refreshed.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'IgnoreParamsRemain' => [ - 'description' => 'The remaining number of ignore params that can be refreshed.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'BlockQuota' => ['description' => 'The maximum number of URLs and directories that can be blocked.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'RefreshUrlRemain' => ['description' => 'The remaining number of URLs that can be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'DomainQuota' => ['description' => 'The maximum number of accelerated domain names.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'BlockRemain' => ['description' => 'The remaining number of URLs and directories that can be blocked.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'PreloadRemain' => ['description' => 'The remaining number of URLs that can be prefetched.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EF4F084A-2F49-4E1C-9CA0-DC85BCE7F391', 'title' => ''], + 'RefreshUrlQuota' => ['description' => 'The maximum number of URLs that can be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'PreloadQuota' => ['description' => 'The maximum number of URLs that can be prefetched.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'RefreshDirQuota' => ['description' => 'The maximum number of directories that can be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'RefreshDirRemain' => ['description' => 'The remaining number of directories that can be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'IgnoreParamsQuota' => ['description' => 'The maximum number of ignore params that can be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'IgnoreParamsRemain' => ['description' => 'The remaining number of ignore params that can be refreshed.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"BlockQuota\\": 100,\\n \\"RefreshUrlRemain\\": 2000,\\n \\"DomainQuota\\": 50,\\n \\"BlockRemain\\": 100,\\n \\"PreloadRemain\\": 100,\\n \\"RequestId\\": \\"EF4F084A-2F49-4E1C-9CA0-DC85BCE7F391\\",\\n \\"RefreshUrlQuota\\": 2000,\\n \\"PreloadQuota\\": 500,\\n \\"RefreshDirQuota\\": 100,\\n \\"RefreshDirRemain\\": 500,\\n \\"IgnoreParamsQuota\\": 100,\\n \\"IgnoreParamsRemain\\": 10\\n}","errorExample":"{\\n \\"DomainQuota\\" : 20,\\n \\"RefreshUrlQuota\\" : 1000,\\n \\"RefreshDirQuota\\" : 500,\\n \\"RefreshUrlRemain\\" : 500,\\n \\"RefreshDirRemain\\" : 300,\\n \\"PreloadQuota\\" : 300,\\n \\"PreloadRemain\\" : 100,\\n \\"BlockQuota\\" : 100,\\n \\"BlockRemain\\" : 100,\\n \\"RequestId\\" : \\"BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23\\"\\n}"},{"type":"xml","example":"<DescribeCdnUserQuotaResponse>\\n <PreloadRemain>500</PreloadRemain>\\n <RefreshUrlRemain>2000</RefreshUrlRemain>\\n <DomainQuota>50</DomainQuota>\\n <RefreshDirRemain>100</RefreshDirRemain>\\n <RequestId>EF4F084A-2F49-4E1C-9CA0-DC85BCE7F391</RequestId>\\n <BlockRemain>100</BlockRemain>\\n <RefreshUrlQuota>2000</RefreshUrlQuota>\\n <BlockQuota>100</BlockQuota>\\n <PreloadQuota>500</PreloadQuota>\\n <RefreshDirQuota>100</RefreshDirQuota>\\n</DescribeCdnUserQuotaResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"BlockQuota\\": 100,\\n \\"RefreshUrlRemain\\": 2000,\\n \\"DomainQuota\\": 50,\\n \\"BlockRemain\\": 100,\\n \\"PreloadRemain\\": 100,\\n \\"RequestId\\": \\"EF4F084A-2F49-4E1C-9CA0-DC85BCE7F391\\",\\n \\"RefreshUrlQuota\\": 2000,\\n \\"PreloadQuota\\": 500,\\n \\"RefreshDirQuota\\": 100,\\n \\"RefreshDirRemain\\": 500,\\n \\"IgnoreParamsQuota\\": 100,\\n \\"IgnoreParamsRemain\\": 10\\n}","type":"json"}]', 'title' => 'DescribeCdnUserQuota', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'description' => '> Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainPathData' => [ - 'summary' => 'Queries monitoring data including the amount of network traffic and the number of visits by directory.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-29T08:00:51.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-17T06:55:22.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserQuota'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeCdnUserResourcePackage' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6579,81 +7211,31 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111783', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111752', + 'abilityTreeNodes' => ['FEATUREcdnG9C3XR'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'minimum' => '1', - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: integers from **1** to **1000**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '20', - 'default' => '20', - ], - ], - [ - 'name' => 'Path', + 'name' => 'Status', 'in' => 'query', 'schema' => [ - 'description' => 'The paths that you want to query. Separate paths with forward slashes (/). If you do not set this parameter, all paths are queried. If you set the value to a directory, it must end with a forward slash (/).'."\n" + 'description' => 'The status of the resource plan. The default value is valid. Valid values:'."\n" ."\n" - .'> Fuzzy match is not supported. If you want data to be collected based on a directory, you can specify a specific directory, for example, directory/path/. In this case, bandwidth data is collected based on directory/path/.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/path/', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2016-10-20T04:00:00Z.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2016-10-20T04:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The interval between the start time and end time must be less than 30 days. Example: 2016-10-21T04:00:00Z.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2016-10-21T04:00:00Z', - ], - ], - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name.'."\n" + .'- **valid**: Active.'."\n" ."\n" - .'> You can specify only one domain name in each call.'."\n", + .'- **closed**: Inactive.'."\n" + ."\n" + .'- **exhaust**: Used up.', + 'enumValueTitles' => [], 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + 'required' => false, + 'default' => 'valid', + 'enum' => ['valid', 'closed', 'exhaust'], + 'example' => 'valid', + 'title' => '', ], ], ], @@ -6662,165 +7244,107 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2017-09-30T17:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2017-09-30T16:00:00Z', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page. Pages start from page **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'PathDataPerInterval' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '84839536-2B7E-457D-9D8C-82E6C7D4E1A3', 'title' => ''], + 'ResourcePackageInfos' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'UsageData' => [ - 'description' => 'A list of bandwidth values collected at each time interval.'."\n", + 'ResourcePackageInfo' => [ + 'description' => 'An array of ResourcePackageInfo objects.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Path' => [ - 'description' => 'The path.'."\n", - 'type' => 'string', - 'example' => '/path/', - ], - 'Time' => [ - 'description' => 'The point in time.'."\n", - 'type' => 'string', - 'example' => '2017-09-30T16:00:00Z', - ], - 'Acc' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Traffic' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '346', - ], + 'EndTime' => ['description' => 'The expiration time.', 'type' => 'string', 'example' => '2018-07-01T08:00:00Z', 'title' => ''], + 'Status' => ['description' => 'The status of the resource plan. Valid values:'."\n" + ."\n" + .'- **valid**: Active.'."\n" + ."\n" + .'- **closed**: Inactive.'."\n" + ."\n" + .'- **exhaust**: Used up.', 'type' => 'string', 'example' => 'valid', 'title' => ''], + 'DisplayName' => ['description' => 'The name of the resource plan.', 'type' => 'string', 'example' => 'Data Transfer Plan in Asia Pacific 1', 'title' => ''], + 'StartTime' => ['description' => 'The effective time.', 'type' => 'string', 'example' => '2017-12-05T19:10:58Z', 'title' => ''], + 'CommodityCode' => ['description' => 'The commodity code of the resource plan.', 'type' => 'string', 'example' => 'cdnflowbag', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'FP-ilttxc23a', 'title' => ''], + 'TemplateName' => ['description' => 'The template name.', 'type' => 'string', 'example' => 'FPT_cdn_bag_intl_deadlineAcc_1569491944', 'title' => ''], + 'CurrCapacity' => ['description' => 'The remaining capacity of the instance.'."\n" + ."\n" + .'- For data transfer plans, the unit is Byte.'."\n" + ."\n" + .'- For request plans, the unit is requests.', 'type' => 'string', 'example' => '53661095687', 'title' => ''], + 'InitCapacity' => ['description' => 'The total capacity of the resource plan.'."\n" + ."\n" + .'- For data transfer plans, the unit is Byte.'."\n" + ."\n" + .'- For request plans, the unit is requests.', 'type' => 'string', 'example' => '107374182400', 'title' => ''], + 'Region' => ['description' => 'The region.', 'type' => 'string', 'example' => 'CN', 'title' => ''], + 'CurrCapacityShowValue' => ['description' => 'The displayed remaining capacity of the instance.', 'type' => 'string', 'example' => '49.975789', 'title' => ''], + 'CurrCapacityShowUnit' => ['description' => 'The unit of the displayed remaining capacity.', 'type' => 'string', 'example' => 'GB', 'title' => ''], + 'CurrCapacityBaseUnit' => ['description' => 'The base unit of the remaining capacity.', 'type' => 'string', 'example' => 'Byte', 'title' => ''], + 'InitCapacityShowValue' => ['description' => 'The displayed total capacity of the resource plan.', 'type' => 'string', 'example' => '100.000000', 'title' => ''], + 'InitCapacityShowUnit' => ['description' => 'The unit of the displayed total capacity.', 'type' => 'string', 'example' => 'GB', 'title' => ''], + 'InitCapacityBaseUnit' => ['description' => 'The unit of the initial capacity of the resource plan.', 'type' => 'string', 'example' => 'Byte', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ - 'type' => 'string', - 'description' => 'The ID of the request.'."\n", - 'example' => '809A6F10-8238-4A49-BE00-4B2D6305686E', + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidPageSize.Malformed', - 'errorMessage' => 'PageSize must be of type Integer', - ], - [ - 'errorCode' => 'InvalidPageSize.ExceedsMaximum', - 'errorMessage' => 'PageSize should be less than or equal to 1000', - ], - [ - 'errorCode' => 'InvalidPageSize.ExceedsMinimum', - 'errorMessage' => 'PageSize should be greater than or equal to 1', - ], - [ - 'errorCode' => 'InvalidPath.Malformed', - 'errorMessage' => 'Path must be of type String', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'StartTime must be of type String', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'EndTime must be of type String', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'DomainName must be of type String', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'DomainName is required', - ], - [ - 'errorCode' => 'InvalidDomainName.TooShort', - 'errorMessage' => 'DomainName should be at least 1 chars long', - ], - [ - 'errorCode' => 'InvalidPageNumber.Malformed', - 'errorMessage' => 'PageNumber must be of type Integer', - ], - [ - 'errorCode' => 'InvalidPageNumber.ExceedsMinimum', - 'errorMessage' => 'PageNumber should be greater than or equal to 1', - ], - [ - 'errorCode' => 'InvalidTime.OverRange', - 'errorMessage' => 'Specified StartTime or EndTime is over range', - ], + 403 => [ + ['errorCode' => 'CdnServiceNotFound', 'errorMessage' => 'Your account does not open CDN service yet.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2017-09-30T17:00:00Z\\",\\n \\"StartTime\\": \\"2017-09-30T16:00:00Z\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"PathDataPerInterval\\": {\\n \\"UsageData\\": [\\n {\\n \\"Path\\": \\"/path/\\",\\n \\"Time\\": \\"2017-09-30T16:00:00Z\\",\\n \\"Acc\\": 10,\\n \\"Traffic\\": 346\\n }\\n ]\\n },\\n \\"RequestId\\": \\"DE81639B-DAC1-4C76-AB72-F34B836837D5\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainPathDataResponse>\\n<DataInterval>300</DataInterval>\\n<EndTime>2017-09-30T17:00:00Z</EndTime>\\n<PageNumber>1</PageNumber>\\n<PageSize>20</PageSize>\\n<PathDataPerInterval>\\n <UsageData>\\n <Acc>10</Acc>\\n <Path>/path/</Path>\\n <Time>2017-09-30T16:00:00Z</Time>\\n <Traffic>346</Traffic>\\n </UsageData>\\n <UsageData>\\n <Acc>12</Acc>\\n <Path>/path/</Path>\\n <Time>2017-09-30T16:05:00Z</Time>\\n <Traffic>400</Traffic>\\n </UsageData>\\n</PathDataPerInterval>\\n<StartTime>2017-09-30T16:00:00Z</StartTime>\\n<TotalCount>2</TotalCount>\\n</DescribeDomainPathDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainPathData', - 'description' => '* This operation is available only to users that are on the whitelist. If the daily peak bandwidth value of your workloads reaches 10 Gbit/s, you can [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex) to apply to be included in the whitelist.'."\n" - .'* You can call this API operation up to 6,000 times per second per account.'."\n" - .'* Data collection by directory is available only to specified domain names within your Alibaba Cloud account. It cannot be enabled for all domain names within your Alibaba Cloud account.'."\n" - .'* The average size of the files that belong to the domain name must be larger than 1 MB.'."\n" - .'* The number of directories specified for a single domain name cannot exceed 100. If the number of directories exceeds 100, the data accuracy reduces.'."\n" - .'* If you do not set StartTime or EndTime, data collected within the last 24 hours is queried. If you set both StartTime and EndTime, data within the specified time range is queried.'."\n" - .'* You can query data collected within the last 30 days.'."\n", + 'title' => 'DescribeCdnUserResourcePackage', + 'summary' => 'Queries your current resource plans for CDN.', + 'description' => '> The call frequency is limited to 30 calls per second per user.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainQpsData' => [ - 'summary' => 'Queries the number of queries per second (QPS) for an accelerated domain name. The data is collected every 5 minutes. You can query data collected within the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-08T06:55:48.000Z', 'description' => 'Request parameters changed, Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserResourcePackage'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserResourcePackage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"84839536-2B7E-457D-9D8C-82E6C7D4E1A3\\",\\n \\"ResourcePackageInfos\\": {\\n \\"ResourcePackageInfo\\": [\\n {\\n \\"EndTime\\": \\"2018-07-01T08:00:00Z\\",\\n \\"Status\\": \\"valid\\",\\n \\"DisplayName\\": \\"Data Transfer Plan in Asia Pacific 1\\",\\n \\"StartTime\\": \\"2017-12-05T19:10:58Z\\",\\n \\"CommodityCode\\": \\"cdnflowbag\\",\\n \\"InstanceId\\": \\"FP-ilttxc23a\\",\\n \\"TemplateName\\": \\"FPT_cdn_bag_intl_deadlineAcc_1569491944\\",\\n \\"CurrCapacity\\": \\"53661095687\\",\\n \\"InitCapacity\\": \\"107374182400\\",\\n \\"Region\\": \\"CN\\",\\n \\"CurrCapacityShowValue\\": \\"49.975789\\",\\n \\"CurrCapacityShowUnit\\": \\"GB\\",\\n \\"CurrCapacityBaseUnit\\": \\"Byte\\",\\n \\"InitCapacityShowValue\\": \\"100.000000\\",\\n \\"InitCapacityShowUnit\\": \\"GB\\",\\n \\"InitCapacityBaseUnit\\": \\"Byte\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeCdnWafDomain' => [ + 'summary' => 'Queries domain names that use Web Application Firewall (WAF).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -6828,78 +7352,160 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111786', - 'abilityTreeNodes' => [ - 'FEATUREcdnL8FLP3', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111755', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'RegionId', 'in' => 'query', 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + 'description' => 'The region where WAF is enabled. Valid values:'."\n" + ."\n" + .'- **cn-hangzhou**: inside the Chinese mainland'."\n" ."\n" - .'By default, this operation queries QPS data for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", + .'- **ap-southeast-1**: outside the Chinese mainland'."\n" + ."\n" + .'> ap-southeast-1 includes Hong Kong (China), Macao (China), Taiwan (China), and other countries and regions.', 'type' => 'string', - 'required' => false, - 'example' => 'example.com', + 'required' => true, + 'enum' => ['cn-hangzhou', 'ap-southeast-1'], + 'example' => 'cn-hangzhou', + 'title' => '', ], ], [ - 'name' => 'StartTime', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:33:00Z', - ], + 'schema' => ['description' => 'The domain name that you want to query.'."\n" + ."\n" + .'You can specify only one domain name in each request. You have three options to configure this parameter:'."\n" + ."\n" + .'- Specify an exact domain name. For example, if you set this parameter to example.com, configuration information of example.com is queried.'."\n" + ."\n" + .'- Specify a keyword. For example, if you set this parameter to example, configuration information about all domain names that contain example is queried.'."\n" + ."\n" + .'- Leave this parameter empty. If this parameter is left empty, all accelerated domain names for which WAF is configured are queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'ResourceGroupId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => '1234', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', + 'type' => 'object', + 'properties' => [ + 'TotalCount' => ['description' => 'The number of accelerated domain names.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'CB1A380B-09F0-41BB-802B-72F8FD6DA2FE', 'title' => ''], + 'OutPutDomains' => [ + 'description' => 'The information about the accelerated domain name.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AclStatus' => ['description' => 'The status of the access control list (ACL) feature. Valid values:'."\n" + ."\n" + .'- **0**: disabled'."\n" + ."\n" + .'- **1**: enabled', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Status' => ['description' => 'The WAF status of the domain name. Valid values:'."\n" + ."\n" + .'- **1**: The domain name is added to WAF or valid.'."\n" + ."\n" + .'- **10**: The domain name is being added to WAF.'."\n" + ."\n" + .'- **11**: The domain name failed to be added to WAF.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Domain' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'CcStatus' => ['description' => 'The status of protection against HTTP flood attacks. Valid values:'."\n" + ."\n" + .'- **0**: disabled'."\n" + ."\n" + .'- **1**: enabled', 'type' => 'string', 'example' => '1', 'title' => ''], + 'WafStatus' => ['description' => 'The status of WAF. Valid values:'."\n" + ."\n" + .'- **0**: disabled'."\n" + ."\n" + .'- **1**: enabled', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'InvalidParameter.', 'description' => ''], + ['errorCode' => 'InvalidParameterRegionId', 'errorMessage' => 'Invalid Region ID.', 'description' => ''], + ['errorCode' => 'InvalidParameterDomain', 'errorMessage' => 'Invalid Domain Name.', 'description' => ''], + ['errorCode' => 'DomainNotExist ', 'errorMessage' => 'Specified Domain Not Exist.', 'description' => ''], + ], + ], + 'title' => 'DescribeCdnWafDomain', + 'description' => '> You can call this operation up to 150 times per second per account.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:23.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnWafDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnWafDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-802B-72F8FD6DA2FE\\",\\n \\"OutPutDomains\\": [\\n {\\n \\"AclStatus\\": \\"1\\",\\n \\"Status\\": \\"1\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"CcStatus\\": \\"1\\",\\n \\"WafStatus\\": \\"1\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeCertificateInfoByID' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'IspNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP) for your Alibaba Cloud CDN service. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not specify an ISP, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111756', + 'abilityTreeNodes' => ['FEATUREcdnD4PEWG', 'FEATUREcdn4R6KLH'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'LocationNameEn', + 'name' => 'CertId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not specify a region, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The ID of the certificate. You can query only one certificate in each call.', 'type' => 'string', 'required' => true, 'example' => '1644xx', 'title' => ''], ], ], 'responses' => [ @@ -6907,167 +7513,172 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B8333EDB-4595-46E0-AFE9-29BAA290D0E0', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'QpsDataInterval' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '5C1E43DC-9E51-4771-82C0-7D5ECEB547A1', 'title' => ''], + 'CertInfos' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DataModule' => [ - 'description' => 'The list of QPS records at each interval.'."\n", + 'CertInfo' => [ + 'description' => 'The information about the certificate.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'AccValue' => [ - 'description' => 'The total number of requests.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'AccDomesticValue' => [ - 'description' => 'The number of requests in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'AccOverseasValue' => [ - 'description' => 'The number of requests outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'HttpsValue' => [ - 'description' => 'The number of queries per second that is calculated based on the HTTPS requests sent to points of presence (POPs).'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'HttpsOverseasValue' => [ - 'description' => 'The number of queries per second that is calculated based on the HTTPS requests sent to POPs outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'DomesticValue' => [ - 'description' => 'The number of queries per second in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'HttpsAccOverseasValue' => [ - 'description' => 'The number of HTTPS requests sent to POPs outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'HttpsDomesticValue' => [ - 'description' => 'The number of queries per second that is calculated based on the HTTPS requests sent to POPs in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'HttpsAccValue' => [ - 'description' => 'The number of HTTPS requests sent to POPs.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'Value' => [ - 'description' => 'The total QPS.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'OverseasValue' => [ - 'description' => 'The number of queries per second outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'HttpsAccDomesticValue' => [ - 'description' => 'The number of HTTPS requests sent to POPs in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '1', - ], + 'CertExpireTime' => ['description' => 'The time at which the certificate expires.', 'type' => 'string', 'example' => '2098-02-08 08:02:07 +0000 UTC', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the certificate became effective.', 'type' => 'string', 'example' => '2015-12-21 08:02:07 +0000 UTC', 'title' => ''], + 'CertType' => ['description' => 'The type of the certificate.'."\n" + ."\n" + .'- free: a free certificate'."\n" + ."\n" + .'- cas: a certificate purchased by using Certificate Management Service'."\n" + ."\n" + .'- upload: a user-uploaded certificate', 'type' => 'string', 'example' => 'cas', 'title' => ''], + 'CertName' => ['description' => 'The name of the certificate.', 'type' => 'string', 'example' => 'example_cert', 'title' => ''], + 'CertId' => ['description' => 'The ID of the certificate.', 'type' => 'string', 'example' => '1644xx', 'title' => ''], + 'DomainList' => ['description' => 'The domain names that use the certificate.', 'type' => 'string', 'example' => '["example.com"]', 'title' => ''], + 'HttpsCrt' => ['description' => 'The content of the certificate.', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----\\nxxx-----END CERTIFICATE-----\\n', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'CertNotExisted', 'errorMessage' => 'The Cert doesn\'t exist.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'SignatureDoesNotMatch', 'errorMessage' => 'The signature we calculated does not match the one you provided. Please refer to the API reference about authentication for details.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"B8333EDB-4595-46E0-AFE9-29BAA290D0E0\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"QpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"AccValue\\": \\"0\\",\\n \\"AccDomesticValue\\": \\"0\\",\\n \\"AccOverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"1\\",\\n \\"HttpsOverseasValue\\": \\"1\\",\\n \\"DomesticValue\\": \\"0\\",\\n \\"HttpsAccOverseasValue\\": \\"1\\",\\n \\"HttpsDomesticValue\\": \\"1\\",\\n \\"HttpsAccValue\\": \\"1\\",\\n \\"Value\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\",\\n \\"HttpsAccDomesticValue\\": \\"1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainQpsDataResponse>\\n <EndTime>2019-11-30T05:40:00Z</EndTime>\\n <StartTime>2019-11-30T05:33:00Z</StartTime>\\n <RequestId>B8333EDB-4595-46E0-AFE9-29BAA290D0E0</RequestId>\\n <DomainName>example.com</DomainName>\\n <DataInterval>300</DataInterval>\\n <QpsDataInterval>\\n <AccValue>0</AccValue>\\n <AccDomesticValue>0</AccDomesticValue>\\n <AccOverseasValue>0</AccOverseasValue>\\n <HttpsValue>1</HttpsValue>\\n <HttpsOverseasValue>1</HttpsOverseasValue>\\n <DomesticValue>0</DomesticValue>\\n <HttpsAccOverseasValue>1</HttpsAccOverseasValue>\\n <HttpsDomesticValue>1</HttpsDomesticValue>\\n <HttpsAccValue>1</HttpsAccValue>\\n <Value>0</Value>\\n <OverseasValue>0</OverseasValue>\\n <TimeStamp>2019-11-30T05:40:00Z</TimeStamp>\\n <HttpsAccDomesticValue>1</HttpsAccDomesticValue>\\n </QpsDataInterval>\\n</DescribeDomainQpsDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainQpsData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - ."\n" - .'**Time granularity**'."\n" - ."\n" - .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + 'title' => 'DescribeCertificateInfoByID', + 'summary' => 'Queries a specific certificate by certificate ID.', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'- If a certificate is associated with a domain name but the certificate is not enabled, the result of this operation shows that the certificate does not exist.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCertificateInfoByID'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCertificateInfoByID', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5C1E43DC-9E51-4771-82C0-7D5ECEB547A1\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertExpireTime\\": \\"2098-02-08 08:02:07 +0000 UTC\\",\\n \\"CreateTime\\": \\"2015-12-21 08:02:07 +0000 UTC\\",\\n \\"CertType\\": \\"cas\\",\\n \\"CertName\\": \\"example_cert\\",\\n \\"CertId\\": \\"1644xx\\",\\n \\"DomainList\\": \\"[\\\\\\"example.com\\\\\\"]\\",\\n \\"HttpsCrt\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nxxx-----END CERTIFICATE-----\\\\\\\\n\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'DescribeDomainQpsDataByLayer' => [ - 'summary' => 'Queries the number of queries per second (QPS) at a specific layer for one or more accelerated domain names. You can query data collected within the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'DescribeCustomLogConfig' => [ + 'summary' => 'Queries a custom logging configuration.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111761', + 'abilityTreeNodes' => ['FEATUREcdnEK7SNH'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the custom configuration.', 'type' => 'string', 'required' => true, 'example' => '123', 'title' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Tag' => ['description' => 'The tag information about the log configuration.', 'type' => 'string', 'example' => 'img1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '94E3559F-7B6A-4A5E-AFFD-44E2A208A249', 'title' => ''], + 'Remark' => ['description' => 'The format of the log configuration.', 'type' => 'string', 'example' => '$time_iso8601_$request_method_$', 'title' => ''], + 'Sample' => ['description' => 'The sample.', 'type' => 'string', 'example' => '"[9/Jun/2015:01:58:09 +0800] 188.165.15.75 - 1542 \\"-\\" \\"GEThttp: //www.aliyun.com/index.html\\" 200', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'InvalidConfigId', 'errorMessage' => 'Illegal ConfigId', 'description' => ''], + ], + [ + ['errorCode' => 'Config.NotFound', 'errorMessage' => 'Config does not exist or does not belong to the current user ', 'description' => ''], + ], + ], + 'title' => 'DescribeCustomLogConfig', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-03T07:44:27.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCustomLogConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCustomLogConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Tag\\": \\"img1\\",\\n \\"RequestId\\": \\"94E3559F-7B6A-4A5E-AFFD-44E2A208A249\\",\\n \\"Remark\\": \\"$time_iso8601_$request_method_$\\",\\n \\"Sample\\": \\"\\\\\\"[9/Jun/2015:01:58:09 +0800] 188.165.15.75 - 1542 \\\\\\\\\\\\\\"-\\\\\\\\\\\\\\" \\\\\\\\\\\\\\"GEThttp: //www.aliyun.com/index.html\\\\\\\\\\\\\\" 200\\"\\n}","type":"json"}]', + ], + 'DescribeDomainAverageResponseTime' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7076,91 +7687,61 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111787', - 'abilityTreeNodes' => [ - 'FEATUREcdnL8FLP3', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111763', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ + 'name' => 'TimeMerge', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to adaptively calculate the Interval value. If **timeMerge** is set to **1**, an appropriate interval value is calculated based on StartTime and EndTime. You can specify this parameter or the Interval parameter.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'DomainType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the query. If you set this parameter to dynamic, the average response time of dynamic resources and the average response time of static resources for Dynamic Route for CDN (DCDN) are queried. By default, this parameter is left empty, and the average response time of static resources is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => 'domaintype', 'title' => ''], + ], + [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify a maximum of 500 domain names in a request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the QPS of all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, all accelerated domain names are queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:33:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard. The time is displayed in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time interval between the data entries to return. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Description**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the query. Unit: seconds. The valid values vary based on the time range specified by **StartTime** and **EndTime**:'."\n" + ."\n" + .'- If the time range is less than 3 days (3 days excluded), valid values are **300**, **3600**, and **86400**. Default value: **300**.'."\n" + ."\n" + .'- If the time range is from 3 to 31 days (31 days excluded), valid values are **3600** and **86400**. Default value: **3600**.'."\n" + ."\n" + .'- If the time range is 31 days or longer, the valid value is **86400**. Default value: **86400**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP) for your Alibaba Cloud CDN service. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not set this parameter, all ISPs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'schema' => ['description' => 'The English name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names. By default, all ISPs are queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list. If you do not set this parameter, all regions are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], - ], - [ - 'name' => 'Layer', - 'in' => 'query', - 'schema' => [ - 'description' => 'The layers at which you want to query the number of queries per second. Valid values:'."\n" - ."\n" - .'* **Network layer**: **IPv4**and **IPv6**.'."\n" - .'* **Application layer**: **http**, **https**, and **quic**.'."\n" - .'* **all**: The default value. Both the network and application layers are included.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'all', - ], + 'schema' => ['description' => 'The English name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query region names. By default, all regions are queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], ], 'responses' => [ @@ -7168,142 +7749,91 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664', - ], - 'Layer' => [ - 'description' => 'The layer at which the data was collected.'."\n", - 'type' => 'string', - 'example' => 'all', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'QpsDataInterval' => [ + 'EndTime' => ['description' => 'The end of the time range that was queried.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range that was queried.', 'type' => 'string', 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'AvgRTPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The number of queries per second at each interval.'."\n", + 'description' => 'The list of average response times at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The total number of queries per second.'."\n", - 'type' => 'string', - 'example' => '0.56', - ], - 'AccValue' => [ - 'description' => 'The total number of requests.'."\n", - 'type' => 'string', - 'example' => '56', - ], - 'AccDomesticValue' => [ - 'description' => 'The number of requests in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '12', - ], - 'OverseasValue' => [ - 'description' => 'The number of queries per second outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0.44', - ], - 'AccOverseasValue' => [ - 'description' => 'The number of requests outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '44', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:00:00Z', - ], - 'DomesticValue' => [ - 'description' => 'The number of queries per second in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0.12', - ], + 'Value' => ['description' => 'The average response time.', 'type' => 'string', 'example' => '3', 'title' => ''], + 'TimeStamp' => ['description' => 'The beginning of the time slice.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified StartTime is invalid.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"BEA5625F-8FCF-48F4-851B-CA63946DA664\\",\\n \\"Layer\\": \\"all\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"QpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0.56\\",\\n \\"AccValue\\": \\"56\\",\\n \\"AccDomesticValue\\": \\"12\\",\\n \\"OverseasValue\\": \\"0.44\\",\\n \\"AccOverseasValue\\": \\"44\\",\\n \\"TimeStamp\\": \\"2015-12-10T21:00:00Z\\",\\n \\"DomesticValue\\": \\"0.12\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainQpsDataByLayerResponse>\\n <EndTime>2019-11-30T05:40:00Z</EndTime>\\n <StartTime>2019-11-30T05:33:00Z</StartTime>\\n <RequestId>BEA5625F-8FCF-48F4-851B-CA63946DA664</RequestId>\\n <Layer>all</Layer>\\n <DomainName>example.com</DomainName>\\n <DataInterval>300</DataInterval>\\n <QpsDataInterval>\\n <Value>0.56</Value>\\n <AccValue>56</AccValue>\\n <AccDomesticValue>12</AccDomesticValue>\\n <OverseasValue>0.44</OverseasValue>\\n <AccOverseasValue>44</AccOverseasValue>\\n <TimeStamp>2015-12-10T21:00:00Z</TimeStamp>\\n <DomesticValue>0.12</DomesticValue>\\n </QpsDataInterval>\\n</DescribeDomainQpsDataByLayerResponse>","errorExample":""}]', - 'title' => 'DescribeDomainQpsDataByLayer', - 'description' => '* You can call this operation up to 20 times per second per user.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - ."\n" - .'**Time granularity**'."\n" - ."\n" - .'The time granularity supported by the Interval parameter varies with the maximum time range per query. The following table describes the time period within which historical data is available and the data delay.'."\n" - ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidIspParameter', 'errorMessage' => 'The specified Isp is invalid.', 'description' => 'The specified ISP is invalid.'], + ], + ], + 'title' => 'Queries the average response time of an accelerated domain name', + 'summary' => 'Calls DescribeDomainAverageResponseTime to query the average response time of an accelerated domain name. You can query data within the last 90 days.', + 'description' => '<props="china">The statistical analysis feature of Alibaba Cloud CDN has been discontinued, and the OpenAPI operations related to the statistical analysis feature are no longer maintained. Because data of this operation may be missing or inaccurate, we recommend that you do not use this operation. If you require data statistical analysis, you can use the [operations report](~~279577~~) feature or [deliver real-time logs to Simple Log Service (SLS)](~~440145~~).</props>'."\n" + .'<props="intl">The statistical analysis feature of Alibaba Cloud CDN has been discontinued, and the OpenAPI operations related to the statistical analysis feature are no longer maintained. Because data of this operation may be missing or inaccurate, we recommend that you do not use this operation. If you require data statistical analysis, you can use the [operations report](~~279577~~) feature.</props>'."\n" + .'> - If you do not specify StartTime or EndTime, data collected within the last 24 hours is queried. If you specify StartTime and EndTime, data collected within the specified time range is queried.'."\n" + .'> - You can call this operation up to 100 times per second per account.'."\n" + .'> - You can specify multiple accelerated domain names and separate them with commas (,). You can specify up to 500 domain names in each call.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:14:19.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainAverageResponseTime'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainAverageResponseTime', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ['validationType' => 'conditional', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"AvgRTPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"3\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainBpsData' => [ - 'summary' => 'Queries bandwidth monitoring data for one or more accelerated domain names.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7312,81 +7842,51 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111764', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries bandwidth data for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries bandwidth data for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-05-14T09:50:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2020-05-14T09:50:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-05-14T10:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2020-05-14T10:00:00Z', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n" - ."\n" - .'If you do not set this parameter, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n" + ."\n" + .'If you do not set this parameter, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n" - ."\n" - .'If you do not specify a region, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n" + ."\n" + .'If you do not specify a region, data in all regions is queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], ], 'responses' => [ @@ -7394,143 +7894,104 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2020-05-14T09:50:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', - ], - 'IspNameEn' => [ - 'description' => 'The name of the ISP.'."\n", - 'type' => 'string', - 'example' => 'unicom', - ], - 'LocationNameEn' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'beijing', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2020-05-14T09:50:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', 'title' => ''], + 'IspNameEn' => ['description' => 'The name of the ISP.', 'type' => 'string', 'example' => 'unicom', 'title' => ''], + 'LocationNameEn' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'beijing', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], 'BpsDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The list of bandwidth data entries returned at each interval.'."\n", + 'description' => 'The list of bandwidth data entries returned at each interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'HttpsDomesticValue' => [ - 'description' => 'The bandwidth data for HTTPS requests in the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.'."\n", - 'type' => 'string', - 'example' => '11286111', - ], - 'Value' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '11288111', - ], - 'OverseasValue' => [ - 'description' => 'The bandwidth data in regions outside the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.'."\n", - 'type' => 'string', - 'example' => '2000', - ], - 'HttpsValue' => [ - 'description' => 'The bandwidth value for HTTPS requests. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '11288111', - ], - 'HttpsOverseasValue' => [ - 'description' => 'The bandwidth data for HTTPS requests in regions outside the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.'."\n", - 'type' => 'string', - 'example' => '2000', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'DomesticValue' => [ - 'description' => 'The bandwidth value in the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.'."\n", - 'type' => 'string', - 'example' => '11286111', - ], + 'HttpsDomesticValue' => ['description' => 'The bandwidth data for HTTPS requests in the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.', 'type' => 'string', 'example' => '11286111', 'title' => ''], + 'Value' => ['description' => 'The bandwidth. Unit: bit/s.', 'type' => 'string', 'example' => '11288111', 'title' => ''], + 'OverseasValue' => ['description' => 'The bandwidth data in regions outside the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.', 'type' => 'string', 'example' => '2000', 'title' => ''], + 'HttpsValue' => ['description' => 'The bandwidth value for HTTPS requests. Unit: bit/s.', 'type' => 'string', 'example' => '11288111', 'title' => ''], + 'HttpsOverseasValue' => ['description' => 'The bandwidth data for HTTPS requests in regions outside the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.', 'type' => 'string', 'example' => '2000', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'DomesticValue' => ['description' => 'The bandwidth value in the Chinese mainland. When the bandwidth data is queried by ISP, this parameter is empty.', 'type' => 'string', 'example' => '11286111', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T20:00Z\\",\\n \\"StartTime\\": \\"2020-05-14T09:50:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"IspNameEn\\": \\"unicom\\",\\n \\"LocationNameEn\\": \\"beijing\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"BpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"HttpsDomesticValue\\": \\"11286111\\",\\n \\"Value\\": \\"11288111\\",\\n \\"OverseasValue\\": \\"2000\\",\\n \\"HttpsValue\\": \\"11288111\\",\\n \\"HttpsOverseasValue\\": \\"2000\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomesticValue\\": \\"11286111\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainBpsDataResponse>\\n<RequestId>0AD87822-E8CE-436B-B434-C13F53B5B2D4</RequestId>\\n<EndTime>2020-05-14T10:00:00Z</EndTime>\\n<DataInterval>300</DataInterval>\\n<StartTime>2020-05-14T09:50:00Z</StartTime>\\n<BpsDataPerInterval>\\n <DataModule>\\n <OverseasValue>0</OverseasValue>\\n <HttpsValue>0</HttpsValue>\\n <Value>83.48266666666667</Value>\\n <HttpsDomesticValue>0</HttpsDomesticValue>\\n <TimeStamp>2020-05-14T09:50:00Z</TimeStamp>\\n <HttpsOverseasValue>0</HttpsOverseasValue>\\n <DomesticValue>83.48266666666667</DomesticValue>\\n </DataModule>\\n <DataModule>\\n <OverseasValue>0</OverseasValue>\\n <HttpsValue>0</HttpsValue>\\n <Value>83.424</Value>\\n <HttpsDomesticValue>0</HttpsDomesticValue>\\n <TimeStamp>2020-05-14T09:55:00Z</TimeStamp>\\n <HttpsOverseasValue>0</HttpsOverseasValue>\\n <DomesticValue>83.424</DomesticValue>\\n </DataModule>\\n</BpsDataPerInterval>\\n</DescribeDomainBpsDataResponse>","errorExample":""}]', 'title' => 'DescribeDomainBpsData', - 'description' => '* You can call this operation up to 150 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'summary' => 'Queries bandwidth monitoring data for one or more accelerated domain names.', + 'description' => '- Each account can call this operation up to 150 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainBpsDataByLayer' => [ - 'summary' => 'Queries bandwidth data by protocol.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:20:34.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2015-12-10T20:00Z\\",\\n \\"StartTime\\": \\"2020-05-14T09:50:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"IspNameEn\\": \\"unicom\\",\\n \\"LocationNameEn\\": \\"beijing\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"BpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"HttpsDomesticValue\\": \\"11286111\\",\\n \\"Value\\": \\"11288111\\",\\n \\"OverseasValue\\": \\"2000\\",\\n \\"HttpsValue\\": \\"11288111\\",\\n \\"HttpsOverseasValue\\": \\"2000\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomesticValue\\": \\"11286111\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainBpsDataByLayer' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7539,97 +8000,64 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111765', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'> If you do not specify this parameter, the bandwidth data about all accelerated domain names that belong to your Alibaba Cloud account is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'> If you do not specify this parameter, the bandwidth data about all accelerated domain names that belong to your Alibaba Cloud account is queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-05-06T07:10:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2020-05-06T07:10:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-05-06T07:20:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2020-05-06T07:20:00Z', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query ISPs. If you do not specify an ISP, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query ISPs. If you do not specify an ISP, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query regions. If you do not specify a region, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query regions. If you do not specify a region, data in all regions is queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], [ 'name' => 'Layer', 'in' => 'query', - 'schema' => [ - 'description' => 'The layer at which you want to query the bandwidth data. Valid values:'."\n" - ."\n" - .'* Network layer: **IPv4** and **IPv6**.'."\n" - .'* Application layer: **http**, **https**, and **quic**.'."\n" - .'* **all**: specifies that both the network and application layers are included.'."\n" - ."\n" - .'Default value: **all**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'IPv4', - ], + 'schema' => ['description' => 'The layer at which you want to query the bandwidth data. Valid values:'."\n" + ."\n" + .'- Network layer: **IPv4** and **IPv6**.'."\n" + ."\n" + .'- Application layer: **http**, **https**, and **quic**.'."\n" + ."\n" + .'- **all**: specifies that both the network and application layers are included.'."\n" + ."\n" + .'Default value: **all**.', 'type' => 'string', 'required' => false, 'example' => 'IPv4', 'title' => ''], ], ], 'responses' => [ @@ -7637,108 +8065,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DataInterval' => [ - 'description' => 'The time interval between the data entries. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C565B910-BC3B-467B-9046-2A48566EA967', - ], + 'DataInterval' => ['description' => 'The time interval between the data entries. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C565B910-BC3B-467B-9046-2A48566EA967', 'title' => ''], 'BpsDataInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The data returned at each time interval.'."\n", + 'description' => 'The data returned at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The peak bandwidth value. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '75.68', - ], - 'TrafficValue' => [ - 'description' => 'The total amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '2838', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2020-05-06T07:10:00Z', - ], + 'Value' => ['description' => 'The peak bandwidth value. Unit: bit/s.', 'type' => 'string', 'example' => '75.68', 'title' => ''], + 'TrafficValue' => ['description' => 'The total amount of network traffic. Unit: bytes.', 'type' => 'string', 'example' => '2838', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2020-05-06T07:10:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvaildParameter', - 'errorMessage' => 'The parameter you provided is invalid.', - ], + ['errorCode' => 'InvaildParameter', 'errorMessage' => 'The parameter you provided is invalid.', 'description' => 'The format of the domain name is invalid. Correct the format and try again.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataInterval\\": \\"300\\",\\n \\"RequestId\\": \\"C565B910-BC3B-467B-9046-2A48566EA967\\",\\n \\"BpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"75.68\\",\\n \\"TrafficValue\\": \\"2838\\",\\n \\"TimeStamp\\": \\"2020-05-06T07:10:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainBpsDataByLayerResponse>\\n <RequestId>C565B910-BC3B-467B-9046-2A48566EA967</RequestId>\\n <DataInterval>300</DataInterval>\\n <BpsDataInterval>\\n <DataModule>\\n <Value>75.68</Value>\\n <TrafficValue>2838</TrafficValue>\\n <TimeStamp>2020-05-06T07:10:00Z</TimeStamp>\\n </DataModule>\\n <DataModule>\\n <Value>99138.85333333333</Value>\\n <TrafficValue>3717707</TrafficValue>\\n <TimeStamp>2020-05-06T07:15:00Z</TimeStamp>\\n </DataModule>\\n </BpsDataInterval>\\n</DescribeDomainBpsDataByLayerResponse>","errorExample":""}]', 'title' => 'DescribeDomainBpsDataByLayer', - 'description' => '* You can call this operation up to 20 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'summary' => 'Queries bandwidth data by protocol.', + 'description' => '- Each account can call this operation up to 20 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-01-22T02:52:50.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-13T07:29:26.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBpsDataByLayer'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainBpsDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DataInterval\\": \\"300\\",\\n \\"RequestId\\": \\"C565B910-BC3B-467B-9046-2A48566EA967\\",\\n \\"BpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"75.68\\",\\n \\"TrafficValue\\": \\"2838\\",\\n \\"TimeStamp\\": \\"2020-05-06T07:10:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainBpsDataByTimeStamp' => [ - 'summary' => 'Queries the bandwidth data at a specified time for an accelerated domain.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7747,57 +8167,37 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111766', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'TimePoint', 'in' => 'query', - 'schema' => [ - 'description' => 'The point in time to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The data is collected every 5 minutes.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The point in time to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The data is collected every 5 minutes.', 'type' => 'string', 'required' => true, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], [ 'name' => 'IspNames', 'in' => 'query', - 'schema' => [ - 'description' => 'The names of the Internet service providers (ISPs). Separate multiple ISPs with commas (,).'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'uni***,tele***', - ], + 'schema' => ['description' => 'The names of the Internet service providers (ISPs). Separate multiple ISPs with commas (,).'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.', 'type' => 'string', 'required' => true, 'example' => 'unicom,telecom', 'title' => ''], ], [ 'name' => 'LocationNames', 'in' => 'query', - 'schema' => [ - 'description' => 'The regions. Separate multiple regions with commas (,).'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'liaoning,guangxi', - ], + 'schema' => ['description' => 'The regions. Separate multiple regions with commas (,).'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.', 'type' => 'string', 'required' => true, 'example' => 'liaoning,guangxi', 'title' => ''], ], ], 'responses' => [ @@ -7805,101 +8205,91 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The point in time.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], + 'TimeStamp' => ['description' => 'The point in time.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], 'BpsDataList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BpsDataModel' => [ - 'description' => 'A list of bandwidth values by ISP and region.'."\n", + 'description' => 'A list of bandwidth values by ISP and region.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'LocationName' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'Liaoning', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'IspName' => [ - 'description' => 'The name of the ISP.'."\n", - 'type' => 'string', - 'example' => 'unicom', - ], - 'Bps' => [ - 'description' => 'The bandwidth value.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '52119553', - ], + 'LocationName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'Liaoning', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'IspName' => ['description' => 'The name of the ISP.', 'type' => 'string', 'example' => 'unicom', 'title' => ''], + 'Bps' => ['description' => 'The bandwidth value.', 'type' => 'integer', 'format' => 'int64', 'example' => '52119553', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"BpsDataList\\": {\\n \\"BpsDataModel\\": [\\n {\\n \\"LocationName\\": \\"Liaoning\\",\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\",\\n \\"IspName\\": \\"unicom\\",\\n \\"Bps\\": 52119553\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainBpsDataByTimeStampResponse>\\r\\n <BpsDataList>\\r\\n\\t\\t<BpsDataModel>\\r\\n\\t\\t\\t<LocationName>Liaoning</LocationName>\\r\\n\\t\\t\\t<Bps>880996111</Bps>\\r\\n\\t\\t\\t<IspName>telecom</IspName>\\r\\n\\t\\t</BpsDataModel>\\r\\n\\t\\t<BpsDataModel>\\r\\n\\t\\t\\t<LocationName>Liaoning</LocationName>\\r\\n\\t\\t\\t<Bps>52119553</Bps>\\r\\n\\t\\t\\t<IspName>unicom</IspName>\\r\\n\\t\\t</BpsDataModel>\\r\\n\\t\\t<BpsDataModel>\\r\\n\\t\\t\\t<LocationName>Guangxi</LocationName>\\r\\n\\t\\t\\t<Bps>51295137</Bps>\\r\\n\\t\\t\\t<IspName>telecom</IspName>\\r\\n\\t\\t</BpsDataModel>\\r\\n\\t\\t<BpsDataModel>\\r\\n\\t\\t\\t<LocationName>Guangxi</LocationName>\\r\\n\\t\\t\\t<Bps>18673571</Bps>\\r\\n\\t\\t\\t<IspName>unicom</IspName>\\r\\n\\t\\t</BpsDataModel>\\r\\n <TimeStamp>2016-08-01T22:00Z</TimeStamp>\\r\\n\\t<RequestId>7682DE14-3B4D-48D0-9B7C-DD3C8C3E1C78</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n </BpsDataList>\\r\\n</DescribeDomainBpsDataByTimeStampResponse>\\r\\n\\r\\n","errorExample":""}]', 'title' => 'DescribeDomainBpsDataByTimeStamp', - 'description' => '* The bandwidth is measured in bit/s.'."\n" - .'* You can specify only one accelerated domain name in each request.'."\n" - .'* The data is collected every 5 minutes.'."\n" - .'* You can call this operation up to 20 times per second per account.'."\n", + 'summary' => 'Queries the bandwidth data at a specified time for an accelerated domain.', + 'description' => '- The bandwidth is measured in bit/s.'."\n" + ."\n" + .'- You can specify only one accelerated domain name in each request.'."\n" + ."\n" + .'- The data is collected every 5 minutes.'."\n" + ."\n" + .'- Each account can call this operation up to 20 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainTrafficData' => [ - 'summary' => 'Queries network traffic for one or more accelerated domain names. You can query data that is collected in the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:04.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBpsDataByTimeStamp'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainBpsDataByTimeStamp', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"BpsDataList\\": {\\n \\"BpsDataModel\\": [\\n {\\n \\"LocationName\\": \\"Liaoning\\",\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\",\\n \\"IspName\\": \\"unicom\\",\\n \\"Bps\\": 52119553\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainCcActivityLog' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -7907,82 +8297,70 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111814', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111767', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the network traffic for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify multiple domain names and separate them with commas (,).'."\n" + ."\n" + .'If you do not specify this parameter, data of all accelerated domain names under your account is queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The minimum time granularity of data collection is 5 minutes.'."\n" + ."\n" + .'If you leave this parameter empty, the data collected over the last 24 hours is queried.', 'type' => 'string', 'required' => false, 'example' => '2018-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-12-10T21:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2018-12-10T21:00:00Z', 'title' => ''], ], [ - 'name' => 'Interval', + 'name' => 'TriggerObject', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The trigger of rate limiting by which you want to query data.'."\n" + ."\n" + .'If you leave this parameter empty, all events that triggered rate limiting are queried.', 'type' => 'string', 'required' => false, 'example' => 'IP', 'title' => ''], ], [ - 'name' => 'IspNameEn', + 'name' => 'Value', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query ISPs.'."\n" - ."\n" - .'If you do not specify an ISP, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'schema' => ['description' => 'The value of the trigger.'."\n" + ."\n" + .'If you leave this parameter empty, all events recorded for the trigger are queried.', 'type' => 'string', 'required' => false, 'example' => '1.2.3.4', 'title' => ''], ], [ - 'name' => 'LocationNameEn', + 'name' => 'RuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query regions.'."\n" - ."\n" - .'If you do not specify a region, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'A custom rule name. Valid values:'."\n" + ."\n" + .'- default\\_normal: rule for the normal mode'."\n" + ."\n" + .'- default\\_attack: rule for the emergency mode'."\n" + ."\n" + .'If you leave this parameter empty, events that triggered rate limiting based on all rules are queried.', 'type' => 'string', 'required' => false, 'example' => 'test2', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Default value: **30**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'default' => '30', 'example' => '30', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number of the page to return. Default value: **1**.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -7990,137 +8368,86 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B955107D-E658-4E77-B913-E0AC3D31693E', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'TrafficDataPerInterval' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataModule' => [ - 'description' => 'The amount of network traffic at each time interval. Unit: bytes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'HttpsDomesticValue' => [ - 'description' => 'The amount of HTTPS traffic on points of presence (POPs) in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Value' => [ - 'description' => 'The total volume of traffic.'."\n", - 'type' => 'string', - 'example' => '423304182', - ], - 'OverseasValue' => [ - 'description' => 'The amount of network traffic outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'HttpsValue' => [ - 'description' => 'The total amount of HTTPS traffic on POPs.'."\n", - 'type' => 'string', - 'example' => '423304182', - ], - 'HttpsOverseasValue' => [ - 'description' => 'The amount of HTTPS traffic on POPs outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'DomesticValue' => [ - 'description' => 'The amount of network traffic in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - ], - ], + 'PageIndex' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'title' => ''], + 'Total' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'ActivityLog' => [ + 'description' => 'The list of rate limiting logs.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The value of the trigger for rate limiting.', 'type' => 'string', 'example' => '1.2.3.4', 'title' => ''], + 'Ttl' => ['description' => 'The period of time during which rate limiting remains effective.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], + 'Action' => ['description' => 'The action that was triggered.', 'type' => 'string', 'example' => 'deny', 'title' => ''], + 'TriggerObject' => ['description' => 'The trigger of rate limiting.', 'type' => 'string', 'example' => 'Ip', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'RuleName' => ['description' => 'The name of the rule based on which rate limiting was triggered.', 'type' => 'string', 'example' => 'test', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'EndTime is earlier than StartTime.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"B955107D-E658-4E77-B913-E0AC3D31693E\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"TrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"HttpsDomesticValue\\": \\"0\\",\\n \\"Value\\": \\"423304182\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"423304182\\",\\n \\"HttpsOverseasValue\\": \\"0\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomesticValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"TrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"Value\\": \\"423304182\\",\\n \\"DomesticValue\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"423304182\\",\\n \\"HttpsDomesticValue\\": \\"0\\",\\n \\"HttpsOverseasValue\\": \\"0\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:05:00Z\\",\\n \\"Value\\": \\"454680793\\",\\n \\"DomesticValue\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"423304182\\",\\n \\"HttpsDomesticValue\\": \\"0\\",\\n \\"HttpsOverseasValue\\": \\"0\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:10:00Z\\",\\n \\"Value\\": \\"501718342\\",\\n \\"DomesticValue\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"423304182\\",\\n \\"HttpsDomesticValue\\": \\"0\\",\\n \\"HttpsOverseasValue\\": \\"0\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"B955107D-E658-4E77-B913-E0AC3D31693E\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\"\\n}"},{"type":"xml","example":"<DescribeDomainTrafficDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<DataInterval>300</DataInterval>\\r\\n\\t<TrafficDataPerInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T20:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>423304182</Value>\\r\\n\\t\\t\\t<DomesticValue>0</DomesticValue>\\r\\n\\t\\t\\t<OverseasValue>0</OverseasValue>\\r\\n\\t\\t\\t<HttpsValue>423304182</HttpsValue>\\r\\n\\t\\t\\t<HttpsDomesticValue>0</HttpsDomesticValue>\\r\\n\\t\\t\\t<HttpsOverseasValue>0</HttpsOverseasValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T20:05:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>454680793</Value>\\r\\n\\t\\t\\t<DomesticValue>0</DomesticValue>\\r\\n\\t\\t\\t<OverseasValue>0</OverseasValue>\\r\\n\\t\\t\\t<HttpsValue>423304182</HttpsValue>\\r\\n\\t\\t\\t<HttpsDomesticValue>0</HttpsDomesticValue>\\r\\n\\t\\t\\t<HttpsOverseasValue>0</HttpsOverseasValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T20:10:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>501718342</Value>\\r\\n\\t\\t\\t<DomesticValue>0</DomesticValue>\\r\\n\\t\\t\\t<OverseasValue>0</OverseasValue>\\r\\n\\t\\t\\t<HttpsValue>423304182</HttpsValue>\\r\\n\\t\\t\\t<HttpsDomesticValue>0</HttpsDomesticValue>\\r\\n\\t\\t\\t<HttpsOverseasValue>0</HttpsOverseasValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t</TrafficDataPerInterval>\\r\\n\\t<RequestId>B955107D-E658-4E77-B913-E0AC3D31693E</RequestId>\\r\\n\\t<StartTime>2015-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2015-12-10T21:00:00Z</EndTime>\\r\\n</DescribeDomainTrafficDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainTrafficData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainCcActivityLog', + 'summary' => 'Queries log entries of rate limiting.', + 'description' => '- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range. You must set both parameters or leave both parameters empty.'."\n" ."\n" - .'**Time granularity**'."\n" + .'- You can specify up to 20 domain names in reach request. If you specify multiple domain names, separate them with commas (,).'."\n" ."\n" - .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + .'- You can query data collected over the last 30 days.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366|04:00 on the next day|', + .'- Each account can call this operation up to 50 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainHttpCodeData' => [ - 'summary' => 'Queries the total number and proportions of HTTP status codes returned from an accelerated domain name. The data is collected every 5 minutes.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCcActivityLog'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCcActivityLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageIndex\\": 1,\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"PageSize\\": 30,\\n \\"Total\\": 20,\\n \\"ActivityLog\\": [\\n {\\n \\"Value\\": \\"1.2.3.4\\",\\n \\"Ttl\\": 300,\\n \\"Action\\": \\"deny\\",\\n \\"TriggerObject\\": \\"Ip\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"RuleName\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeDomainCertificateInfo' => [ + 'summary' => 'Queries certificate information for a specified accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8128,216 +8455,351 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111775', - 'abilityTreeNodes' => [ - 'FEATUREcdn86PAS0', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111768', + 'abilityTreeNodes' => ['FEATUREcdnD4PEWG', 'FEATUREcdn4R6KLH'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the number and proportions of HTTP status codes for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can query only one domain name at a time.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], - [ - 'name' => 'StartTime', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2021-06-29T05:30:00Z', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5C1E43DC-9E51-4771-82C0-7D5ECEB547A1', 'title' => ''], + 'CertInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CertInfo' => [ + 'description' => 'The list of certificate information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'CertExpireTime' => ['description' => 'The expiration time of the certificate.', 'type' => 'string', 'example' => '2018-06-03T22:03:39Z', 'title' => ''], + 'CertLife' => ['description' => 'The unit of the certificate validity period.'."\n" + ."\n" + .'- **months**'."\n" + ."\n" + .'- **years**', 'type' => 'string', 'example' => 'months', 'title' => ''], + 'Status' => ['description' => 'The status of the certificate.'."\n" + ."\n" + .'- **success**: The certificate has taken effect.'."\n" + ."\n" + .'- **checking**: The system is checking whether the domain name is added to Alibaba Cloud CDN.'."\n" + ."\n" + .'- **cname\\_error**: The CNAME record of the domain name does not point to Alibaba Cloud CDN.'."\n" + ."\n" + .'- **top\\_domain\\_cname\\_error**: The CNAME record of the top-level domain name does not point to Alibaba Cloud CDN.'."\n" + ."\n" + .'- **domain\\_invalid**: The domain name contains invalid characters.'."\n" + ."\n" + .'- **unsupport\\_wildcard**: Wildcard domain names are not supported.'."\n" + ."\n" + .'- **applying**: The certificate application is in progress.'."\n" + ."\n" + .'- **get\\_token\\_timeout**: The certificate application timed out.'."\n" + ."\n" + .'- **check\\_token\\_timeout**: The verification timed out.'."\n" + ."\n" + .'- **get\\_cert\\_timeout**: The request to obtain the certificate timed out.'."\n" + ."\n" + .'- **failed**: The certificate application failed.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'CertUpdateTime' => ['description' => 'The time when the certificate was updated.', 'type' => 'string', 'example' => '2018-06-03T22:03:39Z', 'title' => ''], + 'CertDomainName' => ['description' => 'The domain name that matches the certificate.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'ServerCertificateStatus' => ['description' => 'The status of HTTPS.'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'CertOrg' => ['description' => 'The name of the certificate authority (CA) that issued the certificate.', 'type' => 'string', 'example' => 'Let\'s Encrypt', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'CertStartTime' => ['description' => 'The start time of the certificate validity period.', 'type' => 'string', 'example' => '2018-06-03T22:03:39Z', 'title' => ''], + 'CertType' => ['description' => 'The type of the certificate.'."\n" + ."\n" + .'- **free**: A free certificate.'."\n" + ."\n" + .'- **cas**: An Alibaba Cloud Security certificate.'."\n" + ."\n" + .'- **upload**: A custom certificate that you uploaded.', 'type' => 'string', 'example' => 'free', 'title' => ''], + 'CertName' => ['description' => 'The certificate name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DomainCnameStatus' => ['description' => 'The CNAME status of the domain name.'."\n" + ."\n" + .'- **ok**: The CNAME record of the domain name points to Alibaba Cloud CDN.'."\n" + ."\n" + .'- **cname\\_error**: The CNAME record of the domain name does not point to Alibaba Cloud CDN.'."\n" + ."\n" + .'- **top\\_domain\\_cname\\_error**: The CNAME record of the top-level domain name does not point to Alibaba Cloud CDN.'."\n" + ."\n" + .'- **unsupport\\_wildcard**: Wildcard domain names are not supported.', 'type' => 'string', 'example' => 'ok', 'title' => ''], + 'ServerCertificate' => ['description' => 'The public key of the certificate.', 'type' => 'string', 'example' => 'asdadaxxxx', 'title' => ''], + 'CertId' => ['description' => 'The certificate ID.', 'type' => 'string', 'example' => '9002448', 'title' => ''], + 'CertRegion' => ['description' => 'The region where the certificate is located.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2021-06-29T05:45:00Z', - ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'SignatureDoesNotMatch', 'errorMessage' => 'The signature we calculated does not match the one you provided. Please refer to the API reference about authentication for details.', 'description' => ''], ], - [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', + 500 => [ + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to internal error.', 'description' => ''], + ], + ], + 'title' => 'DescribeDomainCertificateInfo', + 'description' => '> Each user can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-09-16T05:42:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-12T03:03:46.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCertificateInfo'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCertificateInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5C1E43DC-9E51-4771-82C0-7D5ECEB547A1\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertExpireTime\\": \\"2018-06-03T22:03:39Z\\",\\n \\"CertLife\\": \\"months\\",\\n \\"Status\\": \\"success\\",\\n \\"CertUpdateTime\\": \\"2018-06-03T22:03:39Z\\",\\n \\"CertDomainName\\": \\"example.com\\",\\n \\"ServerCertificateStatus\\": \\"on\\",\\n \\"CertOrg\\": \\"Let\'s Encrypt\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"CertStartTime\\": \\"2018-06-03T22:03:39Z\\",\\n \\"CertType\\": \\"free\\",\\n \\"CertName\\": \\"example.com\\",\\n \\"DomainCnameStatus\\": \\"ok\\",\\n \\"ServerCertificate\\": \\"asdadaxxxx\\",\\n \\"CertId\\": \\"9002448\\",\\n \\"CertRegion\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainCname' => [ + 'summary' => 'Queries the CNAME record of an accelerated domain name and verifies its configuration.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'IspNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the DescribeCdnRegionAndIsp operation to query regions. If you do not specify this parameter, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '111769', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'LocationNameEn', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the DescribeCdnRegionAndIsp operation to query ISPs. If you do not specify this parameter, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The accelerated domain names to query. To query multiple domain names, separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com,example.org', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The results of the check.', 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2021-06-29T05:45:00Z', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2021-06-29T05:30:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'HttpCodeData' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '06D29681-B7CD-4034-A8CC-28AFFA213539', 'title' => ''], + 'CnameDatas' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'UsageData' => [ - 'description' => 'The proportions of HTTP status codes at each time interval.'."\n", + 'Data' => [ + 'itemNode' => true, + 'description' => 'An array of canonical name (CNAME) check results.', + 'title' => '', 'type' => 'array', 'items' => [ + 'description' => 'The CNAME information.', 'type' => 'object', 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2021-06-29T05:40:00Z', - ], - 'Value' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CodeProportionData' => [ - 'description' => 'The information about the HTTP status codes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Proportion' => [ - 'description' => 'The proportion of the HTTP status code.'."\n", - 'type' => 'string', - 'example' => '66.046511627907', - ], - 'Count' => [ - 'description' => 'The count of each HTTP status code.'."\n", - 'type' => 'string', - 'example' => '300', - ], - ], - ], - ], - ], - ], + 'Status' => [ + 'description' => 'The result of the CNAME check. Valid values:'."\n" + ."\n" + .'- 0: The CNAME record assigned to the domain name was detected.'."\n" + ."\n" + .'- 1: The CNAME record assigned to the domain name was not detected.'."\n" + ."\n" + .'- -1: The CNAME check timed out.', + 'enumValueTitles' => ['0', '1', -1 => '-1'], + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Domain' => ['description' => 'The accelerated domain name in the request.', 'type' => 'string', 'example' => 'a.com', 'title' => ''], + 'Cname' => ['description' => 'The CNAME record that is assigned to the domain name by Alibaba Cloud CDN.', 'type' => 'string', 'example' => 'a.com.w.alikunlun.net', 'title' => ''], + 'Passed' => ['description' => 'Indicates whether the CNAME record passed the check. Valid values:'."\n" + ."\n" + .'- true: Passed.'."\n" + ."\n" + .'- false: Failed.'."\n" + ."\n" + .'- timeout: Timed out.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'ErrMsg' => ['description' => 'The error message returned if the CNAME check fails or times out.', 'type' => 'string', 'example' => 'timeout', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', + ['errorCode' => 'DomainNameOverLimit', 'errorMessage' => 'A maximum of 30 domains are supported for each request.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'InvaildParameter', 'errorMessage' => 'The parameter you provided is invalid.', 'description' => 'The format of the domain name is invalid. Correct the format and try again.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"06D29681-B7CD-4034-A8CC-28AFFA213539\\",\\n \\"CnameDatas\\": {\\n \\"Data\\": [\\n {\\n \\"Status\\": 0,\\n \\"Domain\\": \\"a.com\\",\\n \\"Cname\\": \\"a.com.w.alikunlun.net\\",\\n \\"Passed\\": \\"true\\",\\n \\"ErrMsg\\": \\"timeout\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeDomainCname', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-21T08:09:19.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-07-20T08:32:30.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCname'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCname', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + ], + ], + 'DescribeDomainCustomLogConfig' => [ + 'summary' => 'Queries the custom log configuration of an accelerated domain name.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111770', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The domain name. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => ['description' => 'The ID of the log configuration.', 'type' => 'string', 'example' => '123', 'title' => ''], + 'Tag' => ['description' => 'The tag information about the log configuration.', 'type' => 'string', 'example' => 'book', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '94E3559F-7B6A-4A5E-AFFD-44E2A208A249', 'title' => ''], + 'Remark' => ['description' => 'The format of the log configuration.', 'type' => 'string', 'example' => '$time_iso8601_$request_method_$', 'title' => ''], + 'Sample' => ['description' => 'The sample log configuration.', 'type' => 'string', 'example' => '[9/Jun/2015:01:58:09+0800]188.165.15.75-1542\\"-\\"\\"GET http://www.aliyun.com/index.html\\', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2021-06-29T05:45:00Z\\",\\n \\"StartTime\\": \\"2021-06-29T05:30:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2021-06-29T05:40:00Z\\",\\n \\"Value\\": {\\n \\"CodeProportionData\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Proportion\\": \\"66.046511627907\\",\\n \\"Count\\": \\"300\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainHttpCodeDataResponse>\\n<RequestId>BC858082-736F-4A25-867B-E5B67C85ACF7</RequestId>\\n<EndTime>2021-06-29T05:45:00Z</EndTime>\\n<DomainName>example.com</DomainName>\\n<DataInterval>300</DataInterval>\\n<StartTime>2021-06-29T05:30:00Z</StartTime>\\n<HttpCodeData>\\n <UsageData>\\n <Value>\\n <CodeProportionData>\\n <Proportion>64.26332288401254</Proportion>\\n <Count>205</Count>\\n <Code>200</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>22.570532915360502</Proportion>\\n <Count>72</Count>\\n <Code>403</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>10.344827586206897</Proportion>\\n <Count>33</Count>\\n <Code>499</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>2.8213166144200628</Proportion>\\n <Count>9</Count>\\n <Code>504</Code>\\n </CodeProportionData>\\n </Value>\\n <TimeStamp>2021-06-29T05:30:00Z</TimeStamp>\\n </UsageData>\\n <UsageData>\\n <Value>\\n <CodeProportionData>\\n <Proportion>66.96969696969697</Proportion>\\n <Count>221</Count>\\n <Code>200</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>18.787878787878785</Proportion>\\n <Count>62</Count>\\n <Code>403</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>12.121212121212121</Proportion>\\n <Count>40</Count>\\n <Code>499</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>2.1212121212121215</Proportion>\\n <Count>7</Count>\\n <Code>504</Code>\\n </CodeProportionData>\\n </Value>\\n <TimeStamp>2021-06-29T05:35:00Z</TimeStamp>\\n </UsageData>\\n <UsageData>\\n <Value>\\n <CodeProportionData>\\n <Proportion>79.6976241900648</Proportion>\\n <Count>369</Count>\\n <Code>200</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>15.118790496760258</Proportion>\\n <Count>70</Count>\\n <Code>403</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>4.535637149028078</Proportion>\\n <Count>21</Count>\\n <Code>499</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>0.21598272138228944</Proportion>\\n <Count>1</Count>\\n <Code>502</Code>\\n </CodeProportionData>\\n <CodeProportionData>\\n <Proportion>0.4319654427645789</Proportion>\\n <Count>2</Count>\\n <Code>504</Code>\\n </CodeProportionData>\\n </Value>\\n <TimeStamp>2021-06-29T05:40:00Z</TimeStamp>\\n </UsageData>\\n</HttpCodeData>\\n</DescribeDomainHttpCodeDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainHttpCodeData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - ."\n" - .'**Time granularity**'."\n" - ."\n" - .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" - ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'Config.NotFound', 'errorMessage' => 'The domain provided doesn\'t apply any custom log config, please refer to the standard log config.', 'description' => 'The corresponding custom log format does not exist for this domain name.'], + ], + ], + 'title' => 'DescribeDomainCustomLogConfig', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainHttpCodeDataByLayer' => [ - 'summary' => 'Queries HTTP status codes by protocol.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCustomLogConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCustomLogConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#domainId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ConfigId\\": \\"123\\",\\n \\"Tag\\": \\"book\\",\\n \\"RequestId\\": \\"94E3559F-7B6A-4A5E-AFFD-44E2A208A249\\",\\n \\"Remark\\": \\"$time_iso8601_$request_method_$\\",\\n \\"Sample\\": \\"[9/Jun/2015:01:58:09+0800]188.165.15.75-1542\\\\\\\\\\\\\\"-\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"GET http://www.aliyun.com/index.html\\\\\\\\\\"\\n}","type":"json"}]', + ], + 'DescribeDomainDetailDataByLayer' => [ + 'summary' => 'Retrieves detailed data for an accelerated domain name by protocol type.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8346,93 +8808,54 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111776', - 'abilityTreeNodes' => [ - 'FEATUREcdn86PAS0', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111771', + 'abilityTreeNodes' => ['FEATUREcdnTN0ZSC'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'Field', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'If you do not specify this parameter, data of all accelerated domain names under your account is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The metrics to query. You can query multiple metrics at a time. Separate multiple metrics with commas (,). Valid values: **bps**, **qps**, **traf**, **acc**, **ipv6\\_traf**, **ipv6\\_bps**, **ipv6\\_acc**, **ipv6\\_qps**, and **http\\_code**.', 'type' => 'string', 'required' => true, 'example' => 'bps,ipv6_traf,traf,http_code,qps', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-07-05T22:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name to query. You can query multiple domain names in a single request. To do so, separate the domain names with commas (,). You can specify up to 30 domain names.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-07-06T22:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard. The format is yyyy-MM-ddTHH:mm:ssZ. The time is in UTC.', 'type' => 'string', 'required' => true, 'example' => '2020-07-05T22:00:00Z', 'title' => ''], ], [ - 'name' => 'Interval', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard. The format is yyyy-MM-ddTHH:mm:ssZ. The time is in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The time range cannot exceed 1 hour.', 'type' => 'string', 'required' => true, 'example' => '2020-07-05T22:05:00Z', 'title' => ''], ], [ 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n" - ."\n" - .'If you do not specify an ISP, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], + 'schema' => ['description' => 'The name of the carrier. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query carrier names.'."\n" + ."\n" + .'If you do not set this parameter, data for all carriers is returned.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n" - ."\n" - .'If you do not specify a region, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query region names.'."\n" + ."\n" + .'If you do not set this parameter, data for all regions is returned.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou', 'title' => ''], ], [ 'name' => 'Layer', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol by which you want to query HTTP status codes. The network layer supports **IPv4** and **IPv6**. The application layer supports **http**, **https**, and **quic**. You can also set the value to **all**.'."\n" - ."\n" - .'Default value: **all**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'all', - ], + 'schema' => ['description' => 'The dimension to query. Valid values are **http**, **https**, and **quic** for the application layer, or **all**.'."\n" + ."\n" + .'The default value is **all**.', 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => ''], ], ], 'responses' => [ @@ -8440,102 +8863,103 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664', - ], - 'HttpCodeDataInterval' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664', 'title' => ''], + 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The statistics of HTTP status codes returned at each time interval.'."\n", + 'description' => 'The data returned for the accelerated domain name.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The number of times that the HTTP status code was returned.'."\n", - 'type' => 'string', - 'example' => '{ "200": 10, "206": 100}', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:35:00Z', - ], - 'TotalValue' => [ - 'description' => 'The total number of times that HTTP status codes were returned.'."\n", - 'type' => 'string', - 'example' => '110', - ], + 'Traf' => ['description' => 'The traffic. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '789756701818', 'title' => ''], + 'Qps' => ['description' => 'The number of queries per second (QPS).', 'type' => 'number', 'format' => 'float', 'example' => '5998.47', 'title' => ''], + 'Ipv6Qps' => ['description' => 'The QPS of IPv6 requests.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''], + 'Ipv6Bps' => ['description' => 'The IPv6 bandwidth. Unit: bps.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''], + 'Acc' => ['description' => 'The number of requests.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'Ipv6Traf' => ['description' => 'The IPv6 traffic. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '141718944482', 'title' => ''], + 'Ipv6Acc' => ['description' => 'The number of IPv6 requests.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TimeStamp' => ['description' => 'The start of the time slice.', 'type' => 'string', 'example' => '2020-07-05T22:00:00Z', 'title' => ''], + 'HttpCode' => ['description' => 'The distribution of HTTP status codes.', 'type' => 'string', 'example' => '200:44349|206:1753719|304:45|403:1095|416:1|499:332', 'title' => ''], + 'Bps' => ['description' => 'The bandwidth. Unit: bps.', 'type' => 'number', 'format' => 'float', 'example' => '21060178715.146667', 'title' => ''], + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DataInterval\\": \\"300\\",\\n \\"RequestId\\": \\"BEA5625F-8FCF-48F4-851B-CA63946DA664\\",\\n \\"HttpCodeDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"{ \\\\\\"200\\\\\\": 10, \\\\\\"206\\\\\\": 100}\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:35:00Z\\",\\n \\"TotalValue\\": \\"110\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainHttpCodeDataByLayerResponse>\\n<HttpCodeDataInterval>\\n <DataModule>\\n <TimeStamp>2015-12-10T21:00:00Z</TimeStamp>\\n <Value>\\n <200>10</200>\\n <206>100</206>\\n </Value>\\n <TotalValue>110</TotalValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2015-12-10T20:35:00Z</TimeStamp>\\n <Value>\\n <200>12</200>\\n <206>120</206>\\n </Value>\\n <TotalValue>132</TotalValue>\\n </DataModule>\\n</HttpCodeDataInterval>\\n<DataInterval>300</DataInterval>\\n<RequestId>BEA5625F-8FCF-48F4-851B-CA63946DA664</RequestId>\\n</DescribeDomainHttpCodeDataByLayerResponse>","errorExample":""}]', - 'title' => 'DescribeDomainHttpCodeDataByLayer', - 'description' => '* You can call this operation up to 20 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainDetailDataByLayer', + 'description' => 'The maximum call frequency for a single user is 20 calls per second.'."\n" ."\n" - .'### Time granularity'."\n" + .'**Supported time granularities**'."\n" ."\n" - .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + .'The supported time granularity for a query depends on the maximum time span specified in the query. The following table describes the time granularity, the time range of historical data that you can query, and the data latency.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'| Time granularity | Maximum time span per query | Queryable historical data range | Data latency |'."\n" + .'| ---------------- | --------------------------- | ------------------------------- | ------------ |'."\n" + .'| 5 minutes | 1 hour | 93 days | 15 minutes |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-24T06:02:12.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-24T01:30:02.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-16T09:02:04.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:20:51.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainDetailDataByLayer'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainDetailDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BEA5625F-8FCF-48F4-851B-CA63946DA664\\",\\n \\"Data\\": {\\n \\"DataModule\\": [\\n {\\n \\"Traf\\": 789756701818,\\n \\"Qps\\": 5998.47,\\n \\"Ipv6Qps\\": 0,\\n \\"Ipv6Bps\\": 0,\\n \\"Acc\\": 2,\\n \\"Ipv6Traf\\": 141718944482,\\n \\"Ipv6Acc\\": 1,\\n \\"TimeStamp\\": \\"2020-07-05T22:00:00Z\\",\\n \\"HttpCode\\": \\"200:44349|206:1753719|304:45|403:1095|416:1|499:332\\",\\n \\"Bps\\": 21060178715.146667,\\n \\"DomainName\\": \\"example.com\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainHitRateData' => [ 'summary' => 'Queries byte hit ratios that are measured in percentage.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8544,61 +8968,41 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111774', - 'abilityTreeNodes' => [ - 'FEATUREcdn3CRD2L', - ], + 'abilityTreeNodes' => ['FEATUREcdn3CRD2L'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the byte hit ratios for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the byte hit ratios for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-30T08:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-30T08:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-30T08:10:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-30T08:10:00Z', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], ], 'responses' => [ @@ -8606,117 +9010,99 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-30T08:10:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-30T08:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-30T08:10:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-30T08:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], 'HitRateInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The byte hit ratio at each time interval. The byte hit ratio is measured in percentage.'."\n", + 'description' => 'The byte hit ratio at each time interval. The byte hit ratio is measured in percentage.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The byte hit ratio.'."\n", - 'type' => 'string', - 'example' => '100.0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2019-12-30T08:00:00Z', - ], - 'HttpsValue' => [ - 'description' => 'The byte hit ratio of HTTPS requests.'."\n", - 'type' => 'string', - 'example' => '50.0', - ], + 'Value' => ['description' => 'The byte hit ratio.', 'type' => 'string', 'example' => '100.0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2019-12-30T08:00:00Z', 'title' => ''], + 'HttpsValue' => ['description' => 'The byte hit ratio of HTTPS requests.', 'type' => 'string', 'example' => '50.0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-12-30T08:10:00Z\\",\\n \\"StartTime\\": \\"2019-12-30T08:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HitRateInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"100.0\\",\\n \\"TimeStamp\\": \\"2019-12-30T08:00:00Z\\",\\n \\"HttpsValue\\": \\"50.0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainHitRateDataResponse>\\n<DomainName>example.com</DomainName>\\n<DataInterval>300</DataInterval>\\n<RequestId>0A521165-99B6-41EF-B166-5B8B8068E1CF</RequestId>\\n<EndTime>2019-12-30T08:10:00Z</EndTime>\\n<StartTime>2019-12-30T08:00:00Z</StartTime>\\n<HitRateInterval>\\n <DataModule>\\n <TimeStamp>2019-12-30T08:00:00Z</TimeStamp>\\n <Value>74.82824427480917</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-12-30T08:05:00Z</TimeStamp>\\n <Value>62.83283497081019</Value>\\n <HttpsValue>100</HttpsValue>\\n </DataModule>\\n</HitRateInterval>\\n</DescribeDomainHitRateDataResponse>\\n","errorExample":""}]', 'title' => 'DescribeDomainHitRateData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainReqHitRateData' => [ - 'summary' => 'Queries the request hit ratio in percentage.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:28:46.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainHitRateData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-30T08:10:00Z\\",\\n \\"StartTime\\": \\"2019-12-30T08:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HitRateInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"100.0\\",\\n \\"TimeStamp\\": \\"2019-12-30T08:00:00Z\\",\\n \\"HttpsValue\\": \\"50.0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainHttpCodeData' => [ + 'summary' => 'Queries the total number and proportions of HTTP status codes returned from an accelerated domain name. The data is collected every 5 minutes.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8725,61 +9111,47 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111801', - 'abilityTreeNodes' => [ - 'FEATUREcdn3CRD2L', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111775', + 'abilityTreeNodes' => ['FEATUREcdn86PAS0'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the request hit ratio for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the number and proportions of HTTP status codes for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-21T08:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2021-06-29T05:30:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-22T08:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2021-06-29T05:45:00Z', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region. You can call the DescribeCdnRegionAndIsp operation to query regions. If you do not specify this parameter, data in all regions is queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the DescribeCdnRegionAndIsp operation to query ISPs. If you do not specify this parameter, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], ], 'responses' => [ @@ -8787,109 +9159,122 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2017-12-22T08:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2017-12-21T08:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'ReqHitRateInterval' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2021-06-29T05:45:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range during which data was queried.', 'type' => 'string', 'example' => '2021-06-29T05:30:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'HttpCodeData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DataModule' => [ - 'description' => 'The request hit ratio data at each time interval. The hit ratio is measured in percentage.'."\n", + 'UsageData' => [ + 'description' => 'The proportions of HTTP status codes at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2021-06-29T05:40:00Z', 'title' => ''], 'Value' => [ - 'description' => 'The request hit ratio.'."\n", - 'type' => 'string', - 'example' => '100.0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2017-12-22T08:00:00:00Z', - ], - 'HttpsValue' => [ - 'description' => 'The hit ratio of HTTPS requests.'."\n", - 'type' => 'string', - 'example' => '50.0', + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CodeProportionData' => [ + 'description' => 'The information about the HTTP status codes.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Proportion' => ['description' => 'The proportion of the HTTP status code.', 'type' => 'string', 'example' => '66.046511627907', 'title' => ''], + 'Count' => ['description' => 'The count of each HTTP status code.', 'type' => 'string', 'example' => '300', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2017-12-22T08:00:00Z\\",\\n \\"StartTime\\": \\"2017-12-21T08:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"ReqHitRateInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"100.0\\",\\n \\"TimeStamp\\": \\"2017-12-22T08:00:00:00Z\\",\\n \\"HttpsValue\\": \\"50.0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainReqHitRateDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<DataInterval>300</DataInterval>\\r\\n\\t<RequestId>5ADA5190-EE5B-4EF2-BE00-DC441B8D81DD</RequestId>\\r\\n\\t<StartTime>2017-12-21T08:00:00Z</StartTime>\\r\\n\\t<EndTime>2017-12-22T08:00:00Z</EndTime>\\r\\n\\t<ReqHitRateInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T21:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>100.0</Value>\\r\\n\\t\\t\\t<HttpsValue>50.0</HttpsValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T20:35:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>100.0</Value>\\r\\n\\t\\t\\t<HttpsValue>50.0</HttpsValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t</ReqHitRateInterval>\\r\\n</DescribeDomainReqHitRateDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainReqHitRateData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainHttpCodeData', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainsUsageByDay' => [ - 'summary' => 'Queries the monitoring data of an accelerated domain name. Data is collected every day. You can query data collected within the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:17.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainHttpCodeData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2021-06-29T05:45:00Z\\",\\n \\"StartTime\\": \\"2021-06-29T05:30:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2021-06-29T05:40:00Z\\",\\n \\"Value\\": {\\n \\"CodeProportionData\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Proportion\\": \\"66.046511627907\\",\\n \\"Count\\": \\"300\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainHttpCodeDataByLayer' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8898,49 +9283,58 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111810', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111776', + 'abilityTreeNodes' => ['FEATUREcdn86PAS0'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n" - ."\n" - .'If you do not specify an accelerated domain name, the data of all accelerated domain names that belong to your account is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'If you do not specify this parameter, data of all accelerated domain names under your account is queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-22T08:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2020-07-05T22:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-23T09:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2020-07-06T22:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n" + ."\n" + .'If you do not specify an ISP, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n" + ."\n" + .'If you do not specify a region, data in all regions is queried.', 'type' => 'string', 'required' => false, 'example' => 'hangzhou', 'title' => ''], + ], + [ + 'name' => 'Layer', + 'in' => 'query', + 'schema' => ['description' => 'The protocol by which you want to query HTTP status codes. The network layer supports **IPv4** and **IPv6**. The application layer supports **http**, **https**, and **quic**. You can also set the value to **all**.'."\n" + ."\n" + .'Default value: **all**', 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => ''], ], ], 'responses' => [ @@ -8948,190 +9342,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-23T09:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-22T08:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C88EF8ED-72F0-45EA-9E86-95114E224FC5', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '86400', - ], - 'UsageTotal' => [ - 'description' => 'The summarized monitoring data.'."\n", - 'type' => 'object', - 'properties' => [ - 'MaxSrcBpsTime' => [ - 'description' => 'The time when the bandwidth during back-to-origin routing reached the peak value.'."\n", - 'type' => 'string', - 'example' => '2019-12-23 11:45:00', - ], - 'RequestHitRate' => [ - 'description' => 'The cache hit ratio that is calculated based on requests. The cache hit ratio is measured in percentage.'."\n", - 'type' => 'string', - 'example' => '69.92610837438424', - ], - 'MaxBps' => [ - 'description' => 'The peak bandwidth value. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '1.0747912780000001E8', - ], - 'TotalAccess' => [ - 'description' => 'The total amount of requests.'."\n", - 'type' => 'string', - 'example' => '1319500', - ], - 'BytesHitRate' => [ - 'description' => 'The byte hit ratio. The byte hit ratio is measured in percentage.'."\n", - 'type' => 'string', - 'example' => '97.03110726801242', - ], - 'TotalTraffic' => [ - 'description' => 'The total amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '1117711832100', - ], - 'MaxBpsTime' => [ - 'description' => 'The time when the bandwidth reached the peak value.'."\n", - 'type' => 'string', - 'example' => '2019-12-23 10:55:00', - ], - 'MaxSrcBps' => [ - 'description' => 'The peak bandwidth value during back-to-origin routing. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '72584.072', - ], - ], - ], - 'UsageByDays' => [ + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664', 'title' => ''], + 'HttpCodeDataInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'UsageByDay' => [ - 'description' => 'The monitoring data collected at each time interval.'."\n", + 'DataModule' => [ + 'description' => 'The statistics of HTTP status codes returned at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'MaxSrcBpsTime' => [ - 'description' => 'The time when the bandwidth during back-to-origin routing reached the peak value.'."\n", - 'type' => 'string', - 'example' => '2019-12-23 11:45:00', - ], - 'Qps' => [ - 'description' => 'The number of queries per second (QPS).'."\n", - 'type' => 'string', - 'example' => '7.466354166666667', - ], - 'RequestHitRate' => [ - 'description' => 'The cache hit ratio that is calculated based on requests. The cache hit ratio is measured in percentage.'."\n", - 'type' => 'string', - 'example' => '70.24770071912111', - ], - 'MaxBps' => [ - 'description' => 'The peak bandwidth value. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '306747.76', - ], - 'TotalAccess' => [ - 'description' => 'The total amount of requests.'."\n", - 'type' => 'string', - 'example' => '645093', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2019-12-22', - ], - 'BytesHitRate' => [ - 'description' => 'The byte hit ratio. The byte hit ratio is measured in percentage.'."\n", - 'type' => 'string', - 'example' => '97.46250599529726', - ], - 'TotalTraffic' => [ - 'description' => 'The total amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '564300099309', - ], - 'MaxSrcBps' => [ - 'description' => 'The peak bandwidth value during back-to-origin routing. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '72584.072', - ], - 'MaxBpsTime' => [ - 'description' => 'The time when the bandwidth reached the peak value.'."\n", - 'type' => 'string', - 'example' => '2019-12-23 10:55:00', - ], + 'Value' => ['description' => 'The number of times that the HTTP status code was returned.', 'type' => 'string', 'example' => '{ "200": 10, "206": 100}', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2015-12-10T20:35:00Z', 'title' => ''], + 'TotalValue' => ['description' => 'The total number of times that HTTP status codes were returned.', 'type' => 'string', 'example' => '110', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-12-23T09:00:00Z\\",\\n \\"StartTime\\": \\"2019-12-22T08:00:00Z\\",\\n \\"RequestId\\": \\"C88EF8ED-72F0-45EA-9E86-95114E224FC5\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"86400\\",\\n \\"UsageTotal\\": {\\n \\"MaxSrcBpsTime\\": \\"2019-12-23 11:45:00\\",\\n \\"RequestHitRate\\": \\"69.92610837438424\\",\\n \\"MaxBps\\": \\"1.0747912780000001E8\\",\\n \\"TotalAccess\\": \\"1319500\\",\\n \\"BytesHitRate\\": \\"97.03110726801242\\",\\n \\"TotalTraffic\\": \\"1117711832100\\",\\n \\"MaxBpsTime\\": \\"2019-12-23 10:55:00\\",\\n \\"MaxSrcBps\\": \\"72584.072\\"\\n },\\n \\"UsageByDays\\": {\\n \\"UsageByDay\\": [\\n {\\n \\"MaxSrcBpsTime\\": \\"2019-12-23 11:45:00\\",\\n \\"Qps\\": \\"7.466354166666667\\",\\n \\"RequestHitRate\\": \\"70.24770071912111\\",\\n \\"MaxBps\\": \\"306747.76\\",\\n \\"TotalAccess\\": \\"645093\\",\\n \\"TimeStamp\\": \\"2019-12-22\\",\\n \\"BytesHitRate\\": \\"97.46250599529726\\",\\n \\"TotalTraffic\\": \\"564300099309\\",\\n \\"MaxSrcBps\\": \\"72584.072\\",\\n \\"MaxBpsTime\\": \\"2019-12-23 10:55:00\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainsUsageByDayResponse>\\n<UsageTotal>\\n <RequestHitRate>0.46869615163699024</RequestHitRate>\\n <MaxSrcBpsTime>2019-12-23 11:45:00</MaxSrcBpsTime>\\n <MaxSrcBps>72584.072</MaxSrcBps>\\n <MaxBps>306747.76</MaxBps>\\n <TotalTraffic>220090843</TotalTraffic>\\n <TotalAccess>1741</TotalAccess>\\n <MaxBpsTime>2019-12-23 10:55:00</MaxBpsTime>\\n <BytesHitRate>0.9338625414779297</BytesHitRate>\\n</UsageTotal>\\n<UsageByDays>\\n <UsageByDay>\\n <TimeStamp>2019-12-23</TimeStamp>\\n <RequestHitRate>0.46869615163699024</RequestHitRate>\\n <MaxSrcBpsTime>2019-12-23 11:45:00</MaxSrcBpsTime>\\n <MaxSrcBps>72584.072</MaxSrcBps>\\n <MaxBps>306747.76</MaxBps>\\n <TotalTraffic>220090843</TotalTraffic>\\n <TotalAccess>1741</TotalAccess>\\n <MaxBpsTime>2019-12-23 10:55:00</MaxBpsTime>\\n <Qps>0.020150462962962964</Qps>\\n <BytesHitRate>0.9338625398107486</BytesHitRate>\\n </UsageByDay>\\n</UsageByDays>\\n<RequestId>0DE5531F-A7C2-4788-A35A-38883193B2D8</RequestId>\\n<EndTime>2019-12-23T09:00:00Z</EndTime>\\n<StartTime>2019-12-22T08:00:00Z</StartTime>\\n<DomainName>example.com</DomainName>\\n<DataInterval>86400</DataInterval>\\n</DescribeDomainsUsageByDayResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainsUsageByDay', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set StartTime or EndTime, data within the last 24 hours is queried. If you set both StartTime and EndTime, data within the specified time range is queried.'."\n" - .'* You can query the monitoring data of a specific accelerated domain name or all accelerated domain names that belong to your Alibaba Cloud account.'."\n", + 'title' => 'DescribeDomainHttpCodeDataByLayer', + 'summary' => 'Queries HTTP status codes by protocol.', + 'description' => '- Each account can call this operation up to 20 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'### Time granularity'."\n" + ."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainDetailDataByLayer' => [ - 'summary' => 'The domain name that you want to query. You can specify multiple domain names and separate them with commas (,). You can specify at most 30 domain names in each call.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:28:50.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainHttpCodeDataByLayer'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainHttpCodeDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DataInterval\\": \\"300\\",\\n \\"RequestId\\": \\"BEA5625F-8FCF-48F4-851B-CA63946DA664\\",\\n \\"HttpCodeDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"{ \\\\\\"200\\\\\\": 10, \\\\\\"206\\\\\\": 100}\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:35:00Z\\",\\n \\"TotalValue\\": \\"110\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainISPData' => [ + 'summary' => 'Queries the proportions of data usage of different Internet service providers (ISPs). Data is collected every day. You can query data collected in the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9142,89 +9443,30 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111771', - 'abilityTreeNodes' => [ - 'FEATUREcdnTN0ZSC', - ], + 'abilityTreeCode' => '111778', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ - 'name' => 'Field', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'bps,ipv6_traf,traf,http_code,qps', - ], - ], - [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP) for your Alibaba Cloud CDN service. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n" - ."\n" - .'If you do not specify an ISP, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each call.'."\n" + ."\n" + .'By default, this operation queries the proportions of data usage for all accelerated domain names.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n" - ."\n" - .'If you do not specify a region, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-07-05T22:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-11-29T05:33:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol by which you want to query data. Valid values: **http**, **https**, **quic**, and **all**.'."\n" - ."\n" - .'The default value is **all**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-07-05T22:05:00Z', - ], - ], - [ - 'name' => 'IspNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], - ], - [ - 'name' => 'LocationNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The detailed data of the accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'hangzhou', - ], - ], - [ - 'name' => 'Layer', - 'in' => 'query', - 'schema' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'all', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], ], 'responses' => [ @@ -9232,221 +9474,154 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The number of queries per second.'."\n", - 'type' => 'string', - 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664', - ], - 'Data' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2019-11-29T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'DE81639B-DAC1-4C76-AB72-F34B836837D5', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval. Unit: seconds.'."\n", 'type' => 'string', 'example' => '86400', 'title' => ''], + 'Value' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DataModule' => [ - 'description' => 'The number of IPv6 requests per second.'."\n", + 'ISPProportionData' => [ + 'description' => 'The access statistics by ISP.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Traf' => [ - 'description' => 'The bandwidth of IPv6 requests. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '789756701818', - ], - 'Qps' => [ - 'description' => 'The number of requests.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '5998.47', - ], - 'Ipv6Qps' => [ - 'description' => 'The amount of network traffic generated by IPv6 requests. Unit: bytes.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'Ipv6Bps' => [ - 'description' => 'The number of IPv6 requests.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - 'Acc' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Ipv6Traf' => [ - 'description' => 'The proportions of HTTP status codes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '141718944482', - ], - 'Ipv6Acc' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'TimeStamp' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => '2020-07-05T22:00:00Z', - ], - 'HttpCode' => [ - 'description' => '- You can call this operation up to 20 times per second per account.'."\n" - .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - ."\n" - .'**Time granularity**'."\n" - ."\n" - .'The following table describes the time granularity, the time period within which historical data is available, and the data delay, which vary with the maximum time range per query. '."\n" - ."\n" - .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" - .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" - .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" - .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" - .'| 1 days | 366 days | 366 days | 04:00 on the next day |', - 'type' => 'string', - 'example' => '200:44349|206:1753719|304:45|403:1095|416:1|499:332', - ], - 'Bps' => [ - 'description' => 'The bandwidth of IPv6 requests. Unit: bit/s.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '21060178715.146667', - ], - 'DomainName' => [ - 'description' => 'The number of requests.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], + 'TotalQuery' => ['description' => 'The total number of requests.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''], + 'TotalBytes' => ['description' => 'The total volume of traffic.'."\n", 'type' => 'string', 'example' => '7081884', 'title' => ''], + 'AvgResponseRate' => ['description' => 'The average response speed. Unit: byte/ms.'."\n", 'type' => 'string', 'example' => '88.92594866772144', 'title' => ''], + 'AvgResponseTime' => ['description' => 'The average response time. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '79638.0', 'title' => ''], + 'ReqErrRate' => ['description' => 'The request error rate.'."\n", 'type' => 'string', 'example' => '0.0', 'title' => ''], + 'AvgObjectSize' => ['description' => 'The average response size. Unit: bytes.'."\n", 'type' => 'string', 'example' => '7081884.7', 'title' => ''], + 'Bps' => ['description' => 'The bandwidth.'."\n", 'type' => 'string', 'example' => '1311.4601296296296', 'title' => ''], + 'Qps' => ['description' => 'The QPS.'."\n", 'type' => 'string', 'example' => '2.3148148148148147E-5', 'title' => ''], + 'Proportion' => ['description' => 'The proportion of the HTTP status code.'."\n", 'type' => 'string', 'example' => '0.004509176173513099', 'title' => ''], + 'IspEname' => ['description' => 'The name of the ISP.'."\n", 'type' => 'string', 'example' => 'alibaba', 'title' => ''], + 'ISP' => ['description' => 'The information about the ISP.'."\n", 'type' => 'string', 'example' => '阿里巴巴', 'title' => ''], + 'BytesProportion' => ['description' => 'The proportion of network traffic.'."\n", 'type' => 'string', 'example' => '0.012220518530445479', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ], + 404 => [ + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BEA5625F-8FCF-48F4-851B-CA63946DA664\\",\\n \\"Data\\": {\\n \\"DataModule\\": [\\n {\\n \\"Traf\\": 789756701818,\\n \\"Qps\\": 5998.47,\\n \\"Ipv6Qps\\": 0,\\n \\"Ipv6Bps\\": 0,\\n \\"Acc\\": 2,\\n \\"Ipv6Traf\\": 141718944482,\\n \\"Ipv6Acc\\": 1,\\n \\"TimeStamp\\": \\"2020-07-05T22:00:00Z\\",\\n \\"HttpCode\\": \\"200:44349|206:1753719|304:45|403:1095|416:1|499:332\\",\\n \\"Bps\\": 21060178715.146667,\\n \\"DomainName\\": \\"example.com\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainDetailDataByLayerResponse>\\n<Data>\\n <Acc>2</Acc>\\n <Ipv6Bps>0</Ipv6Bps>\\n <HttpCode>200:2</HttpCode>\\n <Ipv6Qps>0</Ipv6Qps>\\n <Bps>268.8986666666667</Bps>\\n <Traf>10083</Traf>\\n <Ipv6Acc>0</Ipv6Acc>\\n <DomainName>example.com</DomainName>\\n <Qps>0.006666666666666667</Qps>\\n <Ipv6Traf>0</Ipv6Traf>\\n <TimeStamp>2020-09-07T03:35:00Z</TimeStamp>\\n</Data>\\n<RequestId>BEA5625F-8FCF-48F4-851B-CA63946DA664</RequestId>\\n</DescribeDomainDetailDataByLayerResponse>","errorExample":""}]', - 'title' => 'DescribeDomainDetailDataByLayer', - 'description' => 'You can call this operation up to 20 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-29T05:33:00Z\\",\\n \\"RequestId\\": \\"DE81639B-DAC1-4C76-AB72-F34B836837D5\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"86400\\",\\n \\"Value\\": {\\n \\"ISPProportionData\\": [\\n {\\n \\"TotalQuery\\": \\"1\\",\\n \\"TotalBytes\\": \\"7081884\\",\\n \\"AvgResponseRate\\": \\"88.92594866772144\\",\\n \\"AvgResponseTime\\": \\"79638.0\\",\\n \\"ReqErrRate\\": \\"0.0\\",\\n \\"AvgObjectSize\\": \\"7081884.7\\",\\n \\"Bps\\": \\"1311.4601296296296\\",\\n \\"Qps\\": \\"2.3148148148148147E-5\\",\\n \\"Proportion\\": \\"0.004509176173513099\\",\\n \\"IspEname\\": \\"alibaba\\",\\n \\"ISP\\": \\"阿里巴巴\\",\\n \\"BytesProportion\\": \\"0.012220518530445479\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DescribeDomainISPData', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + ."\n" + .'> * If you do not set StartTime or EndTime, the request returns the data collected in the last 24 hours. If you set both StartTime and EndTime, the request returns the data collected within the specified time range.'."\n" + .'>* This operation queries proportions of data usage of different ISPs for only a specific accelerated domain name, or for all accelerated domain names in your Alibaba Cloud account.'."\n" + .'>* You can call this operation up to 100 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRangeDataByLocateAndIspService' => [ - 'summary' => 'Queries the bandwidth values by Internet service provider (ISP) and region.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:13:06.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainISPData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainISPData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainMax95BpsData' => [ + 'summary' => 'Queries the 95th percentile bandwidth data of a domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111826', - 'abilityTreeNodes' => [ - 'FEATUREcdnF7OM8K', - ], - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'DomainNames', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. If you do not specify a domain name, data of all domain names is queried.'."\n" + ."\n" + .'> You cannot specify multiple domain names in a DescribeDomainMax95BpsData request.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-30T05:33:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2017-12-21T08:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time. The maximum time range that can be specified is 1 hour.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2017-12-22T08:00:00Z', 'title' => ''], ], [ - 'name' => 'IspNames', + 'name' => 'TimePoint', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ISP. You can specify only one ISP name in each call.'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2017-12-21T10:00:00Z', 'title' => ''], ], [ - 'name' => 'LocationNames', + 'name' => 'Cycle', 'in' => 'query', 'schema' => [ - 'description' => 'The names of the regions. Separate multiple region names with commas (,).'."\n" + 'description' => 'The cycle to query the 95th percentile bandwidth data. Default value: **day**. Valid values:'."\n" + ."\n" + .'- **day**: queries the 95th percentile bandwidth data by day.'."\n" ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list.'."\n", + .'- **month**: queries the 95th percentile bandwidth data by month.', 'type' => 'string', 'required' => false, - 'example' => 'liaoning,guangxi', + 'enum' => ['day', 'month'], + 'example' => 'month', + 'title' => '', ], ], ], @@ -9455,58 +9630,115 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'JsonResult' => [ - 'description' => 'The response parameters in the JSON format. These parameters indicate the following information in sequence: UNIX time, region, ISP, distribution of HTTP status codes, response time, bandwidth (bit/s), average response rate, page views, cache hit ratio, and request hit ratio.'."\n", - 'type' => 'string', - 'example' => '{"1472659200":{"Tianjin":{"China Telecom":{"http_codes":{"000":0,"200":6,"400":0},"rt":4183,"bandwidth":46639,"avg_speed":7773,"pv":6,"hit_rate":0.93,"request_hit_rate":0.66}}}}'."\n", - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'EndTime' => ['description' => 'The end of the time range for which the data was queried.', 'type' => 'string', 'example' => '2015-12-11T21:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range for which the data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'DomesticMax95Bps' => ['description' => 'The 95th percentile bandwidth in the Chinese mainland.', 'type' => 'string', 'example' => '16777590.28', 'title' => ''], + 'OverseasMax95Bps' => ['description' => 'The 95th percentile bandwidth outside the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Max95Bps' => ['description' => 'The 95th percentile bandwidth.', 'type' => 'string', 'example' => '16777590.28', 'title' => ''], + 'DetailData' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Max95Detail' => [ + 'description' => 'Details of the 95th percentile bandwidth.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2015-12-11T21:00:00Z', 'title' => ''], + 'Area' => ['description' => 'Region of the 95th percentile bandwidth.', 'type' => 'string', 'example' => 'CN', 'title' => ''], + 'Max95BpsPeakTime' => ['description' => 'Time of the 95th percentile bandwidth.', 'type' => 'string', 'example' => '2015-12-11T21:05:00Z', 'title' => ''], + 'Max95Bps' => ['description' => 'The 95th percentile bandwidth.', 'type' => 'number', 'format' => 'float', 'example' => '16777590.28', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.ValueNotSupported', - 'errorMessage' => 'StartTime or EndTime is miss match.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidTimePoint.Malformed', 'errorMessage' => 'Specified TimePoint is malformed.', 'description' => 'The specified TimePoint parameter is invalid.'], + ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span as described in API documentation.'], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ], + 404 => [ + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"JsonResult\\": \\"{\\\\\\"1472659200\\\\\\":{\\\\\\"天津市\\\\\\":{\\\\\\"电信\\\\\\":{\\\\\\"http_codes\\\\\\":{\\\\\\"000\\\\\\":0,\\\\\\"200\\\\\\":6,\\\\\\"400\\\\\\":0},\\\\\\"rt\\\\\\":4183,\\\\\\"bandwidth\\\\\\":46639,\\\\\\"avg_speed\\\\\\":7773,\\\\\\"pv\\\\\\":6,\\\\\\"hit_rate\\\\\\":0.93,\\\\\\"request_hit_rate\\\\\\":0}}}}\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeRangeDataByLocateAndIspServiceResponse>\\n<JsonResult>\\n <1472659200>\\n <天津市>\\n <电信>\\n <bandwidth>9889849.592</bandwidth>\\n <pv>5739</pv>\\n <hit_rate>0</hit_rate>\\n <http_codes>\\n <200>5675</200>\\n <206>5</206>\\n <302>5</302>\\n <304>45</304>\\n <400>1</400>\\n <403>8</403>\\n <404>0</404>\\n <405>0</405>\\n <408>0</408>\\n <412>0</412>\\n <416>0</416>\\n <500>0</500>\\n <501>0</501>\\n <502>0</502>\\n <503>0</503>\\n <504>0</504>\\n <000>0</000>\\n </http_codes>\\n <rt>0</rt>\\n </电信>\\n <联通/>\\n <移动/>\\n </天津市>\\n <北京市>\\n <电信>\\n <bandwidth>9889849.592</bandwidth>\\n <pv>5739</pv>\\n <hit_rate>0</hit_rate>\\n <http_codes>\\n <200>5675</200>\\n <206>5</206>\\n <302>5</302>\\n <304>45</304>\\n <400>1</400>\\n <403>8</403>\\n <404>0</404>\\n <405>0</405>\\n <408>0</408>\\n <412>0</412>\\n <416>0</416>\\n <500>0</500>\\n <501>0</501>\\n <502>0</502>\\n <503>0</503>\\n <504>0</504>\\n <000>0</000>\\n </http_codes>\\n <rt>0</rt>\\n </电信>\\n <联通/>\\n <移动/>\\n </北京市>\\n </1472659200>\\n <1472659500>\\n <天津市>\\n <电信>\\n <bandwidth>7024681.44</bandwidth>\\n <pv>5819</pv>\\n <hit_rate>0</hit_rate>\\n <http_codes>\\n <200>5716</200>\\n <206>11</206>\\n <302>3</302>\\n <304>72</304>\\n <400>1</400>\\n <403>16</403>\\n <404>0</404>\\n <405>0</405>\\n <408>0</408>\\n <412>0</412>\\n <416>0</416>\\n <500>0</500>\\n <501>0</501>\\n <502>0</502>\\n <503>0</503>\\n <504>0</504>\\n <000>0</000>\\n </http_codes>\\n <rt>0</rt>\\n </电信>\\n <联通/>\\n <移动/>\\n </天津市>\\n </1472659500>\\n</JsonResult>\\n<RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>\\n</DescribeRangeDataByLocateAndIspServiceResponse>","errorExample":""}]', - 'title' => 'DescribeRangeDataByLocateAndIspService', - 'description' => '* The data is collected every 5 minutes.'."\n" - .'* You can call this operation up to 20 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"EndTime\\": \\"2015-12-11T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomesticMax95Bps\\": \\"16777590.28\\",\\n \\"OverseasMax95Bps\\": \\"0\\",\\n \\"Max95Bps\\": \\"16777590.28\\",\\n \\"DetailData\\": {\\n \\"Max95Detail\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-11T21:00:00Z\\",\\n \\"Area\\": \\"CN\\",\\n \\"Max95BpsPeakTime\\": \\"2015-12-11T21:05:00Z\\",\\n \\"Max95Bps\\": 16777590.28\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeDomainMax95BpsData', + 'description' => '**You can use one of the following methods to query data:**'."\n" + ."\n" + .'- If you specify the StartTime and EndTime parameters and the time range that is specified by these parameters is less than or equal to 24 hours, the 95th percentile bandwidth data on the day of the start time is returned. If the time range that is specified by these parameters is more than 24 hours, the 95th percentile bandwidth data in the month of the start time is returned.'."\n" + ."\n" + .'- If you specify the TimePoint and Cycle parameters, the 95th percentile bandwidth data of the cycle is returned.'."\n" + ."\n" + .'- If you specify the StartTime, EndTime, and Cycle parameters, the 95th percentile bandwidth data of the cycle is returned.'."\n" + ."\n" + .'If you do not use one of the methods, the 95th percentile bandwidth data of the previous 24 hours is returned by default.'."\n" + ."\n" + .'- Maximum time range to query: 90 days'."\n" + ."\n" + .'- Minimum data granularity to query: 1 day'."\n" + ."\n" + .'- Historical data available: 90 days'."\n" + ."\n" + .'* Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'* The unit of the bandwidth data returned is bit/s.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainSrcBpsData' => [ - 'summary' => 'Queries bandwidth monitoring data of requests that are redirected to origin servers for one or more accelerated domain names.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:21:15.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-04-13T07:11:45.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-04-06T07:23:28.000Z', 'description' => 'Error codes changed, Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainMax95BpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainMax95BpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainMultiUsageData' => [ + 'summary' => 'Queries the traffic data and the number of requests for multiple accelerated domain names at a time.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9515,61 +9747,31 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111804', - 'abilityTreeNodes' => [ - 'FEATUREcdnE9OF3Y', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111781', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each call. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the geographic distribution of users for all accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" + ."\n" + .'> * You can specify a maximum of 30 domain names at a time.'."\n" + .'>* If this parameter is not set, data of all your accelerated domain names is queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2017-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:30:00Z', - ], - ], - [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time interval between the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Description**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2017-12-10T21:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -9577,125 +9779,128 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:30:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', + 'EndTime' => ['description' => 'The end of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2017-12-10T21:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2017-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', 'title' => ''], + 'RequestPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RequestDataModule' => [ + 'description' => 'The information about requests collected every 5 minutes.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type.'."\n" + ."\n" + .'> The value is Simple for Alibaba Cloud CDN.'."\n", 'type' => 'string', 'example' => 'Simple', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned number of requests.'."\n", 'type' => 'string', 'example' => '2017-12-10T20:00:00Z', 'title' => ''], + 'Domain' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'Request' => ['description' => 'The number of requests.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '11288111', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'SrcBpsDataPerInterval' => [ + 'TrafficPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DataModule' => [ - 'description' => 'The origin bandwidth data at each time interval. Unit: bit/s.'."\n", + 'TrafficDataModule' => [ + 'description' => 'The statistics of network traffic collected every 5 minutes.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The traffic value at each time interval.'."\n", - 'type' => 'string', - 'example' => '500', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:00:00Z', - ], - 'HttpsValue' => [ - 'description' => 'The bandwidth values of origin HTTPS requests.'."\n", - 'type' => 'string', - 'example' => '10', - ], + 'Type' => ['description' => 'The type of requests. Valid values:'."\n" + ."\n" + .'* **StaticHttps**: static HTTPS requests'."\n" + .'* **DynamicHttps**: dynamic HTTPS requests'."\n" + .'* **DynamicHttp**: dynamic HTTP requests'."\n" + .'* **StaticQuic**: static QUIC requests'."\n" + .'* **DynamicQuic**: dynamic QUIC requests'."\n", 'type' => 'string', 'example' => 'DynamicHttp', 'title' => ''], + 'Domain' => ['description' => 'The domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'TimeStamp' => ['description' => 'The startstamp of the returned usage data.'."\n", 'type' => 'string', 'example' => '2017-12-10T20:00:00Z', 'title' => ''], + 'Area' => ['description' => 'The name of the region.'."\n", 'type' => 'string', 'example' => 'CN', 'title' => ''], + 'Bps' => ['description' => 'The bandwidth. Unit: bit/s.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '11288111.1', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'StartTime and EndTime can not be single.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidDomainName.Overlimit', - 'errorMessage' => 'Too many DomainNames are specified.', - ], - [ - 'errorCode' => 'InvalidInterval.Malformed', - 'errorMessage' => 'Specified Interval is malformed.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidDomainName', 'errorMessage' => 'The specified DomainNames is invalid.', 'description' => 'No domain name is specified or the number of specified domain names exceeds the limit. Specify domain names based on the API documentation.'], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span as described in API documentation.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:30:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcBpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"500\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:00:00Z\\",\\n \\"HttpsValue\\": \\"10\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainSrcBpsDataResponse>\\n<SrcBpsDataPerInterval>\\n <DataModule>\\n <TimeStamp>2019-12-10T20:00:00Z</TimeStamp>\\n <Value>31.709333333333337</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-12-10T20:05:00Z</TimeStamp>\\n <Value>31.709333333333337</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-12-10T20:10:00Z</TimeStamp>\\n <Value>31.709333333333337</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-12-10T20:15:00Z</TimeStamp>\\n <Value>31.709333333333337</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-12-10T20:20:00Z</TimeStamp>\\n <Value>31.709333333333337</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-12-10T20:25:00Z</TimeStamp>\\n <Value>43.32533333333333</Value>\\n <HttpsValue>0</HttpsValue>\\n </DataModule>\\n</SrcBpsDataPerInterval>\\n<DataInterval>300</DataInterval>\\n<RequestId>28B4EBA6-0AF4-407A-AAC9-6BC5F8D8158B</RequestId>\\n<EndTime>2019-12-10T20:30:00Z</EndTime>\\n<StartTime>2019-12-10T20:00:00Z</StartTime>\\n</DescribeDomainSrcBpsDataResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainSrcBpsData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not specify the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you specify both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" - ."\n" - .'**Time granularity**'."\n" - ."\n" - .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the time range to query, as described in the following table.'."\n" - ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2017-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2017-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"RequestPerInterval\\": {\\n \\"RequestDataModule\\": [\\n {\\n \\"Type\\": \\"Simple\\",\\n \\"TimeStamp\\": \\"2017-12-10T20:00:00Z\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"Request\\": 11288111\\n }\\n ]\\n },\\n \\"TrafficPerInterval\\": {\\n \\"TrafficDataModule\\": [\\n {\\n \\"Type\\": \\"DynamicHttp\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"TimeStamp\\": \\"2017-12-10T20:00:00Z\\",\\n \\"Area\\": \\"CN\\",\\n \\"Bps\\": 11288111.1\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainMultiUsageDataResesponse>\\n<TrafficPerInterval>\\n <TrafficDataModule>\\n <TimeStamp>2017-12-10T20:00:00Z</TimeStamp>\\n <Domain>example.com</Domain>\\n <Bps>11288111.1</Bps>\\n <Type>Simple</Type>\\n <Area>CN</Area>\\n </TrafficDataModule>\\n</TrafficPerInterval>\\n<RequestPerInterval>\\n <RequestDataModule>\\n <TimeStamp>2017-12-10T20:00:00Z</TimeStamp>\\n <Domain>example.com</Domain>\\n <Request>11288111</Request>\\n <Type>DynamicHttp</Type>\\n </RequestDataModule>\\n <RequestDataModule>\\n <TimeStamp>2017-12-10T20:00:00Z</TimeStamp>\\n <Domain>example.com</Domain>\\n <Request>11288111</Request>\\n <Type>StaticHttps</Type>\\n </RequestDataModule>\\n</RequestPerInterval>\\n<RequestId>3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F</RequestId>\\n<StartTime>2017-12-10T20:00:00Z</StartTime>\\n<EndTime>2017-12-10T21:00:00Z</EndTime>\\n</DescribeDomainMultiUsageDataResesponse>","errorExample":""}]', + 'title' => 'DescribeDomainMultiUsageData', + 'description' => '* If you do not set StartTime or EndTime, data collected within the last 10 minutes is queried.'."\n" + .'* The maximum interval between StartTime and EndTime is 1 hour.'."\n" + .'* You can query data within the last 90 days.'."\n" + .'* You can query the traffic data and the number of requests for accelerated domain names that are deleted.'."\n" + .'* You can call this operation up to 50 times per second per account.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainSrcHttpCodeData' => [ - 'summary' => 'Queries the proportions of HTTP status codes that are returned during back-to-origin routing.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:15:28.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainMultiUsageData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainMultiUsageData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainPathData' => [ + 'summary' => 'Queries monitoring data including the amount of network traffic and the number of visits by directory.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9703,56 +9908,46 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111806', - 'abilityTreeNodes' => [ - 'FEATUREcdnUQAZK1', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111783', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify a maximum of 500 domain names in a request. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com,example.org', - ], + 'schema' => ['description' => 'The number of the page to return. Pages start from page **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: integers from **1** to **1000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'default' => '20', 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'Path', + 'in' => 'query', + 'schema' => ['description' => 'The paths that you want to query. Separate paths with forward slashes (/). If you do not set this parameter, all paths are queried. If you set the value to a directory, it must end with a forward slash (/).'."\n" + ."\n" + .'> Fuzzy match is not supported. If you want data to be collected based on a directory, you can specify a specific directory, for example, directory/path/. In this case, bandwidth data is collected based on directory/path/.', 'type' => 'string', 'required' => false, 'example' => '/path/', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:33:00Z', - ], + 'schema' => ['description' => 'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2016-10-20T04:00:00Z.', 'type' => 'string', 'required' => false, 'example' => '2016-10-20T04:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard. The time is displayed in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The interval between the start time and end time must be less than 30 days. Example: 2016-10-21T04:00:00Z.', 'type' => 'string', 'required' => false, 'example' => '2016-10-21T04:00:00Z', 'title' => ''], ], [ - 'name' => 'Interval', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The time interval between the data entries to return. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Description**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The accelerated domain name.'."\n" + ."\n" + .'> You can specify only one domain name in each call.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -9760,137 +9955,110 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-11-30T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com,example.org', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'HttpCodeData' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2017-09-30T17:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2017-09-30T16:00:00Z', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page. Pages start from page **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'PathDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'UsageData' => [ - 'description' => 'The proportions of HTTP status codes at each time interval.'."\n", + 'description' => 'A list of bandwidth values collected at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-11-30T05:30:00Z', - ], - 'Value' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CodeProportionData' => [ - 'description' => 'The proportions of the HTTP status codes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Proportion' => [ - 'description' => 'The proportion of the HTTP status code.'."\n", - 'type' => 'string', - 'example' => '67.1458998935037', - ], - 'Count' => [ - 'description' => 'The total number of entries.'."\n", - 'type' => 'string', - 'example' => '2300', - ], - ], - ], - ], - ], - ], + 'Path' => ['description' => 'The path.', 'type' => 'string', 'example' => '/path/', 'title' => ''], + 'Time' => ['description' => 'The point in time.', 'type' => 'string', 'example' => '2017-09-30T16:00:00Z', 'title' => ''], + 'Acc' => ['description' => 'The number of visits to the URL.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Traffic' => ['description' => 'The amount of network traffic. Unit: bytes.', 'type' => 'integer', 'format' => 'int32', 'example' => '346', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'DE81639B-DAC1-4C76-AB72-F34B836837D5', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'InvalidPageSize.Malformed', 'errorMessage' => 'PageSize must be of type Integer', 'description' => ''], + ['errorCode' => 'InvalidPageSize.ExceedsMaximum', 'errorMessage' => 'PageSize should be less than or equal to 1000', 'description' => ''], + ['errorCode' => 'InvalidPageSize.ExceedsMinimum', 'errorMessage' => 'PageSize should be greater than or equal to 1', 'description' => ''], + ['errorCode' => 'InvalidPath.Malformed', 'errorMessage' => 'Path must be of type String', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'StartTime must be of type String', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'EndTime must be of type String', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'DomainName must be of type String', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'DomainName is required', 'description' => ''], + ['errorCode' => 'InvalidDomainName.TooShort', 'errorMessage' => 'DomainName should be at least 1 chars long', 'description' => ''], + ['errorCode' => 'InvalidPageNumber.Malformed', 'errorMessage' => 'PageNumber must be of type Integer', 'description' => ''], + ['errorCode' => 'InvalidPageNumber.ExceedsMinimum', 'errorMessage' => 'PageNumber should be greater than or equal to 1', 'description' => ''], + ['errorCode' => 'InvalidTime.OverRange', 'errorMessage' => 'Specified StartTime or EndTime is over range', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2015-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com,example.org\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:30:00Z\\",\\n \\"Value\\": {\\n \\"CodeProportionData\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Proportion\\": \\"67.1458998935037\\",\\n \\"Count\\": \\"2300\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainSrcHttpCodeDataResponse>\\t\\n<HttpCodeData>\\n <UsageData>\\n <TimeStamp>2019-11-30T05:35:00Z</TimeStamp>\\n <Value>\\n <CodeProportionData>\\n <Count>1</Count>\\n <Proportion>100</Proportion>\\n <Code>200</Code>\\n </CodeProportionData>\\n </Value>\\n </UsageData>\\n</HttpCodeData>\\n<DataInterval>300</DataInterval>\\n<RequestId>A2E05931-13B7-40C3-843F-ECD9423959C1</RequestId>\\n<EndTime>2019-11-30T05:40:00Z</EndTime>\\n<StartTime>2019-11-30T05:33:00Z</StartTime>\\n</DescribeDomainSrcHttpCodeDataResponse>\\t\\n","errorExample":""}]', - 'title' => 'DescribeDomainSrcHttpCodeData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainPathData', + 'description' => '- This operation is available only to users that are on the whitelist. If the daily peak bandwidth value of your workloads reaches 10 Gbit/s, you can [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex) to apply to be included in the whitelist.'."\n" ."\n" - .'**Time granularity**'."\n" + .'- Each account can call this operation up to 6,000 times per second.'."\n" ."\n" - .'The time granularity supported by the Interval parameter varies with the maximum time range per query. The following table describes the time period within which historical data is available and the data delay.'."\n" + .'- Data collection by directory is available only to specified domain names within your Alibaba Cloud account. It cannot be enabled for all domain names within your Alibaba Cloud account.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'- The average size of the files that belong to the domain name must be larger than 1 MB.'."\n" + ."\n" + .'- The number of directories specified for a single domain name cannot exceed 100. If the number of directories exceeds 100, the data accuracy reduces.'."\n" + ."\n" + .'- If you do not set StartTime or EndTime, data collected within the last 24 hours is queried. If you set both StartTime and EndTime, data within the specified time range is queried.'."\n" + ."\n" + .'- You can query data collected within the last 30 days.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainSrcTrafficData' => [ - 'summary' => 'Queries origin traffic for one or more specified accelerated domain names.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-20T02:00:23.000Z', 'description' => 'Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainPathData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainPathData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2017-09-30T17:00:00Z\\",\\n \\"StartTime\\": \\"2017-09-30T16:00:00Z\\",\\n \\"PageSize\\": 20,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"PathDataPerInterval\\": {\\n \\"UsageData\\": [\\n {\\n \\"Path\\": \\"/path/\\",\\n \\"Time\\": \\"2017-09-30T16:00:00Z\\",\\n \\"Acc\\": 10,\\n \\"Traffic\\": 346\\n }\\n ]\\n },\\n \\"RequestId\\": \\"DE81639B-DAC1-4C76-AB72-F34B836837D5\\"\\n}","type":"json"}]', + ], + 'DescribeDomainPvData' => [ + 'summary' => 'Queries the page view (PV) data of an accelerated domain name. The data is collected at an interval of 1 hour. You can query data in the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9898,62 +10066,29 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111809', - 'abilityTreeNodes' => [ - 'FEATUREcdnE9OF3Y', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111785', + 'abilityTreeNodes' => ['FEATUREcdnF7OM8K'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the origin traffic for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2015-11-28T00:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-12-10T21:00:00Z', - ], - ], - [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2015-11-29T00:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -9961,125 +10096,87 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'SrcTrafficDataPerInterval' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2015-11-28T04:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2015-11-28T03:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BCD7D917-76F1-442F-BB75-C810DE34C761', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", 'type' => 'string', 'example' => '3600', 'title' => ''], + 'PvDataInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'DataModule' => [ - 'description' => 'The amount of origin traffic returned at each time interval. Unit: bytes.'."\n", + 'UsageData' => [ + 'description' => 'The number of PVs at each interval.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The traffic value at each time interval.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:35:00Z', - ], - 'HttpsValue' => [ - 'description' => 'The amount of traffic generated by origin HTTPS requests.'."\n", - 'type' => 'string', - 'example' => '0', - ], + 'Value' => ['description' => 'The number of PVs.'."\n", 'type' => 'string', 'example' => '9292', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.'."\n", 'type' => 'string', 'example' => '2015-11-28T03:00:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'StartTime and EndTime can not be single.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidDomainName.Overlimit', - 'errorMessage' => 'Too many DomainNames are specified.', - ], - [ - 'errorCode' => 'InvalidInterval.Malformed', - 'errorMessage' => 'Specified Interval is malformed.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => 'Start time and end time do not match, time span limit is exceeded, or the time parameter is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:35:00Z\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcFlowDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-10T21:00:00Z\\",\\n \\"Value\\": \\"0\\",\\n \\"HttpsValue\\": \\"0\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:35:00Z\\",\\n \\"Value\\": \\"0\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\"\\n}"},{"type":"xml","example":"<DescribeDomainSrcTrafficDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<DataInterval>300</DataInterval>\\r\\n\\t<SrcFlowDataPerInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T21:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t\\t<HttpsValue>0</HttpsValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2015-12-10T20:35:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t\\t<HttpsValue>0</HttpsValue>\\r\\n\\t\\t</DataModule>\\r\\n\\t</SrcFlowDataPerInterval>\\r\\n\\t<RequestId>A666D44F-19D6-490E-97CF-1A64AB962C57</RequestId>\\r\\n\\t<StartTime>2015-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2015-12-10T21:00:00Z</EndTime>\\r\\n</DescribeDomainSrcTrafficDataResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainSrcTrafficData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - ."\n" - .'**Time granularity**'."\n" - ."\n" - .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-11-28T04:00:00Z\\",\\n \\"StartTime\\": \\"2015-11-28T03:00:00Z\\",\\n \\"RequestId\\": \\"BCD7D917-76F1-442F-BB75-C810DE34C761\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"3600\\",\\n \\"PvDataInterval\\": {\\n \\"UsageData\\": [\\n {\\n \\"Value\\": \\"9292\\",\\n \\"TimeStamp\\": \\"2015-11-28T03:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainPvDataResponse>\\r\\n\\t<DataInterval>3600</DataInterval>\\r\\n\\t<RequestId>BCD7D917-76F1-442F-BB75-C810DE34C761</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<EndTime>2015-11-29T00:00:00Z</EndTime>\\r\\n\\t<PvDataInterval>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T03:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9292</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T23:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9239</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T07:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9464</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T12:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9379</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T22:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9243</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T10:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>10063</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T15:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9068</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T14:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9353</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T04:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9513</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T02:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9377</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T08:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9579</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T20:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9109</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T09:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>10631</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T06:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9587</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T01:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9108</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T16:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9454</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T21:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9285</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T19:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9059</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T00:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9470</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T05:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>11830</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T13:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9992</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T17:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9529</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T18:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9203</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T11:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9604</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t</PvDataInterval>\\r\\n\\t<StartTime>2015-11-28T00:00:00Z</StartTime>\\r\\n</DescribeDomainPvDataResponse>\\r\\n\\t\\r\\n","errorExample":""}]', + 'title' => 'DescribeDomainPvData', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature to for data analysis.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + .'>* You can call this operation up to 50 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainSrcQpsData' => [ - 'summary' => 'Queries the number of queries per second (QPS) that are sent to the origin server. You can query data collected in the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainPvData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainPvData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainQpsData' => [ + 'summary' => 'Queries the number of queries per second (QPS) for an accelerated domain name. The data is collected every 5 minutes. You can query data collected within the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10088,59 +10185,47 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111807', - 'abilityTreeNodes' => [ - 'FEATUREcdnE9OF3Y', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111786', + 'abilityTreeNodes' => ['FEATUREcdnL8FLP3'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify multiple domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries QPS data for all accelerated domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries QPS data for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'If you leave this parameter empty, data collected in the last 24 hours is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:33:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time interval between the data entries. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Internet service provider (ISP) for your Alibaba Cloud CDN service. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not specify an ISP, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not specify a region, data in all regions is queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], ], 'responses' => [ @@ -10148,120 +10233,108 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '7CBCD6AD-B016-42E5-AE0B-B3731DE8F755', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'SrcQpsDataPerInterval' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B8333EDB-4595-46E0-AFE9-29BAA290D0E0', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'QpsDataInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The back-to-origin bandwidth information at each interval.'."\n", + 'description' => 'The list of QPS records at each interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The QPS value.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:00:00Z', - ], + 'AccValue' => ['description' => 'The total number of requests.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'AccDomesticValue' => ['description' => 'The number of requests in the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'AccOverseasValue' => ['description' => 'The number of requests outside the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'HttpsValue' => ['description' => 'The number of queries per second that is calculated based on the HTTPS requests sent to points of presence (POPs).', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HttpsOverseasValue' => ['description' => 'The number of queries per second that is calculated based on the HTTPS requests sent to POPs outside the Chinese mainland.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'DomesticValue' => ['description' => 'The number of queries per second in the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'HttpsAccOverseasValue' => ['description' => 'The number of HTTPS requests sent to POPs outside the Chinese mainland.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HttpsDomesticValue' => ['description' => 'The number of queries per second that is calculated based on the HTTPS requests sent to POPs in the Chinese mainland.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'HttpsAccValue' => ['description' => 'The number of HTTPS requests sent to POPs.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'Value' => ['description' => 'The total QPS.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'OverseasValue' => ['description' => 'The number of queries per second outside the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'HttpsAccDomesticValue' => ['description' => 'The number of HTTPS requests sent to POPs in the Chinese mainland.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'StartTime and EndTime can not be single.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidDomainName.Overlimit', - 'errorMessage' => 'Too many DomainNames are specified.', - ], - [ - 'errorCode' => 'InvalidInterval.Malformed', - 'errorMessage' => 'Specified Interval is malformed.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"7CBCD6AD-B016-42E5-AE0B-B3731DE8F755\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcQpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2015-12-10T21:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainSrcQpsDataResponse>\\n<DomainName>example.com</DomainName>\\n<DataInterval>300</DataInterval>\\n<SrcQpsDataPerInterval>\\n <DataModule>\\n <TimeStamp>2019-11-30T05:33:00Z</TimeStamp>\\n <Value>0</Value>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2019-11-30T05:34:00Z</TimeStamp>\\n <Value>0</Value>\\n </DataModule>\\n</SrcQpsDataPerInterval>\\n<RequestId>7CBCD6AD-B016-42E5-AE0B-B3731DE8F755</RequestId>\\n<StartTime>2019-11-30T05:33:00Z</StartTime>\\n<EndTime>2019-11-30T05:40:00Z</EndTime>\\n</DescribeDomainSrcQpsDataResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainSrcQpsData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainQpsData', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" ."\n" - .'### Time granularity'."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" ."\n" .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|366 days|366 days|04:00 on the next day|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeTrafficData' => [ - 'summary' => 'Queries the monitoring data of network traffic for one or more accelerated domain names.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:10.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainQpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainQpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"B8333EDB-4595-46E0-AFE9-29BAA290D0E0\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"QpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"AccValue\\": \\"0\\",\\n \\"AccDomesticValue\\": \\"0\\",\\n \\"AccOverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"1\\",\\n \\"HttpsOverseasValue\\": \\"1\\",\\n \\"DomesticValue\\": \\"0\\",\\n \\"HttpsAccOverseasValue\\": \\"1\\",\\n \\"HttpsDomesticValue\\": \\"1\\",\\n \\"HttpsAccValue\\": \\"1\\",\\n \\"Value\\": \\"0\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\",\\n \\"HttpsAccDomesticValue\\": \\"1\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainQpsDataByLayer' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10270,195 +10343,164 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111799', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111787', + 'abilityTreeNodes' => ['FEATUREcdnL8FLP3'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify a maximum of 500 domain names in a request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the QPS of all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard. The time is displayed in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard. The time is displayed in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => 'The time interval between the data entries to return. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Description**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP).'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list. If you do not set this parameter, all regions are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], + 'schema' => ['description' => 'The name of the Internet service provider (ISP) for your Alibaba Cloud CDN service. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not set this parameter, all ISPs are queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region.'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list. If you do not set this parameter, all regions are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list. If you do not set this parameter, all regions are queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'Layer', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:01:00Z', - ], + 'schema' => ['description' => 'The layers at which you want to query the number of queries per second. Valid values:'."\n" + ."\n" + .'- **Network layer**: **IPv4**and **IPv6**.'."\n" + ."\n" + .'- **Application layer**: **http**, **https**, and **quic**.'."\n" + ."\n" + .'- **all**: The default value. Both the network and application layers are included.', 'type' => 'string', 'required' => false, 'example' => 'all', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The description of the parameter.'."\n", 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:01:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" - ."\n" - .'Depending on the maximum time range per query, the value is 60 (1 minute), 300 (5 minutes), or 3600 (1 hour). For more information, see the "Time granularity" section in Usage notes.'."\n", - 'type' => 'string', - 'example' => '60', - ], - 'RealTimeTrafficDataPerInterval' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664', 'title' => ''], + 'Layer' => ['description' => 'The layer at which the data was collected.', 'type' => 'string', 'example' => 'all', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'QpsDataInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The network traffic returned at each time interval. Unit: bytes.'."\n", + 'description' => 'The number of queries per second at each interval.', 'type' => 'array', 'items' => [ - 'description' => 'The traffic that was collected at each interval.'."\n", 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The traffic value at each time interval.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:01:00Z', - ], + 'Value' => ['description' => 'The total number of queries per second.', 'type' => 'string', 'example' => '0.56', 'title' => ''], + 'AccValue' => ['description' => 'The total number of requests.', 'type' => 'string', 'example' => '56', 'title' => ''], + 'AccDomesticValue' => ['description' => 'The number of requests in the Chinese mainland.', 'type' => 'string', 'example' => '12', 'title' => ''], + 'OverseasValue' => ['description' => 'The number of queries per second outside the Chinese mainland.', 'type' => 'string', 'example' => '0.44', 'title' => ''], + 'AccOverseasValue' => ['description' => 'The number of requests outside the Chinese mainland.', 'type' => 'string', 'example' => '44', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + 'DomesticValue' => ['description' => 'The number of queries per second in the Chinese mainland.', 'type' => 'string', 'example' => '0.12', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'StartTime and EndTime can not be single.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidDomainName.Overlimit', - 'errorMessage' => 'Too many DomainNames are specified.', - ], - [ - 'errorCode' => 'InvalidInterval.Malformed', - 'errorMessage' => 'Specified Interval is malformed.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:01:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"Value\\": \\"0\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:01:00Z\\",\\n \\"Value\\": \\"0\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T20:01:00Z\\"\\n} "},{"type":"xml","example":"<DescribeDomainRealTimeTrafficDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<DataInterval>60</DataInterval>\\r\\n\\t<RealTimeTrafficDataPerInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-12-10T20:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-12-10T20:01:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t</RealTimeTrafficDataPerInterval>\\r\\n\\t<RequestId>A666D44F-19D6-490E-97CF-1A64AB962C57</RequestId>\\r\\n\\t<StartTime>2019-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2019-12-10T20:01:00Z</EndTime>\\r\\n</DescribeDomainRealTimeTrafficDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainRealTimeTrafficData', - 'description' => '* You can call this operation up to 50 times per second per account.'."\n" - .'* If you do not specify the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you specify both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainQpsDataByLayer', + 'summary' => 'Queries the number of queries per second (QPS) at a specific layer for one or more accelerated domain names. You can query data collected within the last 90 days.', + 'description' => '- Each account can call this operation up to 20 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" - .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + .'The time granularity supported by the Interval parameter varies with the maximum time range per query. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeBpsData' => [ - 'summary' => 'Queries the bandwidth data about one or more accelerated domain names.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:21.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainQpsDataByLayer'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainQpsDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"BEA5625F-8FCF-48F4-851B-CA63946DA664\\",\\n \\"Layer\\": \\"all\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"QpsDataInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0.56\\",\\n \\"AccValue\\": \\"56\\",\\n \\"AccDomesticValue\\": \\"12\\",\\n \\"OverseasValue\\": \\"0.44\\",\\n \\"AccOverseasValue\\": \\"44\\",\\n \\"TimeStamp\\": \\"2015-12-10T21:00:00Z\\",\\n \\"DomesticValue\\": \\"0.12\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeBpsData' => [ + 'summary' => 'Queries bandwidth data for one or more accelerated domain names.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10467,73 +10509,48 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111788', - 'abilityTreeNodes' => [ - 'FEATUREcdn5DW324', - ], + 'abilityTreeNodes' => ['FEATUREcdn5DW324'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'> You can specify up to 500 domain names in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" + ."\n" + .'> You can specify up to 500 domain names in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP).'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not set this parameter, all ISPs are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], + 'schema' => ['description' => 'The name of the Internet service provider (ISP).'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not set this parameter, all ISPs are queried.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region.'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not set this parameter, all regions are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The name of the region.'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not set this parameter, all regions are queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:33:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], ], 'responses' => [ @@ -10541,79 +10558,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'BpsModel' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The data returned.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Bps' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '16710625.733333332', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:41:00Z', - ], + 'Bps' => ['description' => 'The bandwidth. Unit: bit/s.', 'type' => 'number', 'format' => 'float', 'example' => '16710625.733333332', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-30T05:41:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B49E6DDA-F413-422B-B58E-2FA23F286726\\",\\n \\"Data\\": {\\n \\"BpsModel\\": [\\n {\\n \\"Bps\\": 16710625.733333332,\\n \\"TimeStamp\\": \\"2019-11-30T05:41:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainRealTimeBpsDataResponse>\\n<Data>\\n <BpsModel>\\n <TimeStamp>2019-11-30T05:41:00Z</TimeStamp>\\n <Bps>16710625.733333332</Bps>\\n </BpsModel>\\n <BpsModel>\\n <TimeStamp>2019-11-30T05:42:00Z</TimeStamp>\\n <Bps>59392614.8</Bps>\\n </BpsModel>\\n</Data>\\n<RequestId>B49E6DDA-F413-422B-B58E-2FA23F286726</RequestId>\\n</DescribeDomainRealTimeBpsDataResponse>","errorExample":""}]', 'title' => 'DescribeDomainRealTimeBpsData', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity** The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeHttpCodeData' => [ - 'summary' => 'Queries the total number and proportions of HTTP status codes returned from an accelerated domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:39.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeBpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B49E6DDA-F413-422B-B58E-2FA23F286726\\",\\n \\"Data\\": {\\n \\"BpsModel\\": [\\n {\\n \\"Bps\\": 16710625.733333332,\\n \\"TimeStamp\\": \\"2019-11-30T05:41:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeByteHitRateData' => [ + 'summary' => 'Queries the byte hit ratios of accelerated domain names.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10622,69 +10649,32 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111791', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111789', + 'abilityTreeNodes' => ['FEATUREcdn3CRD2L'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify multiple accelerated domain names and separate them with commas (,).'."\n" - ."\n" - .'> You can specify up to 100 accelerated domain names in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com,example.org', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:39:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2020-05-15T09:13:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', - ], - ], - [ - 'name' => 'IspNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', - ], - ], - [ - 'name' => 'LocationNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not specify a region, all regions are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2020-05-15T09:15:00Z', 'title' => ''], ], ], 'responses' => [ @@ -10692,138 +10682,92 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T05:42:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T05:39:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com,example.org', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" - ."\n" - .'Depending on the maximum time range per query, the value is 60 (1 minute), 300 (5 minutes), or 3600 (1 hour). For more information, see the "Time granularity" section in Usage notes.'."\n", - 'type' => 'string', - 'example' => '60', - ], - 'RealTimeHttpCodeData' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', 'title' => ''], + 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'UsageData' => [ - 'description' => 'The proportions of HTTP status codes at each time interval.'."\n", + 'ByteHitRateDataModel' => [ + 'description' => 'The data returned.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T05:39:00Z', - ], - 'Value' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RealTimeCodeProportionData' => [ - 'description' => 'The proportions of the HTTP status codes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'string', - 'example' => '500', - ], - 'Proportion' => [ - 'description' => 'The proportion of the HTTP status code.'."\n", - 'type' => 'string', - 'example' => '28.4496124031008', - ], - 'Count' => [ - 'description' => 'The total number of entries.'."\n", - 'type' => 'string', - 'example' => '100', - ], - ], - ], - ], - ], - ], + 'ByteHitRate' => ['description' => 'The byte hit ratio. The byte hit ratio is measured in percentage.', 'type' => 'number', 'format' => 'float', 'example' => '0.8956940476262277', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-29T05:42:00Z\\",\\n \\"StartTime\\": \\"2019-11-29T05:39:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com,example.org\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2019-11-29T05:39:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeCodeProportionData\\": [\\n {\\n \\"Code\\": \\"500\\",\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Count\\": \\"100\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RealTimeHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:40:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeCodeProportionData\\": [\\n {\\n \\"Proportion\\": \\"66.046511627907\\",\\n \\"Code\\": \\"200\\"\\n },\\n {\\n \\"Proportion\\": \\"4.72868217054264\\",\\n \\"Code\\": \\"206\\"\\n },\\n {\\n \\"Proportion\\": \\"0.155038759689922\\",\\n \\"Code\\": \\"302\\"\\n },\\n {\\n \\"Proportion\\": \\"0.62015503875969\\",\\n \\"Code\\": \\"304\\"\\n },\\n {\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Code\\": \\"500\\"\\n }\\n ]\\n }\\n },\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:39:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeCodeProportionData\\": [\\n {\\n \\"Proportion\\": \\"66.046511627907\\",\\n \\"Code\\": \\"200\\"\\n },\\n {\\n \\"Proportion\\": \\"4.72868217054264\\",\\n \\"Code\\": \\"206\\"\\n },\\n {\\n \\"Proportion\\": \\"0.155038759689922\\",\\n \\"Code\\": \\"302\\"\\n },\\n {\\n \\"Proportion\\": \\"0.62015503875969\\",\\n \\"Code\\": \\"304\\"\\n },\\n {\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Code\\": \\"500\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"DataInterval\\": \\"60\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example1.com,example2.com\\",\\n \\"EndTime\\": \\"2015-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2015-11-30T05:33:00Z\\"\\n}\\n\\t\\t\\t"},{"type":"xml","example":"<DescribeDomainRealTimeHttpCodeDataResponse>\\n<DataInterval>60</DataInterval>\\n<RequestId>99E690FC-86A3-4533-8F61-CF9E319141A4</RequestId>\\n<DomainName>example.com,example.org</DomainName>\\n<EndTime>2019-11-29T05:42:00Z</EndTime>\\n<StartTime>2019-11-29T05:39:00Z</StartTime>\\n<RealTimeHttpCodeData>\\n <UsageData>\\n <TimeStamp>2019-11-29T05:39:00Z</TimeStamp>\\n <Value>\\n <RealTimeCodeProportionData>\\n <Count>2</Count>\\n <Proportion>100</Proportion>\\n <Code>200</Code>\\n </RealTimeCodeProportionData>\\n </Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T05:40:00Z</TimeStamp>\\n <Value>\\n <RealTimeCodeProportionData>\\n <Count>1</Count>\\n <Proportion>50</Proportion>\\n <Code>200</Code>\\n </RealTimeCodeProportionData>\\n <RealTimeCodeProportionData>\\n <Count>1</Count>\\n <Proportion>50</Proportion>\\n <Code>304</Code>\\n </RealTimeCodeProportionData>\\n </Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T05:41:00Z</TimeStamp>\\n <Value>\\n <RealTimeCodeProportionData>\\n <Count>11</Count>\\n <Proportion>91.66666666666666</Proportion>\\n <Code>200</Code>\\n </RealTimeCodeProportionData>\\n <RealTimeCodeProportionData>\\n <Count>1</Count>\\n <Proportion>8.333333333333332</Proportion>\\n <Code>206</Code>\\n </RealTimeCodeProportionData>\\n </Value>\\n </UsageData>\\n</RealTimeHttpCodeData>\\n</DescribeDomainRealTimeHttpCodeDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainRealTimeHttpCodeData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainRealTimeByteHitRateData', + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'- The network traffic destined for different domain names may be redirected to the same origin server. Therefore, the byte hit ratios may be inaccurate. The accuracy of query results is based on the actual configurations.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeQpsData' => [ - 'summary' => 'Queries the number of queries per second for one or more accelerated domain names.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:13.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeByteHitRateData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeByteHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70A26B11-3673-479C-AEA8-E03FC5D3496D\\",\\n \\"Data\\": {\\n \\"ByteHitRateDataModel\\": [\\n {\\n \\"ByteHitRate\\": 0.8956940476262277,\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeDetailData' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10832,73 +10776,207 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111793', - 'abilityTreeNodes' => [ - 'FEATUREcdnL8FLP3', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111790', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'> You can specify up to 500 domain names in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name that you want to query.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'IspNameEn', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP).'."\n" - ."\n" - .'If you do not set this parameter, data of all ISPs is queried. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2019-11-30T05:33:00Z.', 'type' => 'string', 'required' => true, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2019-11-30T05:40:00Z.'."\n" + ."\n" + .'> The end time must be later than the start time. The difference between the end time and the start time cannot exceed 10 minutes.', 'type' => 'string', 'required' => true, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + ], + [ + 'name' => 'Field', + 'in' => 'query', + 'schema' => ['description' => 'The type of data that you want to query. You can specify multiple data types and separate them with commas (,). Valid values:'."\n" + ."\n" + .'- **qps**: queries per second (QPS)'."\n" + ."\n" + .'- **bps**: bandwidth'."\n" + ."\n" + .'- **http\\_code**: HTTP status code', 'type' => 'string', 'required' => true, 'example' => 'qps', 'title' => ''], ], [ 'name' => 'LocationNameEn', 'in' => 'query', + 'schema' => ['description' => 'The name of the region. If you do not specify a region, data in all regions is queried. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.', 'type' => 'string', 'required' => false, 'example' => 'Guangdong', 'title' => ''], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not specify an ISP, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], + ], + [ + 'name' => 'Merge', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return a summary value based on ISPs and regions. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'Default value: **false**.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'MergeLocIsp', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return a summary value based on ISPs and regions. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'Default value: **false**.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the region.'."\n" - ."\n" - .'If you do not set this parameter, data in all regions is queried. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', + 'type' => 'object', + 'properties' => [ + 'Data' => ['description' => 'The monitoring data of each ISP in each region.', 'type' => 'string', 'example' => '['."\n" + .' {'."\n" + .' "time_stp": "2018-06-05T20:00:00Z",'."\n" + .' "domain_name": "example.com",'."\n" + .' "location": "Guangdong",'."\n" + .' "isp": "telecom",'."\n" + .' "qps": 10'."\n" + .' },'."\n" + .' {'."\n" + .' "time_stp": "2018-06-05T20:00:00Z",'."\n" + .' "domain_name": "example.com",'."\n" + .' "location": "Jiangsu",'."\n" + .' "isp": "unicom",'."\n" + .' "qps": 11.1'."\n" + .' }'."\n" + .']', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], + ], + ], + 'title' => 'DescribeDomainRealTimeDetailData', + 'summary' => 'Queries the real-time monitoring data for a domain name.', + 'description' => '- You can query data in the last seven days. Data is collected every minute.'."\n" + ."\n" + .'- Each account can call this operation up to 10 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => '> The value of the Data parameter is a JSON string. The following table describes the structure and fields of the Data parameter.'."\n" + ."\n" + .'### The following table describes the fields in the Data parameter. If a field is empty, the field is not returned.'."\n" + ."\n" + .'| Parameter | Type | Description | Example |'."\n" + .'| ----------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |'."\n" + .'| domain_name | String | The domain name that was queried. | example.com |'."\n" + .'| isp | String | The ISP name. | unicom |'."\n" + .'| location | String | The region name. | qingdao |'."\n" + .'| qps | Long | The QPS. | 40 |'."\n" + .'| bps | Long | The bandwidth. Unit: bit/s. | 100 |'."\n" + .'| http_code | Map | The information about HTTP status codes. The key is the HTTP status code and the value is the number of occurrences of the HTTP status code. | {"200": 1, "304": 2, "403": 3} |'."\n" + .'| time_stp | String | The beginning of the time range that was queried. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC. | 2022-10-20T04:00:00Z |', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:21:10.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeDetailData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeDetailData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": \\"[\\\\n {\\\\n \\\\\\"time_stp\\\\\\": \\\\\\"2018-06-05T20:00:00Z\\\\\\",\\\\n \\\\\\"domain_name\\\\\\": \\\\\\"example.com\\\\\\",\\\\n \\\\\\"location\\\\\\": \\\\\\"Guangdong\\\\\\",\\\\n \\\\\\"isp\\\\\\": \\\\\\"telecom\\\\\\",\\\\n \\\\\\"qps\\\\\\": 10\\\\n },\\\\n {\\\\n \\\\\\"time_stp\\\\\\": \\\\\\"2018-06-05T20:00:00Z\\\\\\",\\\\n \\\\\\"domain_name\\\\\\": \\\\\\"example.com\\\\\\",\\\\n \\\\\\"location\\\\\\": \\\\\\"Jiangsu\\\\\\",\\\\n \\\\\\"isp\\\\\\": \\\\\\"unicom\\\\\\",\\\\n \\\\\\"qps\\\\\\": 11.1\\\\n }\\\\n]\\",\\n \\"RequestId\\": \\"B49E6DDA-F413-422B-B58E-2FA23F286726\\"\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeHttpCodeData' => [ + 'summary' => 'Queries the total number and proportions of HTTP status codes returned from an accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111791', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. You can specify multiple accelerated domain names and separate them with commas (,).'."\n" + ."\n" + .'> You can specify up to 100 accelerated domain names in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com,example.org', 'title' => ''], + ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-02T11:25:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:39:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-02T11:26:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not specify a region, all regions are queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], ], 'responses' => [ @@ -10906,80 +10984,125 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D', - ], - 'Data' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-29T05:42:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-29T05:39:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com,example.org', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" + ."\n" + .'Depending on the maximum time range per query, the value is 60 (1 minute), 300 (5 minutes), or 3600 (1 hour). For more information, see the "Time granularity" section in Usage notes.', 'type' => 'string', 'example' => '60', 'title' => ''], + 'RealTimeHttpCodeData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'QpsModel' => [ - 'description' => 'The data entries returned.'."\n", + 'UsageData' => [ + 'description' => 'The proportions of HTTP status codes at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Qps' => [ - 'description' => 'The number of queries per second.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '1851.25', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned. The time follows the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard and is in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-12-02T11:25:00Z', + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2019-11-29T05:39:00Z', 'title' => ''], + 'Value' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RealTimeCodeProportionData' => [ + 'description' => 'The proportions of the HTTP status codes.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code returned.', 'type' => 'string', 'example' => '500', 'title' => ''], + 'Proportion' => ['description' => 'The proportion of the HTTP status code.', 'type' => 'string', 'example' => '28.4496124031008', 'title' => ''], + 'Count' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '100', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D\\",\\n \\"Data\\": {\\n \\"QpsModel\\": [\\n {\\n \\"Qps\\": 1851.25,\\n \\"TimeStamp\\": \\"2019-12-02T11:25:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainRealTimeQpsDataResponse>\\r\\n\\t<Data>\\r\\n\\t\\t<QpsModel>\\r\\n\\t\\t\\t<TimeStamp>2019-12-02T11:26:00Z</TimeStamp>\\r\\n\\t\\t\\t<Qps>1851.25</Qps>\\r\\n\\t\\t</QpsModel>\\r\\n\\t\\t<QpsModel>\\r\\n\\t\\t\\t<TimeStamp>2019-12-02T11:25:00Z</TimeStamp>\\r\\n\\t\\t\\t<Qps>8967.7</Qps>\\r\\n\\t\\t</QpsModel>\\r\\n\\t</Data>\\r\\n\\t<RequestId>32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D</RequestId>\\r\\n</DescribeDomainRealTimeQpsDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainRealTimeQpsData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'title' => 'DescribeDomainRealTimeHttpCodeData', + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeReqHitRateData' => [ - 'summary' => 'Queries the request hit ratios for one or more accelerated domain names.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:33.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeHttpCodeData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-29T05:42:00Z\\",\\n \\"StartTime\\": \\"2019-11-29T05:39:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com,example.org\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2019-11-29T05:39:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeCodeProportionData\\": [\\n {\\n \\"Code\\": \\"500\\",\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Count\\": \\"100\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeQpsData' => [ + 'summary' => 'Queries the number of queries per second for one or more accelerated domain names.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10988,47 +11111,48 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111794', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111793', + 'abilityTreeNodes' => ['FEATUREcdnL8FLP3'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" + ."\n" + .'> You can specify up to 500 domain names in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'IspNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Internet service provider (ISP).'."\n" + ."\n" + .'If you do not set this parameter, data of all ISPs is queried. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISP names.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region.'."\n" + ."\n" + .'If you do not set this parameter, data in all regions is queried. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-01-02T11:23:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-02T11:25:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-01-02T11:26:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-02T11:26:00Z', 'title' => ''], ], ], 'responses' => [ @@ -11036,82 +11160,90 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ReqHitRateDataModel' => [ - 'description' => 'The data returned.'."\n", + 'QpsModel' => [ + 'description' => 'The data entries returned.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ReqHitRate' => [ - 'description' => 'The request hit ratio.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.8956940476262277', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2018-01-02T11:26:00Z', - ], + 'Qps' => ['description' => 'The number of queries per second.', 'type' => 'number', 'format' => 'float', 'example' => '1851.25', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned. The time follows the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard and is in UTC.', 'type' => 'string', 'example' => '2019-12-02T11:25:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"70A26B11-3673-479C-AEA8-E03FC5D3496D\\",\\n \\"Data\\": {\\n \\"ReqHitRateDataModel\\": [\\n {\\n \\"ReqHitRate\\": 0.8956940476262277,\\n \\"TimeStamp\\": \\"2018-01-02T11:26:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainRealTimeReqHitRateDataResponse>\\r\\n\\t<Data>\\r\\n\\t\\t<ReqHitRateDataModel>\\r\\n\\t\\t\\t<TimeStamp>2018-01-02T11:26:00Z</TimeStamp>\\r\\n\\t\\t\\t<ReqHitRate>0.8956940476262277</ReqHitRate>\\r\\n\\t\\t</ReqHitRateDataModel>\\r\\n\\t\\t<ReqHitRateDataModel>\\r\\n\\t\\t\\t<TimeStamp>2018-01-02T11:25:00Z</TimeStamp>\\r\\n\\t\\t\\t<ReqHitRate>0.8429129920796812</ReqHitRate>\\r\\n\\t\\t</ReqHitRateDataModel>\\r\\n\\t</Data>\\r\\n\\t<RequestId>70A26B11-3673-479C-AEA8-E03FC5D3496D</RequestId>\\r\\n</DescribeDomainRealTimeReqHitRateDataResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainRealTimeReqHitRateData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" - .'* By default, requests in the Go programming language use the POST request method. You must manually change the request method to GET by declaring: request.Method="GET".'."\n" - .'* The network traffic destined for different domain names may be redirected to the same origin server. Therefore, the request hit ratios may be inaccurate. The accuracy of query results is based on the actual configurations.'."\n" + 'title' => 'DescribeDomainRealTimeQpsData', + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeByteHitRateData' => [ - 'summary' => 'Queries the byte hit ratios of accelerated domain names.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:23.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeQpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeQpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D\\",\\n \\"Data\\": {\\n \\"QpsModel\\": [\\n {\\n \\"Qps\\": 1851.25,\\n \\"TimeStamp\\": \\"2019-12-02T11:25:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeReqHitRateData' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11120,47 +11252,32 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111789', - 'abilityTreeNodes' => [ - 'FEATUREcdn3CRD2L', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111794', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-05-15T09:13:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2018-01-02T11:23:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-05-15T09:15:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2018-01-02T11:26:00Z', 'title' => ''], ], ], 'responses' => [ @@ -11168,82 +11285,96 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ByteHitRateDataModel' => [ - 'description' => 'The data returned.'."\n", + 'ReqHitRateDataModel' => [ + 'description' => 'The data returned.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'ByteHitRate' => [ - 'description' => 'The byte hit ratio. The byte hit ratio is measured in percentage.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.8956940476262277', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], + 'ReqHitRate' => ['description' => 'The request hit ratio.', 'type' => 'number', 'format' => 'float', 'example' => '0.8956940476262277', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.', 'type' => 'string', 'example' => '2018-01-02T11:26:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', - ], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"70A26B11-3673-479C-AEA8-E03FC5D3496D\\",\\n \\"Data\\": {\\n \\"ByteHitRateDataModel\\": [\\n {\\n \\"ByteHitRate\\": 0.8956940476262277,\\n \\"TimeStamp\\": \\"2019-11-30T05:40:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainRealTimeByteHitRateDataResponse>\\n<RequestId>95C90452-100B-4226-A63D-2D570CE2A971</RequestId>\\n<Data>\\n <ByteHitRateDataModel>\\n <ByteHitRate>0.8956940476262277</ByteHitRate>\\n <TimeStamp>2020-05-15T09:13:00Z</TimeStamp>\\n </ByteHitRateDataModel>\\n <ByteHitRateDataModel>\\n <ByteHitRate>0.8429129920796812</ByteHitRate>\\n <TimeStamp>2020-05-15T09:14:00Z</TimeStamp>\\n </ByteHitRateDataModel>\\n</Data>\\n</DescribeDomainRealTimeByteHitRateDataResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainRealTimeByteHitRateData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" - .'* The network traffic destined for different domain names may be redirected to the same origin server. Therefore, the byte hit ratios may be inaccurate. The accuracy of query results is based on the actual configurations.'."\n" + 'title' => 'DescribeDomainRealTimeReqHitRateData', + 'summary' => 'Queries the request hit ratios for one or more accelerated domain names.', + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'- By default, requests in the Go programming language use the POST request method. You must manually change the request method to GET by declaring: request.Method="GET".'."\n" + ."\n" + .'- The network traffic destined for different domain names may be redirected to the same origin server. Therefore, the request hit ratios may be inaccurate. The accuracy of query results is based on the actual configurations.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:18.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeReqHitRateData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeReqHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70A26B11-3673-479C-AEA8-E03FC5D3496D\\",\\n \\"Data\\": {\\n \\"ReqHitRateDataModel\\": [\\n {\\n \\"ReqHitRate\\": 0.8956940476262277,\\n \\"TimeStamp\\": \\"2018-01-02T11:26:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainRealTimeSrcBpsData' => [ 'summary' => 'Queries origin bandwidth data for accelerated domain names.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11252,45 +11383,30 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111795', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each request. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each request. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:01:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:01:00Z', 'title' => ''], ], ], 'responses' => [ @@ -11298,114 +11414,100 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:01:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '7CBCD6AD-B016-42E5-AE0B-B3731DE8F755', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" - ."\n" - .'The time granularity varies with the maximum time range per query. Valid values: 60 (1 minute), 300 (5 minutes), and 3600(1 hour). For more information, see **Usage notes**.'."\n", - 'type' => 'string', - 'example' => '60', - ], + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '7CBCD6AD-B016-42E5-AE0B-B3731DE8F755', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 60 (1 minute), 300 (5 minutes), and 3600(1 hour). For more information, see **Usage notes**.', 'type' => 'string', 'example' => '60', 'title' => ''], 'RealTimeSrcBpsDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The origin bandwidth data at each interval.'."\n", + 'description' => 'The origin bandwidth data at each interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The bandwidth during back-to-origin routing. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:01:00Z', - ], + 'Value' => ['description' => 'The bandwidth during back-to-origin routing. Unit: bit/s.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified StartTime is invalid.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"7CBCD6AD-B016-42E5-AE0B-B3731DE8F755\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcBpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:01:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcBpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"Value\\": \\"821\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:01:00Z\\",\\n \\"Value\\": \\"0\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"7CBCD6AD-B016-42E5-AE0B-B3731DE8F755\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T20:01:00Z\\"\\n}\\n\\t\\t\\t"},{"type":"xml","example":"<DescribeDomainRealTimeSrcBpsDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<DataInterval>60</DataInterval>\\r\\n\\t<RealTimeSrcBpsDataPerInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-12-10T20:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>821</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-12-10T20:01:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t</RealTimeSrcBpsDataPerInterval>\\r\\n\\t<RequestId>7CBCD6AD-B016-42E5-AE0B-B3731DE8F755</RequestId>\\r\\n\\t<StartTime>2019-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2019-12-10T20:01:00Z</EndTime>\\r\\n</DescribeDomainRealTimeSrcBpsDataResponse>\\t\\r\\n","errorExample":""}]', 'title' => 'DescribeDomainRealTimeSrcBpsData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:08.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeSrcBpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeSrcBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"7CBCD6AD-B016-42E5-AE0B-B3731DE8F755\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcBpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:01:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainRealTimeSrcHttpCodeData' => [ 'summary' => 'Queries the total number and proportions of HTTP status codes returned during back-to-origin routing.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11414,43 +11516,28 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111797', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T04:40:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T04:40:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], ], 'responses' => [ @@ -11458,137 +11545,124 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '60', - ], + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '60', 'title' => ''], 'RealTimeSrcHttpCodeData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'UsageData' => [ - 'description' => 'The proportions of HTTP status codes at each time interval.'."\n", + 'description' => 'The proportions of HTTP status codes at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-11-30T05:40:00Z', - ], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2015-11-30T05:40:00Z', 'title' => ''], 'Value' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'RealTimeSrcCodeProportionData' => [ - 'description' => 'The proportions of the HTTP status codes.'."\n", + 'description' => 'The proportions of the HTTP status codes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Code' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Proportion' => [ - 'description' => 'The proportion of the HTTP status code.'."\n", - 'type' => 'string', - 'example' => '0.62015503875969', - ], - 'Count' => [ - 'description' => 'The count of each HTTP status code.'."\n", - 'type' => 'string', - 'example' => '100', - ], + 'Code' => ['description' => 'The HTTP status code returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Proportion' => ['description' => 'The proportion of the HTTP status code.', 'type' => 'string', 'example' => '0.62015503875969', 'title' => ''], + 'Count' => ['description' => 'The count of each HTTP status code.', 'type' => 'string', 'example' => '100', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:40:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeSrcCodeProportionData\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Proportion\\": \\"0.62015503875969\\",\\n \\"Count\\": \\"100\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RealTimeSrcHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:40:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeSrcCodeProportionData\\": [\\n {\\n \\"Proportion\\": \\"66.046511627907\\",\\n \\"Code\\": \\"200\\"\\n },\\n {\\n \\"Proportion\\": \\"4.72868217054264\\",\\n \\"Code\\": \\"206\\"\\n },\\n {\\n \\"Proportion\\": \\"0.155038759689922\\",\\n \\"Code\\": \\"302\\"\\n },\\n {\\n \\"Proportion\\": \\"0.62015503875969\\",\\n \\"Code\\": \\"304\\"\\n },\\n {\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Code\\": \\"500\\"\\n }\\n ]\\n }\\n },\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:39:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeSrcCodeProportionData\\": [\\n {\\n \\"Proportion\\": \\"66.046511627907\\",\\n \\"Code\\": \\"200\\"\\n },\\n {\\n \\"Proportion\\": \\"4.72868217054264\\",\\n \\"Code\\": \\"206\\"\\n },\\n {\\n \\"Proportion\\": \\"0.155038759689922\\",\\n \\"Code\\": \\"302\\"\\n },\\n {\\n \\"Proportion\\": \\"0.62015503875969\\",\\n \\"Code\\": \\"304\\"\\n },\\n {\\n \\"Proportion\\": \\"28.4496124031008\\",\\n \\"Code\\": \\"500\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"DataInterval\\": \\"60\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example1.com,example2.com\\",\\n \\"EndTime\\": \\"2015-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2015-11-30T05:33:00Z\\"\\n}"},{"type":"xml","example":"<DescribeDomainRealTimeSrcHttpCodeDataResesponse>\\r\\n\\t<RealTimeSrcHttpCodeData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2019-11-30T05:40:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>66.046511627907</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>200</Code>\\r\\n <Count>100</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>4.72868217054264</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>206</Code>\\r\\n <Count>101</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>0.155038759689922</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>302</Code>\\r\\n <Count>112</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>0.62015503875969</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>304</Code>\\r\\n <Count>120</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>28.4496124031008</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>500</Code>\\r\\n <Count>200</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2019-11-30T05:39:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>66.046511627907</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>200</Code>\\r\\n <Count>100</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>4.72868217054264</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>206</Code>\\r\\n <Count>101</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>0.155038759689922</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>302</Code>\\r\\n <Count>112</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>0.62015503875969</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>304</Code>\\r\\n <Count>120</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t<RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t\\t\\t<Proportion>28.4496124031008</Proportion>\\r\\n\\t\\t\\t\\t\\t<Code>500</Code>\\r\\n <Count>200</Count>\\r\\n\\t\\t\\t\\t</RealTimeSrcCodeProportionData>\\r\\n\\t\\t\\t</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t</RealTimeSrcHttpCodeData>\\r\\n\\t<DataInterval>60</DataInterval>\\r\\n\\t<RequestId>BC858082-736F-4A25-867B-E5B67C85ACF7</RequestId>\\r\\n\\t<DomainName>example.com,example.org</DomainName>\\r\\n\\t<EndTime>2019-11-30T05:40:00Z</EndTime>\\r\\n\\t<StartTime>2019-11-30T05:33:00Z</StartTime>\\r\\n</DescribeDomainRealTimeSrcHttpCodeDataResesponse>\\r\\n\\t\\r\\n","errorExample":""}]', 'title' => 'DescribeDomainRealTimeSrcHttpCodeData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-04-27T07:43:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-13T07:26:53.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeSrcHttpCodeData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeSrcHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcHttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:40:00Z\\",\\n \\"Value\\": {\\n \\"RealTimeSrcCodeProportionData\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Proportion\\": \\"0.62015503875969\\",\\n \\"Count\\": \\"100\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainRealTimeSrcTrafficData' => [ 'summary' => 'Queries the monitoring data of back-to-origin traffic for one or more specified accelerated domains. The data is collected every minute.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11597,47 +11671,32 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111798', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The start of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The start of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-10T20:01:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:01:00Z', 'title' => ''], ], ], 'responses' => [ @@ -11645,122 +11704,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:01:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" - ."\n" - .'Depending on the maximum time range per query, the value is 60 (1 minute), 300 (5 minutes), or 3600 (1 hour). For more information, see the "Time granularity" section in Usage notes.'."\n", - 'type' => 'string', - 'example' => '60', - ], + 'EndTime' => ['description' => 'The end of the time range for which the data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range for which the data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" + ."\n" + .'Depending on the maximum time range per query, the value is 60 (1 minute), 300 (5 minutes), or 3600 (1 hour). For more information, see the "Time granularity" section in Usage notes.', 'type' => 'string', 'example' => '60', 'title' => ''], 'RealTimeSrcTrafficDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The amount of back-to-origin traffic returned at each interval.'."\n", + 'description' => 'The amount of back-to-origin traffic returned at each interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The amount of traffic.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2019-12-10T20:01:00Z', - ], + 'Value' => ['description' => 'The amount of traffic.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'StartTime and EndTime can not be single.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidDomainName.Overlimit', - 'errorMessage' => 'Too many DomainNames are specified.', - ], - [ - 'errorCode' => 'InvalidInterval.Malformed', - 'errorMessage' => 'Specified Interval is malformed.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Overlimit', 'errorMessage' => 'Too many DomainNames are specified.', 'description' => 'The number of specified domain names exceeds the limit of the operation.'], + ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => 'The format of the time granularity is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:01:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"Value\\": \\"0\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:01:00Z\\",\\n \\"Value\\": \\"0\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T20:01:00Z\\"\\n}\\n\\t\\t\\t"},{"type":"xml","example":"<DescribeDomainRealTimeSrcTrafficDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<DataInterval>60</DataInterval>\\r\\n\\t<RealTimeSrcTrafficDataPerInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-12-10T20:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-12-10T20:01:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>0</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t</RealTimeSrcTrafficDataPerInterval>\\r\\n\\t<RequestId>A666D44F-19D6-490E-97CF-1A64AB962C57</RequestId>\\r\\n\\t<StartTime>2019-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2019-12-10T20:01:00Z</EndTime>\\r\\n</DescribeDomainRealTimeSrcTrafficDataResponse>","errorExample":""}]', 'title' => 'DescribeDomainRealTimeSrcTrafficData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* If you do not specify the StartTime or EndTime parameter, the request returns the data collected in the last hour by default. If you specify both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not specify the StartTime or EndTime parameter, the request returns the data collected in the last hour by default. If you specify both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" ."\n" .'**Time granularity**'."\n" ."\n" .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|1 minute|1 hour|7 days|5 minutes|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeEsExecuteData' => [ - 'summary' => 'Queries the execution status of scripts in EdgeScript (ES).', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:21:26.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeSrcTrafficData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeSrcTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeSrcTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:01:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealTimeTrafficData' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11769,125 +11807,149 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111818', - 'abilityTreeNodes' => [ - 'FEATUREcdnT7HAK0', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111799', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each call. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-02-17T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:00:00Z', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-02-18T20:00:00Z', - ], + 'schema' => ['description' => 'The name of the Internet service provider (ISP).'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list. If you do not set this parameter, all regions are queried.', 'type' => 'string', 'required' => false, 'example' => 'telecom', 'title' => ''], ], [ - 'name' => 'RuleId', + 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the rule. You can call the [DescribeCdnDomainConfigs](~~90924~~) operation to query script IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '212896**', - ], + 'schema' => ['description' => 'The name of the region.'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list. If you do not set this parameter, all regions are queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:01:00Z', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The description of the parameter.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '99D61AB3-6164-4CF2-A0DE-129C9B07618B', - ], - 'Contents' => [ - 'description' => 'The content of the script.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the table that shows the status of the script.'."\n", - 'type' => 'string', - 'example' => 'Exception', - ], - 'Points' => [ - 'description' => 'The list of timestamps and values in the corresponding columns of the table that shows the status of the script.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The timestamp and value of the corresponding columns in the table that shows the status of the script.'."\n", - 'type' => 'string', - 'example' => '2021-02-18T19:05:00Z,8', - ], - ], - 'Columns' => [ - 'description' => 'The time and column names in the table that shows the status of the script.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The time and column names in the table that shows the status of the script.'."\n", - 'type' => 'string', - 'example' => 'time,Exception', + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n" + ."\n" + .'Depending on the maximum time range per query, the value is 60 (1 minute), 300 (5 minutes), or 3600 (1 hour). For more information, see the "Time granularity" section in Usage notes.', 'type' => 'string', 'example' => '60', 'title' => ''], + 'RealTimeTrafficDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The network traffic returned at each time interval. Unit: bytes.', + 'type' => 'array', + 'items' => [ + 'description' => 'The traffic that was collected at each interval.', + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The traffic value at each time interval.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2019-12-10T20:01:00Z', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Overlimit', 'errorMessage' => 'Too many DomainNames are specified.', 'description' => 'The number of specified domain names exceeds the limit of the operation.'], + ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => 'The format of the time granularity is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"99D61AB3-6164-4CF2-A0DE-129C9B07618B\\",\\n \\"Contents\\": [\\n {\\n \\"Name\\": \\"Exception\\",\\n \\"Points\\": [\\n \\"2021-02-18T19:05:00Z,8\\"\\n ],\\n \\"Columns\\": [\\n \\"time,Exception\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeEsExecuteDataResponse>\\n<Contents>\\n <Columns>time</Columns>\\n <Columns>Exception</Columns>\\n <Name>Exception</Name>\\n <Points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>6</1>\\n </Points>\\n <Points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>6</1>\\n </Points>\\n <Points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>8</1>\\n </Points>\\n</Contents>\\n<Contents>\\n <Columns>time</Columns>\\n <Columns>ExecutedAndHit</Columns>\\n <Name>ExecutedAndHit</Name>\\n <Points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </Points>\\n <Points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </Points>\\n <Points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </Points>\\n</Contents>\\n<RequestId>99D61AB3-6164-4CF2-A0DE-129C9B07618B</RequestId>\\n</DescribeEsExecuteDataResponse>","errorExample":""}]', - 'title' => 'DescribeEsExecuteData', - 'description' => '* You can call this operation up to 30 times per second per account.'."\n", + 'title' => 'DescribeDomainRealTimeTrafficData', + 'summary' => 'Queries the monitoring data of network traffic for one or more accelerated domain names.', + 'description' => '- Each account can call this operation up to 50 times per second.'."\n" + ."\n" + .'- If you do not specify the StartTime or EndTime parameter, the request returns the data collected in the last hour. If you specify both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity varies with the time range specified by the StartTime and EndTime parameters. The following table describes the time period within which historical data is available and the data delay.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | ---------- |'."\n" + .'| 1 minute | 1 hour | 7 days | 5 minutes |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeEsExceptionData' => [ - 'summary' => 'Queries the execution errors of a script in EdgeScript (ES).', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:47.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeTrafficData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:01:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"60\\",\\n \\"RealTimeTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:01:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainRealtimeLogDelivery' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11896,48 +11958,119 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111817', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111792', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'Domain', 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name for which real-time log delivery is enabled. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-02-17T20:00:00Z', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of real-time log delivery. Valid values:'."\n" + ."\n" + .'- **online**'."\n" + ."\n" + .'- **offline**', 'type' => 'string', 'example' => 'online', 'title' => ''], + 'Logstore' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'example' => 'LogstoreName', 'title' => ''], + 'Project' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'example' => 'ProjectName', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '2F8F3852-912F-42AC-80EB-F1CF4284DE93', 'title' => ''], + 'Region' => ['description' => 'The ID of the region where the Log Service project is deployed.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'title' => 'DescribeDomainRealtimeLogDelivery', + 'summary' => 'Queries the real-time log delivery configuration of an accelerated domain name.', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-05T03:20:57.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealtimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"online\\",\\n \\"Logstore\\": \\"LogstoreName\\",\\n \\"Project\\": \\"ProjectName\\",\\n \\"RequestId\\": \\"2F8F3852-912F-42AC-80EB-F1CF4284DE93\\",\\n \\"Region\\": \\"cn-shanghai\\"\\n}","type":"json"}]', + ], + 'DescribeDomainRegionData' => [ + 'summary' => 'Queries the geographic distribution of users for a domain name. The data is collected at an interval of one day. You can query the data in the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EndTime', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111800', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], + ], + 'parameters' => [ + [ + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2021-02-18T20:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the geographic distribution of users for all accelerated domain names.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'RuleId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The script ID. You can call the [DescribeCdnDomainConfigs](~~90924~~) operation to query script IDs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '212896**', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2015-12-05T12:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2015-12-07T12:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -11945,86 +12078,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '99D61AB3-6164-4CF2-A0DE-129C9B07618B', - ], - 'Contents' => [ - 'description' => 'The content of the script for which an error was reported.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the table that shows the errors of the script.'."\n", - 'type' => 'string', - 'example' => '401', - ], - 'Points' => [ - 'description' => 'The time columns and error column names.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The timestamp and error.'."\n", - 'type' => 'string', - 'properties' => [ - 'Points' => [ - 'name' => 'Points', - 'description' => 'The data points.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The data entries. Each element in a data entry represents the value of a field in the Columns parameter.'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' "2021-02-18T19:07:00Z",'."\n" - .' 0'."\n" - .' ]', - 'nullToEmpty' => true, - 'backendName' => 'points', - 'extendType' => 'true', - ], - 'nullToEmpty' => true, - 'backendName' => 'points', - 'parseType' => 'null', - 'itemName' => 'points', - ], - ], - 'example' => '2021-02-18T19:05:00Z,0', - ], - ], - 'Columns' => [ - 'description' => 'Information about the time column and the error column name.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The time column and the error column name.'."\n", - 'type' => 'string', - 'example' => 'time,401', + 'EndTime' => ['description' => 'The end of the time range for which the data was queried.'."\n", 'type' => 'string', 'example' => '2015-12-07T12:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range for which the data was queried.'."\n", 'type' => 'string', 'example' => '2015-12-05T12:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '2E5AD83F-BD7B-462E-8319-2E30E305519A', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", 'type' => 'string', 'example' => '86400', 'title' => ''], + 'Value' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RegionProportionData' => [ + 'description' => 'The proportions of requests initiated from each region.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TotalQuery' => ['description' => 'The total number of requests.'."\n", 'type' => 'string', 'example' => '3', 'title' => ''], + 'TotalBytes' => ['description' => 'The total traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '2400057', 'title' => ''], + 'AvgResponseRate' => ['description' => 'The average response speed. Unit: bit/s.'."\n", 'type' => 'string', 'example' => '154.3345765545624', 'title' => ''], + 'AvgResponseTime' => ['description' => 'The average response time. Unit: milliseconds.'."\n", 'type' => 'string', 'example' => '5183.666666666667', 'title' => ''], + 'ReqErrRate' => ['description' => 'The request error rate. A value of 90 indicates that 90% of the requests encountered errors.'."\n", 'type' => 'string', 'example' => '0.0', 'title' => ''], + 'AvgObjectSize' => ['description' => 'The average response size. Unit: bytes.'."\n", 'type' => 'string', 'example' => '800019.0', 'title' => ''], + 'Bps' => ['description' => 'The bandwidth.'."\n", 'type' => 'string', 'example' => '380.9614285714286', 'title' => ''], + 'Qps' => ['description' => 'The number of queries per second.'."\n", 'type' => 'string', 'example' => '5.9523809523809524E-5', 'title' => ''], + 'RegionEname' => ['description' => 'The name of the region.'."\n", 'type' => 'string', 'example' => 'japan', 'title' => ''], + 'Region' => ['description' => 'The information about the region.'."\n", 'type' => 'string', 'example' => '日本', 'title' => ''], + 'Proportion' => ['description' => 'The proportion of visits from the region. For example, a value of 90 indicates that 90% of the visits are from the region.'."\n", 'type' => 'string', 'example' => '0.01155980271270037', 'title' => ''], + 'BytesProportion' => ['description' => 'The proportion of traffic from the region. For example, a value of 90 indicates that 90% of the traffic is from the region.'."\n", 'type' => 'string', 'example' => '0.003544181046236794', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"99D61AB3-6164-4CF2-A0DE-129C9B07618B\\",\\n \\"Contents\\": [\\n {\\n \\"Name\\": \\"401\\",\\n \\"Points\\": [\\n \\"2021-02-18T19:05:00Z,0\\"\\n ],\\n \\"Columns\\": [\\n \\"time,401\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeEsExceptionDataResponse>\\n<content>\\n <columns>time</columns>\\n <columns>401</columns>\\n <name>401</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>402</columns>\\n <name>402</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>403</columns>\\n <name>403</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>404</columns>\\n <name>404</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>405</columns>\\n <name>405</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>406</columns>\\n <name>406</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>407</columns>\\n <name>407</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>6</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>6</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>8</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>408</columns>\\n <name>408</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>409</columns>\\n <name>409</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>410</columns>\\n <name>410</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<content>\\n <columns>time</columns>\\n <columns>499</columns>\\n <name>499</name>\\n <points>\\n <0>2021-02-18T19:07:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:06:00Z</0>\\n <1>0</1>\\n </points>\\n <points>\\n <0>2021-02-18T19:05:00Z</0>\\n <1>0</1>\\n </points>\\n</content>\\n<RequestId>99D61AB3-6164-4CF2-A0DE-129C9B07618B</RequestId>\\n</DescribeEsExceptionDataResponse>","errorExample":""}]', - 'title' => 'DescribeEsExceptionData', - 'description' => '* You can call this operation up to 30 times per second per account.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ], + 404 => [ + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-07T12:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-05T12:00:00Z\\",\\n \\"RequestId\\": \\"2E5AD83F-BD7B-462E-8319-2E30E305519A\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"86400\\",\\n \\"Value\\": {\\n \\"RegionProportionData\\": [\\n {\\n \\"TotalQuery\\": \\"3\\",\\n \\"TotalBytes\\": \\"2400057\\",\\n \\"AvgResponseRate\\": \\"154.3345765545624\\",\\n \\"AvgResponseTime\\": \\"5183.666666666667\\",\\n \\"ReqErrRate\\": \\"0.0\\",\\n \\"AvgObjectSize\\": \\"800019.0\\",\\n \\"Bps\\": \\"380.9614285714286\\",\\n \\"Qps\\": \\"5.9523809523809524E-5\\",\\n \\"RegionEname\\": \\"japan\\",\\n \\"Region\\": \\"日本\\",\\n \\"Proportion\\": \\"0.01155980271270037\\",\\n \\"BytesProportion\\": \\"0.003544181046236794\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DescribeDomainRegionData', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you not use this operation because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + ."\n" + .'> * If you do not specify the **StartTime** or **EndTime** parameter, data collected within the last **24** hours is queried. If you specify both the **StartTime** and **EndTime** parameters, data collected within the specified time range is queried.'."\n" + .'>* There is delay in data collection. If you want to query data collected within the last day, we recommend that you query the data on the next day.'."\n" + .'>* You can call this operation up to 100 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnUserBillHistory' => [ - 'summary' => 'Queries the billing history under your Alibaba Cloud account.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:15:03.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRegionData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRegionData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainReqHitRateData' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12035,36 +12183,39 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111746', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '111801', + 'abilityTreeNodes' => ['FEATUREcdn3CRD2L'], ], 'parameters' => [ [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the request hit ratio for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + ], + [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The minimum data granularity is 5 minutes.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2018-09-30T16:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2017-12-21T08:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2018-10-31T16:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2017-12-22T08:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], ], 'responses' => [ @@ -12072,148 +12223,97 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC', - ], - 'BillHistoryData' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2017-12-22T08:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2017-12-21T08:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'ReqHitRateInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BillHistoryDataItem' => [ - 'description' => 'The billing history returned.'."\n", + 'DataModule' => [ + 'description' => 'The request hit ratio data at each time interval. The hit ratio is measured in percentage.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Dimension' => [ - 'description' => 'The dimension.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'BillType' => [ - 'description' => 'The metering method.'."\n", - 'type' => 'string', - 'example' => 'month_4th_day_bandwidth', - ], - 'BillTime' => [ - 'description' => 'The beginning of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2018-09-30T16:00:00Z', - ], - 'BillingData' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'BillingDataItem' => [ - 'description' => 'The billable items.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '24567', - ], - 'Bandwidth' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '4041', - ], - 'Count' => [ - 'description' => 'The number of requests.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '203601', - ], - 'CdnRegion' => [ - 'description' => 'The billable region. Valid values:'."\n" - ."\n" - .'* **CN**: Chinese mainland'."\n" - .'* **OverSeas**: outside the Chinese mainland'."\n" - .'* **AP1**: Asia Pacific 1'."\n" - .'* **AP2**: Asia Pacific 2'."\n" - .'* **AP3**: Asia Pacific 3'."\n" - .'* **NA**: North America'."\n" - .'* **SA**: South America'."\n" - .'* **EU**: Europe'."\n" - .'* **MEAA**: Middle East and Africa'."\n", - 'type' => 'string', - 'example' => 'AP1', - ], - 'ChargeType' => [ - 'description' => 'The billing method. Valid values:'."\n" - ."\n" - .'* **StaticHttp**: static HTTP requests'."\n" - .'* **DynamicHttp**: dynamic HTTP requests'."\n" - .'* **DynamicHttps**: dynamic HTTPS requests'."\n", - 'type' => 'string', - 'example' => 'DynamicHttp', - ], - ], - ], - ], - ], - ], + 'Value' => ['description' => 'The request hit ratio.', 'type' => 'string', 'example' => '100.0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2017-12-22T08:00:00:00Z', 'title' => ''], + 'HttpsValue' => ['description' => 'The hit ratio of HTTPS requests.', 'type' => 'string', 'example' => '50.0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidTimeSpan', - 'errorMessage' => 'The time span exceeds the limit.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"BillHistoryData\\": {\\n \\"BillHistoryDataItem\\": [\\n {\\n \\"Dimension\\": \\"flow\\",\\n \\"BillType\\": \\"month_4th_day_bandwidth\\",\\n \\"BillTime\\": \\"2018-09-30T16:00:00Z\\",\\n \\"BillingData\\": {\\n \\"BillingDataItem\\": [\\n {\\n \\"Flow\\": 24567,\\n \\"Bandwidth\\": 4041,\\n \\"Count\\": 203601,\\n \\"CdnRegion\\": \\"AP1\\",\\n \\"ChargeType\\": \\"DynamicHttp\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnUserBillHistoryResponse>\\n<BillHistoryData>\\n <BillHistoryDataItem>\\n <BillType>month_4th_day_bandwidth</BillType>\\n <BillingData>\\n <BillingDataItem>\\n <Bandwidth>4041</Bandwidth>\\n <CdnRegion>AP1</CdnRegion>\\n <FLOW>24567</FLOW>\\n </BillingDataItem>\\n <BillingDataItem>\\n <Bandwidth>3819</Bandwidth>\\n <CdnRegion>NA</CdnRegion>\\n </BillingDataItem>\\n <BillingDataItem>\\n <Bandwidth>272113</Bandwidth>\\n <CdnRegion>CN</CdnRegion>\\n </BillingDataItem>\\n </BillingData>\\n <Dimension>flow</Dimension>\\n <BillTime>2018-09-30T16:00:00Z</BillTime>\\n </BillHistoryDataItem>\\n <BillHistoryDataItem>\\n <BillType>month_avg_day_bandwidth</BillType>\\n <BillingData>\\n <BillingDataItem>\\n <Bandwidth>4389</Bandwidth>\\n <CdnRegion>AP1</CdnRegion>\\n </BillingDataItem>\\n <BillingDataItem>\\n <Bandwidth>4302</Bandwidth>\\n <CdnRegion>NA</CdnRegion>\\n </BillingDataItem>\\n <BillingDataItem>\\n <Bandwidth>291641</Bandwidth>\\n <CdnRegion>CN</CdnRegion>\\n </BillingDataItem>\\n </BillingData>\\n <Dimension>flow</Dimension>\\n <BillTime>2018-09-30T16:00:00Z</BillTime>\\n </BillHistoryDataItem>\\n <BillHistoryDataItem>\\n <BillType>hour_vas</BillType>\\n <BillingData>\\n <BillingDataItem>\\n <Count>205624</Count>\\n <ChargeType>DynamicHttp</ChargeType>\\n </BillingDataItem>\\n </BillingData>\\n <Dimension>vas</Dimension>\\n <BillTime>2018-09-30T16:00:00Z</BillTime>\\n </BillHistoryDataItem>\\n <BillHistoryDataItem>\\n <BillType>hour_vas</BillType>\\n <BillingData>\\n <BillingDataItem>\\n <Count>203601</Count>\\n <ChargeType>DynamicHttp</ChargeType>\\n </BillingDataItem>\\n </BillingData>\\n <Dimension>vas</Dimension>\\n <BillTime>2018-09-30T17:00:00Z</BillTime>\\n </BillHistoryDataItem>\\n</BillHistoryData>\\n<RequestId>ED61C6C3-8241-4187-AAA7-5157AE175CEC</RequestId>\\n</DescribeCdnUserBillHistoryResponse>","errorExample":""}]', - 'title' => 'DescribeCdnUserBillHistory', - 'description' => '* You can query billing history up to the last one month.'."\n" - .'* You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DescribeDomainReqHitRateData', + 'summary' => 'Queries the request hit ratio in percentage.', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnUserBillType' => [ - 'summary' => 'Queries information about the metering methods of an account. The maximum time range to query is one month.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:28:41.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainReqHitRateData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainReqHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2017-12-22T08:00:00Z\\",\\n \\"StartTime\\": \\"2017-12-21T08:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"ReqHitRateInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"100.0\\",\\n \\"TimeStamp\\": \\"2017-12-22T08:00:00:00Z\\",\\n \\"HttpsValue\\": \\"50.0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainSrcBpsData' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12222,36 +12322,41 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111748', - 'abilityTreeNodes' => [ - 'FEATUREcdnYC0IJ0', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111804', + 'abilityTreeNodes' => ['FEATUREcdnE9OF3Y'], ], 'parameters' => [ [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each call. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the geographic distribution of users for all accelerated domain names.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + ], + [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The minimum data granularity is 5 minutes.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2018-09-30T16:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2018-10-31T16:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-10T20:30:00Z', 'title' => ''], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => 'The time interval between the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Description**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], ], 'responses' => [ @@ -12259,129 +12364,102 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', - ], - 'BillTypeData' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:30:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'SrcBpsDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BillTypeDataItem' => [ - 'description' => 'Details about the metering methods returned.'."\n", + 'DataModule' => [ + 'description' => 'The origin bandwidth data at each time interval. Unit: bit/s.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The time when the metering method ended.'."\n", - 'type' => 'string', - 'example' => '2018-10-31T16:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The time when the metering method started.'."\n", - 'type' => 'string', - 'example' => '2018-10-30T16:00:00Z', - ], - 'BillingCycle' => [ - 'description' => 'The billing cycle.'."\n", - 'type' => 'string', - 'example' => 'month', - ], - 'Product' => [ - 'description' => 'The name of the product.'."\n", - 'type' => 'string', - 'example' => 'cdn', - ], - 'BillType' => [ - 'description' => 'The metering method.'."\n" - ."\n" - .'> If the metering method is suffixed with \\*\\*\\_overseas\\*\\*, the billable region is outside the Chinese mainland. For example, "BillType": "month_avg_day_bandwidth_overseas" indicates that the metering method is pay by average daily peak bandwidth per month in a billable region outside the Chinese mainland.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* hour_flow: pay by hourly data transfer'."\n" - .'* day_bandwidth: pay by daily bandwidth'."\n" - .'* month\\_95: pay by monthly 95th percentile bandwidth'."\n" - .'* month_avg_day_bandwidth: pay by average daily peak bandwidth per month'."\n" - .'* month\\_4th_day_bandwidth: pay by monthly 4th peak bandwidth'."\n" - .'* month_avg_day\\_95: pay by average daily 95th percentile bandwidth per month'."\n" - .'* month\\_95\\_night_half: pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00'."\n" - .'* hour_vas: pay by value-added services per hour'."\n" - .'* quic_hour_count: pay by hourly QUIC requests'."\n" - .'* day_count: pay by daily requests'."\n" - .'* hour_count: pay by hourly requests'."\n" - .'* day\\_95: pay by daily 95th percentile bandwidth'."\n", - 'type' => 'string', - 'example' => 'month_avg_day_bandwidth_overseas', - ], - 'Dimension' => [ - 'description' => 'The dimension. Valid values:'."\n" - ."\n" - .'* flow: traffic and bandwidth'."\n" - .'* vas: value-added services (HTTPS and requests for dynamic content)'."\n" - .'* quic: the number of QUIC requests'."\n" - .'* websocket: the WebSocket communications protocol'."\n" - .'* rtlog2sls: log entries delivered to Log Service in real time'."\n" - .'* stationflow: traffic over the internal network'."\n", - 'type' => 'string', - 'example' => 'flow', - ], + 'Value' => ['description' => 'The traffic value at each time interval.', 'type' => 'string', 'example' => '500', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2019-12-10T20:00:00Z', 'title' => ''], + 'HttpsValue' => ['description' => 'The bandwidth values of origin HTTPS requests.', 'type' => 'string', 'example' => '10', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterAliuid', - 'errorMessage' => 'Invalid Parameter Aliuid.', - ], - [ - 'errorCode' => 'InvalidParameterStartTime', - 'errorMessage' => 'The parameter StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterEndTime', - 'errorMessage' => 'The parameter EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidTimeRange', - 'errorMessage' => 'Invalid StartTime and EndTime range.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Overlimit', 'errorMessage' => 'Too many DomainNames are specified.', 'description' => 'The number of specified domain names exceeds the limit of the operation.'], + ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => 'The format of the time granularity is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"BillTypeData\\": {\\n \\"BillTypeDataItem\\": [\\n {\\n \\"EndTime\\": \\"2018-10-31T16:00:00Z\\",\\n \\"StartTime\\": \\"2018-10-30T16:00:00Z\\",\\n \\"BillingCycle\\": \\"month\\",\\n \\"Product\\": \\"cdn\\",\\n \\"BillType\\": \\"month_avg_day_bandwidth_overseas\\",\\n \\"Dimension\\": \\"flow\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>C370DAF1-C838-4288-A1A0-9A87633D248E</RequestId>\\n<BillTypeData>\\n <BillTypeDataItem>\\n <BillingCycle>month</BillingCycle>\\n <Product>cdn</Product>\\n <Dimension>flow</Dimension>\\n <EndTime>2018-10-31T16:00:00Z</EndTime>\\n <StartTime>2018-10-30T16:00:00Z</StartTime>\\n <BillType>month_avg_day_bandwidth_overseas</BillType>\\n </BillTypeDataItem>\\n <BillTypeDataItem>\\n <BillingCycle>hour</BillingCycle>\\n <Product>cdn</Product>\\n <Dimension>flow</Dimension>\\n <EndTime>2018-10-30T16:00:00Z</EndTime>\\n <StartTime>2018-10-10T16:00:00Z</StartTime>\\n <BillType>hour_flow</BillType>\\n </BillTypeDataItem>\\n <BillTypeDataItem>\\n <BillingCycle>hour</BillingCycle>\\n <Product>cdn</Product>\\n <Dimension>vas</Dimension>\\n <EndTime>2018-10-31T16:00:00Z</EndTime>\\n <StartTime>2018-09-30T16:00:00Z</StartTime>\\n <BillType>hour_vas</BillType>\\n </BillTypeDataItem>\\n <BillTypeDataItem>\\n <BillingCycle>day</BillingCycle>\\n <Product>cdn</Product>\\n <Dimension>flow</Dimension>\\n <EndTime>2018-10-10T16:00:00Z</EndTime>\\n <StartTime>2018-09-30T16:00:00Z</StartTime>\\n <BillType>day_bandwidth</BillType>\\n </BillTypeDataItem>\\n</BillTypeData>","errorExample":""}]', - 'title' => 'DescribeCdnUserBillType', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DescribeDomainSrcBpsData', + 'summary' => 'Queries bandwidth monitoring data of requests that are redirected to origin servers for one or more accelerated domain names.', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not specify the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you specify both the StartTime and EndTime parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the time range to query, as described in the following table.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnUserBillPrediction' => [ - 'summary' => 'Estimates resource usage of the current month.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:28:36.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcBpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-10T20:30:00Z\\",\\n \\"StartTime\\": \\"2019-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcBpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"500\\",\\n \\"TimeStamp\\": \\"2019-12-10T20:00:00Z\\",\\n \\"HttpsValue\\": \\"10\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainSrcHttpCodeData' => [ + 'summary' => 'Queries the proportions of HTTP status codes that are returned during back-to-origin routing.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12390,68 +12468,35 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111747', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111806', + 'abilityTreeNodes' => ['FEATUREcdnUQAZK1'], ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The start time of the estimation. The default value is 00:00 on the first day of the current month. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-09-30T16:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify a maximum of 500 domain names in a request. Separate multiple domain names with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'example.com,example.org', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end time of the estimation. The default value is the current time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-10-25T10:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], ], [ - 'name' => 'Dimension', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The billable item. A value of flow specifies bandwidth.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'flow', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format in the ISO 8601 standard. The time is displayed in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], [ - 'name' => 'Area', + 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The billable region. Valid values:'."\n" - ."\n" - .'* **CN**: the Chinese mainland'."\n" - .'* **OverSeas**: outside the Chinese mainland'."\n" - .'* **AP1**: Asia Pacific 1'."\n" - .'* **AP2**: Asia Pacific 2'."\n" - .'* **AP3**: Asia Pacific 3'."\n" - .'* **NA**: North America'."\n" - .'* **SA**: South America'."\n" - .'* **EU**: Europe'."\n" - .'* **MEAA**: Middle East and Africa'."\n" - ."\n" - .'By default, the value of this parameter is determined by the metering method that is currently used. Regions inside and outside the Chinese mainland are classified into the **CN** and **OverSeas** billable regions. Billable regions inside the Chinese mainland include **CN**. Billable regions outside the Chinese mainland include **AP1**, **AP2**, **AP3**, **NA**, **SA**, **EU**, and **MEAA**.'."\n" - ."\n" - .'> For more information about billable regions, see [Billable regions](~~142221~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CN,OverSeas', - ], + 'schema' => ['description' => 'The time interval between the data entries to return. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Description**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], ], 'responses' => [ @@ -12459,197 +12504,163 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end time of the estimation.'."\n", - 'type' => 'string', - 'example' => '2018-10-25T10:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start time of the estimation.'."\n", - 'type' => 'string', - 'example' => '2018-09-30T16:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', - ], - 'BillType' => [ - 'description' => 'The metering method.'."\n" - ."\n" - .'> If the metering method ends with \\_overseas, the billable region is outside the Chinese mainland. For example, BillType": "month_avg_day_bandwidth_overseas specifies a billable region outside the Chinese mainland and that the metering method is pay by daily peak bandwidth per month.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* hour_flow: pay by hourly data transfer'."\n" - .'* day_bandwidth: pay by daily bandwidth'."\n" - .'* month\\_95: pay by monthly 95th percentile bandwidth.'."\n" - .'* month_avg_day_bandwidth: pay by average daily peak bandwidth per month'."\n" - .'* month\\_4th_day_bandwidth: pay by monthly 4th peak bandwidth'."\n" - .'* month_avg_day\\_95: pay by average daily 95th percentile bandwidth per month'."\n" - .'* month\\_95\\_night_half: pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00.'."\n" - .'* hour_vas: pay by value-added services per hour'."\n" - .'* day_count: pay by daily requests', - 'type' => 'string', - 'example' => 'month_95', - ], - 'BillPredictionData' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-11-30T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BC858082-736F-4A25-867B-E5B67C85ACF7', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com,example.org', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'HttpCodeData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'BillPredictionDataItem' => [ - 'description' => 'The estimated bill data.'."\n", + 'UsageData' => [ + 'description' => 'The proportions of HTTP status codes at each time interval.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2015-11-30T05:30:00Z', 'title' => ''], 'Value' => [ - 'description' => 'The estimated value.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '10000', - ], - 'TimeStp' => [ - 'description' => 'The time when the value used as the estimated value is generated. This parameter is returned only if the metering method is pay by 95th percentile, pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00, or pay by 4th peak bandwidth per month.'."\n", - 'type' => 'string', - 'example' => '2018-10-15T16:00:00Z', - ], - 'Area' => [ - 'description' => 'The billable region.'."\n", - 'type' => 'string', - 'example' => 'CN', + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'CodeProportionData' => [ + 'description' => 'The proportions of the HTTP status codes.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Code' => ['description' => 'The HTTP status code returned.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Proportion' => ['description' => 'The proportion of the HTTP status code.', 'type' => 'string', 'example' => '67.1458998935037', 'title' => ''], + 'Count' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '2300', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'BillTypeNotFound', - 'errorMessage' => 'The user billing type is not found or the billing type of this user is not the monthly billing type.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified Time is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidTimeSpan', - 'errorMessage' => 'The time span exceeds the limit.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2018-10-25T10:00:00Z\\",\\n \\"StartTime\\": \\"2018-09-30T16:00:00Z\\",\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"BillType\\": \\"month_95_overseas\\",\\n \\"BillPredictionData\\": {\\n \\"BillPredictionDataItem\\": [\\n {\\n \\"Value\\": 10000,\\n \\"TimeStp\\": \\"2018-10-15T16:00:00Z\\",\\n \\"Area\\": \\"CN\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnUserBillPredictionResponse>\\n<RequestId>C370DAF1-C838-4288-A1A0-9A87633D248E</RequestId>\\n<StartTime>2018-09-30T16:00:00Z</StartTime>\\n<EndTime>2018-10-25T10:00:00Z</EndTime>\\n<BillType>month_95_overseas</BillType>\\n<BillPredictionData>\\n <BillPredictionDataItem>\\n <Value>10000</Value>\\n <Area>CN</Area>\\n <TimeStp>2018-10-15T16:00:00Z</TimeStp>\\n </BillPredictionDataItem>\\n <BillPredictionDataItem>\\n <Value>5000</Value>\\n <Area>OverSeas</Area>\\n <TimeStp>2018-10-10T:00:00Z</TimeStp>\\n </BillPredictionDataItem>\\n</BillPredictionData>\\n</DescribeCdnUserBillPredictionResponse>","errorExample":""}]', - 'title' => 'DescribeCdnUserBillPrediction', - 'description' => 'You can call this operation to estimate resource usage of the current month based on the metering method that is specified on the first day of the current month. You can call this operation to estimate resource usage only of the current month within your Alibaba Cloud account. The time range used for the estimation starts at 00:00 on the first day of the current month and ends 2 hours earlier than the current time.'."\n" + 'title' => 'DescribeDomainSrcHttpCodeData', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" ."\n" - .'* Pay by monthly 95th percentile: The top 5% values between the start time and end time are excluded. The estimated value is the highest value among the remaining values.'."\n" - .'* Pay by average daily peak bandwidth per month: Estimated value = Sum of daily peak bandwidth values/Number of days. The current day is excluded.'."\n" - .'* Pay by 4th peak bandwidth per month: The estimated value is the 4th peak bandwidth value between the start time and end time. If the time range is less than four days, the estimated value is 0.'."\n" - .'* Pay by average daily 95th percentile bandwidth per month: Estimated value = Sum of daily 95th percentile bandwidth values/Number of days. The current day is excluded.'."\n" - .'* Pay by 95th percentile bandwidth with 50% off from 00:00 to 08:00: The top 5% values between the start time and end time are excluded. The estimated value is the highest value among the remaining values.'."\n" + .'The time granularity supported by the Interval parameter varies with the maximum time range per query. The following table describes the time period within which historical data is available and the data delay.'."\n" ."\n" - .'> You can call this operation only once per second per account.'."\n", + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateUserUsageDataExportTask' => [ - 'summary' => 'Creates a task to export your resource usage history to a PDF file.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:28:31.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcHttpCodeData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2015-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2015-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"BC858082-736F-4A25-867B-E5B67C85ACF7\\",\\n \\"DomainName\\": \\"example.com,example.org\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"HttpCodeData\\": {\\n \\"UsageData\\": [\\n {\\n \\"TimeStamp\\": \\"2015-11-30T05:30:00Z\\",\\n \\"Value\\": {\\n \\"CodeProportionData\\": [\\n {\\n \\"Code\\": \\"200\\",\\n \\"Proportion\\": \\"67.1458998935037\\",\\n \\"Count\\": \\"2300\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainSrcQpsData' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111698', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111807', + 'abilityTreeNodes' => ['FEATUREcdnE9OF3Y'], ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The start of the time range to query. The data is collected every 5 minutes.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2015-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify multiple domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries QPS data for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. The end time must be later than the start time.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2015-12-10T21:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'If you leave this parameter empty, data collected in the last 24 hours is queried.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], ], [ - 'name' => 'TaskName', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Refresh'."\n", - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], ], [ - 'name' => 'Language', + 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The language in which you want to export the file. Default value: zh-cn. Valid values:'."\n" - ."\n" - .'* **zh-cn**: Chinese'."\n" - .'* **en-us**: English'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'zh-cn', - ], + 'schema' => ['description' => 'The time interval between the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], ], 'responses' => [ @@ -12657,92 +12668,101 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '129456', + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '7CBCD6AD-B016-42E5-AE0B-B3731DE8F755', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'SrcQpsDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The back-to-origin bandwidth information at each interval.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The QPS value.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterAliuid', - 'errorMessage' => 'Invalid Parameter Aliuid.', - ], - [ - 'errorCode' => 'InvalidParameterStartTime', - 'errorMessage' => 'The parameter StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterEndTime', - 'errorMessage' => 'The parameter EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidTimeRange', - 'errorMessage' => 'Invalid StartTime and EndTime range.', - ], - [ - 'errorCode' => 'InvalidParameterOperator', - 'errorMessage' => 'Invalid Parameter Operator.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Overlimit', 'errorMessage' => 'Too many DomainNames are specified.', 'description' => 'The number of specified domain names exceeds the limit of the operation.'], + ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => 'The format of the time granularity is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"TaskId\\": \\"129456\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"TaskId\\": \\"129456\\"\\n}"},{"type":"xml","example":"<CreateUserUsageDataExportTaskResponse>\\r\\n\\t<RequestId>ED61C6C3-8241-4187-AAA7-5157AE175CEC</RequestId>\\r\\n\\t<StartTime>2015-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2015-12-10T21:00:00Z</EndTime>\\r\\n\\t<TaskId>129456</TaskId>\\r\\n</CreateUserUsageDataExportTaskResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'CreateUserUsageDataExportTask', - 'description' => '* You can create a task to query data in the last year. The maximum time range that can be queried is one month.'."\n" - .'* You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DescribeDomainSrcQpsData', + 'summary' => 'Queries the number of queries per second (QPS) that are sent to the origin server. You can query data collected in the last 90 days.', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'### Time granularity'."\n" + ."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeUserUsageDataExportTask' => [ - 'summary' => 'Queries usage export tasks that were created in the last three months.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:27:52.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcQpsData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcQpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"7CBCD6AD-B016-42E5-AE0B-B3731DE8F755\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcQpsDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2015-12-10T21:00:00Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainSrcTopUrlVisit' => [ + 'summary' => 'Queries frequently requested origin URLs of one or more accelerated domain names.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -12751,34 +12771,42 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111844', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111808', + 'abilityTreeNodes' => ['FEATUREcdnE9OF3Y'], ], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **50**.'."\n" - ."\n" - .'Valid values: an integer from **1** to **50**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Valid values: **1** to **100000**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> If you leave this parameter empty, data within the previous day is queried.'."\n", 'type' => 'string', 'required' => false, 'example' => '2018-10-03T16:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The duration between the end time and the start time cannot exceed seven days.'."\n", 'type' => 'string', 'required' => false, 'example' => '2018-10-03T20:00:00Z', 'title' => ''], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => 'The method that is used to sort the returned URLs. Default value: **pv**. Valid values:'."\n" + ."\n" + .'* **traf**: by network traffic'."\n" + .'* **pv**: by the number of visits'."\n", 'type' => 'string', 'required' => false, 'example' => 'pv', 'title' => ''], ], ], 'responses' => [ @@ -12786,157 +12814,243 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A91BE91F-0B34-4CBF-8E0F-A2977E15AA52', + 'StartTime' => ['description' => 'The beginning of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2018-10-03T16:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'AllUrlList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of frequently requested URLs.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'UsageDataPerPage' => [ - 'description' => 'The usage details returned per page.'."\n", + 'Url200List' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', + 'UrlList' => [ + 'description' => 'A list of URLs for which 2xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url300List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 3xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url400List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 4xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'Data' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataItem' => [ - 'description' => 'The information about the tasks.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The state of the task.'."\n" - ."\n" - .'* created: The task is being created.'."\n" - .'* success: The task is successful.'."\n" - .'* failed: The task failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'UpdateTime' => [ - 'description' => 'The time when the task was last modified.'."\n", - 'type' => 'string', - 'example' => '2019-12-31T08:45:02Z', - ], - 'DownloadUrl' => [ - 'description' => 'The download URL.'."\n", - 'type' => 'string', - 'example' => 'https://cdn-polaris.xxxx', - ], - 'CreateTime' => [ - 'description' => 'The time when the task was created.'."\n", - 'type' => 'string', - 'example' => '2019-12-31T08:43:21Z', - ], - 'TaskName' => [ - 'description' => 'The name of the task.'."\n", - 'type' => 'string', - 'example' => 'Refresh'."\n", - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'A91BE91F-0B34-4CBF-8E0F-A2977', - ], - 'TaskConfig' => [ - 'description' => 'The configurations of the task.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-30T15:59:59Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-29T16:00:00Z', - ], - ], - ], - ], - ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url500List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 5xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterOperator', - 'errorMessage' => 'Invalid Parameter Operator.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => 'Start time and end time do not match, time span limit is exceeded, or the time parameter is invalid.'], + ['errorCode' => 'InvalidDomainName.Mismatch', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977E15AA52\\",\\n \\"UsageDataPerPage\\": {\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2019-12-31T08:45:02Z\\",\\n \\"DownloadUrl\\": \\"https://cdn-polaris.xxxx\\",\\n \\"CreateTime\\": \\"2019-12-31T08:43:21Z\\",\\n \\"TaskName\\": \\"刷新\\",\\n \\"TaskId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977\\",\\n \\"TaskConfig\\": {\\n \\"EndTime\\": \\"2019-12-30T15:59:59Z\\",\\n \\"StartTime\\": \\"2019-12-29T16:00:00Z\\"\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977E15AA52\\",\\n \\"UsageDataPerPage\\": {\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 1,\\n \\"PageNumber\\": 1,\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"TaskId\\": 11,\\n \\"UpdateTime\\": \\"2018-10-09T06:35:01Z\\",\\n \\"DownloadUrl\\": \\"example.com\\",\\n \\"UpdateTime\\": \\"2018-10-09T06:35:46Z\\",\\n \\"CreateTime\\": \\"2018-10-09T06:33:38Z\\",\\n \\"Status\\": \\"success\\"\\n \\"TaskConfig\\": {\\n \\"StartTime\\": \\"2018-07-31T16:00:00Z\\",\\n \\"EndTime\\": \\"2018-08-31T15:59:59Z\\"\\n },\\n }\\n ]\\n }\\n }\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeUserUsageDataExportTaskResponse>\\r\\n\\t<UsageDataPerPage>\\r\\n\\t\\t<Data>\\r\\n\\t\\t\\t<DataItem>\\r\\n\\t\\t\\t\\t<Status>success</Status>\\r\\n\\t\\t\\t\\t<TaskConfig>\\r\\n\\t\\t\\t\\t\\t<EndTime>2019-12-30T15:59:59Z</EndTime>\\r\\n\\t\\t\\t\\t\\t<StartTime>2019-12-29T16:00:00Z</StartTime>\\r\\n\\t\\t\\t\\t</TaskConfig>\\r\\n\\t\\t\\t\\t<CreateTime>2019-12-31T08:43:21Z</CreateTime>\\r\\n\\t\\t\\t\\t<DownloadUrl>https://cdn-polaris.xxxx</DownloadUrl>\\r\\n\\t\\t\\t\\t<UpdateTime>2019-12-31T08:45:02Z</UpdateTime>\\r\\n\\t\\t\\t\\t<TaskId>11584</TaskId>\\r\\n\\t\\t\\t\\t<TaskName></TaskName>\\r\\n\\t\\t\\t</DataItem>\\r\\n\\t\\t</Data>\\r\\n\\t\\t<PageNumber>1</PageNumber>\\r\\n\\t\\t<TotalCount>1</TotalCount>\\r\\n\\t\\t<PageSize>10</PageSize>\\r\\n\\t</UsageDataPerPage>\\r\\n\\t<RequestId>FB7EC32A-356A-4B33-BA59-6DB1FFF61FD2</RequestId>\\r\\n </DescribeUserUsageDataExportTaskResponse>","errorExample":""}]', - 'title' => 'DescribeUserUsageDataExportTask', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"StartTime\\": \\"2018-10-03T16:00:00Z\\",\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"AllUrlList\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url200List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url300List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url400List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url500List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainSrcTopUrlVisitResponse>\\n<AllUrlList>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>37</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/ZXg9MQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</AllUrlList>\\n<Url300List>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>3</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUDZXg9MQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url300List>\\n<Url400List>\\n <UrlList>\\n <VisitData>1884</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUhb,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SEEwODgm,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url400List>\\n<RequestId>64D28B53-5902-409B-94F6-FD46680144FE</RequestId>\\n<DomainName>example.com</DomainName>\\n<Url200List>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU0bGxfcG,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>3</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KDMlPTIwMTQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url200List>\\n<StartTime>2018-10-03T16:00:00Z</StartTime>\\n<Url500List>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>3</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUDZXg9MQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url500List>\\n</DescribeDomainSrcTopUrlVisitResponse>\\n","errorExample":""}]', + 'title' => 'DescribeDomainSrcTopUrlVisit', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + ."\n" + .'> * The data is collected at an interval of 5 minutes.'."\n" + .'>* You can call this operation up to 10 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteUserUsageDataExportTask' => [ - 'summary' => 'Deletes a task that was used to export usage history.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcTopUrlVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcTopUrlVisit'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainSrcTrafficData' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111713', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111809', + 'abilityTreeNodes' => ['FEATUREcdnE9OF3Y'], ], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the task to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the origin traffic for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], ], 'responses' => [ @@ -12944,151 +13058,160 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'SrcTrafficDataPerInterval' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataModule' => [ + 'description' => 'The amount of origin traffic returned at each time interval. Unit: bytes.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => ['description' => 'The traffic value at each time interval.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2015-12-10T20:35:00Z', 'title' => ''], + 'HttpsValue' => ['description' => 'The amount of traffic generated by origin HTTPS requests.', 'type' => 'string', 'example' => '0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterAliuid', - 'errorMessage' => 'Invalid Parameter Aliuid.', - ], - [ - 'errorCode' => 'InvalidTaskId.Malformed', - 'errorMessage' => 'Specified TaskId is malformed.', - ], - [ - 'errorCode' => 'InvalidParameterOperator', - 'errorMessage' => 'Invalid Parameter Operator.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'StartTime and EndTime can not be single.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Overlimit', 'errorMessage' => 'Too many DomainNames are specified.', 'description' => 'The number of specified domain names exceeds the limit of the operation.'], + ['errorCode' => 'InvalidInterval.Malformed', 'errorMessage' => 'Specified Interval is malformed.', 'description' => 'The format of the time granularity is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUserUsageDataExportTaskResponse>\\r\\n\\t<RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\r\\n</DeleteUserUsageDataExportTaskResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DeleteUserUsageDataExportTask', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DescribeDomainSrcTrafficData', + 'summary' => 'Queries origin traffic for one or more specified accelerated domain names.', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'**Time granularity**'."\n" + ."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateUsageDetailDataExportTask' => [ - 'summary' => 'Creates a task to export resource usage details to an Excel file.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:28:27.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcTrafficData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"SrcTrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"0\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:35:00Z\\",\\n \\"HttpsValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainTopClientIpVisit' => [ + 'summary' => 'Queries client IP addresses that are ranked by the number of requests or the amount of network traffic within a specific time range for one or more accelerated domain names. You can query data collected within the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111697', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111811', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries client IP addresses for all accelerated domain names.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'LocationNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-12-10T21:00:00Z', - ], + 'schema' => ['description' => 'The name of the region. Separate multiple region names with commas (,).'."\n" + ."\n" + .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n", 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], [ - 'name' => 'Group', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name group. If you specify this parameter, the **DomainNames** parameter is ignored.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxx', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-09-30T16:00:00Z', 'title' => ''], ], [ - 'name' => 'DomainNames', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain names. If you do not specify the Group parameter, resource usage details of these domain names are exported.'."\n" - ."\n" - .'If you do not specify this parameter, resource usage details are exported based on accounts.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-10-01T16:00:00Z', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'SortBy', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of resource usage data to query. Valid values:'."\n" - ."\n" - .'* **flow**: traffic and bandwidth'."\n" - .'* **vas**: requests'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'flow', - ], + 'schema' => ['description' => 'The criterion by which you want to sort client IP addresses. Valid values:'."\n" + ."\n" + .'* **traf**: by network traffic. This is the default value.'."\n" + .'* **acc**: by the number of requests.'."\n", 'type' => 'string', 'required' => false, 'example' => 'traf', 'default' => 'traf', 'title' => ''], ], [ - 'name' => 'TaskName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Refresh'."\n", - ], - ], - [ - 'name' => 'Language', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The language in which you want to export the file. Valid values:'."\n" - ."\n" - .'* **zh-cn**: Chinese. This is the default value.'."\n" - .'* **en-us**: English'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'en-us', - 'default' => 'zh-cn', - ], + 'schema' => ['description' => 'The maximum number of entries to return. Maximum value: 100.'."\n" + ."\n" + .'Default value: 20. The default value specifies that the top 20 IP addresses are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => '20', 'default' => '20', 'title' => ''], ], ], 'responses' => [ @@ -13096,100 +13219,79 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '123456', + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', 'title' => ''], + 'ClientIpList' => [ + 'description' => 'A list of client IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Rank' => ['description' => 'The ranking of the client IP address returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'ClientIp' => ['description' => 'The client IP address returned. Only IPv4 addressed are supported.'."\n", 'type' => 'string', 'example' => '1.1.xxx', 'title' => ''], + 'Acc' => ['description' => 'The total number of requests.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '256', 'title' => ''], + 'Traffic' => ['description' => 'The total amount of network traffic consumed. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingTimeParameter', - 'errorMessage' => 'The StartTime and EndTime must be both specified.', - ], - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterDimension', - 'errorMessage' => 'The parameter Dimension is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterBillType', - 'errorMessage' => 'The parameter BillType is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterAliuid', - 'errorMessage' => 'Invalid Parameter Aliuid.', - ], - [ - 'errorCode' => 'InvalidParameterStartTime', - 'errorMessage' => 'The specified StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterEndTime', - 'errorMessage' => 'The specified EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidTimeRange', - 'errorMessage' => 'Invalid StartTime and EndTime range.', - ], - [ - 'errorCode' => 'InvalidParameterOperator', - 'errorMessage' => 'Invalid Parameter Operator.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => 'The specified domain name does not exist or does not belong to the current account. Check whether the domain name is valid, belongs to the current account, or has expired.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"TaskId\\": \\"123456\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"ED61C6C3-8241-4187-AAA7-5157AE175CEC\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"TaskId\\": \\"123456\\"\\n}"},{"type":"xml","example":"<CreateUsageDetailDataExportTaskResponse>\\r\\n\\t<RequestId>ED61C6C3-8241-4187-AAA7-5157AE175CEC</RequestId>\\r\\n\\t<StartTime>2015-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2015-12-10T21:00:00Z</EndTime>\\r\\n\\t<TaskId>123456</TaskId>\\r\\n</CreateUsageDetailDataExportTaskResponse>","errorExample":""}]', - 'title' => 'CreateUsageDetailDataExportTask', - 'description' => '* You can create a task to query data in the last year. The maximum time range that can be queried is one month.'."\n" - .'* You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"ClientIpList\\": [\\n {\\n \\"Rank\\": 2,\\n \\"ClientIp\\": \\"1.1.xxx\\",\\n \\"Acc\\": 256,\\n \\"Traffic\\": 1024\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainTopClientIpVisitResponse>\\n<RequestId>64D28B53-5902-409B-94F6-FD46680144FE</RequestId>\\n<ClientIpList>\\n <Rank>1</Rank>\\n <ClientIp>1.1.xx</ClientIp>\\n <Traffic>1024</Traffic>\\n <Acc>128</Acc>\\n</ClientIpList>\\n<ClientIpList>\\n <Rank>2</Rank>\\n <ClientIp>2.2.xx</ClientIp>\\n <Traffic>2048</Traffic>\\n <Acc>256</Acc>\\n</ClientIpList>\\n</DescribeDomainTopClientIpVisitResponse>\\n","errorExample":""}]', + 'title' => 'DescribeDomainTopClientIpVisit', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature to for data analysis.'."\n" + ."\n" + .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + .'>* Data is collected every hour.'."\n" + .'>* You can call this operation up to 10 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeUserUsageDetailDataExportTask' => [ - 'summary' => 'Queries tasks that were used to export resource usage details of one or more accelerated domain names that belong to your Alibaba Cloud account. Resource usage information is collected every five minutes.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:22.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:15:14.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTopClientIpVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTopClientIpVisit'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainTopReferVisit' => [ + 'summary' => 'Queries frequently requested web pages of one or more accelerated domain names on a specified day and sorts the web pages. You can query data collected within the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13197,35 +13299,41 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111845', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111812', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ - 'name' => 'PageSize', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **50**.'."\n" - ."\n" - .'Valid values: an integer from **1** to **50**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Valid values: **1** to **100000**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-12-21T12:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-12-22T12:00:00Z', 'title' => ''], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => 'The order in which you want to sort the queried information. Valid values:'."\n" + ."\n" + .'* **traf**: by network traffic.'."\n" + .'* **pv**: by the number of page views. This is the default value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'pv', 'title' => ''], ], ], 'responses' => [ @@ -13233,154 +13341,138 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A91BE91F-0B34-4CBF-8E0F-A2977E15AA52', - ], - 'UsageDataPerPage' => [ - 'description' => 'The usage details returned per page.'."\n", + 'StartTime' => ['description' => 'The beginning of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2019-12-21T12:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '95994621-8382-464B-8762-C708E73568D1', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'TopReferList' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Data' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataItem' => [ - 'description' => 'The information about the task.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the task.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'UpdateTime' => [ - 'description' => 'The time when the task was last modified.'."\n", - 'type' => 'string', - 'example' => '2018-10-09T06:35:46Z', - ], - 'DownloadUrl' => [ - 'description' => 'The download URL.'."\n", - 'type' => 'string', - 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/billing_data/xxx', - ], - 'CreateTime' => [ - 'description' => 'The time when the task was created.'."\n", - 'type' => 'string', - 'example' => '2018-10-09T06:33:38Z', - ], - 'TaskName' => [ - 'description' => 'The name of the task.'."\n", - 'type' => 'string', - 'example' => 'Refresh'."\n", - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => '11', - ], - 'TaskConfig' => [ - 'description' => 'The configurations of the task.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2018-08-31T15:59:59Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2018-07-31T16:00:00Z', - ], - ], - ], - ], - ], + 'ReferList' => [ + 'description' => 'The most frequently requested web pages.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.5', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '3', 'title' => ''], + 'ReferDetail' => ['description' => 'The URLs to the most frequently requested web pages.'."\n", 'type' => 'string', 'example' => 'learn.aliyundoc.com', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.5', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterOperator', - 'errorMessage' => 'Invalid Parameter Operator.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977E15AA52\\",\\n \\"UsageDataPerPage\\": {\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2018-10-09T06:35:46Z\\",\\n \\"DownloadUrl\\": \\"https://test.oss-cn-beijing.aliyuncs.com/billing_data/xxx\\",\\n \\"CreateTime\\": \\"2018-10-09T06:33:38Z\\",\\n \\"TaskName\\": \\"刷新\\",\\n \\"TaskId\\": \\"11\\",\\n \\"TaskConfig\\": {\\n \\"EndTime\\": \\"2018-08-31T15:59:59Z\\",\\n \\"StartTime\\": \\"2018-07-31T16:00:00Z\\"\\n }\\n }\\n ]\\n }\\n }\\n}","errorExample":"{\\n \\"TotalCount\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"UsageDataPerPage\\": {\\n \\"UsageData\\": [\\n {\\n \\"StartTime\\": \\"2017-12-10T00:00:00Z\\",\\n \\"EndTime\\": \\"2017-12-11T00:00:00Z\\",\\n \\"CreateTime\\": \\"2017-12-15T12:33:10Z\\",\\n \\"ModifyTime\\": \\"2017-12-15T12:38:49Z\\",\\n \\"TaskName\\":\\"测试任务\\",\\n \\"TaskId\\":\\"34230590834\\"\\n \\"Status\\": \\"Success\\",\\n \\"DownloadUrl\\":\\"http://example.com/xxxx/xxxx.pdf\\",\\n \\"UpdateTime\\": \\"2017-12-15T12:41:49Z\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"B955107D-E658-4E77-B913-E0AC3D31693E\\"\\n}"},{"type":"xml","example":"<DescribeUserUsageDetailDataExportTaskResponse>\\n<RequestId>A91BE91F-0B34-4CBF-8E0F-A2977E15AA52</RequestId>\\n<UsageDataPerPage>\\n <PageSize>10</PageSize>\\n <TotalCount>1</TotalCount>\\n <PageNumber>1</PageNumber>\\n <Data>\\n <DataItem>\\n <TaskId>11</TaskId>\\n <UpdateTime>2018-10-09T06:35:46Z</UpdateTime>\\n <DownloadUrl>https://test.oss-cn-beijing.aliyuncs.com/billing_data/xxx</DownloadUrl>\\n <CreateTime>2018-10-09T06:33:38Z</CreateTime>\\n <Status>success</Status>\\n <TaskConfig>\\n <StartTime>2018-07-31T16:00:00Z</StartTime>\\n <EndTime>2018-08-31T15:59:59Z</EndTime>\\n </TaskConfig>\\n </DataItem>\\n </Data>\\n</UsageDataPerPage>\\n</DescribeUserUsageDetailDataExportTaskResponse>","errorExample":""}]', - 'title' => 'DescribeUserUsageDetailDataExportTask', - 'description' => '* This operation has been available since July 20, 2018. You can query information about resource usage collected within the last three months.'."\n" - .'* You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"StartTime\\": \\"2019-12-21T12:00:00Z\\",\\n \\"RequestId\\": \\"95994621-8382-464B-8762-C708E73568D1\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"TopReferList\\": {\\n \\"ReferList\\": [\\n {\\n \\"Flow\\": \\"200\\",\\n \\"FlowProportion\\": 0.5,\\n \\"VisitData\\": \\"3\\",\\n \\"ReferDetail\\": \\"learn.aliyundoc.com\\",\\n \\"VisitProportion\\": 0.5\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainTopReferVisitResponse>\\n<TopReferList>\\n <ReferList>\\n <Flow>1557043</Flow>\\n <VisitProportion>0.9078341013824884</VisitProportion>\\n <VisitData>591</VisitData>\\n <ReferDetail>-</ReferDetail>\\n <FlowProportion>0.07801388057582173</FlowProportion>\\n </ReferList>\\n <ReferList>\\n <Flow>18397394</Flow>\\n <VisitProportion>0.08602150537634409</VisitProportion>\\n <VisitData>56</VisitData>\\n <ReferDetail>learn.aliyundoc.com</ReferDetail>\\n <FlowProportion>0.9217806434519402</FlowProportion>\\n </ReferList>\\n <ReferList>\\n <Flow>4101</Flow>\\n <VisitProportion>0.006144393241167435</VisitProportion>\\n <VisitData>4</VisitData>\\n <ReferDetail>learn.aliyundoc.com</ReferDetail>\\n <FlowProportion>0.00020547597223804668</FlowProportion>\\n </ReferList>\\n</TopReferList>\\n<RequestId>BA64068A-D73C-4613-8AAB-E9374F78FB95</RequestId>\\n<DomainName>example.com</DomainName>\\n<StartTime>2019-12-21T12:00:00Z</StartTime>\\n</DescribeDomainTopReferVisitResponse>\\n","errorExample":""}]', + 'title' => 'DescribeDomainTopReferVisit', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature or [ship real-time logs in Log Service](~~440145~~) to analyze data.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + ."\n" + .'* Data is collected at an interval of five minutes.'."\n" + ."\n" + .'* You can call this operation up to 10 times per second per account.'."\n", 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteUsageDetailDataExportTask' => [ - 'summary' => 'Deletes a task that was used to export usage details.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:13:59.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTopReferVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTopReferVisit'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainTopUrlVisit' => [ + 'summary' => 'Queries top 100 frequently requested URLs of an accelerated domain name within a specified time range.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111712', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111813', + 'abilityTreeNodes' => ['FEATUREcdnB3I7MU'], ], 'parameters' => [ [ - 'name' => 'TaskId', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the task. You can call the [DescribeUserUsageDataExportTask](~~91062~~) operation to query tasks.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The accelerated domain name that you want to query.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The start of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'If you want to query data of a specific day, we recommend that you set the value in the yyyy-MM-ddT16:00:00Z format.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-10-04T00:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The maximum time range that can be specified is seven days.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-10-04T16:00:00Z', 'title' => ''], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'schema' => ['description' => 'The method that is used to sort the returned URLs. Default value: **pv**. Valid values:'."\n" + ."\n" + .'* **traf**: by network traffic'."\n" + .'* **pv**: by the number of page views'."\n", 'type' => 'string', 'required' => false, 'example' => 'pv', 'title' => ''], ], ], 'responses' => [ @@ -13388,52 +13480,203 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'StartTime' => ['description' => 'The start of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2019-10-03T16:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'AllUrlList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of frequently requested URLs.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url200List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 2xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/aWQ9SE5KU0bGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url300List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 3xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url400List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 4xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUhbGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '1884', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Url500List' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UrlList' => [ + 'description' => 'A list of URLs for which 5xx status codes were returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Flow' => ['description' => 'The amount of network traffic. Unit: bytes.'."\n", 'type' => 'string', 'example' => '460486880', 'title' => ''], + 'UrlDetail' => ['description' => 'The complete URL.'."\n", 'type' => 'string', 'example' => 'http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8', 'title' => ''], + 'FlowProportion' => ['description' => 'The proportion of network traffic consumed to access the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + 'VisitData' => ['description' => 'The number of visits to the URL.'."\n", 'type' => 'string', 'example' => '161673', 'title' => ''], + 'VisitProportion' => ['description' => 'The proportion of visits to the URL.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '0.35', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameterProduct', - 'errorMessage' => 'Invalid Parameter Product.', - ], - [ - 'errorCode' => 'InvalidParameterAliuid', - 'errorMessage' => 'Invalid Parameter Aliuid.', - ], - [ - 'errorCode' => 'InvalidTaskId.Malformed', - 'errorMessage' => 'Specified TaskId is malformed.', - ], - [ - 'errorCode' => 'InvalidParameterOperator', - 'errorMessage' => 'Invalid Parameter Operator.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => 'Start time and end time do not match, time span limit is exceeded, or the time parameter is invalid.'], + ['errorCode' => 'InvalidDomainName.Mismatch', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteUsageDetailDataExportTaskResponse>\\r\\n\\t<RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\r\\n</DeleteUsageDetailDataExportTaskResponse>","errorExample":""}]', - 'title' => 'DeleteUsageDetailDataExportTask', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"StartTime\\": \\"2019-10-03T16:00:00Z\\",\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"AllUrlList\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url200List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/aWQ9SE5KU0bGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url300List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url400List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUhbGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"1884\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url500List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainTopUrlVisitResponse>\\n<Url300List>\\n</Url300List>\\n<AllUrlList>\\n <UrlList>\\n <Flow>9304</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>2</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <Flow>3986</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <Flow>784</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n</AllUrlList>\\n<Url400List>\\n <UrlList>\\n <Flow>3986</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <Flow>784</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n</Url400List>\\n<RequestId>8E7A2ABF-1BB0-4E46-AE3E-58DB3151080C</RequestId>\\n<DomainName>example.com</DomainName>\\n<Url200List>\\n <UrlList>\\n <Flow>9304</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>2</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n</Url200List>\\n<StartTime>2019-10-04T00:00:00Z</StartTime>\\n<Url500List>\\n</Url500List>\\n</DescribeDomainTopUrlVisitResponse>","errorExample":""}]', + 'title' => 'DescribeDomainTopUrlVisit', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + ."\n" + .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + .'>* You can query data collected in the last 90 days.'."\n" + .'>* You can specify only one domain name in each call.'."\n" + .'>* You can call this operation up to 10 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainMax95BpsData' => [ - 'summary' => 'Queries the 95th percentile bandwidth data of a domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:00.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTopUrlVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTopUrlVisit'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainTrafficData' => [ + 'summary' => 'Queries network traffic for one or more accelerated domain names. You can query data that is collected in the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13442,78 +13685,51 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111780', - 'abilityTreeNodes' => [ - 'FEATUREcdn5DW324', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111814', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. If you do not specify a domain name, data of all domain names is queried.'."\n" - ."\n" - .'> You cannot specify multiple domain names in a DescribeDomainMax95BpsData request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'By default, this operation queries the network traffic for all accelerated domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-21T08:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2015-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-22T08:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2015-12-10T21:00:00Z', 'title' => ''], ], [ - 'name' => 'TimePoint', + 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-21T10:00:00Z', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds.'."\n" + ."\n" + .'The time granularity varies with the maximum time range per query. Valid values: 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For more information, see **Usage notes**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], [ - 'name' => 'Cycle', + 'name' => 'IspNameEn', 'in' => 'query', - 'schema' => [ - 'description' => 'The cycle to query the 95th percentile bandwidth data. Default value: **day**. Valid values:'."\n" - ."\n" - .'* **day**: queries the 95th percentile bandwidth data by day.'."\n" - .'* **month**: queries the 95th percentile bandwidth data by month.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'month', - 'enum' => [ - 'day', - 'month', - ], - ], + 'schema' => ['description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query ISPs.'."\n" + ."\n" + .'If you do not specify an ISP, data of all ISPs is queried.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], + ], + [ + 'name' => 'LocationNameEn', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~DescribeCdnRegionAndIsp~~) operation to query regions.'."\n" + ."\n" + .'If you do not specify a region, data in all regions is queried.', 'type' => 'string', 'required' => false, 'example' => 'beijing', 'title' => ''], ], ], 'responses' => [ @@ -13521,151 +13737,103 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'EndTime' => [ - 'description' => 'The end of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-11T21:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'DomesticMax95Bps' => [ - 'description' => 'The 95th percentile bandwidth in the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '16777590.28', - ], - 'OverseasMax95Bps' => [ - 'description' => 'The 95th percentile bandwidth outside the Chinese mainland.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Max95Bps' => [ - 'description' => 'The 95th percentile bandwidth.'."\n", - 'type' => 'string', - 'example' => '16777590.28', - ], - 'DetailData' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T21:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B955107D-E658-4E77-B913-E0AC3D31693E', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], + 'TrafficDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Max95Detail' => [ - 'description' => 'Details of the 95th percentile bandwidth.'."\n", + 'DataModule' => [ + 'description' => 'The amount of network traffic at each time interval. Unit: bytes.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-12-11T21:00:00Z', - ], - 'Area' => [ - 'description' => 'Region of the 95th percentile bandwidth.'."\n", - 'type' => 'string', - 'example' => 'CN', - ], - 'Max95BpsPeakTime' => [ - 'description' => 'Time of the 95th percentile bandwidth.'."\n", - 'type' => 'string', - 'example' => '2015-12-11T21:05:00Z', - ], - 'Max95Bps' => [ - 'description' => 'The 95th percentile bandwidth.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '16777590.28', - ], + 'HttpsDomesticValue' => ['description' => 'The amount of HTTPS traffic on points of presence (POPs) in the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Value' => ['description' => 'The total volume of traffic.', 'type' => 'string', 'example' => '423304182', 'title' => ''], + 'OverseasValue' => ['description' => 'The amount of network traffic outside the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'HttpsValue' => ['description' => 'The total amount of HTTPS traffic on POPs.', 'type' => 'string', 'example' => '423304182', 'title' => ''], + 'HttpsOverseasValue' => ['description' => 'The amount of HTTPS traffic on POPs outside the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'DomesticValue' => ['description' => 'The amount of network traffic in the Chinese mainland.', 'type' => 'string', 'example' => '0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidTimePoint.Malformed', - 'errorMessage' => 'Specified TimePoint is malformed.', - ], - [ - 'errorCode' => 'InvalidTimeSpan', - 'errorMessage' => 'The time span exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"EndTime\\": \\"2015-12-11T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomesticMax95Bps\\": \\"16777590.28\\",\\n \\"OverseasMax95Bps\\": \\"0\\",\\n \\"Max95Bps\\": \\"16777590.28\\",\\n \\"DetailData\\": {\\n \\"Max95Detail\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-11T21:00:00Z\\",\\n \\"Area\\": \\"CN\\",\\n \\"Max95BpsPeakTime\\": \\"2015-12-11T21:05:00Z\\",\\n \\"Max95Bps\\": 16777590.28\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainMax95BpsDataResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<RequestId>3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F</RequestId>\\r\\n\\t<StartTime>2015-12-10T20:00:00Z</StartTime>\\r\\n\\t<EndTime>2015-12-11T21:00:00Z</EndTime>\\r\\n\\t<Max95Bps>16777590.28</Max95Bps>\\r\\n\\t<DomesticMax95Bps>16777590.28</DomesticMax95Bps>\\r\\n\\t<OverseasMax95Bps>0</OverseasMax95Bps>\\r\\n </DescribeDomainMax95BpsDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainMax95BpsData', - 'description' => '**You can use one of the following methods to query data:**'."\n" + 'title' => 'DescribeDomainTrafficData', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" ."\n" - .'* If you specify the StartTime and EndTime parameters and the time range that is specified by these parameters is less than or equal to 24 hours, the 95th percentile bandwidth data on the day of the start time is returned. If the time range that is specified by these parameters is more than 24 hours, the 95th percentile bandwidth data in the month of the start time is returned.'."\n" - .'* If you specify the TimePoint and Cycle parameters, the 95th percentile bandwidth data of the cycle is returned.'."\n" - .'* If you specify the StartTime, EndTime, and Cycle parameters, the 95th percentile bandwidth data of the cycle is returned.'."\n" - ."\n\n" + .'- If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" ."\n" - .'If you do not use one of the methods, the 95th percentile bandwidth data of the previous 24 hours is returned by default.'."\n" + .'**Time granularity**'."\n" ."\n" - .'* Maximum time range to query: 90 days '."\n" - .'* Minimum data granularity to query: 1 day '."\n" - .'* Historical data available: 90 days'."\n" + .'The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" ."\n" - .'- You can call this operation up to 100 times per second per account.'."\n" - .'- The unit of the bandwidth data returned is bit/s.', + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 366 days | 366 | 04:00 on the next day |', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:29:00.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTrafficData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2015-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"B955107D-E658-4E77-B913-E0AC3D31693E\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"TrafficDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"HttpsDomesticValue\\": \\"0\\",\\n \\"Value\\": \\"423304182\\",\\n \\"OverseasValue\\": \\"0\\",\\n \\"HttpsValue\\": \\"423304182\\",\\n \\"HttpsOverseasValue\\": \\"0\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomesticValue\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'DescribeDomainUsageData' => [ 'summary' => 'Queries the resource usage data of specific domain names in a specified billable region.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13674,309 +13842,241 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '111815', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify up to 100 domain names in each request. Separate multiple domain names with commas (,).'."\n" - ."\n" - .'> If you leave this parameter empty, the usage data of all accelerated domain names in your Alibaba Cloud account is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify up to 100 domain names in each request. Separate multiple domain names with commas (,).'."\n" + ."\n" + .'> If you leave this parameter empty, the usage data of all accelerated domain names in your Alibaba Cloud account is returned.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> Data is collected every 5 minutes.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2015-12-10T20:00:00Z', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> Data is collected every 5 minutes.', 'type' => 'string', 'required' => true, 'example' => '2015-12-10T20:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time. The maximum time range that can be specified is 31 days.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2015-12-10T22:00:00Z', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The maximum time range that can be specified is 31 days.', 'type' => 'string', 'required' => true, 'example' => '2015-12-10T22:00:00Z', 'title' => ''], ], [ 'name' => 'Field', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the data that you want to query. Valid values:'."\n" - ."\n" - .'* **bps**: bandwidth'."\n" - .'* **traf**: traffic'."\n" - .'* **acc**: requests'."\n" - ."\n" - .'> If you set this parameter to **acc**, the **Area** parameter is not supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'bps', - ], + 'schema' => ['description' => 'The type of the data that you want to query. Valid values:'."\n" + ."\n" + .'- **bps**: bandwidth'."\n" + ."\n" + .'- **traf**: traffic'."\n" + ."\n" + .'- **acc**: requests'."\n" + ."\n" + .'> If you set this parameter to **acc**, the **Area** parameter is not supported.', 'type' => 'string', 'required' => true, 'example' => 'bps', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of content that you want to query. Valid values:'."\n" - ."\n" - .'* **static**: static content'."\n" - .'* **dynamic**: dynamic content'."\n" - .'* **all** (default): both static and dynamic content'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'static', - 'default' => 'all', - ], + 'schema' => ['description' => 'The type of content that you want to query. Valid values:'."\n" + ."\n" + .'- **static**: static content'."\n" + ."\n" + .'- **dynamic**: dynamic content'."\n" + ."\n" + .'- **all** (default): both static and dynamic content', 'type' => 'string', 'required' => false, 'default' => 'all', 'example' => 'static', 'title' => ''], ], [ 'name' => 'DataProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol of the data that you want to query. Valid values:'."\n" - ."\n" - .'* **http:** HTTP'."\n" - .'* **https:** HTTPS'."\n" - .'* **quic**: QUIC'."\n" - .'* **all** (default): HTTP, HTTPS, and QUIC'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'all', - 'default' => 'all', - ], + 'schema' => ['description' => 'The protocol of the data that you want to query. Valid values:'."\n" + ."\n" + .'- **http:** HTTP'."\n" + ."\n" + .'- **https:** HTTPS'."\n" + ."\n" + .'- **quic**: QUIC'."\n" + ."\n" + .'- **all** (default): HTTP, HTTPS, and QUIC', 'type' => 'string', 'required' => false, 'default' => 'all', 'example' => 'all', 'title' => ''], ], [ 'name' => 'Area', 'in' => 'query', - 'schema' => [ - 'description' => 'The billable region. Valid values:'."\n" - ."\n" - .'* **CN** (default): inside the Chinese mainland'."\n" - .'* **OverSeas**: outside the Chinese mainland'."\n" - .'* **AP1**: Asia Pacific 1'."\n" - .'* **AP2**: Asia Pacific 2'."\n" - .'* **AP3**: Asia Pacific 3'."\n" - .'* **NA**: North America'."\n" - .'* **SA**: South America'."\n" - .'* **EU**: Europe'."\n" - .'* **MEAA**: Middle East and Africa'."\n" - .'* **all**: all the preceding billable regions'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CN', - 'default' => 'CN', - ], + 'schema' => ['description' => 'The billable region. Valid values:'."\n" + ."\n" + .'- **CN** (default): inside the Chinese mainland'."\n" + ."\n" + .'- **OverSeas**: outside the Chinese mainland'."\n" + ."\n" + .'- **AP1**: Asia Pacific 1'."\n" + ."\n" + .'- **AP2**: Asia Pacific 2'."\n" + ."\n" + .'- **AP3**: Asia Pacific 3'."\n" + ."\n" + .'- **NA**: North America'."\n" + ."\n" + .'- **SA**: South America'."\n" + ."\n" + .'- **EU**: Europe'."\n" + ."\n" + .'- **MEAA**: Middle East and Africa'."\n" + ."\n" + .'- **all**: all the preceding billable regions', 'type' => 'string', 'required' => false, 'default' => 'CN', 'example' => 'CN', 'title' => ''], ], [ 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds. Valid values: **300** (5 minutes), **3600** (1 hour), and **86400** (1 day).'."\n" - ."\n" - .'* If **Interval** is set to **300**, you can query usage data in the last 6 months. The maximum time range per query that can be specified is 3 days.'."\n" - .'* If **Interval** is set to **3600** or **86400**, you can query usage data of the previous year.'."\n" - .'* If you leave the **Interval** parameter empty, the maximum time range that you can query is 1 month. If you specify a time range of 1 to 3 days, the time interval between the entries that are returned is 1 hour. If you specify a time range of at least 4 days, the time interval between the entries that are returned is 1 day.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds. Valid values: **300** (5 minutes), **3600** (1 hour), and **86400** (1 day).'."\n" + ."\n" + .'- If **Interval** is set to **300**, you can query usage data in the last 6 months. The maximum time range per query that can be specified is 3 days.'."\n" + ."\n" + .'- If **Interval** is set to **3600** or **86400**, you can query usage data of the previous year.'."\n" + ."\n" + .'- If you leave the **Interval** parameter empty, the maximum time range that you can query is 1 month. If you specify a time range of 1 to 3 days, the time interval between the entries that are returned is 1 hour. If you specify a time range of at least 4 days, the time interval between the entries that are returned is 1 day.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], ], [ 'name' => 'ServiceType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B955107D-E658-4E77-B913-E0AC3D31693E', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T22:00:00Z', - ], - 'Type' => [ - 'description' => 'The type of content.'."\n", - 'type' => 'string', - 'example' => 'static', - ], - 'Area' => [ - 'description' => 'The ID of the billable region where the data was collected.'."\n", - 'type' => 'string', - 'example' => 'CN', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '300', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B955107D-E658-4E77-B913-E0AC3D31693E', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T20:00:00Z', 'title' => ''], + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2015-12-10T22:00:00Z', 'title' => ''], + 'Type' => ['description' => 'The type of content.', 'type' => 'string', 'example' => 'bps', 'title' => ''], + 'Area' => ['description' => 'The ID of the billable region where the data was collected.', 'type' => 'string', 'example' => 'CN', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '300', 'title' => ''], 'UsageDataPerInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'DataModule' => [ - 'description' => 'The resource usage that was collected at each interval.'."\n", + 'description' => 'The resource usage that was collected at each interval.', 'type' => 'array', 'items' => [ - 'description' => 'The information about resource usage that was collected at each interval.'."\n", + 'description' => 'The information about resource usage that was collected at each interval.', 'type' => 'object', 'properties' => [ - 'Value' => [ - 'description' => 'The amount of resource usage.'."\n", - 'type' => 'string', - 'example' => '423304182', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n" - ."\n" - .'> **TimeStamp** indicates the timestamp of the data returned at each interval.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:30:00Z', - ], - 'PeakTime' => [ - 'description' => 'The time of the peak bandwidth value if the **Field** parameter in the request is set to **bps**. Otherwise, this parameter returns the same value as the **TimeStamp** parameter.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T21:30:00Z', - ], - 'SpecialValue' => [ - 'description' => 'The resource usage in a specific scenario.'."\n" - ."\n" - .'> SpecialValue indicates the data usage in a specific scenario. If no special billable item is specified, ignore this parameter.'."\n", - 'type' => 'string', - 'example' => '423304182', - ], + 'Value' => ['description' => 'The amount of resource usage.', 'type' => 'string', 'example' => '423304182', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.'."\n" + ."\n" + .'> **TimeStamp** indicates the timestamp of the data returned at each interval.', 'type' => 'string', 'example' => '2015-12-10T21:30:00Z', 'title' => ''], + 'PeakTime' => ['description' => 'The time of the peak bandwidth value if the **Field** parameter in the request is set to **bps**. Otherwise, this parameter returns the same value as the **TimeStamp** parameter.', 'type' => 'string', 'example' => '2015-12-10T21:30:00Z', 'title' => ''], + 'SpecialValue' => ['description' => 'The resource usage in a specific scenario.'."\n" + ."\n" + .'> SpecialValue indicates the data usage in a specific scenario. If no special billable item is specified, ignore this parameter.', 'type' => 'string', 'example' => '423304182', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterType', - 'errorMessage' => 'The specified Type is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterField', - 'errorMessage' => 'The specified Field is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterStartTime', - 'errorMessage' => 'The parameter StartTime is invalid.', - ], - [ - 'errorCode' => 'InvalidParameterEndTime', - 'errorMessage' => 'The parameter EndTime is invalid.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidIntervalParameter', - 'errorMessage' => 'The specified Interval is invalid.', - ], - [ - 'errorCode' => 'InvalidTimeSpan', - 'errorMessage' => 'The time span exceeds the limit.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameterType', 'errorMessage' => 'The specified Type is invalid.', 'description' => 'The Type parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterField', 'errorMessage' => 'The specified Field is invalid.', 'description' => 'The Field parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterStartTime', 'errorMessage' => 'The parameter StartTime is invalid.', 'description' => 'The specified StartTime parameter is invalid.'], + ['errorCode' => 'InvalidParameterEndTime', 'errorMessage' => 'The parameter EndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], + ['errorCode' => 'InvalidIntervalParameter', 'errorMessage' => 'The specified Interval is invalid.', 'description' => 'The specified time interval is invalid.'], + ['errorCode' => 'InvalidTimeSpan', 'errorMessage' => 'The time span exceeds the limit.', 'description' => 'The time span exceeds the limit. Configure a valid time span as described in API documentation.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.Malformed', 'errorMessage' => 'Specified StartTime or EndTime is malformed.', 'description' => 'The specified start or end time is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B955107D-E658-4E77-B913-E0AC3D31693E\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T22:00:00Z\\",\\n \\"Type\\": \\"bps\\",\\n \\"Area\\": \\"CN\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"UsageDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"423304182\\",\\n \\"TimeStamp\\": \\"2015-12-10T21:30:00Z\\",\\n \\"PeakTime\\": \\"2015-12-10T21:30:00Z\\",\\n \\"SpecialValue\\": \\"423304182\\"\\n }\\n ]\\n }\\n}","errorExample":"http://cdn.aliyuncs.com?Action=DescribeDomainUsageData&DomainName=example.com\\n&StartTime=2015-12-10T20:00:00Z\\n&EndTime=2015-12-10T22:00:00Z\\n&Field=bps\\n&Area=EU\\n&<公共请求参数>"},{"type":"xml","example":"<DescribeDomainUsageDataResponse>\\n<DomainName>example.com</DomainName>\\n<UsageDataPerInterval>\\n <DataModule>\\n <TimeStamp>2015-12-10T20:00:00Z</TimeStamp>\\n <PeakTime>2015-12-10T20:05:00Z</PeakTime>\\n <Value>423304182</Value>\\n <SpecialValue>423304182</SpecialValue>\\n </DataModule>\\n <DataModule>\\n <TimeStamp>2015-12-10T21:00:00Z</TimeStamp>\\n <PeakTime>2015-12-10T21:30:00Z</PeakTime>\\n <Value>454680793</Value>\\n <SpecialValue>423304182</SpecialValue>\\n </DataModule>\\n</UsageDataPerInterval>\\n<RequestId>B955107D-E658-4E77-B913-E0AC3D31693E</RequestId>\\n<StartTime>2015-12-10T20:00Z</StartTime>\\n<EndTime>2015-12-10T21:00Z</EndTime>\\n<Area>CN</Area>\\n<Type>traf</Type>\\n</DescribeDomainUsageDataResponse>","errorExample":"http://cdn.aliyuncs.com?Action=DescribeDomainUsageData&DomainName=example.com\\n&StartTime=2015-12-10T20:00:00Z\\n&EndTime=2015-12-10T22:00:00Z\\n&Type=static\\n&DataProtocol=https\\n&Field=acc\\n&Area=all\\n&<公共请求参数>"}]', 'title' => 'DescribeDomainUsageData', - 'description' => '* You can call this operation up to 10 times per second per account.'."\n" - .'* The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" - ."\n" - .'|Time granularity|Maximum time range per query|Historical data available|Data delay|'."\n" - .'|---|---|---|---|'."\n" - .'|5 minutes|3 days|93 days|15 minutes|'."\n" - .'|1 hour|31 days|186 days|4 hours|'."\n" - .'|1 day|90 days|366 days|04:00 on the next day|', + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- The time granularity supported by the Interval parameter, the maximum time period within which historical data is available, and the data delay vary with the maximum time range per query, as described in the following table.'."\n" + ."\n" + .'| Time granularity | Maximum time range per query | Historical data available | Data delay |'."\n" + .'| ---------------- | ---------------------------- | ------------------------- | --------------------- |'."\n" + .'| 5 minutes | 3 days | 93 days | 15 minutes |'."\n" + .'| 1 hour | 31 days | 186 days | 4 hours |'."\n" + .'| 1 day | 90 days | 366 days | 04:00 on the next day |', 'requestParamsDescription' => '# Billable items and parameters'."\n" ."\n" .'The following table describes the parameters of each billable item. For more information about how to call relevant operations, see the sample requests.'."\n" ."\n" - .'|Billable item|Valid value of DataProtocol|Valid value of Type|Valid value of Field|Valid value of Area|'."\n" - .'|---|---|---|---|---|'."\n" - .'|Data transfer|all or no value|all or no value|traf|CN, OverSeas, AP1, AP2, AP3, NA, SA, EU, and MEAA|'."\n" - .'|Bandwidth|all or no value|all or no value|bps|CN, OverSeas, AP1, AP2, AP3, NA, SA, EU, and MEAA|'."\n" - .'|HTTPS requests for static content|https|static|acc|all|'."\n" - .'|HTTP requests for dynamic content|http|dynamic|acc|all|'."\n" - .'|HTTPS requests for dynamic content|https|dynamic|acc|all|'."\n" - .'|QUIC requests for dynamic content|quic|dynamic|acc|all|'."\n" - .'|QUIC requests for static content|quic|static|acc|all|', + .'| Billable item | Valid value of DataProtocol | Valid value of Type | Valid value of Field | Valid value of Area |'."\n" + .'| ---------------------------------- | --------------------------- | ------------------- | -------------------- | ------------------------------------------------- |'."\n" + .'| Data transfer | all or no value | all or no value | traf | CN, OverSeas, AP1, AP2, AP3, NA, SA, EU, and MEAA |'."\n" + .'| Bandwidth | all or no value | all or no value | bps | CN, OverSeas, AP1, AP2, AP3, NA, SA, EU, and MEAA |'."\n" + .'| HTTPS requests for static content | https | static | acc | all |'."\n" + .'| HTTP requests for dynamic content | http | dynamic | acc | all |'."\n" + .'| HTTPS requests for dynamic content | https | dynamic | acc | all |'."\n" + .'| QUIC requests for dynamic content | quic | dynamic | acc | all |'."\n" + .'| QUIC requests for static content | quic | static | acc | all |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnUserResourcePackage' => [ - 'summary' => 'Queries the resource plans that you have purchased for Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T09:10:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-14T07:11:07.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-03T09:02:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-24T06:02:14.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-24T01:30:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-06-13T03:35:39.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-06-13T07:14:34.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-03-16T02:33:36.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainUsageData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainUsageData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B955107D-E658-4E77-B913-E0AC3D31693E\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-10T22:00:00Z\\",\\n \\"Type\\": \\"bps\\",\\n \\"Area\\": \\"CN\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"UsageDataPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"423304182\\",\\n \\"TimeStamp\\": \\"2015-12-10T21:30:00Z\\",\\n \\"PeakTime\\": \\"2015-12-10T21:30:00Z\\",\\n \\"SpecialValue\\": \\"423304182\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeDomainUvData' => [ + 'summary' => 'Queries the unique visitor (UV) data of an accelerated domain name. Data is collected every hour. You can query data collected in the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13987,31 +14087,26 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111752', - 'abilityTreeNodes' => [ - 'FEATUREcdnG9C3XR', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '111816', + 'abilityTreeNodes' => ['FEATUREcdnF7OM8K'], ], 'parameters' => [ [ - 'name' => 'Status', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the resource plan that you want to query. Valid values:'."\n" - ."\n" - .'* **valid**: valid'."\n" - .'* **closed**: expired'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'valid', - 'default' => 'valid', - 'enum' => [ - 'valid', - 'closed', - 'exhaust', - ], - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-11-29T00:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-11-29T04:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -14019,171 +14114,125 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '84839536-2B7E-457D-9D8C-82E6C7D4E1A3', - ], - 'ResourcePackageInfos' => [ + 'EndTime' => ['description' => 'The end of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2019-11-29T04:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The beginning of the time range that was queried.'."\n", 'type' => 'string', 'example' => '2019-11-29T00:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'E9D3257A-1B7C-414C-90C1-8D07AC47BCAC', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval. Unit: seconds.'."\n", 'type' => 'string', 'example' => '3600', 'title' => ''], + 'UvDataInterval' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ResourcePackageInfo' => [ - 'description' => 'The detailed information about resource plans. The returned information is displayed in an array of ResourcePackageInfo nodes.'."\n", + 'UsageData' => [ + 'description' => 'The number of UVs at each interval.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The expiration time.'."\n", - 'type' => 'string', - 'example' => '2018-07-01T08:00:00Z', - ], - 'Status' => [ - 'description' => 'The status of the resource plan. Valid values:'."\n" - ."\n" - .'* **valid**: valid'."\n" - .'* **closed**: expired'."\n", - 'type' => 'string', - 'example' => 'valid', - ], - 'DisplayName' => [ - 'description' => 'The name of the resource plan.'."\n", - 'type' => 'string', - 'example' => 'CDN data transfer plan (Chinese mainland)'."\n", - ], - 'StartTime' => [ - 'description' => 'The effective time.'."\n", - 'type' => 'string', - 'example' => '2017-12-05T19:10:58Z', - ], - 'CommodityCode' => [ - 'description' => 'The ID of the resource plan.'."\n", - 'type' => 'string', - 'example' => 'cdnflowbag', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance'."\n", - 'type' => 'string', - 'example' => 'FP-ilttxc23a', - ], - 'TemplateName' => [ - 'description' => 'The name of the template.'."\n", - 'type' => 'string', - 'example' => 'CDN data transfer plan'."\n", - ], - 'CurrCapacity' => [ - 'description' => 'The remaining quota of the resource plan.'."\n" - ."\n" - .'* For a data transfer plan, the quota is measured in bytes.'."\n" - .'* For a request resource plan, the quota is measured in the number of requests.'."\n", - 'type' => 'string', - 'example' => '10995089554629', - ], - 'InitCapacity' => [ - 'description' => 'The total quota of the resource plan.'."\n" - ."\n" - .'* For a data transfer plan, the quota is measured in bytes.'."\n" - .'* For a request resource plan, the quota is measured in the number of requests.'."\n", - 'type' => 'string', - 'example' => '536870912000', - ], - 'Region' => [ - 'type' => 'string', - ], - 'CurrCapacityShowValue' => [ - 'type' => 'string', - ], - 'CurrCapacityShowUnit' => [ - 'type' => 'string', - ], - 'CurrCapacityBaseUnit' => [ - 'type' => 'string', - ], - 'InitCapacityShowValue' => [ - 'type' => 'string', - ], - 'InitCapacityShowUnit' => [ - 'type' => 'string', - ], - 'InitCapacityBaseUnit' => [ - 'type' => 'string', - ], + 'Value' => ['description' => 'The number of UVs.'."\n", 'type' => 'string', 'example' => '318', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the returned data.'."\n", 'type' => 'string', 'example' => '2019-11-29T00:00:00Z', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'CdnServiceNotFound', - 'errorMessage' => 'Your account does not open CDN service yet.', - ], + 400 => [ + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => 'Start time and end time do not match, time span limit is exceeded, or the time parameter is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"84839536-2B7E-457D-9D8C-82E6C7D4E1A3\\",\\n \\"ResourcePackageInfos\\": {\\n \\"ResourcePackageInfo\\": [\\n {\\n \\"EndTime\\": \\"2018-07-01T08:00:00Z\\",\\n \\"Status\\": \\"valid\\",\\n \\"DisplayName\\": \\"Data Transfer Plan in Asia Pacific 1\\",\\n \\"StartTime\\": \\"2017-12-05T19:10:58Z\\",\\n \\"CommodityCode\\": \\"cdnflowbag\\",\\n \\"InstanceId\\": \\"FP-ilttxc23a\\",\\n \\"TemplateName\\": \\"FPT_cdn_bag_intl_deadlineAcc_1569491944\\",\\n \\"CurrCapacity\\": \\"53661095687\\",\\n \\"InitCapacity\\": \\"107374182400\\",\\n \\"Region\\": \\"CN\\",\\n \\"CurrCapacityShowValue\\": \\"49.975789\\",\\n \\"CurrCapacityShowUnit\\": \\"GB\\",\\n \\"CurrCapacityBaseUnit\\": \\"Byte\\",\\n \\"InitCapacityShowValue\\": \\"100.000000\\",\\n \\"InitCapacityShowUnit\\": \\"GB\\",\\n \\"InitCapacityBaseUnit\\": \\"Byte\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"ResourcePackageInfos\\": {\\n \\"ResourcePackageInfo\\": [\\n {\\n \\"Status\\": \\"closed\\",\\n \\"InstanceId\\": \\"FP-mkqgwsyui\\",\\n \\"CommodityCode\\": \\"cdnflowbag\\",\\n \\"InitCapacity\\": \\"10995116277760\\",\\n \\"EndTime\\": \\"2017-01-30T08:00:00Z\\",\\n \\"StartTime\\": \\"2016-01-30T03:40:06Z\\",\\n \\"DisplayName\\": \\"CDN流量包(国内版)\\",\\n \\"CurrCapacity\\": \\"10995089554629\\"\\n },\\n {\\n \\"Status\\": \\"valid\\",\\n \\"InstanceId\\": \\"FP-ilttxc23a\\",\\n \\"CommodityCode\\": \\"cdnflowbag\\",\\n \\"InitCapacity\\": \\"536870912000\\",\\n \\"EndTime\\": \\"2018-07-01T08:00:00Z\\",\\n \\"StartTime\\": \\"2017-07-01T01:26:41Z\\",\\n \\"DisplayName\\": \\"CDN流量包(国内版)\\",\\n \\"CurrCapacity\\": \\"0\\"\\n },\\n {\\n \\"Status\\": \\"valid\\",\\n \\"InstanceId\\": \\"CDNHTTPSBAG-cn-v0h0dnlq4000m9\\",\\n \\"CommodityCode\\": \\"cdnhttpsbag\\",\\n \\"InitCapacity\\": \\"10000000\\",\\n \\"EndTime\\": \\"2018-12-06T08:00:00Z\\",\\n \\"StartTime\\": \\"2017-12-05T19:10:58Z\\",\\n \\"DisplayName\\": \\"CDN HTTPS请求数资源包\\",\\n \\"CurrCapacity\\": \\"9999645\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"84839536-2B7E-457D-9D8C-82E6C7D4E1A3\\"\\n}"},{"type":"xml","example":"<DescribeCdnUserResourcePackageResponse>\\r\\n\\t<ResourcePackageInfos>\\r\\n\\t\\t<ResourcePackageInfo>\\r\\n\\t\\t\\t<Status>closed</Status>\\r\\n\\t\\t\\t<InstanceId>FP-mkqgwsyui</InstanceId>\\r\\n\\t\\t\\t<CommodityCode>cdnflowbag</CommodityCode>\\r\\n\\t\\t\\t<InitCapacity>10995116277760</InitCapacity>\\r\\n\\t\\t\\t<EndTime>2017-01-30T08:00:00Z</EndTime>\\r\\n\\t\\t\\t<StartTime>2016-01-30T03:40:06Z</StartTime>\\r\\n\\t\\t\\t<DisplayName>CDN流量包(中国内地版)</DisplayName>\\r\\n\\t\\t\\t<CurrCapacity>10995089554629</CurrCapacity>\\r\\n\\t\\t</ResourcePackageInfo>\\r\\n\\t\\t<ResourcePackageInfo>\\r\\n\\t\\t\\t<Status>valid</Status>\\r\\n\\t\\t\\t<InstanceId>FP-ilttxc23a</InstanceId>\\r\\n\\t\\t\\t<CommodityCode>cdnflowbag</CommodityCode>\\r\\n\\t\\t\\t<InitCapacity>536870912000</InitCapacity>\\r\\n\\t\\t\\t<EndTime>2018-07-01T08:00:00Z</EndTime>\\r\\n\\t\\t\\t<StartTime>2017-07-01T01:26:41Z</StartTime>\\r\\n\\t\\t\\t<DisplayName>CDN流量包(中国内地版)</DisplayName>\\r\\n\\t\\t\\t<CurrCapacity>0</CurrCapacity>\\r\\n\\t\\t</ResourcePackageInfo>\\r\\n\\t\\t<ResourcePackageInfo>\\r\\n\\t\\t\\t<Status>valid</Status>\\r\\n\\t\\t\\t<InstanceId>CDNHTTPSBAG-cn-v0h0dnlq4000m9</InstanceId>\\r\\n\\t\\t\\t<CommodityCode>cdnhttpsbag</CommodityCode>\\r\\n\\t\\t\\t<InitCapacity>10000000</InitCapacity>\\r\\n\\t\\t\\t<EndTime>2018-12-06T08:00:00Z</EndTime>\\r\\n\\t\\t\\t<StartTime>2017-12-05T19:10:58Z</StartTime>\\r\\n\\t\\t\\t<DisplayName>CDN HTTPS请求数资源包</DisplayName>\\r\\n\\t\\t\\t<CurrCapacity>9999645</CurrCapacity>\\r\\n\\t\\t</ResourcePackageInfo>\\r\\n\\t</ResourcePackageInfos>\\r\\n\\t<RequestId>84839536-2B7E-457D-9D8C-82E6C7D4E1A3</RequestId>\\r\\n</DescribeCdnUserResourcePackageResponse>","errorExample":""}]', - 'title' => 'DescribeCdnUserResourcePackage', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-29T04:00:00Z\\",\\n \\"StartTime\\": \\"2019-11-29T00:00:00Z\\",\\n \\"RequestId\\": \\"E9D3257A-1B7C-414C-90C1-8D07AC47BCAC\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"3600\\",\\n \\"UvDataInterval\\": {\\n \\"UsageData\\": [\\n {\\n \\"Value\\": \\"318\\",\\n \\"TimeStamp\\": \\"2019-11-29T00:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainUvDataResponse>\\n<DataInterval>3600</DataInterval>\\n<RequestId>17276F0E-66F4-4547-B9C6-42E2547362D4</RequestId>\\n<DomainName>example.com</DomainName>\\n<EndTime>2019-11-29T04:00:00Z</EndTime>\\n<StartTime>2019-11-29T00:00:00Z</StartTime>\\n<UvDataInterval>\\n <UsageData>\\n <TimeStamp>2019-11-29T00:00:00Z</TimeStamp>\\n <Value>2</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T01:00:00Z</TimeStamp>\\n <Value>12</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T02:00:00Z</TimeStamp>\\n <Value>6</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T03:00:00Z</TimeStamp>\\n <Value>7</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T04:00:00Z</TimeStamp>\\n <Value>5</Value>\\n </UsageData>\\n</UvDataInterval>\\n</DescribeDomainUvDataResponse>\\n","errorExample":""}]', + 'title' => 'DescribeDomainUvData', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + ."\n" + .'> '."\n" + .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + .'* You can specify only one accelerated domain name or all accelerated domain names in your Alibaba Cloud account.'."\n" + .'* You can call this operation up to 100 times per second per account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteRealTimeLogLogstore' => [ - 'summary' => 'Deletes the Logstore that is used by a specified configuration record of real-time log delivery.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainUvData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainUvData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainVerifyData' => [ + 'summary' => 'Retrieves the verification content for an accelerated domain name. The returned content depends on whether the global resource plan is enabled for the domain.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111709', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '178430', + 'abilityTreeNodes' => ['FEATUREcdnRLQ471'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Project', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ProjectName', - ], - ], - [ - 'name' => 'Logstore', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Logstore to which log entries are delivered.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LogstoreName', - ], + 'schema' => ['description' => 'The accelerated domain name. You can query only one domain name at a time.', 'type' => 'string', 'required' => true, 'example' => 'www.yourdomain.com', 'title' => ''], ], [ - 'name' => 'Region', + 'name' => 'GlobalResourcePlan', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).'."\n", + 'description' => 'Specifies whether the global resource plan is enabled.'."\n" + .'Valid values:'."\n" + ."\n" + .'- **on** (enabled)'."\n" + ."\n" + .'- **off** (disabled)', + 'enumValueTitles' => ['off' => 'off', 'on' => 'on'], 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', + 'required' => false, + 'example' => 'off', + 'title' => '', ], ], ], @@ -14192,210 +14241,260 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', 'title' => ''], + 'Content' => [ + 'description' => 'The verification content.', + 'type' => 'object', + 'properties' => [ + 'verifyCode' => ['description' => 'The value of the verification TXT record.', 'type' => 'string', 'example' => 'verify_2bc6e4836c9f6072869de1c5a269ef09', 'title' => ''], + 'verifyKey' => ['description' => 'The subdomain for the TXT record.', 'type' => 'string', 'example' => 'verification', 'title' => ''], + 'RootDomain' => [ + 'description' => 'The root domain of the specified domain.', + 'enumValueTitles' => ['example.com' => 'example.com'], + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + ], + 'example' => '{'."\n" + .' "verifiCode": "uy0-DxxxxxxxxKl-JnJY4",'."\n" + .' "verifyKey": "_acxxxe-xxxx"'."\n" + .'}', + 'title' => '', ], ], + 'description' => 'The response data.', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', - ], - [ - 'errorCode' => 'DomainDeliveryConfigExist', - 'errorMessage' => 'Domain delivery configuration existed.', - ], - ], - 404 => [ - [ - 'errorCode' => 'LogstoreNotExist', - 'errorMessage' => 'Logstore does not exist.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"Content\\": {\\n \\"verifyCode\\": \\"verify_2bc6e4836c9f6072869de1c5a269ef09\\",\\n \\"verifyKey\\": \\"verification\\",\\n \\"RootDomain\\": \\"example.com\\"\\n }\\n}","type":"json"}]', + 'title' => 'DescribeDomainVerifyData', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:12.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainVerifyData'], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainVerifyData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteRealTimeLogLogstoreResponse>\\n <RequestId>9732E117-8A37-49FD-A36F-ABBB87556CA7</RequestId>\\n</DeleteRealTimeLogLogstoreResponse>","errorExample":""}]', - 'title' => 'DeleteRealTimeLogLogstore', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", ], - 'CreateRealTimeLogDelivery' => [ - 'summary' => 'Enables real-time log delivery for specific accelerated domain names.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeDomainsBySource' => [ + 'summary' => 'Queries accelerated domain names by origin server.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '111696', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '111802', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Project', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ProjectName', - ], - ], - [ - 'name' => 'Logstore', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Logstore where log entries are stored.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LogstoreName', - ], - ], - [ - 'name' => 'Region', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'Domain', + 'name' => 'Sources', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to configure real-time log delivery.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The origin servers. Separate multiple origin servers with commas (,). Fuzzy match is not supported.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data structure of the response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F32C57AA-7BF8-49AE-A2CC-9F42390F5A19', + 'Sources' => ['description' => 'The origin servers.', 'type' => 'string', 'example' => 'example.com,aliyundoc.com', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'B0F074E5-A1AC-4B32-8EA2-6F450410D1E0', 'title' => ''], + 'DomainsList' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DomainsData' => [ + 'description' => 'The domain names corresponding to each origin server.', + 'type' => 'array', + 'items' => [ + 'description' => 'The domain names corresponding to each origin server.', + 'type' => 'object', + 'properties' => [ + 'Source' => ['description' => 'The origin server.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DomainInfos' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'domainInfo' => [ + 'description' => 'Information about the domain name.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the domain name.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the domain name. Valid values:'."\n" + ."\n" + .'- **applying**: The domain name is under review.'."\n" + ."\n" + .'- **configuring**: The domain name is being configured.'."\n" + ."\n" + .'- **online**: The domain name is working as expected.'."\n" + ."\n" + .'- **stopping**: The domain name is being stopped.'."\n" + ."\n" + .'- **offline**: The domain name is disabled.'."\n" + ."\n" + .'- **disabling**: The domain name is being removed.', 'type' => 'string', 'example' => 'online', 'title' => ''], + 'UpdateTime' => ['description' => 'The update time.', 'type' => 'string', 'example' => '2017-03-31T04:49:00+08:00', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2016-07-12T11:53:19+08:00', 'title' => ''], + 'DomainCname' => ['description' => 'The CNAME record assigned to the domain name.', 'type' => 'string', 'example' => '***.alikunlun.com', 'title' => ''], + 'CdnType' => ['description' => 'The workload type of the accelerated domain name. Valid values:'."\n" + ."\n" + .'- **web**: images and small files'."\n" + ."\n" + .'- **download**: large files'."\n" + ."\n" + .'- **video**: on-demand video and audio streaming', 'type' => 'string', 'example' => 'web', 'title' => ''], + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.org', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Domains' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'domainNames' => [ + 'description' => 'The domain names that correspond to each origin server.', + 'type' => 'array', + 'items' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.org', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', - ], - ], - 404 => [ - [ - 'errorCode' => 'LogstoreNotExist', - 'errorMessage' => 'Logstore does not exist', - ], - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain does not exist, or it does not belong to you.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The parameter Sources miss.', 'description' => ''], + ['errorCode' => 'InvalidSources.Malformed', 'errorMessage' => 'Specified Sources is malformed.', 'description' => 'The specified origin address is invalid.'], + ['errorCode' => 'InvalidSources.NotFound', 'errorMessage' => 'The sources provided does not found in your domains', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F32C57AA-7BF8-49AE-A2CC-9F42390F5A19\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"F32C57AA-7BF8-49AE-A2CC-9F42390F5A19\\",\\n}"},{"type":"xml","example":"<CreateRealTimeLogDeliveryResponse>\\r\\n\\t<RequestId>F32C57AA-7BF8-49AE-A2CC-9F42390F5A19</RequestId>\\r\\n</CreateRealTimeLogDeliveryResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'CreateRealTimeLogDelivery', - 'description' => '> You can call this API operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Sources\\": \\"example.com,aliyundoc.com\\",\\n \\"RequestId\\": \\"B0F074E5-A1AC-4B32-8EA2-6F450410D1E0\\",\\n \\"DomainsList\\": {\\n \\"DomainsData\\": [\\n {\\n \\"Source\\": \\"example.com\\",\\n \\"DomainInfos\\": {\\n \\"domainInfo\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"UpdateTime\\": \\"2017-03-31T04:49:00+08:00\\",\\n \\"CreateTime\\": \\"2016-07-12T11:53:19+08:00\\",\\n \\"DomainCname\\": \\"***.alikunlun.com\\",\\n \\"CdnType\\": \\"web\\",\\n \\"DomainName\\": \\"example.org\\"\\n }\\n ]\\n },\\n \\"Domains\\": {\\n \\"domainNames\\": [\\n \\"example.org\\"\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeDomainsBySource', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ModifyRealtimeLogDelivery' => [ - 'summary' => 'Modifies the configurations of real-time log delivery for a specific domain name. Each domain name supports only one Logstore.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainsBySource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainsBySource'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeDomainsUsageByDay' => [ + 'summary' => 'Queries the monitoring data of an accelerated domain name. Data is collected every day. You can query data collected within the last 90 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111875', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111810', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ - 'name' => 'Project', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testProject', - ], - ], - [ - 'name' => 'Logstore', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Logstore where log entries are stored.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TestLog', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.'."\n" + ."\n" + .'If you do not specify an accelerated domain name, the data of all accelerated domain names that belong to your account is queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'Region', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ch-shanghai', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-12-22T08:00:00Z', 'title' => ''], ], [ - 'name' => 'Domain', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to modify the configurations of real-time log delivery. Only one domain name is supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-12-23T09:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -14403,112 +14502,151 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-23T09:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-22T08:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'C88EF8ED-72F0-45EA-9E86-95114E224FC5', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DataInterval' => ['description' => 'The time interval between the data entries returned. Unit: seconds.', 'type' => 'string', 'example' => '86400', 'title' => ''], + 'UsageTotal' => [ + 'description' => 'The summarized monitoring data.', + 'type' => 'object', + 'properties' => [ + 'MaxSrcBpsTime' => ['description' => 'The time when the bandwidth during back-to-origin routing reached the peak value.', 'type' => 'string', 'example' => '2019-12-23 11:45:00', 'title' => ''], + 'RequestHitRate' => ['description' => 'The cache hit ratio that is calculated based on requests. The cache hit ratio is measured in percentage.', 'type' => 'string', 'example' => '69.92610837438424', 'title' => ''], + 'MaxBps' => ['description' => 'The peak bandwidth value. Unit: bit/s.', 'type' => 'string', 'example' => '1.0747912780000001E8', 'title' => ''], + 'TotalAccess' => ['description' => 'The total amount of requests.', 'type' => 'string', 'example' => '1319500', 'title' => ''], + 'BytesHitRate' => ['description' => 'The byte hit ratio. The byte hit ratio is measured in percentage.', 'type' => 'string', 'example' => '97.03110726801242', 'title' => ''], + 'TotalTraffic' => ['description' => 'The total amount of network traffic. Unit: bytes.', 'type' => 'string', 'example' => '1117711832100', 'title' => ''], + 'MaxBpsTime' => ['description' => 'The time when the bandwidth reached the peak value.', 'type' => 'string', 'example' => '2019-12-23 10:55:00', 'title' => ''], + 'MaxSrcBps' => ['description' => 'The peak bandwidth value during back-to-origin routing. Unit: bit/s.', 'type' => 'string', 'example' => '72584.072', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'UsageByDays' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'UsageByDay' => [ + 'description' => 'The monitoring data collected at each time interval.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'MaxSrcBpsTime' => ['description' => 'The time when the bandwidth during back-to-origin routing reached the peak value.', 'type' => 'string', 'example' => '2019-12-23 11:45:00', 'title' => ''], + 'Qps' => ['description' => 'The number of queries per second (QPS).', 'type' => 'string', 'example' => '7.466354166666667', 'title' => ''], + 'RequestHitRate' => ['description' => 'The cache hit ratio that is calculated based on requests. The cache hit ratio is measured in percentage.', 'type' => 'string', 'example' => '70.24770071912111', 'title' => ''], + 'MaxBps' => ['description' => 'The peak bandwidth value. Unit: bit/s.', 'type' => 'string', 'example' => '306747.76', 'title' => ''], + 'TotalAccess' => ['description' => 'The total amount of requests.', 'type' => 'string', 'example' => '645093', 'title' => ''], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2019-12-22', 'title' => ''], + 'BytesHitRate' => ['description' => 'The byte hit ratio. The byte hit ratio is measured in percentage.', 'type' => 'string', 'example' => '97.46250599529726', 'title' => ''], + 'TotalTraffic' => ['description' => 'The total amount of network traffic. Unit: bytes.', 'type' => 'string', 'example' => '564300099309', 'title' => ''], + 'MaxSrcBps' => ['description' => 'The peak bandwidth value during back-to-origin routing. Unit: bit/s.', 'type' => 'string', 'example' => '72584.072', 'title' => ''], + 'MaxBpsTime' => ['description' => 'The time when the bandwidth reached the peak value.', 'type' => 'string', 'example' => '2019-12-23 10:55:00', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'InternalException', - 'errorMessage' => 'Internal occasional exception, please try again later.', - ], - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', 'description' => 'StartTime must be earlier than EndTime.'], ], 404 => [ - [ - 'errorCode' => 'LogstoreNotExist', - 'errorMessage' => 'Logstore does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', - ], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n}"},{"type":"xml","example":"<ModifyRealtimeLogDeliveryResponse>\\r\\n\\t<RequestId>9732E117-8A37-49FD-A36F-ABBB87556CA7</RequestId>\\r\\n</ModifyRealtimeLogDeliveryResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'ModifyRealtimeLogDelivery', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DescribeDomainsUsageByDay', + 'description' => '- Each account can call this operation up to 10 times per second.'."\n" + ."\n" + .'- If you do not set StartTime or EndTime, data within the last 24 hours is queried. If you set both StartTime and EndTime, data within the specified time range is queried.'."\n" + ."\n" + .'- You can query the monitoring data of a specific accelerated domain name or all accelerated domain names that belong to your Alibaba Cloud account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteRealtimeLogDelivery' => [ - 'summary' => 'Deletes the configurations of real-time log delivery for specific accelerated domain names.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:20:43.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainsUsageByDay'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainsUsageByDay', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EndTime\\": \\"2019-12-23T09:00:00Z\\",\\n \\"StartTime\\": \\"2019-12-22T08:00:00Z\\",\\n \\"RequestId\\": \\"C88EF8ED-72F0-45EA-9E86-95114E224FC5\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"86400\\",\\n \\"UsageTotal\\": {\\n \\"MaxSrcBpsTime\\": \\"2019-12-23 11:45:00\\",\\n \\"RequestHitRate\\": \\"69.92610837438424\\",\\n \\"MaxBps\\": \\"1.0747912780000001E8\\",\\n \\"TotalAccess\\": \\"1319500\\",\\n \\"BytesHitRate\\": \\"97.03110726801242\\",\\n \\"TotalTraffic\\": \\"1117711832100\\",\\n \\"MaxBpsTime\\": \\"2019-12-23 10:55:00\\",\\n \\"MaxSrcBps\\": \\"72584.072\\"\\n },\\n \\"UsageByDays\\": {\\n \\"UsageByDay\\": [\\n {\\n \\"MaxSrcBpsTime\\": \\"2019-12-23 11:45:00\\",\\n \\"Qps\\": \\"7.466354166666667\\",\\n \\"RequestHitRate\\": \\"70.24770071912111\\",\\n \\"MaxBps\\": \\"306747.76\\",\\n \\"TotalAccess\\": \\"645093\\",\\n \\"TimeStamp\\": \\"2019-12-22\\",\\n \\"BytesHitRate\\": \\"97.46250599529726\\",\\n \\"TotalTraffic\\": \\"564300099309\\",\\n \\"MaxSrcBps\\": \\"72584.072\\",\\n \\"MaxBpsTime\\": \\"2019-12-23 10:55:00\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeEsExceptionData' => [ + 'summary' => 'Queries the execution errors of a script in EdgeScript (ES).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111708', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111817', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Domain', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The acceleration domain name for which you want to disable real-time log delivery. You can specify multiple domain names and separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2021-02-17T20:00:00Z', 'title' => ''], ], [ - 'name' => 'Project', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ProjectName', - ], - ], - [ - 'name' => 'Logstore', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Logstore where log entries are stored.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LogstoreName', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => true, 'example' => '2021-02-18T20:00:00Z', 'title' => ''], ], [ - 'name' => 'Region', + 'name' => 'RuleId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The script ID. You can call the [DescribeCdnDomainConfigs](~~90924~~) operation to query script IDs.', 'type' => 'string', 'required' => true, 'example' => '212896**', 'title' => ''], ], ], 'responses' => [ @@ -14516,110 +14654,129 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '99D61AB3-6164-4CF2-A0DE-129C9B07618B', 'title' => ''], + 'Contents' => [ + 'description' => 'The content of the script for which an error was reported.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the table that shows the errors of the script.', 'type' => 'string', 'example' => '401', 'title' => ''], + 'Points' => [ + 'description' => 'The time columns and error column names.', + 'type' => 'array', + 'items' => [ + 'description' => 'The timestamp and error.', + 'properties' => [ + 'Points' => [ + 'name' => 'Points', + 'description' => 'The data points.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The data entries. Each element in a data entry represents the value of a field in the Columns parameter.'."\n", 'type' => 'string', 'example' => '['."\n" + .' "2021-02-18T19:07:00Z",'."\n" + .' 0'."\n" + .' ]', 'nullToEmpty' => true, 'backendName' => 'points', 'extendType' => 'true'], + 'nullToEmpty' => true, + 'backendName' => 'points', + 'parseType' => 'null', + 'itemName' => 'points', + ], + ], + 'type' => 'string', + 'example' => '2021-02-18T19:05:00Z,0', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Columns' => [ + 'description' => 'Information about the time column and the error column name.', + 'type' => 'array', + 'items' => ['description' => 'The time column and the error column name.', 'type' => 'string', 'example' => 'time,401', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', - ], - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], - ], - 404 => [ - [ - 'errorCode' => 'LogstoreNotExist', - 'errorMessage' => 'Logstore does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', + 'title' => 'DescribeEsExceptionData', + 'description' => '- Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-05-29T02:30:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-10T07:02:55.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEsExceptionData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeEsExceptionData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n}"},{"type":"xml","example":"<DeleteRealtimeLogDeliveryResponse>\\r\\n\\t<RequestId>9732E117-8A37-49FD-A36F-ABBB87556CA7</RequestId>\\r\\n</DeleteRealtimeLogDeliveryResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DeleteRealtimeLogDelivery', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"99D61AB3-6164-4CF2-A0DE-129C9B07618B\\",\\n \\"Contents\\": [\\n {\\n \\"Name\\": \\"401\\",\\n \\"Points\\": [\\n \\"2021-02-18T19:05:00Z,0\\"\\n ],\\n \\"Columns\\": [\\n \\"time,401\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', ], - 'DisableRealtimeLogDelivery' => [ - 'summary' => 'Disables real-time log delivery for specific accelerated domain names.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeEsExecuteData' => [ + 'summary' => 'Queries the execution status of scripts in EdgeScript (ES).', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111855', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111818', + 'abilityTreeNodes' => ['FEATUREcdnT7HAK0'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Domain', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to disable real-time log delivery. You can specify multiple domain names and separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'Project', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The name of the Log Service project that is used for real-time log delivery.', - 'example' => 'ProjectName', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2021-02-17T20:00:00Z', 'title' => ''], ], [ - 'name' => 'Logstore', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The name of the Logstore where log entries are stored.', - 'example' => 'LogstoreName', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => true, 'example' => '2021-02-18T20:00:00Z', 'title' => ''], ], [ - 'name' => 'Region', + 'name' => 'RuleId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The ID of the region where the Log Service project is deployed.', - 'example' => 'cn-shanghai'."\n", - ], + 'schema' => ['description' => 'The ID of the rule. You can call the [DescribeCdnDomainConfigs](~~90924~~) operation to query script IDs.', 'type' => 'string', 'required' => true, 'example' => '212896**', 'title' => ''], ], ], 'responses' => [ @@ -14627,98 +14784,170 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '99D61AB3-6164-4CF2-A0DE-129C9B07618B', 'title' => ''], + 'Contents' => [ + 'description' => 'The content of the script.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the table that shows the status of the script.', 'type' => 'string', 'example' => 'Exception', 'title' => ''], + 'Points' => [ + 'description' => 'The list of timestamps and values in the corresponding columns of the table that shows the status of the script.', + 'type' => 'array', + 'items' => ['description' => 'The timestamp and value of the corresponding columns in the table that shows the status of the script.', 'type' => 'string', 'example' => '2021-02-18T19:05:00Z,8', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Columns' => [ + 'description' => 'The time and column names in the table that shows the status of the script.', + 'type' => 'array', + 'items' => ['description' => 'The time and column names in the table that shows the status of the script.', 'type' => 'string', 'example' => 'time,Exception', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', - ], - ], - 404 => [ - [ - 'errorCode' => 'Domain.NotFound', - 'errorMessage' => 'Domain not found', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n}"},{"type":"xml","example":"<DisableRealtimeLogDeliveryResponse>\\r\\n\\t<RequestId>9732E117-8A37-49FD-A36F-ABBB87556CA7</RequestId>\\r\\n</DisableRealtimeLogDeliveryResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DisableRealtimeLogDelivery', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DescribeEsExecuteData', + 'description' => '- Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'EnableRealtimeLogDelivery' => [ - 'summary' => 'Enables real-time log delivery for an accelerated domain name.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:22.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-07T01:50:09.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-01-11T02:05:21.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEsExecuteData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeEsExecuteData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"99D61AB3-6164-4CF2-A0DE-129C9B07618B\\",\\n \\"Contents\\": [\\n {\\n \\"Name\\": \\"Exception\\",\\n \\"Points\\": [\\n \\"2021-02-18T19:05:00Z,8\\"\\n ],\\n \\"Columns\\": [\\n \\"time,Exception\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeFCTrigger' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111857', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'Domain', + 'name' => 'TriggerARN', 'in' => 'query', + 'schema' => ['description' => 'The trigger that corresponds to the Function Compute service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:cdn:{RegionID}:{AccountID}:{Filter}'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The accelerated domain name for which you want to enable real-time log delivery. You can specify multiple domain names and separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E'], + 'FCTrigger' => [ + 'description' => 'The Function Compute trigger that you want to query.'."\n", + 'type' => 'object', + 'properties' => [ + 'TriggerARN' => ['description' => 'The trigger that corresponds to the Function Compute service.'."\n", 'type' => 'string', 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger'], + 'RoleARN' => ['description' => 'The assigned Resource Access Management (RAM) role.'."\n", 'type' => 'string', 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole'], + 'SourceArn' => ['description' => 'The resources and filters for event listening.'."\n", 'type' => 'string', 'example' => 'acs:cdn:*:1234567890:domain/example.com'], + 'Notes' => ['description' => 'The remarks of the Function Compute trigger.'."\n", 'type' => 'string', 'example' => 'test'], + 'EventMetaName' => ['description' => 'The name of the event.'."\n", 'type' => 'string', 'example' => 'LogFileCreated'], + 'EventMetaVersion' => ['description' => 'The version of the event.'."\n", 'type' => 'string', 'example' => '1.0.0'], + ], + ], + ], ], ], + ], + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'PermissionDeny', 'errorMessage' => 'No permission to operate this FCTrigger.', 'description' => ''], + ], [ - 'name' => 'Project', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The name of the Log Service project that is used for real-time log delivery.', - 'example' => 'ProjectName'."\n", + ['errorCode' => 'NotFound.FCTrigger', 'errorMessage' => 'FCTrigger not found.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\",\\n \\"FCTrigger\\": {\\n \\"TriggerARN\\": \\"acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger\\",\\n \\"RoleARN\\": \\"acs:ram:: 1234567890:role/aliyuncdneventnotificationrole\\",\\n \\"SourceArn\\": \\"acs:cdn:*:1234567890:domain/example.com\\",\\n \\"Notes\\": \\"test\\",\\n \\"EventMetaName\\": \\"LogFileCreated\\",\\n \\"EventMetaVersion\\": \\"1.0.0\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\n<FCTrigger>\\n <TriggerARN>acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger</TriggerARN>\\n <SourceArn>acs:cdn:*:1234567890:domain/example.com</SourceArn>\\n <EventMetaName>LogFileCreated</EventMetaName>\\n <EventMetaVersion>1.0.0</EventMetaVersion>\\n <Notes>test</Notes>\\n <RoleARN>acs:ram:: 1234567890:role/aliyuncdneventnotificationrole</RoleARN>\\n</FCTrigger>","errorExample":""}]', + 'title' => 'DescribeFCTrigger', + 'summary' => 'Queries a specified Function Compute trigger.', + 'responseParamsDescription' => '## SourceArn'."\n" + ."\n" + .'SourceArn format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + ."\n" + .'* **Filter** indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" + .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by example.com if Filter is set to `domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyun.com}`.'."\n" + .'* Separate filters with forward slashes (/). Set the logical operator among filters to AND. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeFCTrigger', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeIpInfo' => [ + 'summary' => 'Invokes DescribeIpInfo to authenticate whether a specified IP address is a Content Delivery Network (CDN) point of presence IP address.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'Logstore', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The name of the Logstore where log entries are stored.', - 'example' => 'LogstoreName', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ [ - 'name' => 'Region', + 'name' => 'IP', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => 'The ID of the region where the Log Service project is deployed.', - 'example' => 'cn-shanghai'."\n", - ], + 'schema' => ['description' => 'The IP address to query. Batch queries are not supported.', 'type' => 'string', 'required' => true, 'example' => '192.168.0.1', 'title' => ''], ], ], 'responses' => [ @@ -14726,139 +14955,149 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', - ], + 'CdnIp' => ['description' => 'Indicates whether the IP address is a Content Delivery Network (CDN) point of presence IP address.'."\n" + ."\n" + .'- **True**: The IP address belongs to a CDN point of presence.'."\n" + ."\n" + .'- **False**: The IP address does not belong to a CDN point of presence.', 'type' => 'string', 'example' => 'True', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '123847FA-9A00-4426-83B8-B4B45D475930', 'title' => ''], + 'RegionEname' => ['description' => 'The English name of the region to which the IP address belongs.', 'type' => 'string', 'example' => 'China-Guizhou-guiyang', 'title' => ''], + 'Region' => ['description' => 'The Chinese name of the region to which the IP address belongs.', 'type' => 'string', 'example' => '中国-贵州省-贵阳市', 'title' => ''], + 'IspEname' => ['description' => 'The English name of the Internet service provider (ISP) to which the IP address belongs.', 'type' => 'string', 'example' => 'telecom', 'title' => ''], + 'ISP' => ['description' => 'The Chinese name of the ISP to which the IP address belongs.', 'type' => 'string', 'example' => '电信', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', - ], - ], - 404 => [ - [ - 'errorCode' => 'Domain.NotFound', - 'errorMessage' => 'Domain not found', - ], + ['errorCode' => 'InvalidIP.ValueNotSupported', 'errorMessage' => 'The specified value of parameter IP is not supported.', 'description' => 'Illegal IP parameters'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","errorExample":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n}"},{"type":"xml","example":"<EnableRealtimeLogDeliveryResponse>\\r\\n\\t<RequestId>9732E117-8A37-49FD-A36F-ABBB87556CA7</RequestId>\\r\\n</EnableRealtimeLogDeliveryResponse>\\r\\n\\r\\n","errorExample":""}]', - 'title' => 'EnableRealtimeLogDelivery', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CdnIp\\": \\"True\\",\\n \\"RequestId\\": \\"123847FA-9A00-4426-83B8-B4B45D475930\\",\\n \\"RegionEname\\": \\"China-Guizhou-guiyang\\",\\n \\"Region\\": \\"中国-贵州省-贵阳市\\",\\n \\"IspEname\\": \\"telecom\\",\\n \\"ISP\\": \\"电信\\"\\n}","type":"json"}]', + 'title' => 'Query whether an IP address belongs to a CDN node', + 'description' => '> Single-user call frequency: 50 calls per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListRealtimeLogDelivery' => [ - 'summary' => 'Queries all real-time log delivery tasks within your Alibaba Cloud account.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeIpInfo'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeIpInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeIpStatus' => [ + 'summary' => 'Queries the status of IP addresses of points of presence (POPs). The status of an IP address of a POP indicates whether content delivery acceleration is supported by the POP.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111862', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', + 'systemTags' => ['operationType' => 'none'], + 'parameters' => [ + [ + 'name' => 'Ips', + 'in' => 'query', + 'schema' => ['description' => 'The IP addresses that you want to query. Separate IP addresses with underscores (\\_), such as Ips=ip1\\_ip2.', 'type' => 'string', 'required' => true, 'example' => '192.168.0.1_10.10.10.1', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '30559C03-86C9-4EEC-B840-0DC5F5A2189B', - ], - 'Content' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RealtimeLogDeliveryInfo' => [ - 'description' => 'The logging information.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of real-time log delivery.'."\n", - 'type' => 'string', - 'example' => 'online', - ], - 'Domain' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DmId' => [ - 'description' => 'The domain ID.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1001010', - ], - 'Region' => [ - 'description' => 'The ID of the region where the Log Service project is deployed.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou-corp', - ], - 'Logstore' => [ - 'description' => 'The name of the Logstore where log entries are stored.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Project' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', 'title' => ''], + 'IpStatus' => [ + 'description' => 'The status of the IP addresses of the POPs.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ip' => ['description' => 'The IP address of the POP.', 'type' => 'string', 'example' => '10.10.10.10', 'title' => ''], + 'status' => ['description' => 'The status.'."\n" + ."\n" + .'- **nonali**: not an Alibaba Cloud CDN POP'."\n" + ."\n" + .'- **normal**: an available Alibaba Cloud CDN POP'."\n" + ."\n" + .'- **abnormal**: an unavailable Alibaba Cloud CDN POP', 'type' => 'string', 'example' => 'abnormal', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', - ], + ['errorCode' => 'InvalidArgIps.Malformed', 'errorMessage' => 'The specified ips is invalid.', 'description' => ''], + ['errorCode' => 'InvalidArgIps.IpCanNotFound', 'errorMessage' => 'The ips can not found.', 'description' => 'The input parameter is not found in the system and is not the IP address of Alibaba Cloud CDN.'], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30559C03-86C9-4EEC-B840-0DC5F5A2189B\\",\\n \\"Content\\": {\\n \\"RealtimeLogDeliveryInfo\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"DmId\\": 1001010,\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Logstore\\": \\"test\\",\\n \\"Project\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'ListRealtimeLogDelivery', - ], - 'DescribeDomainRealtimeLogDelivery' => [ - 'summary' => 'Queries the real-time log delivery information about an accelerated domain name.', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"IpStatus\\": [\\n {\\n \\"ip\\": \\"10.10.10.10\\",\\n \\"status\\": \\"abnormal\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeIpStatus', + 'description' => '> Each account can call this operation up to 50 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:10.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeIpStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeIpStatus'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeL2VipsByDomain' => [ + 'summary' => 'Queries the IP addresses of L2 nodes for a specified domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14867,21 +15106,14 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111792', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'abilityTreeCode' => '111825', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], ], 'parameters' => [ [ - 'name' => 'Domain', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which real-time log delivery is enabled. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The acceleration domain name. You can specify only one domain name per request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -14889,143 +15121,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of real-time log delivery. Valid values:'."\n" - ."\n" - .'* **online**'."\n" - .'* **offline**'."\n", - 'type' => 'string', - 'example' => 'online', - ], - 'Logstore' => [ - 'description' => 'The name of the Logstore where log entries are stored.'."\n", - 'type' => 'string', - 'example' => 'LogstoreName', - ], - 'Project' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'example' => 'ProjectName', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2F8F3852-912F-42AC-80EB-F1CF4284DE93', - ], - 'Region' => [ - 'description' => 'The ID of the region where the Log Service project is deployed.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai', + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], + 'Vips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Vip' => [ + 'description' => 'The VIP list.', + 'type' => 'array', + 'items' => ['description' => 'The VIP address.', 'type' => 'string', 'example' => '1.1.1.1/25', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], + ['errorCode' => 'IllegalOperation', 'errorMessage' => 'Illegal domain operate is not permitted.', 'description' => 'Domain name does not support current operation'], + ['errorCode' => 'SingleRequest.OverLimit', 'errorMessage' => 'A maximum of 1 DomainName is supported for each request.', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', - ], + 403 => [ + ['errorCode' => 'SystemBusy', 'errorMessage' => 'The system is busy, please try again later.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"online\\",\\n \\"Logstore\\": \\"LogstoreName\\",\\n \\"Project\\": \\"ProjectName\\",\\n \\"RequestId\\": \\"2F8F3852-912F-42AC-80EB-F1CF4284DE93\\",\\n \\"Region\\": \\"cn-shanghai\\"\\n}","errorExample":"{\\n \\"Project\\":\\"test\\",\\n \\"Logstore\\":\\"test\\",\\n \\"Region\\":\\"cn-shanghai\\",\\n \\"Status\\":\\"online\\",\\n \\"RequestId\\":\\"2F8F3852-912F-42AC-80EB-F1CF4284DE93\\"\\n}"},{"type":"xml","example":"<DescribeDomainRealtimeLogDeliveryResponse>\\r\\n\\t<Project>test</Project>\\r\\n\\t<Logstore>test</Logstore>\\r\\n\\t<Region>cn-shanghai</Region>\\r\\n\\t<Status>online</Status>\\r\\n\\t<RequestId>2F8F3852-912F-42AC-80EB-F1CF4284DE93</RequestId>\\r\\n</DescribeDomainRealtimeLogDeliveryResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainRealtimeLogDelivery', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"Vips\\": {\\n \\"Vip\\": [\\n \\"1.1.1.1/25\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeL2VipsByDomain', + 'description' => 'This operation is available only to users whose daily peak bandwidth is 1 Gbps or higher. If you meet this requirement, submit a ticket to request access to this operation.'."\n" + ."\n" + .'- The throttling limit for this operation is 40 calls per second for each user.'."\n" + ."\n" + .'- This operation retrieves information only for acceleration domain names added in the CDN console, not those added in the DCDN console.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRealtimeDeliveryAcc' => [ - 'summary' => 'Queries the number of real-time log deliveries.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeL2VipsByDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeL2VipsByDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + ], + ], + 'DescribePreloadDetailById' => [ + 'summary' => 'Queries the prefetch progress of a task, including all resources in the task. Only users who are included in the whitelist can use this operation. You can contact your business manager to apply for the whitelist.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111827', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2016-10-20T04:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2016-10-20T05:00:00Z', - ], - ], - [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time granularity of the data entries. Unit: seconds. The value varies based on the values of the **StartTime** and **EndTime** parameters. Valid values:'."\n" - ."\n" - .'* If the time span between StartTime and EndTime is less than 3 days, valid values are **300**, **3600**, and **86400**. Default value: **300**.'."\n" - .'* If the time span between StartTime and EndTime is greater than or equal to 3 days and less than 31 days, valid values are **3600** and **86400**. Default value: **3600**.'."\n" - .'* If the time span between StartTime and EndTime is 31 days or longer, the valid value is **86400**. Default value: **86400**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', - ], - ], - [ - 'name' => 'Project', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery. If you do leave this parameter empty, real-time log deliveries of all projects are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Project', - ], - ], - [ - 'name' => 'LogStore', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Logstore that stores log data. If you do leave this parameter empty, real-time log deliveries of all Logstores are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'LogStore', - ], + 'schema' => ['description' => 'Queries a preload task by task ID. You can query one task ID at a time.', 'type' => 'string', 'required' => true, 'example' => '15423123921', 'title' => ''], ], ], 'responses' => [ @@ -15033,83 +15211,111 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '684306D2-2511-4977-991D-CE97E91FD7C0', - ], - 'ReatTimeDeliveryAccData' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'AccData' => [ - 'description' => 'The statistics about real-time log deliveries.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2018-09-03T06:00:00Z', - ], - 'FailedNum' => [ - 'description' => 'The number of failed attempts to deliver log data to Log Service.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SuccessNum' => [ - 'description' => 'The number of successful deliveries of log data to Log Service.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', + 'TotalCount' => ['description' => 'The number of queried tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request. You can use the ID to query logs and troubleshoot issues.', 'type' => 'string', 'example' => 'E9D3257A-1B7C-414C-90C1-8D07AC47BCAC', 'title' => ''], + 'UrlDetails' => [ + 'description' => 'The details of the task, including the task ID, start time, end time, domain name, success rate, status, returned error code, and completion details of all URL resources.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TaskId' => ['description' => 'The ID of the task that you want to query.'."\n" + ."\n" + .'You can call the PushObjectCache operation to query task IDs. Then, you can use the task IDs to query task status.'."\n" + ."\n" + .'You can query one task ID at a time.', 'type' => 'string', 'example' => '14286878547', 'title' => ''], + 'Domain' => ['description' => 'The domain name for prefetching resources.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the task was created. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-11-23T02:26:56Z', 'title' => ''], + 'EndTime' => ['description' => 'The time when the task ended. The time is displayed in UTC.', 'type' => 'string', 'example' => '2022-11-23T02:27:00Z', 'title' => ''], + 'RetCode' => ['description' => 'The turned error code. A value of `0` indicates that the task succeeded.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Process' => ['description' => 'The progress of the prefetch task, which indicates the number of points of presence (POPs) on which the prefetch task is completed.', 'type' => 'string', 'example' => '100%', 'title' => ''], + 'Status' => ['description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'- **Complete**'."\n" + ."\n" + .'- **Refreshing**'."\n" + ."\n" + .'- **Failed**', 'type' => 'string', 'example' => 'Complete', 'title' => ''], + 'Urls' => [ + 'description' => 'The completion details of all URL resources in the task.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => ['description' => 'The URL of the prefetched resource.', 'type' => 'string', 'example' => '/abc.jpg'."\n", 'title' => ''], + 'Success' => ['description' => 'The success percentage, which indicates the number of POPs on which the resource is prefetched.', 'type' => 'string', 'example' => '47%', 'title' => ''], + 'Description' => ['description' => 'The details of resource prefetch.'."\n" + ."\n" + .'- If the resource is prefetched on all POPs, "Successfully preloaded" is returned.'."\n" + ."\n" + .'- If the resource fails to be prefetched on some POPs, the failure details separated by vertical bars (|) are returned.', 'type' => 'string', 'example' => 'Successfully preloaded', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not math the specified start time.', - ], + ['errorCode' => 'InvalidTaskId.Malformed', 'errorMessage' => 'The specified TaskId is invalid.', 'description' => ''], + ['errorCode' => 'DomainNameOverLimit', 'errorMessage' => 'A maximum of 500 domains are supported for each request.', 'description' => ''], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The parameters you provided are invalid.', 'description' => ''], + ['errorCode' => 'InvalidTime', 'errorMessage' => 'The query time cannot exceed the last 3 days.', 'description' => ''], + ], + 429 => [ + ['errorCode' => 'TooManyRequests', 'errorMessage' => 'Too many requests, please try again later', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"684306D2-2511-4977-991D-CE97E91FD7C0\\",\\n \\"ReatTimeDeliveryAccData\\": {\\n \\"AccData\\": [\\n {\\n \\"TimeStamp\\": \\"2018-09-03T06:00:00Z\\",\\n \\"FailedNum\\": 2,\\n \\"SuccessNum\\": 2\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"684306D2-2511-4977-991D-CE97E91FD7C0\\",\\n \\"ReatTimeDeliveryAccData\\": {\\n \\"AccData\\": [\\n {\\n \\"TimeStamp\\": \\"2018-09-03T06:00:00Z\\",\\n \\"FailedNum\\": 0,\\n \\"SuccessNum\\": 321321\\n },\\n {\\n \\"TimeStamp\\": \\"2018-09-03T07:00:00Z\\",\\n \\"FailedNum\\": 0,\\n \\"SuccessNum\\": 32943\\n }\\n ...\\n ]\\n }\\n}"},{"type":"xml","example":"<DescribeRealtimeDeliveryAccResponse>\\r\\n\\t<RequestId>684306D2-2511-4977-991D-CE97E91FD7C0</RequestId>\\r\\n\\t<ReatTimeDeliveryAccData>\\r\\n\\t\\t<AccData>\\r\\n\\t\\t\\t<TimeStamp>2018-09-03T06:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<FailedNum>0</FailedNum>\\r\\n\\t\\t\\t<SuccessNum>321321</SuccessNum>\\r\\n\\t\\t</AccData>\\r\\n\\t\\t<AccData>\\r\\n\\t\\t\\t<TimeStamp>2018-09-03T07:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<FailedNum>0</FailedNum>\\r\\n\\t\\t\\t<SuccessNum>32943</SuccessNum>\\r\\n\\t\\t</AccData>\\r\\n\\t</ReatTimeDeliveryAccData>\\r\\n</DescribeRealtimeDeliveryAccResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeRealtimeDeliveryAcc', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListRealtimeLogDeliveryInfos' => [ - 'summary' => 'Queries the information about the real-time log delivery feature in a specified region.', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"E9D3257A-1B7C-414C-90C1-8D07AC47BCAC\\",\\n \\"UrlDetails\\": [\\n {\\n \\"TaskId\\": \\"14286878547\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"CreationTime\\": \\"2022-11-23T02:26:56Z\\",\\n \\"EndTime\\": \\"2022-11-23T02:27:00Z\\",\\n \\"RetCode\\": \\"0\\",\\n \\"Process\\": \\"100%\\",\\n \\"Status\\": \\"Complete\\",\\n \\"Urls\\": [\\n {\\n \\"Url\\": \\"/abc.jpg\\\\n\\",\\n \\"Success\\": \\"47%\\",\\n \\"Description\\": \\"Successfully preloaded\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribePreloadDetailById', + 'description' => '- You can query data within the last 3 days.'."\n" + ."\n" + .'- Each account can call this operation up to 30 times per second.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:33.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-23T03:11:33.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribePreloadDetailById', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePreloadDetailById'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeRangeDataByLocateAndIspService' => [ + 'summary' => 'Obtains bandwidth data by carrier and region.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15117,85 +15323,116 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111864', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111826', + 'abilityTreeNodes' => ['FEATUREcdnF7OM8K'], + ], + 'parameters' => [ + [ + 'name' => 'DomainNames', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => true, 'example' => '2019-11-30T05:33:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time. The time range between the end time and the start time cannot exceed 1 hour.', 'type' => 'string', 'required' => true, 'example' => '2019-11-30T05:40:00Z', 'title' => ''], + ], + [ + 'name' => 'IspNames', + 'in' => 'query', + 'schema' => ['description' => 'The name of the carrier. You can specify only one carrier at a time.'."\n" + ."\n" + .'To query carrier names, call the [DescribeCdnRegionAndIsp](~~91077~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'unicom', 'title' => ''], + ], + [ + 'name' => 'LocationNames', + 'in' => 'query', + 'schema' => ['description' => 'The name of the region. Separate multiple region names with commas (,).'."\n" + ."\n" + .'To query region names, call the [DescribeCdnRegionAndIsp](~~91077~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'liaoning,guangxi', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D', - ], - 'Content' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RealtimeLogDeliveryInfos' => [ - 'description' => 'The information about real-time log delivery.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Logstore' => [ - 'description' => 'The name of the Logstore that collects log data from Alibaba Cloud CDN in real time.'."\n", - 'type' => 'string', - 'example' => 'LogstoreName', - ], - 'Project' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery.'."\n", - 'type' => 'string', - 'example' => 'ProjectName', - ], - 'Region' => [ - 'description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).'."\n", - 'type' => 'string', - 'example' => 'ch-shanghai', - ], - ], - ], - ], - ], - ], + 'JsonResult' => ['description' => 'The response in the JSON format. The data fields are returned in the following order: UNIX timestamp, region, carrier, distribution of HTTP status codes, response time, bandwidth in bps, average response rate, page views, cache hit ratio, and request hit ratio. ><notice>The hit rate is not calculated by region or carrier. A value of 0 is returned for the hit rate.></notice>', 'type' => 'string', 'example' => '{"1472659200":{"Tianjin":{"China Telecom":{"http_codes":{"000":0,"200":6,"400":0},"rt":4183,"bandwidth":46639,"avg_speed":7773,"pv":6,"hit_rate":0.93,"request_hit_rate":0.66}}}}', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidTime.ValueNotSupported', 'errorMessage' => 'StartTime or EndTime is miss match.', 'description' => 'Start time and end time do not match, time span limit is exceeded, or the time parameter is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\",\\n \\"Content\\": {\\n \\"RealtimeLogDeliveryInfos\\": [\\n {\\n \\"Logstore\\": \\"LogstoreName\\",\\n \\"Project\\": \\"ProjectName\\",\\n \\"Region\\": \\"ch-shanghai\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListRealtimeLogDeliveryInfosResponse>\\r\\n\\t<Content>\\r\\n\\t\\t<RealtimeLogDeliveryInfos>\\r\\n\\t\\t\\t<Project>test</Project>\\r\\n\\t\\t\\t<Logstore>test</Logstore>\\r\\n\\t\\t\\t<Region>cn-shanghai</Region>\\r\\n\\t\\t</RealtimeLogDeliveryInfos>\\r\\n\\t\\t<RealtimeLogDeliveryInfos>\\r\\n\\t\\t\\t<Project>test1</Project>\\r\\n\\t\\t\\t<Logstore>test2</Logstore>\\r\\n\\t\\t\\t<Region>cn-shanghai</Region>\\r\\n\\t\\t</RealtimeLogDeliveryInfos>\\r\\n\\t</Content>\\r\\n\\t<RequestId>95D5B69F-8AEC-419B-8F3A-612B35032B0D</RequestId>\\r\\n</ListRealtimeLogDeliveryInfosResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'ListRealtimeLogDeliveryInfos', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"JsonResult\\": \\"{\\\\\\"1472659200\\\\\\":{\\\\\\"Tianjin\\\\\\":{\\\\\\"China Telecom\\\\\\":{\\\\\\"http_codes\\\\\\":{\\\\\\"000\\\\\\":0,\\\\\\"200\\\\\\":6,\\\\\\"400\\\\\\":0},\\\\\\"rt\\\\\\":4183,\\\\\\"bandwidth\\\\\\":46639,\\\\\\"avg_speed\\\\\\":7773,\\\\\\"pv\\\\\\":6,\\\\\\"hit_rate\\\\\\":0.93,\\\\\\"request_hit_rate\\\\\\":0.66}}}}\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","type":"json"}]', + 'title' => 'DescribeRangeDataByLocateAndIspService', + 'description' => '- The time granularity for queries is 5 minutes.'."\n" + ."\n" + .'- The call frequency is limited to 20 calls per second for a single user.'."\n" + ."\n" + .'**Supported time granularities**'."\n" + ."\n" + .'The maximum time span for a single query, the time range of historical data that you can query, and data latency vary based on the time granularity. The details are as follows:'."\n" + ."\n" + .'| Time granularity | Maximum time span for a single query | Queryable time range for historical data | Data latency |'."\n" + .'| ---------------- | ------------------------------------ | ---------------------------------------- | ------------ |'."\n" + .'| 5 minutes | 1 hour | 93 days | 15 minutes |', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListRealtimeLogDeliveryDomains' => [ - 'summary' => 'Queries all domain names that are associated with a specific real-time log delivery configuration record.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:21:01.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRangeDataByLocateAndIspService'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeRangeDataByLocateAndIspService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'translator' => 'manual', + ], + 'DescribeRealtimeDeliveryAcc' => [ + 'summary' => 'Queries the number of real-time log deliveries.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15203,44 +15440,46 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111863', - 'abilityTreeNodes' => [ - 'FEATUREcdnXDFG0Q', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111827', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'Project', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Log Service project that is used for real-time log delivery. You can specify multiple project names and separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ProjectName', - ], + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2016-10-20T04:00:00Z', 'title' => ''], ], [ - 'name' => 'Logstore', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Logstore that collects log data from Alibaba Cloud CDN in real time. You can specify multiple Logstore names and separate them with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LogstoreName', - ], + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2016-10-20T05:00:00Z', 'title' => ''], ], [ - 'name' => 'Region', + 'name' => 'Interval', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the region where the Log Service project is deployed. You can specify multiple region IDs and separate them with commas (,).'."\n" - ."\n" - .'For more information about regions, see [Regions that support real-time log delivery](~~144883~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ch-shanghai', - ], + 'schema' => ['description' => 'The time granularity of the data entries. Unit: seconds. The value varies based on the values of the **StartTime** and **EndTime** parameters. Valid values:'."\n" + ."\n" + .'- If the time span between StartTime and EndTime is less than 3 days, valid values are **300**, **3600**, and **86400**. Default value: **300**.'."\n" + ."\n" + .'- If the time span between StartTime and EndTime is greater than or equal to 3 days and less than 31 days, valid values are **3600** and **86400**. Default value: **3600**.'."\n" + ."\n" + .'- If the time span between StartTime and EndTime is 31 days or longer, the valid value is **86400**. Default value: **86400**.', 'type' => 'string', 'required' => false, 'example' => '300', 'title' => ''], + ], + [ + 'name' => 'Project', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery. If you do leave this parameter empty, real-time log deliveries of all projects are queried.', 'type' => 'string', 'required' => false, 'example' => 'Project', 'title' => ''], + ], + [ + 'name' => 'LogStore', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Logstore that stores log data. If you do leave this parameter empty, real-time log deliveries of all Logstores are queried.', 'type' => 'string', 'required' => false, 'example' => 'LogStore', 'title' => ''], ], ], 'responses' => [ @@ -15248,85 +15487,80 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D', - ], - 'Content' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '684306D2-2511-4977-991D-CE97E91FD7C0', 'title' => ''], + 'ReatTimeDeliveryAccData' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Domains' => [ - 'description' => 'The information about the accelerated domain names.'."\n", + 'AccData' => [ + 'description' => 'The statistics about real-time log deliveries.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status. Valid values:'."\n" - ."\n" - .'* **online**: enabled'."\n" - .'* **offline**: disabled'."\n", - 'type' => 'string', - 'example' => 'online', - ], - 'DomainName' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com ', - ], + 'TimeStamp' => ['description' => 'The timestamp of the data returned.', 'type' => 'string', 'example' => '2018-09-03T06:00:00Z', 'title' => ''], + 'FailedNum' => ['description' => 'The number of failed attempts to deliver log data to Log Service.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'SuccessNum' => ['description' => 'The number of successful deliveries of log data to Log Service.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Unauthorized', - 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', - ], - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'Specified StartTime is malformed.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'Specified EndTime is malformed.', 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'Specified EndTime does not math the specified start time.', 'description' => ' '], ], - 404 => [ - [ - 'errorCode' => 'LogstoreNotExist', - 'errorMessage' => 'Logstore does not exist.', - ], + ], + 'title' => 'DescribeRealtimeDeliveryAcc', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRealtimeDeliveryAcc'], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeRealtimeDeliveryAcc', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\",\\n \\"Content\\": {\\n \\"Domains\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"DomainName\\": \\"example.com \\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"Content\\":{\\n \\"Domains\\":[\\n { \\n \\"DomainName\\":\\"a.xxx.com\\",\\n \\"Status\\":\\"online\\"\\n },\\n { \\n \\"DomainName\\":\\"b.xxx.com\\",\\n \\"Status\\":\\"offline\\"\\n }\\n ...\\n ]\\n },\\n \\"RequestId\\":\\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\"\\n}"},{"type":"xml","example":"<Content>\\n <Domains>\\n <DomainName>example.com</DomainName>\\n <Status>online</Status>\\n </Domains>\\n <Domains>\\n <DomainName>aliyundoc.com</DomainName>\\n <Status>offline</Status>\\n </Domains>\\n</Content>\\n<RequestId>95D5B69F-8AEC-419B-8F3A-612B35032B0D</RequestId>","errorExample":""}]', - 'title' => 'ListRealtimeLogDeliveryDomains', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"684306D2-2511-4977-991D-CE97E91FD7C0\\",\\n \\"ReatTimeDeliveryAccData\\": {\\n \\"AccData\\": [\\n {\\n \\"TimeStamp\\": \\"2018-09-03T06:00:00Z\\",\\n \\"FailedNum\\": 2,\\n \\"SuccessNum\\": 2\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'DescribeDomainCustomLogConfig' => [ - 'summary' => 'Queries the custom log configuration of an accelerated domain name.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeRefreshQuota' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15335,81 +15569,63 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111770', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], + 'abilityTreeCode' => '111830', + 'abilityTreeNodes' => ['FEATUREcdnW2530F'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ConfigId' => [ - 'description' => 'The ID of the log configuration.'."\n", - 'type' => 'string', - 'example' => '123', - ], - 'Tag' => [ - 'description' => 'The tag information about the log configuration.'."\n", - 'type' => 'string', - 'example' => 'book', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '94E3559F-7B6A-4A5E-AFFD-44E2A208A249', - ], - 'Remark' => [ - 'description' => 'The format of the log configuration.'."\n", - 'type' => 'string', - 'example' => '$time_iso8601_$request_method_$', - ], - 'Sample' => [ - 'description' => 'The sample log configuration.'."\n", - 'type' => 'string', - 'example' => '[9/Jun/2015:01:58:09+0800]188.165.15.75-1542\\"-\\"\\"GET http://www.aliyun.com/index.html\\', - ], + 'PreloadRemain' => ['description' => 'The maximum number of times that you can prefetch content to L1 nodes on the current day.'."\n", 'type' => 'string', 'example' => '400'], + 'BlockRemain' => ['description' => 'The remaining number of times that you can prefetch content to L2 points of presence (POPs) on the current day.'."\n", 'type' => 'string', 'example' => '100'], + 'RegexRemain' => ['description' => 'The remaining number of URLs that can be blocked on the current day.'."\n", 'type' => 'string', 'example' => '10'], + 'UrlRemain' => ['description' => 'The remaining number of URLs or directories that can be refreshed by using regular expressions on the current day.'."\n", 'type' => 'string', 'example' => '1996'], + 'DirRemain' => ['description' => 'The remaining number of URLs that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '99'], + 'UrlQuota' => ['description' => 'The remaining number of directories that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '2000'], + 'BlockQuota' => ['description' => 'The maximum number of URLs that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '300'], + 'RequestId' => ['description' => 'The maximum number of URLs and directories that can be blocked on the current day.'."\n", 'type' => 'string', 'example' => '42E0554B-80F4-4921-AED6-ACFB22CAAAD0'], + 'DirQuota' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '100'], + 'PreloadEdgeQuota' => ['description' => 'The maximum number of directories that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '20'], + 'PreloadEdgeRemain' => ['description' => 'The maximum number of times that you can prefetch content to L1 POPs on the current day.'."\n", 'type' => 'string', 'example' => '20'], + 'PreloadQuota' => ['description' => 'The remaining number of times that you can prefetch content to L1 POPs on the current day.'."\n", 'type' => 'string', 'example' => '500'], + 'RegexQuota' => ['description' => 'The maximum number of times that you can prefetch content to L2 POPs on the current day.'."\n", 'type' => 'string', 'example' => '20'], + 'IgnoreParamsQuota' => ['description' => 'The maximum number of URLs or directories with parameters ignored that can be refreshed on the current day.'."\n", 'type' => 'string', 'example' => '100'], + 'IgnoreParamsRemain' => ['description' => 'The number of remaining URLs or directories that can be refreshed with parameters ignored on the current day.'."\n", 'type' => 'string', 'example' => '10'], ], ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'Config.NotFound', - 'errorMessage' => 'The domain provided doesn\'t apply any custom log config, please refer to the standard log config.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ConfigId\\": \\"123\\",\\n \\"Tag\\": \\"book\\",\\n \\"RequestId\\": \\"94E3559F-7B6A-4A5E-AFFD-44E2A208A249\\",\\n \\"Remark\\": \\"$time_iso8601_$request_method_$\\",\\n \\"Sample\\": \\"[9/Jun/2015:01:58:09+0800]188.165.15.75-1542\\\\\\\\\\\\\\"-\\\\\\\\\\\\\\"\\\\\\\\\\\\\\"GET http://www.aliyun.com/index.html\\\\\\\\\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainCustomLogConfigResponse>\\r\\n\\t<ConfigId>25473b84-d598-498e-b148-f23d0a27df52</ConfigId>\\r\\n\\t<Tag>book</Tag>\\r\\n\\t<Remark>$time_iso8601_$request_method_$server_protocol.....</Remark>\\r\\n\\t<Sample>[9/Jun/2015:01:58:09+0800]188.165.15.75-1542"-""GET http://www.aliyun.com/index.html"2001912830MISS"Mozilla/5.0 (compatible; AhrefsBot/5.0; +http://ahrefs.com/robot/)</Sample>\\r\\n\\t<RequestId>1805F349-0A2B-41D9-B4AD-33632AFC27F1</RequestId>\\r\\n</DescribeDomainCustomLogConfigResponse>","errorExample":""}]', - 'title' => 'DescribeDomainCustomLogConfig', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"PreloadRemain\\": \\"400\\",\\n \\"BlockRemain\\": \\"100\\",\\n \\"RegexRemain\\": \\"10\\",\\n \\"UrlRemain\\": \\"1996\\",\\n \\"DirRemain\\": \\"99\\",\\n \\"UrlQuota\\": \\"2000\\",\\n \\"BlockQuota\\": \\"300\\",\\n \\"RequestId\\": \\"42E0554B-80F4-4921-AED6-ACFB22CAAAD0\\",\\n \\"DirQuota\\": \\"100\\",\\n \\"PreloadEdgeQuota\\": \\"20\\",\\n \\"PreloadEdgeRemain\\": \\"20\\",\\n \\"PreloadQuota\\": \\"500\\",\\n \\"RegexQuota\\": \\"20\\",\\n \\"IgnoreParamsQuota\\": \\"100\\",\\n \\"IgnoreParamsRemain\\": \\"10\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeRefreshQuotaResponse>\\r\\n <RequestId>42E0554B-80F4-4921-AED6-ACFB22CAAAD0</RequestId>\\r\\n\\t<UrlQuota>2000</UrlQuota>\\r\\n <DirQuota>100</DirQuota>\\r\\n <UrlRemain>1996</UrlRemain>\\r\\n\\t<DirRemain>99</DirRemain>\\r\\n\\t<PreloadQuota>500</PreloadQuota>\\r\\n\\t<PreloadRemain>400</PreloadRemain>\\r\\n <BlockQuota>300</BlockQuota>\\r\\n <RegexQuota>20</RegexQuota>\\r\\n <RegexRemain>10</RegexRemain>\\r\\n <blockRemain>200</blockRemain>\\r\\n</DescribeRefreshQuotaResponse>\\t","errorExample":""}]', + 'title' => 'DescribeRefreshQuota', + 'summary' => 'DescribeRefreshQuota', + 'description' => 'Queries the maximum and remaining numbers of URLs and directories that can be refreshed, the maximum and remaining numbers of times that you can prefetch content, and the maximum and remaining numbers of URLs and directories that can be blocked on the current day.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCustomLogConfig' => [ - 'summary' => 'Queries the details about a custom logging configuration.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2023-03-29T08:00:51.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-17T07:05:59.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeRefreshQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeRefreshTaskById' => [ + 'summary' => 'Use `DescribeRefreshTaskById` to check if refresh and prefetch tasks are complete across the network.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15418,22 +15634,21 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111761', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111831', + 'abilityTreeNodes' => ['FEATUREcdnW2530F'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ConfigId', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the custom configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => 'The ID of the task to query.'."\n" + ."\n" + .'You can obtain the `task ID` from the response of the `RefreshObjectCaches` API to query the status of a refresh or preload task.'."\n" + ."\n" + .'You can specify up to 10 `task ID`s, separated by commas.', 'type' => 'string', 'required' => true, 'example' => '12345678', 'title' => ''], ], ], 'responses' => [ @@ -15441,61 +15656,119 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Tag' => [ - 'description' => 'The tag information about the log configuration.'."\n", - 'type' => 'string', - 'example' => 'img1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '94E3559F-7B6A-4A5E-AFFD-44E2A208A249', - ], - 'Remark' => [ - 'description' => 'The format of the log configuration.'."\n", - 'type' => 'string', - 'example' => '$time_iso8601_$request_method_$', - ], - 'Sample' => [ - 'description' => 'The sample.'."\n", - 'type' => 'string', - 'example' => '"[9/Jun/2015:01:58:09 +0800] 188.165.15.75 - 1542 \\"-\\" \\"GEThttp: //www.aliyun.com/index.html\\" 200', + 'TotalCount' => ['description' => 'The total number of tasks.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'E0C2EF95-B1EC-4C93-855E-2059A7DA2B7B', 'title' => ''], + 'Tasks' => [ + 'description' => 'The list of tasks.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the task. Valid values:'."\n" + ."\n" + .'- **Complete**: The task is completed.'."\n" + ."\n" + .'- **Refreshing**: The task is in progress.'."\n" + ."\n" + .'- **Timeout**: The task timed out.'."\n" + ."\n" + .'- **Canceled**: The task is canceled.'."\n" + ."\n" + .'- **Failed**: The task failed.', 'type' => 'string', 'example' => 'Complete', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the task was created. The time is in UTC.', 'type' => 'string', 'example' => '2020-08-03T08:54:23Z', 'title' => ''], + 'ObjectType' => ['description' => 'The type of the task. Valid values:'."\n" + ."\n" + .'- **file**: Refreshes a single file.'."\n" + ."\n" + .'- **directory**: Refreshes a directory.'."\n" + ."\n" + .'- **preload**: Preloads a single file.'."\n" + ."\n" + .'- **regex**: Refreshes content based on a regular expression.', 'type' => 'string', 'example' => 'file', 'title' => ''], + 'Process' => ['description' => 'The progress of the task in percentage.', 'type' => 'string', 'example' => '100%', 'title' => ''], + 'Description' => ['description' => 'The error description that is returned if the refresh or preload task fails. Valid values:'."\n" + ."\n" + .'- **Internal Error**: An internal error occurs.'."\n" + ."\n" + .'- **Origin Timeout**: The origin server times out.'."\n" + ."\n" + .'- **Origin Return StatusCode 5XX**: The origin server returns a 5xx status code.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ObjectPath' => ['description' => 'The path of the object that is refreshed.', 'type' => 'string', 'example' => 'http://example.com/abc.jpg', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '24840', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'InvalidConfigId', - 'errorMessage' => 'Illegal ConfigId', - ], + 400 => [ + ['errorCode' => 'InvalidTaskId.Malformed', 'errorMessage' => 'The specified TaskId is invalid.', 'description' => ''], + ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => ''], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'MissingParameter.ObjectType', 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => 'The format of the start time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => 'The EndTime parameter is set in an invalid format. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'EndTime is earlier than StartTime.'], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.ValueNotSupported', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidObjectType.ValueNotSupported', 'errorMessage' => 'The specified ObjectType is not supported.', 'description' => ''], + ['errorCode' => 'InvalidStatus.ValueNotSupported', 'errorMessage' => 'The specified Status is not supported.', 'description' => ''], + ['errorCode' => 'DomainNameOverLimit', 'errorMessage' => 'A maximum of 500 domains are supported for each request.', 'description' => ''], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The parameters you provided are invalid.', 'description' => ''], + ['errorCode' => 'InvalidTime', 'errorMessage' => 'The query time cannot exceed the last 3 days.', 'description' => ''], ], - [ - [ - 'errorCode' => 'Config.NotFound', - 'errorMessage' => 'Config does not exist or does not belong to the current user ', - ], + 429 => [ + ['errorCode' => 'TooManyRequests', 'errorMessage' => 'Too many requests, please try again later', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Tag\\": \\"img1\\",\\n \\"RequestId\\": \\"94E3559F-7B6A-4A5E-AFFD-44E2A208A249\\",\\n \\"Remark\\": \\"$time_iso8601_$request_method_$\\",\\n \\"Sample\\": \\"\\\\\\"[9/Jun/2015:01:58:09 +0800] 188.165.15.75 - 1542 \\\\\\\\\\\\\\"-\\\\\\\\\\\\\\" \\\\\\\\\\\\\\"GEThttp: //www.aliyun.com/index.html\\\\\\\\\\\\\\" 200\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCustomLogConfigResponse>\\n <Tag>img1</Tag>\\n <RequestId>94E3559F-7B6A-4A5E-AFFD-44E2A208A249</RequestId>\\n <Remark>$time_iso8601_$request_method_$</Remark>\\n <Sample>\\"[9/Jun/2015:01:58:09 +0800] 188.165.15.75 - 1542 \\\\\\"-\\\\\\" \\\\\\"GEThttp: //www.aliyun.com/index.html\\\\\\" 200</Sample>\\n</DescribeCustomLogConfigResponse>","errorExample":""}]', - 'title' => 'DescribeCustomLogConfig', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"E0C2EF95-B1EC-4C93-855E-2059A7DA2B7B\\",\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreationTime\\": \\"2020-08-03T08:54:23Z\\",\\n \\"ObjectType\\": \\"file\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"ObjectPath\\": \\"http://example.com/abc.jpg\\",\\n \\"TaskId\\": \\"24840\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeRefreshTaskById', + 'description' => '- You can query data up to three days old.'."\n" + ."\n" + .'- The single-user call rate is 30 calls per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnDomainLogs' => [ - 'summary' => 'Queries the address where you can download the log data of a specific domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-09-16T06:04:46.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-16T05:44:37.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-08T03:09:55.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-08T01:39:20.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRefreshTaskById'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeRefreshTaskById', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeRefreshTasks' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15503,242 +15776,93 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111729', - 'abilityTreeNodes' => [ - 'FEATUREcdnGZSOSW', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111832', + 'abilityTreeNodes' => ['FEATUREcdnW2530F'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The task ID used to query the refresh status.', 'type' => 'string', 'required' => false, 'example' => '1234321', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ObjectPath', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: **300**. Maximum value: **1000**. Valid values: **1** to **1000**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'maximum' => '1000', - 'example' => '300', - 'default' => '300', - ], + 'schema' => ['description' => 'The path used to query. Exact match is used.', 'type' => 'string', 'required' => false, 'example' => 'http://example.com/1.txt', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Pages start from page **1**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2', - 'default' => '1', - ], + 'schema' => ['description' => 'The page number to return. Valid values: **1** to **100000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100000', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'ObjectType', 'in' => 'query', 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" + 'description' => 'The task type. Valid values:'."\n" + .'- **file**: file refresh.'."\n" + .'- **directory**: directory refresh.'."\n" + .'- **regex**: regular expression-based refresh.'."\n" + .'- **preload**: file prefetch.'."\n" + .'- **block**: URL blocking.'."\n" + .'- **unblock**: URL unblocking.'."\n" ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + .'> When you specify **DomainName** or **Status**, **ObjectType** is required.', 'type' => 'string', 'required' => false, - 'example' => '2017-12-21T08:00:00Z', + 'enum' => ['file', 'directory', 'preload', 'regex', 'IgnoreParams', 'block', 'unblock'], + 'example' => 'file', + 'title' => '', ], ], [ - 'name' => 'EndTime', + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. Only a single domain name can be specified. By default, all accelerated domain names are queried.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'Status', 'in' => 'query', 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + 'description' => 'The task status. Valid values:'."\n" ."\n" - .'> The end time must be later than the start time.'."\n", + .'- **Complete**: completed.'."\n" + .'- **Refreshing**: in progress.'."\n" + .'- **Timeout**: timed out.'."\n" + .'- **Canceled**: canceled.'."\n" + .'- **Failed**: failed.', 'type' => 'string', 'required' => false, - 'example' => '2017-12-22T08:00:00Z', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'DomainLogDetails' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DomainLogDetail' => [ - 'description' => 'A set of DomainLogDetail data.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LogCount' => [ - 'description' => 'The total number of entries returned on the current page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'LogInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LogInfoDetail' => [ - 'description' => 'A set of LogInfoDetail data.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-05-23T14:00:00Z', - ], - 'LogSize' => [ - 'description' => 'The size of the log file.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '258', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-05-23T13:00:00Z', - ], - 'LogName' => [ - 'description' => 'The name of the log file.'."\n", - 'type' => 'string', - 'example' => 'demo.aliyundoc.com_2015_05_23_2100_2200.gz', - ], - 'LogPath' => [ - 'description' => 'The path of the log file.'."\n", - 'type' => 'string', - 'example' => 'guide.aliyundoc.com-hangzhou.xxx', - ], - ], - ], - ], - ], - ], - 'PageInfos' => [ - 'description' => 'A set of PageInfoDetail data.'."\n", - 'type' => 'object', - 'properties' => [ - 'PageIndex' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Total' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'enum' => ['Complete', 'Refreshing', 'Failed'], + 'example' => 'Complete', + 'title' => '', ], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', - ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Default value: **20**. Maximum value: **100**. Valid values: **1** to **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '20', 'example' => '20', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"DomainLogDetails\\": {\\n \\"DomainLogDetail\\": [\\n {\\n \\"LogCount\\": 10,\\n \\"DomainName\\": \\"example.com\\",\\n \\"LogInfos\\": {\\n \\"LogInfoDetail\\": [\\n {\\n \\"EndTime\\": \\"2015-05-23T14:00:00Z\\",\\n \\"LogSize\\": 258,\\n \\"StartTime\\": \\"2015-05-23T13:00:00Z\\",\\n \\"LogName\\": \\"demo.aliyundoc.com_2015_05_23_2100_2200.gz\\",\\n \\"LogPath\\": \\"guide.aliyundoc.com-hangzhou.xxx\\"\\n }\\n ]\\n },\\n \\"PageInfos\\": {\\n \\"PageIndex\\": 1,\\n \\"PageSize\\": 20,\\n \\"Total\\": 20\\n }\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeCdnDomainLogsResponse>\\n<RequestId>077D0284-F041-4A41-A932-B48377FDAA25</RequestId>\\n<DomainLogDetails>\\n <DomainLogDetail>\\n <LogInfos>\\n <LogInfoDetail>\\n <LogName>demo.aliyundoc.com_2018_03_25_180000_190000.gz</LogName>\\n <LogPath>guide.aliyundoc.com/image.example.com/2018_03_25/demo.aliyundoc.com_2018_03_25_180000_190000.gz?xxx</LogPath>\\n <EndTime>2018-05-31T04:00:00Z</EndTime>\\n <StartTime>2018-05-31T03:00:00Z</StartTime>\\n <LogSize>2645401</LogSize>\\n </LogInfoDetail>\\n <LogInfoDetail>\\n <LogName>demo.aliyundoc.com_2018_03_25_190000_200000.gz</LogName>\\n <LogPath>guide.aliyundoc.com/demo.example.com/2018_03_25/demo.aliyundoc.com_2018_03_25_190000_200000.gz?xxx</LogPath>\\n <EndTime>2018-05-31T06:00:00Z</EndTime>\\n <StartTime>2018-05-31T05:00:00Z</StartTime>\\n <LogSize>2653965</LogSize>\\n </LogInfoDetail>\\n </LogInfos>\\n <LogCount>20</LogCount>\\n <PageInfos>\\n <PageIndex>1</PageIndex>\\n <PageSize>20</PageSize>\\n <Total>20</Total>\\n </PageInfos>\\n <DomainName>example.com</DomainName>\\n </DomainLogDetail>\\n</DomainLogDetails>\\n</DescribeCdnDomainLogsResponse>","errorExample":""}]', - 'title' => 'DescribeCdnDomainLogs', - 'description' => '* If you do not set **StartTime** or **EndTime**, the request returns the data collected in the last 24 hours. If you set both **StartTime** and **EndTime**, the request returns the data collected within the specified time range.'."\n" - .'* The log data is collected every hour.'."\n" - .'* You can call this operation up to 100 times per second per account.'."\n" - .'* You can query only logs in the last month. The start time and the current time cannot exceed 31 days.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListDomainsByLogConfigId' => [ - 'summary' => 'Queries domain names by log configuration ID.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The start time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2017-12-21T08:00:00Z', 'title' => ''], ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '111859', - 'abilityTreeNodes' => [ - 'FEATUREcdnGZSOSW', + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2017-12-22T08:00:00Z', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ConfigId', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the custom configuration.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '123', - ], + 'schema' => ['description' => 'The resource group ID.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyuji4b6r4**', 'title' => ''], ], ], 'responses' => [ @@ -15746,97 +15870,150 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', - ], - 'Domains' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '174F6032-AA26-470D-B90E-36F0EB205BEE', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'Tasks' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Domain' => [ - 'description' => 'The domain names.'."\n", + 'CDNTask' => [ + 'description' => 'The task list.', 'type' => 'array', 'items' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The task status. Valid values:'."\n" + ."\n" + .'- **Complete**: completed.'."\n" + .'- **Refreshing**: in progress.'."\n" + .'- **Failed**: failed.', 'type' => 'string', 'example' => 'Complete', 'title' => ''], + 'CreationTime' => ['description' => 'The time when the task object was created. The time is in UTC.', 'type' => 'string', 'example' => '2014-11-27T08:23:22Z', 'title' => ''], + 'ObjectType' => ['description' => 'The task type.'."\n" + ."\n" + .'- **file**: file refresh.'."\n" + ."\n" + .'- **directory**: directory refresh.'."\n" + ."\n" + .'- **regex**: regular expression-based refresh.'."\n" + ."\n" + .'- **preload**: file prefetch.', 'type' => 'string', 'example' => 'file', 'title' => ''], + 'Process' => ['description' => 'The progress in percentage.', 'type' => 'string', 'example' => '100%', 'title' => ''], + 'Description' => ['description' => 'The error description returned when the refresh or prefetch task failed.'."\n" + ."\n" + .'- **InternalError**: an internal error occurred.'."\n" + ."\n" + .'- **OriginTimeout**: the origin server response timed out.'."\n" + ."\n" + .'- **OriginReturnStatusCode 5XX**: the origin server returned a 5xx status code.', 'type' => 'string', 'example' => 'Internal Error', 'title' => ''], + 'ObjectPath' => ['description' => 'The object path of the refresh task.', 'type' => 'string', 'example' => 'http://example.com/1.txt', 'title' => ''], + 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '704225667', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'InvalidConfigId', - 'errorMessage' => 'Illegal ConfigId', - ], + 400 => [ + ['errorCode' => 'InvalidTaskId.Malformed', 'errorMessage' => 'The specified TaskId is invalid.', 'description' => ''], + ['errorCode' => 'MissingParameter.ObjectType', 'errorMessage' => 'The ObjectType parameter is required if DomainName or Status is specified.', 'description' => ''], + ['errorCode' => 'MissingTimeParameter', 'errorMessage' => 'The StartTime and EndTime must be both specified.', 'description' => 'You must set both the start time and the end time. '], + ['errorCode' => 'InvalidEndTime.Mismatch', 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', 'description' => 'EndTime is earlier than StartTime.'], + ['errorCode' => 'DomainNameOverLimit', 'errorMessage' => 'A maximum of 500 domains are supported for each request.', 'description' => ''], + ['errorCode' => 'InvalidTime', 'errorMessage' => 'The query time cannot exceed the last 3 days.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => 'The format of the start time is invalid. Specify a valid value.'], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => 'The EndTime parameter is set in an invalid format. For more information, see the API references.'], + ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified StartTime is invalid.', 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['errorCode' => 'InvalidEndTime.ValueNotSupported', 'errorMessage' => 'The specified EndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidObjectType.ValueNotSupported', 'errorMessage' => 'The specified ObjectType is not supported.', 'description' => ''], + ['errorCode' => 'InvalidStatus.ValueNotSupported', 'errorMessage' => 'The specified Status is not supported.', 'description' => ''], + ['errorCode' => 'InvalidParams', 'errorMessage' => 'The parameter you provided is invalid.', 'description' => 'The parameter entered is illegal.'], ], - [ - [ - 'errorCode' => 'Domains.NotFound', - 'errorMessage' => 'No domain used in this log config', - ], + 429 => [ + ['errorCode' => 'TooManyRequests', 'errorMessage' => 'The server is busy. Please try again later.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n \\"Domains\\": {\\n \\"Domain\\": [\\n \\"example.com\\"\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<ListDomainsByLogConfigIdResponse>\\r\\n\\t<RequestId>9732E117-8A37-49FD-A36F-ABBB87556CA7</RequestId>\\r\\n\\t<Domains>\\r\\n\\t\\t<Domain>example.com</Domain>\\r\\n\\t\\t<Domain>image.developer.aliyundoc.com</Domain>\\r\\n\\t</Domains>\\r\\n</ListDomainsByLogConfigIdResponse>","errorExample":""}]', - 'title' => 'ListDomainsByLogConfigId', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'Query refresh and prefetch tasks', + 'summary' => 'Queries whether refresh or prefetch tasks have taken effect across the entire network.', + 'description' => '- You can query by task ID or URL.'."\n" + .'- You can specify both **TaskId** and **ObjectPath**. If neither **TaskId** nor **ObjectPath** is specified, the first page of data (20 entries) from the last 3 days is returned by default.'."\n" + .'- You can query only data from the last 3 days.'."\n" + .'- The task status must be triggered by an API request for asynchronous update.'."\n" + .'- If you enabled automatic CDN cache refresh in the OSS console, you cannot use the DescribeRefreshTasks operation to view automatic cache refresh tasks on OSS.'."\n" + .'- Maximum call frequency per user: 5 calls per second. If you require a higher call frequency, use the [DescribeRefreshTaskById](~~187709~~) operation, which supports querying refresh and prefetch task information only by task ID.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ListUserCustomLogConfig' => [ - 'summary' => 'Queries all custom log configurations in your account.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-08-25T08:08:58.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-02-22T02:00:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-29T08:00:51.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRefreshTasks'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeRefreshTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"174F6032-AA26-470D-B90E-36F0EB205BEE\\",\\n \\"PageNumber\\": 10,\\n \\"PageSize\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Tasks\\": {\\n \\"CDNTask\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreationTime\\": \\"2014-11-27T08:23:22Z\\",\\n \\"ObjectType\\": \\"file\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"ObjectPath\\": \\"http://example.com/1.txt\\",\\n \\"TaskId\\": \\"704225667\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'DescribeStagingIp' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '111866', - 'abilityTreeNodes' => [ - 'FEATUREcdnGZSOSW', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D', - ], - 'ConfigIds' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '1B9E0E83-24AC-49F4-9EE0-BF5EB03E8381'], + 'IPV4s' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'ConfigId' => [ - 'description' => 'The list of log configuration IDs.'."\n", + 'IPV4' => [ + 'description' => 'IPv4 addresses.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the log configuration.'."\n", - 'type' => 'string', - 'example' => 'c3bb2c78-2915-4d5a-b6a1-557789255555', - ], + 'items' => ['description' => 'The IPv4 address.'."\n", 'type' => 'string', 'example' => 'xx.xx.xx.xx'], ], ], ], @@ -15844,138 +16021,137 @@ ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'ConfgIds.NotFound', - 'errorMessage' => 'You don\'t have any custom log config, please add first.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\",\\n \\"ConfigIds\\": {\\n \\"ConfigId\\": [\\n \\"c3bb2c78-2915-4d5a-b6a1-557789255555\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListUserCustomLogConfigResponse>\\r\\n\\t<RequestId>95D5B69F-8AEC-419B-8F3A-612B35032B0D</RequestId>\\r\\n\\t<ConfigIds>\\r\\n\\t\\t<ConfigId>c3bb2c78-2915-4d5a-b6a1-557789255555</ConfigId>\\r\\n\\t\\t<ConfigId>25473b84-d598-498e-b148-f23d0a255555</ConfigId>\\r\\n\\t\\t<ConfigId>1f1e6c6e-6701-4193-ae4d-54bf3e555555</ConfigId>\\r\\n\\t</ConfigIds>\\r\\n</ListUserCustomLogConfigResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'ListUserCustomLogConfig', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1B9E0E83-24AC-49F4-9EE0-BF5EB03E8381\\",\\n \\"IPV4s\\": {\\n \\"IPV4\\": [\\n \\"xx.xx.xx.xx\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeStagingIpResponse>\\n<IPV4s>\\n <IPV4>xx.xx.xx.xx</IPV4>\\n <IPV4>xx.xx.xx.xx</IPV4>\\n <IPV4>xx.xx.xx.xx</IPV4>\\n</IPV4s>\\n<RequestId>1B9E0E83-24AC-49F4-9EE0-BF5EB03E8381</RequestId>\\n</DescribeStagingIpResponse>","errorExample":""}]', + 'title' => 'DescribeStagingIp', + 'summary' => 'Queries node IP addresses in the staging environment.', + 'description' => '>The maximum number of times that each user can call this operation per second is 30.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'OpenCdnService' => [ - 'summary' => 'Activates Alibaba Cloud CDN. You must activate Alibaba Cloud CDN before you can manage domain names in Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeStagingIp', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeTagResources' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111877', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'InternetChargeType', + 'name' => 'ResourceType', 'in' => 'query', + 'schema' => ['description' => 'The resource type. Set the value to **DOMAIN**.'."\n", 'type' => 'string', 'required' => true, 'example' => 'DOMAIN'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The metering method of Alibaba Cloud CDN. A value of **PayByTraffic** indicates that the metering method is pay-by-data-transfer.'."\n", - 'type' => 'string', + 'description' => 'The IDs of the resources. You can specify up to 50 IDs in each request.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the resource. The value is an accelerated domain name.', 'type' => 'string', 'required' => false, 'example' => 'example.com'], 'required' => true, - 'example' => 'PayByTraffic', + 'example' => '1', + 'maxItems' => 50, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags. You can specify up to 20 tags in each request.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag. Valid values of N: **1** to **20**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'key'], + 'Value' => ['description' => 'The value of the tag. Valid values of N: **1** to **20**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'value'], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data structure of the response.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508', + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB'], + 'TagResources' => [ + 'description' => 'The tags that are attached to the specified resource.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'example.com'], + 'Tag' => [ + 'description' => 'The key-value pair of the tag.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'env'], + 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'product'], + ], + ], + ], + ], + ], ], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidInternetChargeType.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter InternetChargeType is not valid.', - ], - [ - 'errorCode' => 'CdnService.HasOpened', - 'errorMessage' => 'Your cdn service has opened.', - ], - [ - 'errorCode' => 'InsufficientBalance', - 'errorMessage' => 'Your account does not have enough balance.', - ], - [ - 'errorCode' => 'NoRealNameAuthentication', - 'errorMessage' => 'Real name authentication is needed.', - ], - [ - 'errorCode' => 'VertifyFailInvalidPayMethod', - 'errorMessage' => 'INVALID PAY METHOD', - ], - [ - 'errorCode' => 'VertifyFailUserProfileComplete', - 'errorMessage' => 'MISSING USERPROFILE', - ], - [ - 'errorCode' => 'CreateOrderFailed', - 'errorMessage' => 'Create order failed', - ], - [ - 'errorCode' => 'QueryInfoError', - 'errorMessage' => 'Create order failed', - ], - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The input parameter OwnerId or OwnerAccount that is mandatory for processing this request is not supplied.', - ], - ], - 403 => [ - [ - 'errorCode' => 'Forbidden.Intl', - 'errorMessage' => 'User not authorized to open Intl service.', - ], - [ - 'errorCode' => 'Forbidden.BidUser', - 'errorMessage' => 'Bid user is limited to open service.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"example.com\\",\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"env\\",\\n \\"Value\\": \\"product\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagResourcesResponse>\\n <RequestId>34AB41F1-04A5-496F-8C8D-634BDBE6A9FB</RequestId>\\n <TagResources>\\n <ResourceId>example.com</ResourceId>\\n <Tag>\\n <Key>env</Key>\\n <Value>product</Value>\\n </Tag>\\n </TagResources>\\n</DescribeTagResourcesResponse>","errorExample":""}]', + 'title' => 'DescribeTagResources', + 'summary' => 'Queries tags that are added to specified resources.', + 'description' => '> The maximum number of times that each user can call this operation per second is 10.'."\n", + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"97C68796-EB7F-4D41-9D5B-12B909D76508\\"\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<OpenCdnServiceResponse>\\r\\n <RequestId>97C68796-EB7F-4D41-9D5B-12B909D76508</RequestId>\\r\\n</OpenCdnServiceResponse>","errorExample":""}]', - 'title' => 'OpenCdnService', - 'description' => '* Alibaba Cloud CDN can be activated only once per Alibaba Cloud account. The Alibaba Cloud account must complete real-name verification to activate Alibaba Cloud CDN.'."\n" - .'* You can call this operation up to five times per second per user.'."\n", - 'extraInfo' => ' ', ], - 'DescribeCdnRegionAndIsp' => [ - 'summary' => 'Queries Internet service providers (ISPs) and regions that are supported by Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeTopDomainsByFlow' => [ + 'summary' => 'Queries the top N domain names ranked by network traffic. You can query data collected in the last 30 days.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15984,93 +16160,123 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111736', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111838', + 'abilityTreeNodes' => ['FEATUREcdnGZSOSW'], 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The value of StartTime must be in UTC. For example, if the local time is 00:00 on June 1, 2021, set StartTime to 2021-05-31T16:00:00Z.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-12-22T08:00:00Z', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", 'type' => 'string', 'required' => false, 'example' => '2019-12-23T08:00:00Z', 'title' => ''], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of domain names to query. Valid values: **1** to **100**. Default value: **20**.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '20', 'default' => '20', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2387C335-932C-4E1E-862C-1C4363B6DE72', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Region' => [ - 'description' => 'The list of regions.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'NameEn' => [ - 'description' => 'The English name of the region.'."\n", - 'type' => 'string', - 'example' => 'liaoning', - ], - 'NameZh' => [ - 'description' => 'The Chinese name of the region.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - ], - ], - 'Isps' => [ + 'DomainOnlineCount' => ['description' => 'The total number of accelerated domain names that are in the **Enabled** state within the current Alibaba Cloud account.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '68', 'title' => ''], + 'EndTime' => ['description' => 'The end of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2019-12-23T08:00:00Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.'."\n", 'type' => 'string', 'example' => '2019-12-22T08:00:00Z', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '4E09C5D7-E1CF-4CAA-A45E-8727F4C8FD70', 'title' => ''], + 'DomainCount' => ['description' => 'The total number of accelerated domain names that belong to the current Alibaba Cloud account.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '68', 'title' => ''], + 'TopDomains' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Isp' => [ - 'description' => 'The list of ISPs.'."\n", + 'TopDomain' => [ + 'description' => 'The top N domain names ranked by network traffic.'."\n", 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'NameEn' => [ - 'description' => 'The English name of the ISP.'."\n", - 'type' => 'string', - 'example' => 'unicom', - ], - 'NameZh' => [ - 'description' => 'The Chinese name of the ISP.'."\n", - 'type' => 'string', - 'example' => '', - ], + 'MaxBps' => ['description' => 'The peak bandwidth value.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '22139626', 'title' => ''], + 'Rank' => ['description' => 'The ranking of the accelerated domain name.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TotalAccess' => ['description' => 'The number of visits to the domain name.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '107784230', 'title' => ''], + 'TrafficPercent' => ['description' => 'The proportion of network traffic consumed to access the domain name.'."\n", 'type' => 'string', 'example' => '30.64191989360235', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'TotalTraffic' => ['description' => 'The total volume of traffic.'."\n", 'type' => 'string', 'example' => '2043859876683.9001', 'title' => ''], + 'MaxBpsTime' => ['description' => 'The time when the bandwidth reached the peak value.'."\n", 'type' => 'string', 'example' => '1457111400', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2387C335-932C-4E1E-862C-1C4363B6DE72\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"NameEn\\": \\"liaoning\\",\\n \\"NameZh\\": \\"辽宁省\\"\\n }\\n ]\\n },\\n \\"Isps\\": {\\n \\"Isp\\": [\\n {\\n \\"NameEn\\": \\"unicom\\",\\n \\"NameZh\\": \\"联通\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<Isps>\\n <Isp>\\n <NameZh>电信</NameZh>\\n <NameEn>telecom</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>移动</NameZh>\\n <NameEn>mobile</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>教育网</NameZh>\\n <NameEn>cernet</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>铁通</NameZh>\\n <NameEn>tietong</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>其他</NameZh>\\n <NameEn>other</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>鹏博士</NameZh>\\n <NameEn>drpeng</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>联通</NameZh>\\n <NameEn>unicom</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>阿里巴巴</NameZh>\\n <NameEn>alibaba</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>中信网络</NameZh>\\n <NameEn>citic</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>方正宽带</NameZh>\\n <NameEn>dounder</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>海外ISP</NameZh>\\n <NameEn>overseas</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>有线通</NameZh>\\n <NameEn>ocn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>华数</NameZh>\\n <NameEn>wasu</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>湖北广电</NameZh>\\n <NameEn>hrtn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>重庆有线</NameZh>\\n <NameEn>cqccn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>歌华有线</NameZh>\\n <NameEn>bjctv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>天威视讯</NameZh>\\n <NameEn>topway</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>中国香港宽频</NameZh>\\n <NameEn>hkbn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>澳大利亚电信</NameZh>\\n <NameEn>telstra</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>江西广电</NameZh>\\n <NameEn>jxsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>湖南广电</NameZh>\\n <NameEn>gbs</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>中国澳门电讯</NameZh>\\n <NameEn>ctm</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>黑龙江广电</NameZh>\\n <NameEn>ljwl</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>中华电信</NameZh>\\n <NameEn>cht</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>陕西广电</NameZh>\\n <NameEn>sxbctv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>广电</NameZh>\\n <NameEn>ccn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>长城宽带</NameZh>\\n <NameEn>gwbn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>华数传媒</NameZh>\\n <NameEn>wasumedia</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>广东广电</NameZh>\\n <NameEn>gcable</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>辽宁广电</NameZh>\\n <NameEn>lnsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>河南广电</NameZh>\\n <NameEn>hensarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>山东广电</NameZh>\\n <NameEn>sdsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>江苏广电</NameZh>\\n <NameEn>jssarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>四川艾普</NameZh>\\n <NameEn>aipu</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>吉视传媒</NameZh>\\n <NameEn>jilincatv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>四川广电</NameZh>\\n <NameEn>sicsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>安徽广电</NameZh>\\n <NameEn>anhuicatv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>福建广电</NameZh>\\n <NameEn>fujiancatv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>新疆广电</NameZh>\\n <NameEn>xjsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>贵州广电</NameZh>\\n <NameEn>guizhoucatv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>局域网</NameZh>\\n <NameEn>local area network</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>湖南巨亚</NameZh>\\n <NameEn>hunanjy</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>珠江数码</NameZh>\\n <NameEn>zhujiangsm</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>北京宝联之星</NameZh>\\n <NameEn>baolian</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>印尼Telin</NameZh>\\n <NameEn>telin</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>印尼Indosat</NameZh>\\n <NameEn>indosat</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>上海驰联</NameZh>\\n <NameEn>shchilian</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>上海企舜</NameZh>\\n <NameEn>shqishun</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>皓宽网络</NameZh>\\n <NameEn>cnix</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>印度Sify</NameZh>\\n <NameEn>sify</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>印尼Zenlayer</NameZh>\\n <NameEn>zenlayer</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>印度TATA</NameZh>\\n <NameEn>tata</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>印度AirTel</NameZh>\\n <NameEn>airtel</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Telstra Global</NameZh>\\n <NameEn>telstraglobal</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Maxis</NameZh>\\n <NameEn>maxis</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>内蒙古广电</NameZh>\\n <NameEn>nmgcatv</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>JasTel</NameZh>\\n <NameEn>jastel</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Taiwan Fixed Network</NameZh>\\n <NameEn>taiwanfixednetwork</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Digital United</NameZh>\\n <NameEn>digitalunited</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>NTT</NameZh>\\n <NameEn>ntt</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>KDDI</NameZh>\\n <NameEn>kddi</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Korea Telecom</NameZh>\\n <NameEn>koreatelecom</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>TM Net</NameZh>\\n <NameEn>tmnet</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>True Internet</NameZh>\\n <NameEn>trueinternet</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>PT Aplikanusa Lintasarta</NameZh>\\n <NameEn>ptaplikanusalintasarta</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>VNPT</NameZh>\\n <NameEn>vnpt</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>EITC-DU</NameZh>\\n <NameEn>eitcdu</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Rostelecom</NameZh>\\n <NameEn>rostelecom</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>GLOBALNET</NameZh>\\n <NameEn>globalnet</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>ER-Telecom Holding</NameZh>\\n <NameEn>ertelecomholding</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Business Network Ltd</NameZh>\\n <NameEn>businessnetworkltd</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Vodafone</NameZh>\\n <NameEn>vodafone</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Level</NameZh>\\n <NameEn>level</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>TATA Communications(America)</NameZh>\\n <NameEn>tatacommunications</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>ENTER S.r.l.</NameZh>\\n <NameEn>entersrl</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Vodacom ENS</NameZh>\\n <NameEn>vodacomens</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Hurricane Electric</NameZh>\\n <NameEn>hurricaneelectric</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>CTA</NameZh>\\n <NameEn>cta</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Telefonica USA</NameZh>\\n <NameEn>telefonicausa</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Verizon Business</NameZh>\\n <NameEn>verizonbusiness</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Telefonica Data S.A.</NameZh>\\n <NameEn>telefonicadatasa</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>PLDT</NameZh>\\n <NameEn>pldt</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Viettel</NameZh>\\n <NameEn>viettel</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>RETN</NameZh>\\n <NameEn>retn</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>AIMS</NameZh>\\n <NameEn>aims</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>广西广电</NameZh>\\n <NameEn>guangxsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>河北广电</NameZh>\\n <NameEn>hebsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>湖南有线</NameZh>\\n <NameEn>hunsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>山东青岛广电</NameZh>\\n <NameEn>sdqdsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Level3</NameZh>\\n <NameEn>level3</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>宁夏广电</NameZh>\\n <NameEn>nxsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Zain</NameZh>\\n <NameEn>zain</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Singtel</NameZh>\\n <NameEn>singtel</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>BBIX</NameZh>\\n <NameEn>bbix</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>MSK-IX</NameZh>\\n <NameEn>mskix</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>TPIX</NameZh>\\n <NameEn>tpix</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Equinix</NameZh>\\n <NameEn>equinix</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>台湾之星</NameZh>\\n <NameEn>taiwanstar</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>阿里云</NameZh>\\n <NameEn>aliyun</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>TelekomMalaysia</NameZh>\\n <NameEn>telekommalaysia</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>KINX</NameZh>\\n <NameEn>kinx</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>SKBB</NameZh>\\n <NameEn>skbb</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>CAT</NameZh>\\n <NameEn>cat</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Ooredoo</NameZh>\\n <NameEn>ooredoo</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>Fareastone</NameZh>\\n <NameEn>fareastone telecom</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>全部</NameZh>\\n <NameEn>all</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>JIO</NameZh>\\n <NameEn>jio</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>甘肃广电</NameZh>\\n <NameEn>gssarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>天津广电</NameZh>\\n <NameEn>tjsarft</NameEn>\\n </Isp>\\n <Isp>\\n <NameZh>大连理工大学</NameZh>\\n <NameEn>dlut</NameEn>\\n </Isp>\\n</Isps>\\n<RequestId>9CEF1678-CAE9-4173-88C9-31DA0931BBAF</RequestId>\\n<Regions>\\n <Region>\\n <NameZh>河北省</NameZh>\\n <NameEn>hebei</NameEn>\\n </Region>\\n <Region>\\n <NameZh>宁夏回族自治区</NameZh>\\n <NameEn>ningxia</NameEn>\\n </Region>\\n <Region>\\n <NameZh>贵州省</NameZh>\\n <NameEn>guizhou</NameEn>\\n </Region>\\n <Region>\\n <NameZh>新疆维吾尔自治区</NameZh>\\n <NameEn>xinjiang</NameEn>\\n </Region>\\n <Region>\\n <NameZh>北京市</NameZh>\\n <NameEn>beijing</NameEn>\\n </Region>\\n <Region>\\n <NameZh>福建省</NameZh>\\n <NameEn>fujian</NameEn>\\n </Region>\\n <Region>\\n <NameZh>海南省</NameZh>\\n <NameEn>hainan</NameEn>\\n </Region>\\n <Region>\\n <NameZh>黑龙江省</NameZh>\\n <NameEn>heilongjiang</NameEn>\\n </Region>\\n <Region>\\n <NameZh>广东省</NameZh>\\n <NameEn>guangdong</NameEn>\\n </Region>\\n <Region>\\n <NameZh>广西壮族自治区</NameZh>\\n <NameEn>guangxi</NameEn>\\n </Region>\\n <Region>\\n <NameZh>浙江省</NameZh>\\n <NameEn>zhejiang</NameEn>\\n </Region>\\n <Region>\\n <NameZh>青海省</NameZh>\\n <NameEn>qinghai</NameEn>\\n </Region>\\n <Region>\\n <NameZh>江苏省</NameZh>\\n <NameEn>jiangsu</NameEn>\\n </Region>\\n <Region>\\n <NameZh>山西省</NameZh>\\n <NameEn>shanxi</NameEn>\\n </Region>\\n <Region>\\n <NameZh>河南省</NameZh>\\n <NameEn>henan</NameEn>\\n </Region>\\n <Region>\\n <NameZh>云南省</NameZh>\\n <NameEn>yunnan</NameEn>\\n </Region>\\n <Region>\\n <NameZh>西藏自治区</NameZh>\\n <NameEn>xizang</NameEn>\\n </Region>\\n <Region>\\n <NameZh>辽宁省</NameZh>\\n <NameEn>liaoning</NameEn>\\n </Region>\\n <Region>\\n <NameZh>湖南省</NameZh>\\n <NameEn>hunan</NameEn>\\n </Region>\\n <Region>\\n <NameZh>中国香港</NameZh>\\n <NameEn>China(Hong Kong)</NameEn>\\n </Region>\\n <Region>\\n <NameZh>陕西省</NameZh>\\n <NameEn>shaanxi</NameEn>\\n </Region>\\n <Region>\\n <NameZh>中国澳门</NameZh>\\n <NameEn>China(Macao)</NameEn>\\n </Region>\\n <Region>\\n <NameZh>安徽省</NameZh>\\n <NameEn>anhui</NameEn>\\n </Region>\\n <Region>\\n <NameZh>天津市</NameZh>\\n <NameEn>tianjin</NameEn>\\n </Region>\\n <Region>\\n <NameZh>江西省</NameZh>\\n <NameEn>jiangxi</NameEn>\\n </Region>\\n <Region>\\n <NameZh>湖北省</NameZh>\\n <NameEn>hubei</NameEn>\\n </Region>\\n <Region>\\n <NameZh>重庆市</NameZh>\\n <NameEn>chongqing</NameEn>\\n </Region>\\n <Region>\\n <NameZh>甘肃省</NameZh>\\n <NameEn>gansu</NameEn>\\n </Region>\\n <Region>\\n <NameZh>中国台湾</NameZh>\\n <NameEn>China(Taiwan)</NameEn>\\n </Region>\\n <Region>\\n <NameZh>山东省</NameZh>\\n <NameEn>shandong</NameEn>\\n </Region>\\n <Region>\\n <NameZh>吉林省</NameZh>\\n <NameEn>jilin</NameEn>\\n </Region>\\n <Region>\\n <NameZh>上海市</NameZh>\\n <NameEn>shanghai</NameEn>\\n </Region>\\n <Region>\\n <NameZh>四川省</NameZh>\\n <NameEn>sichuan</NameEn>\\n </Region>\\n <Region>\\n <NameZh>内蒙古自治区</NameZh>\\n <NameEn>neimenggu</NameEn>\\n </Region>\\n</Regions>","errorExample":""}]', - 'title' => 'DescribeCdnRegionAndIsp', - 'description' => '* The lists of ISPs and regions that are supported by Alibaba Cloud CDN are updated and published on the Alibaba Cloud International site.'."\n" - .'* You can call this operation up to 30 times per second per account.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidStartTime.Malformed', 'errorMessage' => 'The specified value of parameter StartTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidEndTime.Malformed', 'errorMessage' => 'The specified value of parameter EndTime is malformed.', 'description' => ''], + ['errorCode' => 'InvalidStartTime.ValueNotSupported', 'errorMessage' => 'The specified value of parameter StartTime is not supported.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"DomainOnlineCount\\": 68,\\n \\"EndTime\\": \\"2019-12-23T08:00:00Z\\",\\n \\"StartTime\\": \\"2019-12-22T08:00:00Z\\",\\n \\"RequestId\\": \\"4E09C5D7-E1CF-4CAA-A45E-8727F4C8FD70\\",\\n \\"DomainCount\\": 68,\\n \\"TopDomains\\": {\\n \\"TopDomain\\": [\\n {\\n \\"MaxBps\\": 22139626,\\n \\"Rank\\": 1,\\n \\"TotalAccess\\": 107784230,\\n \\"TrafficPercent\\": \\"30.64191989360235\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"TotalTraffic\\": \\"2043859876683.9001\\",\\n \\"MaxBpsTime\\": \\"1457111400\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeTopDomainsByFlowResponse>\\n<DomainCount>4</DomainCount>\\n<DomainOnlineCount>4</DomainOnlineCount>\\n<RequestId>6796A2B4-15A7-4142-85C0-5A93406034B5</RequestId>\\n<TopDomains>\\n <TopDomain>\\n <MaxBps>26.752000000000002</MaxBps>\\n <Rank>3</Rank>\\n <TrafficPercent>0.000910078753253719</TrafficPercent>\\n <TotalTraffic>2003</TotalTraffic>\\n <TotalAccess>2</TotalAccess>\\n <DomainName>example.com</DomainName>\\n <MaxBpsTime>2019-12-22T20:50:00Z</MaxBpsTime>\\n </TopDomain>\\n</TopDomains>\\n<EndTime>2019-12-23T08:00:00Z</EndTime>\\n<StartTime>2019-12-22T08:00:00Z</StartTime>\\n</DescribeTopDomainsByFlowResponse>","errorExample":""}]', + 'title' => 'DescribeTopDomainsByFlow', + 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + ."\n" + .'> * If you do not set the **StartTime** or **EndTime** parameter, the request returns the data collected in the current month. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + .'>* You can call this operation up to 100 times per second per account.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnOrderCommodityCode' => [ - 'summary' => 'Queries the code of a commodity by account UID.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-13T07:14:48.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeTopDomainsByFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeTopDomainsByFlow'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'DescribeUserCdnStatus' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16079,58 +16285,51 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '137446', - 'abilityTreeNodes' => [ - 'FEATUREcdnYC0IJ0', - ], + 'abilityTreeCode' => '111839', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'CommodityCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The original commodity code.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'xxx', - ], - ], - ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'OrderCommodityCode' => [ - 'description' => 'The commodity code that includes the organization unit.'."\n", - 'type' => 'string', - 'example' => 'xxx', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23', - ], + 'InDebt' => ['description' => 'Indicates whether your account has overdue payments.'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'example' => 'false'], + 'OnService' => ['description' => 'Indicates whether the service is available.'."\n", 'type' => 'boolean', 'example' => 'true'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '39B1DC7F-9D25-5D54-8F02-6EE26A7F48CA'], + 'InDebtOverdue' => ['description' => 'Indicates whether the grace period for your overdue payments expired.'."\n", 'type' => 'boolean', 'example' => 'false'], + 'Enabled' => ['description' => 'Indicates whetherAlibaba Cloud CDN is activated.'."\n", 'type' => 'boolean', 'example' => 'true'], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"OrderCommodityCode\\": \\"xxx\\",\\n \\"RequestId\\": \\"BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnOrderCommodityCodeResponse>\\n <OrderCommodityCode>xxx</OrderCommodityCode>\\n <RequestId>BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23</RequestId>\\n</DescribeCdnOrderCommodityCodeResponse>","errorExample":""}]', - 'title' => 'DescribeCdnOrderCommodityCode', - ], - 'DescribeCdnService' => [ - 'summary' => 'Queries the status of your Alibaba Cloud CDN service. The information includes the service activation time, the current service status, the current metering method, and the metering method for the next cycle.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InDebt\\": false,\\n \\"OnService\\": true,\\n \\"RequestId\\": \\"39B1DC7F-9D25-5D54-8F02-6EE26A7F48CA\\",\\n \\"InDebtOverdue\\": false,\\n \\"Enabled\\": true\\n}","type":"json"}]', + 'title' => 'DescribeUserCdnStatus', + 'summary' => 'Queries the status of a user.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserCdnStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeUserCertificateExpireCount' => [ + 'summary' => 'Queries the number of domain names whose SSL certificates are about to expire or have already expired.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16139,10 +16338,10 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111740', - 'abilityTreeNodes' => [ - 'FEATUREcdnYC0IJ0', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111840', + 'abilityTreeNodes' => ['FEATUREcdnD4PEWG', 'FEATUREcdn4R6KLH'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [], @@ -16151,150 +16350,71 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ChangingAffectTime' => [ - 'description' => 'The time when the metering method for the next cycle takes effect. The time is displayed in GMT.'."\n", - 'type' => 'string', - 'example' => '2019-11-27T16:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'ChangingChargeType' => [ - 'description' => 'The metering method for the next cycle. Valid values:'."\n" - ."\n" - .'* **PayByTraffic**: pay-by-data-transfer'."\n" - .'* **PayByBandwidth**: pay-by-bandwidth'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'OpeningTime' => [ - 'description' => 'The time when the service was activated. The time follows the ISO 8601 standard.'."\n", - 'type' => 'string', - 'example' => '2019-02-28T13:11:49Z', - ], - 'InternetChargeType' => [ - 'description' => 'The current metering method. Valid values:'."\n" - ."\n" - .'* **PayByTraffic**: pay-by-data-transfer'."\n" - .'* **PayByBandwidth**: pay-by-bandwidth'."\n", - 'type' => 'string', - 'example' => 'PayByTraffic', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'aliuidxx', - ], - 'OperationLocks' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'LockReason' => [ - 'description' => 'The lock status.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LockReason' => [ - 'description' => 'The reason why the service is locked. A value of financial indicates that the service is locked due to overdue payments.'."\n", - 'type' => 'string', - 'example' => 'financial', - ], - ], - ], - ], - ], - ], - 'ChangingDynamicBillingType' => [ - 'type' => 'string', - ], - 'DynamicBillingType' => [ - 'type' => 'string', - ], + 'ExpireWithin30DaysCount' => ['description' => 'The number of domain names whose SSL certificates are about to expires within 30 days.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F5E8DF64-7175-4186-9B06-F002C0BBD0C5', 'title' => ''], + 'ExpiredCount' => ['description' => 'The number of domain names whose SSL certificates have already expired.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'UnsupportedParameter', - 'errorMessage' => 'There is unsupported parameters', - ], - [ - 'errorCode' => 'InternetChargeTypeInvalid', - 'errorMessage' => 'The specified InternetChargeType is invalid.', - ], + ['errorCode' => 'NoHttpsDomain', 'errorMessage' => 'Your account doesn\'t have https domain.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ChangingAffectTime\\": \\"2019-11-27T16:00:00Z\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"ChangingChargeType\\": \\"PayByTraffic\\",\\n \\"OpeningTime\\": \\"2019-02-28T13:11:49Z\\",\\n \\"InternetChargeType\\": \\"PayByTraffic\\",\\n \\"InstanceId\\": \\"aliuidxx\\",\\n \\"OperationLocks\\": {\\n \\"LockReason\\": [\\n {\\n \\"LockReason\\": \\"financial\\"\\n }\\n ]\\n },\\n \\"ChangingDynamicBillingType\\": \\"DynamicHourTraffic\\",\\n \\"DynamicBillingType\\": \\"DynamicHourTraffic\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnServiceResponse>\\n <ChangingAffectTime>2019-11-27T16:00:00Z</ChangingAffectTime>\\n <RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>\\n <ChangingChargeType>PayByTraffic</ChangingChargeType>\\n <OpeningTime>2019-02-28T13:11:49Z</OpeningTime>\\n <InternetChargeType>PayByTraffic</InternetChargeType>\\n <InstanceId>aliuidxx</InstanceId>\\n <OperationLocks>\\n <LockReason>financial</LockReason>\\n </OperationLocks>\\n</DescribeCdnServiceResponse>","errorExample":""}]', - 'title' => 'DescribeCdnService', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'title' => 'DescribeUserCertificateExpireCount', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnDomainByCertificate' => [ - 'summary' => 'Queries accelerated domain names by SSL certificate.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:13.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserCertificateExpireCount'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserCertificateExpireCount', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ExpireWithin30DaysCount\\": 0,\\n \\"RequestId\\": \\"F5E8DF64-7175-4186-9B06-F002C0BBD0C5\\",\\n \\"ExpiredCount\\": 6\\n}","type":"json"}]', + ], + 'DescribeUserConfigs' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111726', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], + 'abilityTreeCode' => '111841', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'SSLPub', - 'in' => 'query', - 'schema' => [ - 'description' => 'The public key of the SSL certificate. You must encode the public key in Base64 and then call the encodeURIComponent function to encode the public key again.'."\n" - ."\n" - .'The public key must be in the PEM format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '******', - ], - ], - [ - 'name' => 'SSLStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the domain name list to return contains only domain names with HTTPS enabled or disabled.'."\n" - ."\n" - .'* true: The domain name list contains only domain names with HTTPS enabled.'."\n" - .'* false: The domain name list contains only domain names with HTTPS disabled.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'Exact', + 'name' => 'Config', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the domain name list to return match the SSL certificate.'."\n" - ."\n" - .'* true: The domain name list match the SSL certificate.'."\n" - .'* false: The domain name list do not match the SSL certificate.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The feature whose configurations you want to query. You can specify only one feature in each request. Valid values: oss, green_manager, waf, cc_rule, ddos_dispatch, edge_safe, blocked_regions, http_acl_policy, bot_manager, and ip_reputation.'."\n", 'type' => 'string', 'required' => true, 'example' => 'oss'], ], ], 'responses' => [ @@ -16302,73 +16422,25 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ASAF2FDS-12SADSA-DDSAE3D-DSADCD4C-CDADS2D', - ], - 'CertInfos' => [ + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '9BCC7BAA-ACBE-45E5-83F0-98BF7E693E84'], + 'Configs' => [ + 'description' => 'The configurations of the specified feature.'."\n", 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'CertInfo' => [ - 'description' => 'The information about the certificate.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CertStartTime' => [ - 'description' => 'The time when the certificate became effective.'."\n", - 'type' => 'string', - 'example' => 'Nov 29 23:59:59 2017 GMT', - ], - 'CertExpireTime' => [ - 'description' => 'The expiration time of the certificate.'."\n", - 'type' => 'string', - 'example' => 'Nov 29 00:00:00 2016 GMT', - ], - 'CertCaIsLegacy' => [ - 'description' => 'Indicates whether the SSL certificate is obsolete. Valid values:'."\n" - ."\n" - .'* **yes**: The SSL certificate is obsolete.'."\n" - .'* **no**: The SSL certificate is working as expected.'."\n", - 'type' => 'string', - 'example' => 'yes', - ], - 'CertSubjectCommonName' => [ - 'description' => 'The name of the SSL certificate owner.'."\n", - 'type' => 'string', - 'example' => 'owner', - ], - 'CertType' => [ - 'description' => 'The type of the certificate. Valid values: **RSA**, **DSA**, and **ECDSA**.'."\n", - 'type' => 'string', - 'example' => 'RSA', - ], - 'DomainNames' => [ - 'description' => 'The domain names (DNS fields) that match the SSL certificate. Multiple domain names are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => '*.example.com,aliyundoc.com', - ], - 'CertExpired' => [ - 'description' => 'Indicates whether the SSL certificate is expired. Valid values:'."\n" - ."\n" - .'* **yes**: The SSL certificate is expired.'."\n" - .'* **no**: The SSL certificate is not expired.'."\n", - 'type' => 'string', - 'example' => 'yes', - ], - 'Issuer' => [ - 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", - 'type' => 'string', - 'example' => 'C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=Domain Validated SSL, CN=Symantec Basic DV SSL CA - G1', - ], - 'DomainList' => [ - 'description' => 'If a value is returned, the value matches the SSL certificate. Multiple domain names are separated by commas (,).'."\n", - 'type' => 'string', - 'example' => 'example.com,aliyundoc.com', - ], - ], + 'OssLogConfig' => [ + 'description' => 'The configurations of Object Storage Service (OSS).'."\n", + 'type' => 'object', + 'properties' => [ + 'Prefix' => ['description' => 'The prefix.'."\n", 'type' => 'string', 'example' => 'test'], + 'Enable' => ['description' => 'Indicates whether the OSS bucket is enabled.'."\n", 'type' => 'string', 'example' => 'off'], + 'Bucket' => ['description' => 'The name of the bucket.'."\n", 'type' => 'string', 'example' => 'Buckettest'], + ], + ], + 'WafConfig' => [ + 'description' => 'The configurations of Web Application Firewall (WAF).'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => ['description' => 'Indicates whether WAF is enabled.'."\n", 'type' => 'string', 'example' => 'on'], ], ], ], @@ -16379,47 +16451,35 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Certificate.FormatError', - 'errorMessage' => 'The format of the certificate is invalid.', - ], - [ - 'errorCode' => 'SSLPub.MissingParameter', - 'errorMessage' => 'The Cert parameter is required.', - ], - [ - 'errorCode' => 'Decode.Error', - 'errorMessage' => 'Error decoding the SSLPub certificate.', - ], - [ - 'errorCode' => 'Certificate.DecodeError', - 'errorMessage' => 'An error occurred while decoding the certificate.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to backend service exception.', - ], + ['errorCode' => 'MissingConfig', 'errorMessage' => 'The input parameter Config that is mandatory for processing this request is not supplied.', 'description' => ''], + ['errorCode' => 'InvalidConfig.ValueNotSupported', 'errorMessage' => 'The specified value of parameter Config is not supported.', 'description' => 'The Config parameter is set to an invalid value.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ASAF2FDS-12SADSA-DDSAE3D-DSADCD4C-CDADS2D\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertStartTime\\": \\"Nov 29 23:59:59 2017 GMT\\",\\n \\"CertExpireTime\\": \\"Nov 29 00:00:00 2016 GMT\\",\\n \\"CertCaIsLegacy\\": \\"yes\\",\\n \\"CertSubjectCommonName\\": \\"owner\\",\\n \\"CertType\\": \\"RSA\\",\\n \\"DomainNames\\": \\"*.example.com,aliyundoc.com\\",\\n \\"CertExpired\\": \\"yes\\",\\n \\"Issuer\\": \\"C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=Domain Validated SSL, CN=Symantec Basic DV SSL CA - G1\\",\\n \\"DomainList\\": \\"example.com,aliyundoc.com\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnDomainByCertificateResponse>\\n<RequestId>ASAF2FDS-12SADSA-DDSAE3D-DSADCD4C-CDADS2D</RequestId>\\n<content>\\n <Issuer>C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=Domain Validated SSL, CN=Symantec Basic DV SSL CA - G1</Issuer>\\n <CertType>RSA</CertType>\\n <CertSubjectCommonName>example.com</CertSubjectCommonName>\\n <CertStartTime>Nov 29 23:59:59 2017 GMT</CertStartTime>\\n <CertExpireTime>Nov 29 00:00:00 2016 GMT</CertExpireTime>\\n <DomainNames>*.example.com,aliyundoc.com</DomainNames>\\n <DomainList>example.com,aliyundoc.com</DomainList>\\n <CertExpired>yes</CertExpired>\\n <CertCaIsLegacy>yes</CertCaIsLegacy>\\n</content>\\n</DescribeCdnDomainByCertificateResponse>","errorExample":""}]', - 'title' => 'DescribeCdnDomainByCertificate', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9BCC7BAA-ACBE-45E5-83F0-98BF7E693E84\\",\\n \\"Configs\\": {\\n \\"OssLogConfig\\": {\\n \\"Prefix\\": \\"test\\",\\n \\"Enable\\": \\"off\\",\\n \\"Bucket\\": \\"Buckettest\\"\\n },\\n \\"WafConfig\\": {\\n \\"Enable\\": \\"on\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserConfigsResponse>\\n<RequestId>9BCC7BAA-ACBE-45E5-83F0-98BF7E693E84</RequestId>\\n<Configs>\\n <OssLogConfig>\\n <Enable>off</Enable>\\n <Bucket>Bucket2</Bucket>\\n <Prefix>test</Prefix>\\n </OssLogConfig>\\n <GreenManagerConfig>\\n <Quota>500</Quota>\\n <Ratio>20%</Ratio>\\n </GreenManagerConfig>\\n <WafConfig>\\n <Enable>on</Enable>\\n </WafConfig>\\n</Configs>\\n</DescribeUserConfigsResponse>","errorExample":""}]', + 'title' => 'DescribeUserConfigs', + 'summary' => 'Queries configurations of security features.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainCertificateInfo' => [ - 'summary' => 'Queries the certificate information of an accelerated domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserConfigs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeUserDomains' => [ + 'summary' => 'Queries all accelerated domain names in your Alibaba Cloud account and the status of the accelerated domain names. You can filter domain names by name or status. Fuzzy match is supported.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16428,401 +16488,387 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '111768', - 'abilityTreeNodes' => [ - 'FEATUREcdnD4PEWG', - 'FEATUREcdn4R6KLH', - ], + 'abilityTreeCode' => '111842', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB'], ], 'parameters' => [ [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: **1 to 500**. Default value: **20**. Maximum value: **500**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'default' => '20', 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number. Valid values: **1** to **100000**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], + ], + [ 'name' => 'DomainName', 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain. If you do not set this parameter, all domain names that match the conditions are returned.', 'type' => 'string', 'required' => false, 'maxLength' => 6800, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'DomainStatus', + 'in' => 'query', + 'schema' => ['description' => 'The status of the domain name. Valid values:'."\n" + ."\n" + .'- **online**'."\n" + ."\n" + .'- **offline**'."\n" + ."\n" + .'- **configuring**'."\n" + ."\n" + .'- **configure\\_failed**'."\n" + ."\n" + .'- **checking**'."\n" + ."\n" + .'- **check\\_failed**'."\n" + ."\n" + .'- **stopping**'."\n" + ."\n" + .'- **deleting**'."\n" + ."\n" + .'If you do not set this parameter, domain names in all states are queried.', 'type' => 'string', 'required' => false, 'example' => 'configure_failed', 'title' => ''], + ], + [ + 'name' => 'DomainSearchType', + 'in' => 'query', + 'schema' => ['description' => 'The search mode. Valid values:'."\n" + ."\n" + .'- **fuzzy\\_match**: fuzzy match'."\n" + ."\n" + .'- **pre\\_match**: prefix match'."\n" + ."\n" + .'- **suf\\_match**: suffix match'."\n" + ."\n" + .'- **full\\_match** (default): exact match'."\n" + ."\n" + .'> If you specify the domain names to query but do not set the DomainSearchType parameter, the exact match mode is used.', 'type' => 'string', 'required' => false, 'example' => 'fuzzy_match', 'title' => ''], + ], + [ + 'name' => 'CdnType', + 'in' => 'query', + 'schema' => ['description' => 'The type of workload accelerated by Alibaba Cloud CDN. Separate types with commas (,). Valid values:'."\n" + ."\n" + .'- **web**: images and small files'."\n" + ."\n" + .'- **download**: large files'."\n" + ."\n" + .'- **video**: on-demand video and audio streaming'."\n" + ."\n" + .'If you do not set this parameter, all service types are queried.', 'type' => 'string', 'required' => false, 'example' => 'download,web,video', 'title' => ''], + ], + [ + 'name' => 'CheckDomainShow', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to display domain names that are under review, failed the review, or failed to be configured. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group. By default, all IDs are queried.', 'type' => 'string', 'required' => false, 'example' => 'abcd1234abcd1234', 'title' => ''], + ], + [ + 'name' => 'ChangeStartTime', + 'in' => 'query', + 'schema' => ['description' => 'The beginning of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2019-10-10T12:14:55Z', 'title' => ''], + ], + [ + 'name' => 'ChangeEndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.', 'type' => 'string', 'required' => false, 'example' => '2019-10-10T12:14:58Z', 'title' => ''], + ], + [ + 'name' => 'Coverage', + 'in' => 'query', + 'schema' => ['description' => 'The acceleration region. By default, all acceleration regions are queried. Valid values:'."\n" + ."\n" + .'- **domestic**: Chinese mainland'."\n" + ."\n" + .'- **global**: global'."\n" + ."\n" + .'- **overseas**: outside the Chinese mainland', 'type' => 'string', 'required' => false, 'example' => 'domestic', 'title' => ''], + ], + [ + 'name' => 'Source', + 'in' => 'query', + 'schema' => ['description' => 'The information about the origin server.', 'type' => 'string', 'required' => false, 'example' => '***', 'title' => ''], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + 'description' => 'The list of tags. Maximum number of elements in the list: 20', + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of a tag.'."\n" + ."\n" + .'By default, all tag keys are queried.', 'type' => 'string', 'required' => false, 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The value of the tag.'."\n" + ."\n" + .'By default, all tag values are queried.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 20, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The description of returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '5C1E43DC-9E51-4771-82C0-7D5ECEB547A1', - ], - 'CertInfos' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'BDA62CE4-3477-439A-B52E-D2D7C829D7C1', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'Domains' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'CertInfo' => [ - 'description' => 'The information about the certificate.'."\n", + 'PageData' => [ + 'description' => 'The list of the accelerated domain names returned.', 'type' => 'array', 'items' => [ + 'description' => 'The information about the accelerated domain name.', 'type' => 'object', 'properties' => [ - 'CertExpireTime' => [ - 'description' => 'The time at which the certificate expires.'."\n", - 'type' => 'string', - 'example' => '2018-06-03T22:03:39Z', - ], - 'CertLife' => [ - 'description' => 'The unit of the validity period of the certificate. Valid values:'."\n" - ."\n" - .'* **months**'."\n" - .'* **years**'."\n", - 'type' => 'string', - 'example' => 'months', - ], - 'Status' => [ - 'description' => 'The status of the certificate. Valid values:'."\n" - ."\n" - .'* **success**: The certificate has taken effect.'."\n" - .'* **checking**: The system is checking whether the domain name is using Alibaba Cloud CDN.'."\n" - .'* **cname_error**: No valid CNAME record has been added for the domain name.'."\n" - .'* **top_domain_cname_error**: No valid CNAME record has been added for the top-level domain.'."\n" - .'* **domain_invalid**: The domain name contains invalid characters.'."\n" - .'* **unsupport_wildcard**: The domain name is a wildcard domain name. Wildcard domain names are not supported.'."\n" - .'* **applying**: The certificate application is in progress.'."\n" - .'* **get_token_timeout**: The certificate application request has timed out.'."\n" - .'* **check_token_timeout**: The verification has timed out.'."\n" - .'* **get_cert_timeout**: The request to obtain the certificate has timed out.'."\n" - .'* **failed**: The certificate application request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'CertUpdateTime' => [ - 'description' => 'The time at which the certificate was updated.'."\n", - 'type' => 'string', - 'example' => '2018-06-03T22:03:39Z', - ], - 'CertDomainName' => [ - 'description' => 'The domain name that matches the certificate.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'ServerCertificateStatus' => [ - 'description' => 'The status of HTTPS.'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'example' => 'on', - ], - 'CertOrg' => [ - 'description' => 'The name of the certificate authority (CA) that issued the certificate.'."\n", - 'type' => 'string', - 'example' => 'Let\'s Encrypt', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'CertStartTime' => [ - 'description' => 'The time when the certificate became effective.'."\n", - 'type' => 'string', - 'example' => '2018-06-03T22:03:39Z', - ], - 'CertType' => [ - 'description' => 'The type of the certificate.'."\n" - ."\n" - .'* **free**: a free certificate'."\n" - .'* **cas**: a certificate that is purchased by using Certificate Management Service'."\n" - .'* **upload**: a custom certificate that you upload'."\n", - 'type' => 'string', - 'example' => 'free', - ], - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DomainCnameStatus' => [ - 'description' => 'The CNAME status of the domain name.'."\n" - ."\n" - .'* **ok**: The domain name points to the CNAME assigned by Alibaba Cloud CDN.'."\n" - .'* **cname_error**: An error occurred and the domain name cannot point to the CNAME.'."\n" - .'* **op_domain_cname_error** : An error occurred to the CNAME of the top-level domain. The domain name cannot point to the CNAME.'."\n" - .'* **unsupport_wildcard**: The wildcard domain name is not supported.', - 'type' => 'string', - 'example' => 'ok', - ], - 'ServerCertificate' => [ - 'description' => 'The public key of the certificate.'."\n", - 'type' => 'string', - 'example' => 'asdadaxxxx', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'example' => '9002448', - ], - 'CertRegion' => [ - 'description' => 'The region where the certificate is used.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', + 'SslProtocol' => ['description' => 'Indicates whether HTTPS is enabled. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'Sandbox' => ['description' => 'Indicates whether the accelerated domain name is in a sandbox.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'GmtModified' => ['description' => 'The time when the accelerated domain name was modified.', 'type' => 'string', 'example' => '2015-10-28T11:05:52Z', 'title' => ''], + 'DomainName' => ['description' => 'The accelerated domain.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DomainId' => ['description' => 'The ID of the accelerated domain name.', 'type' => 'integer', 'format' => 'int64', 'example' => '11223344', 'title' => ''], + 'GmtCreated' => ['description' => 'The time when the accelerated domain name was added.', 'type' => 'string', 'example' => '2015-10-28T09:32:51Z', 'title' => ''], + 'Description' => ['description' => 'The information about Internet Content Provider (ICP) filing.', 'type' => 'string', 'example' => 'filing description', 'title' => ''], + 'Coverage' => ['description' => 'The acceleration region. Valid values:'."\n" + ."\n" + .'- **domestic**: Chinese mainland'."\n" + ."\n" + .'- **global**: global'."\n" + ."\n" + .'- **overseas**: outside the Chinese mainland', 'type' => 'string', 'example' => 'domestic', 'title' => ''], + 'ResourceGroupId' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'example' => 'abcd1234abcd1234', 'title' => ''], + 'Cname' => ['description' => 'The CNAME assigned to the accelerated domain name.', 'type' => 'string', 'example' => 'example.com.w.alikunlun.net', 'title' => ''], + 'DomainStatus' => ['description' => 'The status of the accelerated domain name. Valid values:'."\n" + ."\n" + .'- **online**'."\n" + ."\n" + .'- **offline**'."\n" + ."\n" + .'- **configuring**'."\n" + ."\n" + .'- **configure\\_failed**'."\n" + ."\n" + .'- **checking**'."\n" + ."\n" + .'- **check\\_failed**'."\n" + ."\n" + .'- **stopping**'."\n" + ."\n" + .'- **deleting**', 'type' => 'string', 'example' => 'configure_failed', 'title' => ''], + 'CdnType' => ['description' => 'The type of the workload accelerated by Alibaba Cloud CDN. Valid values:'."\n" + ."\n" + .'- **web**: images and small files'."\n" + ."\n" + .'- **download**: large files'."\n" + ."\n" + .'- **video**: on-demand video and audio streaming', 'type' => 'string', 'example' => 'download', 'title' => ''], + 'Sources' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Source' => [ + 'description' => 'The information about the origin server.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the origin server.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the origin server.', 'type' => 'string', 'example' => 'oss', 'title' => ''], + 'Weight' => ['description' => 'The weight of the origin server if multiple origin servers have been specified.', 'type' => 'string', 'example' => '15', 'title' => ''], + 'Priority' => ['description' => 'The priority.', 'type' => 'string', 'example' => '20', 'title' => ''], + 'Port' => ['description' => 'The port of the origin server.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Content' => ['description' => 'The address of the origin server.', 'type' => 'string', 'example' => '***.oss-cn-hangzhou.aliyuncs.com', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'SignatureDoesNotMatch', - 'errorMessage' => 'The signature we calculated does not match the one you provided. Please refer to the API reference about authentication for details.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to internal error.', - ], + 400 => [ + ['errorCode' => 'InvalidPageNumber.ValueNotSupported', 'errorMessage' => 'The specified value of PageNumber is not supported.', 'description' => ''], + ['errorCode' => 'InvalidPageSize.ValueNotSupported', 'errorMessage' => 'The specified value of PageSize is invalid.', 'description' => ''], + ['errorCode' => 'InvalidDomainStatus.ValueNotSupported', 'errorMessage' => 'The specified value of DomainStatus is invalid.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], + ['errorCode' => 'InvalidDomainSearchType.ValueNotSupported', 'errorMessage' => 'The specified value of DomainSearchType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidChangeStartTime.Malformed', 'errorMessage' => 'The specified ChangeStartTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidChangeEndTime.Malformed', 'errorMessage' => 'The specified ChangeEndTime is invalid.', 'description' => ''], + ['errorCode' => 'InvalidCdnType.Malformed', 'errorMessage' => 'The specified CdnType is invalid.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5C1E43DC-9E51-4771-82C0-7D5ECEB547A1\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertExpireTime\\": \\"2018-06-03T22:03:39Z\\",\\n \\"CertLife\\": \\"months\\",\\n \\"Status\\": \\"success\\",\\n \\"CertUpdateTime\\": \\"2018-06-03T22:03:39Z\\",\\n \\"CertDomainName\\": \\"example.com\\",\\n \\"ServerCertificateStatus\\": \\"on\\",\\n \\"CertOrg\\": \\"Let\'s Encrypt\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"CertStartTime\\": \\"2018-06-03T22:03:39Z\\",\\n \\"CertType\\": \\"free\\",\\n \\"CertName\\": \\"example.com\\",\\n \\"DomainCnameStatus\\": \\"ok\\",\\n \\"ServerCertificate\\": \\"asdadaxxxx\\",\\n \\"CertId\\": \\"9002448\\",\\n \\"CertRegion\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainCertificateInfoResponse>\\n <RequestId>5C1E43DC-9E51-4771-82C0-7D5ECEB547A1</RequestId>\\n <CertInfos>\\n <CertExpireTime>2018-06-03T22:03:39Z</CertExpireTime>\\n <CertLife>months</CertLife>\\n <Status>success</Status>\\n <CertUpdateTime>2018-06-03T22:03:39Z</CertUpdateTime>\\n <CertDomainName>example.com</CertDomainName>\\n <ServerCertificateStatus>on</ServerCertificateStatus>\\n <CertOrg>Let\'s Encrypt</CertOrg>\\n <DomainName>example.com</DomainName>\\n <CertStartTime>2018-06-03T22:03:39Z</CertStartTime>\\n <CertType>free</CertType>\\n <CertName>example.com</CertName>\\n <DomainCnameStatus>ok</DomainCnameStatus>\\n <ServerCertificate>asdadaxxxx</ServerCertificate>\\n </CertInfos>\\n</DescribeDomainCertificateInfoResponse>","errorExample":""}]', - 'title' => 'DescribeDomainCertificateInfo', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BDA62CE4-3477-439A-B52E-D2D7C829D7C1\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 2,\\n \\"Domains\\": {\\n \\"PageData\\": [\\n {\\n \\"SslProtocol\\": \\"on\\",\\n \\"Sandbox\\": \\"true\\",\\n \\"GmtModified\\": \\"2015-10-28T11:05:52Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DomainId\\": 11223344,\\n \\"GmtCreated\\": \\"2015-10-28T09:32:51Z\\",\\n \\"Description\\": \\"filing description\\",\\n \\"Coverage\\": \\"domestic\\",\\n \\"ResourceGroupId\\": \\"abcd1234abcd1234\\",\\n \\"Cname\\": \\"example.com.w.alikunlun.net\\",\\n \\"DomainStatus\\": \\"configure_failed\\",\\n \\"CdnType\\": \\"download\\",\\n \\"Sources\\": {\\n \\"Source\\": [\\n {\\n \\"Type\\": \\"oss\\",\\n \\"Weight\\": \\"15\\",\\n \\"Priority\\": \\"20\\",\\n \\"Port\\": 80,\\n \\"Content\\": \\"***.oss-cn-hangzhou.aliyuncs.com\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeUserDomains', + 'description' => '- Each account can call this operation up to 100 times per second.'."\n" + ."\n" + .'- You can specify up to 50 domain names in each request. Separate multiple domain names with commas (,).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnCertificateDetail' => [ - 'summary' => 'Queries the detailed information about an SSL certificate.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111721', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], - ], - 'parameters' => [ - [ - 'name' => 'CertName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SSL certificate. You can query only one certificate at a time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cert-15480655xxxx', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'cert-15480655xxxx', - ], - 'Key' => [ - 'description' => 'The key of the SSL certificate.'."\n", - 'type' => 'string', - 'example' => 'xxxx', - ], - 'Cert' => [ - 'description' => 'The certificate.'."\n", - 'type' => 'string', - 'example' => '-----BEGIN CERTIFICATE-----\\nMIIFzDCCBLSgAwIBxxxx', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '881049', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', - ], + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:04:13.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:53:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-05-11T03:10:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-08-19T01:14:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-06-27T06:09:26.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/*'], ], ], ], ], - 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'InvaildParameter', - 'errorMessage' => 'The parameter you provided is invalid.', - ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserDomains'], ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertName\\": \\"cert-15480655xxxx\\",\\n \\"Key\\": \\"xxxx\\",\\n \\"Cert\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIIFzDCCBLSgAwIBxxxx\\",\\n \\"CertId\\": 881049,\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnCertificateDetailResponse>\\n <CertName>cert-15480655xxxx</CertName>\\n <Key>xxxx</Key>\\n <Cert>-----BEGIN CERTIFICATE-----\\\\nMIIFzDCCBLSgAwIBxxxx</Cert>\\n <CertId>881049</CertId>\\n <RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\n</DescribeCdnCertificateDetailResponse>","errorExample":""}]', - 'title' => 'DescribeCdnCertificateDetail', - 'description' => '> You can call this operation up to 20 times per second per account.'."\n", - 'extraInfo' => ' ', ], - 'DescribeCdnCertificateList' => [ - 'summary' => 'Queries the certificates of accelerated domain names.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeUserTags' => [ + 'summary' => 'Queries user tags.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => true, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111722', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'If you do not specify an accelerated domain name, SSL certificates of all your accelerated domain names are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], - ], - ], + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'FC0E34AC-0239-44A7-AB0E-800DE522C8DA', - ], - 'CertificateListModel' => [ - 'description' => 'Details about certificates.'."\n", - 'type' => 'object', - 'properties' => [ - 'Count' => [ - 'description' => 'The number of certificates that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CertList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Cert' => [ - 'description' => 'The list of certificates.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'LastTime' => [ - 'description' => 'The timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1512388610', - ], - 'Fingerprint' => [ - 'description' => 'The fingerprint of the certificate.'."\n", - 'type' => 'string', - 'example' => '2ED68FD33786C5B42950D40A6C50353575BB****', - ], - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'Certificate1'."\n", - ], - 'Issuer' => [ - 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", - 'type' => 'string', - 'example' => 'CO****', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Common' => [ - 'description' => 'The Common Name (CN) attribute of the certificate. In most cases, the CN is a domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of a tag.', 'type' => 'string', 'example' => 'env', 'title' => ''], + 'Value' => [ + 'description' => 'The tag values returned.', + 'type' => 'array', + 'items' => ['description' => 'The value of a tag.', 'type' => 'string', 'example' => 'product', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'FlowControlError', - 'errorMessage' => 'The request was denied due to flow control.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"env\\",\\n \\"Value\\": [\\n \\"product\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeUserTags', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-05T07:38:43.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserTags', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'substitutions' => [ - 'Cdn::2018-05-10::DescribeCdnSSLCertificateList', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserTags'], ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FC0E34AC-0239-44A7-AB0E-800DE522C8DA\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"LastTime\\": 1512388610,\\n \\"Fingerprint\\": \\"2ED68FD33786C5B42950D40A6C50353575BB****\\",\\n \\"CertName\\": \\"证书1\\",\\n \\"Issuer\\": \\"CO****\\",\\n \\"CertId\\": 1,\\n \\"Common\\": \\"example.com\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":"{\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"CertName\\": \\"证书1\\",\\n \\"Issuer\\": \\"xxx\\",\\n \\"LastTime\\": 1512388610,\\n \\"CertId\\": xxx,\\n \\"Common\\": \\"test\\",\\n \\"Fingerprint\\": \\"xxx\\"\\n },\\n {\\n \\"CertName\\": \\"证书2\\",\\n \\"Issuer\\": \\"xxx\\",\\n \\"LastTime\\": 1512388659,\\n \\"CertId\\": xxx,\\n \\"Common\\": \\"test\\",\\n \\"Fingerprint\\": \\"xxx\\"\\n }\\n ]\\n }\\n },\\n \\"RequestId\\": \\"FC0E34AC-0239-44A7-AB0E-800DE522C8DA\\"\\n}"},{"type":"xml","example":"<DescribeCdnCertificateListResponse>\\n<Count>2</Count>\\n<CertList>\\n <Cert>\\n <CertName>证书1</CertName>\\n <Issuer>CO****</Issuer>\\n <LastTime>1512388610</LastTime>\\n <CertId>1</CertId>\\n <Common>test</Common>\\n <Fingerprint>2ED68FD33786C5B42950D40A6C50353575BB****</Fingerprint>\\n </Cert>\\n <Cert>\\n <CertName>证书2</CertName>\\n <Issuer>CO****</Issuer>\\n <LastTime>1512388659</LastTime>\\n <CertId>2</CertId>\\n <Common>test</Common>\\n <Fingerprint>2ED68FD33786C5B42950D40A6C50353575BB****</Fingerprint>\\n </Cert>\\n</CertList>\\n<RequestId>FC0E34AC-0239-44A7-AB0E-800DE522C8DA</RequestId>\\n<DescribeCdnCertificateListResponse>","errorExample":""}]', - 'title' => 'DescribeCdnCertificateList', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'extraInfo' => ' ', ], - 'DescribeCdnSSLCertificateList' => [ - 'summary' => 'Queries the certificate list by domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeUserUsageDataExportTask' => [ + 'summary' => 'Queries usage export tasks that were created in the last three months.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -16831,56 +16877,24 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '168239', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111844', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example.com'."\n", - ], + 'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **50**.'."\n" + ."\n" + .'Valid values: an integer from **1** to **50**.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: an integer from **1** to **1000**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - 'default' => '1000', - ], - ], - [ - 'name' => 'SearchKeyword', - 'in' => 'query', - 'schema' => [ - 'description' => 'The keyword that is used to query the certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'certabc', - ], + 'schema' => ['description' => 'The number of the page to return. Valid values: **1** to **100000**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -16888,121 +16902,109 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'E9D3257A-1B7C-414C-90C1-8D07AC47BCAC', - ], - 'CertificateListModel' => [ - 'description' => 'The list of certificates.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A91BE91F-0B34-4CBF-8E0F-A2977E15AA52', 'title' => ''], + 'UsageDataPerPage' => [ + 'description' => 'The usage details returned per page.', 'type' => 'object', 'properties' => [ - 'Count' => [ - 'description' => 'The number of certificates.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CertList' => [ + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ - 'Cert' => [ - 'description' => 'Details about each certificate.'."\n", + 'DataItem' => [ + 'description' => 'The information about the tasks.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'LastTime' => [ - 'description' => 'The time when the certificate was last modified. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1679896965', - ], - 'Fingerprint' => [ - 'description' => 'The fingerprint of the certificate.'."\n", - 'type' => 'string', - 'example' => '933c6ddee95c9c41a40f9f50493d82be03ad87bf', - ], - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertName', - ], - 'Issuer' => [ - 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertIssuer', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9128192', - ], - 'Common' => [ - 'description' => 'The Common Name (CN) attribute of the certificate. In most cases, the CN is a domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'CertRegion' => [ - 'description' => 'The region ID of the certificate. Valid values: **cn-hangzhou** and **ap-southeast-1**. Default value: **cn-hangzhou**.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', + 'Status' => ['description' => 'The state of the task.'."\n" + ."\n" + .'- created: The task is being created.'."\n" + ."\n" + .'- success: The task is successful.'."\n" + ."\n" + .'- failed: The task failed.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the task was last modified.', 'type' => 'string', 'example' => '2019-12-31T08:45:02Z', 'title' => ''], + 'DownloadUrl' => ['description' => 'The download URL.', 'type' => 'string', 'example' => 'https://cdn-polaris.xxxx', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2019-12-31T08:43:21Z', 'title' => ''], + 'TaskName' => ['description' => 'The name of the task.', 'type' => 'string', 'example' => 'Refresh', 'title' => ''], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => 'A91BE91F-0B34-4CBF-8E0F-A2977', 'title' => ''], + 'TaskConfig' => [ + 'description' => 'The configurations of the task.', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The end of the time range that was queried.', 'type' => 'string', 'example' => '2019-12-30T15:59:59Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2019-12-29T16:00:00Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'PageNumber' => [ - 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page. Valid values: an integer from 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NotFoundCertList', - 'errorMessage' => 'The certList is null.', - ], - [ - 'errorCode' => 'InternalException', - 'errorMessage' => 'Internal occasional exception, please try again later.', - ], + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterOperator', 'errorMessage' => 'Invalid Parameter Operator.', 'description' => 'The Operator parameter is set to an invalid value.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977E15AA52\\",\\n \\"UsageDataPerPage\\": {\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 10,\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2019-12-31T08:45:02Z\\",\\n \\"DownloadUrl\\": \\"https://cdn-polaris.xxxx\\",\\n \\"CreateTime\\": \\"2019-12-31T08:43:21Z\\",\\n \\"TaskName\\": \\"Refresh\\",\\n \\"TaskId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977\\",\\n \\"TaskConfig\\": {\\n \\"EndTime\\": \\"2019-12-30T15:59:59Z\\",\\n \\"StartTime\\": \\"2019-12-29T16:00:00Z\\"\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeUserUsageDataExportTask', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:28.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E9D3257A-1B7C-414C-90C1-8D07AC47BCAC\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"LastTime\\": 1679896965,\\n \\"Fingerprint\\": \\"933c6ddee95c9c41a40f9f50493d82be03ad87bf\\",\\n \\"CertName\\": \\"证书1\\",\\n \\"Issuer\\": \\"yourCertIssuer\\",\\n \\"CertId\\": 9128192,\\n \\"Common\\": \\"example.com\\",\\n \\"CertRegion\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"PageNumber\\": 2,\\n \\"PageSize\\": 20\\n }\\n}","type":"json"}]', - 'title' => 'DescribeCdnSSLCertificateList', - ], - 'DescribeCdnHttpsDomainList' => [ - 'summary' => 'Queries the information about SSL certificates that belong to your Alibaba Cloud account.', - 'methods' => [ - 'get', - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserUsageDataExportTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserUsageDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeUserUsageDetailDataExportTask' => [ + 'summary' => 'Queries tasks that were used to export resource usage details of one or more accelerated domain names that belong to your Alibaba Cloud account. Resource usage information is collected every five minutes.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17013,46 +17015,22 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111731', - 'abilityTreeNodes' => [ - 'FEATUREcdnD4PEWG', - 'FEATUREcdn4R6KLH', - ], + 'abilityTreeCode' => '111845', + 'abilityTreeNodes' => ['FEATUREcdnNZNXYV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. Valid values: **1** to **100000**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '5', - 'default' => '1', - ], - ], - [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: **20**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - 'default' => '20', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Default value: **20**. Maximum value: **50**.'."\n" + ."\n" + .'Valid values: an integer from **1** to **50**.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'Keyword', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The keyword that is used to search for certificates.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'com', - ], + 'schema' => ['description' => 'The number of the page to return. Valid values: **1** to **100000**.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -17060,279 +17038,133 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'TotalCount' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '16', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F5E8DF64-7175-4186-9B06-F002C0BBD0C5', - ], - 'CertInfos' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'A91BE91F-0B34-4CBF-8E0F-A2977E15AA52', 'title' => ''], + 'UsageDataPerPage' => [ + 'description' => 'The usage details returned per page.', 'type' => 'object', - 'itemNode' => true, 'properties' => [ - 'CertInfo' => [ - 'description' => 'The information about the certificate.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CertStartTime' => [ - 'description' => 'The time at which the certificate became effective.'."\n", - 'type' => 'string', - 'example' => '2018-11-26 14:45:09', - ], - 'CertExpireTime' => [ - 'description' => 'The time at which the certificate expires.'."\n", - 'type' => 'string', - 'example' => '2018-12-26 14:45:09', - ], - 'CertUpdateTime' => [ - 'description' => 'The time at which the certificate was updated.'."\n", - 'type' => 'string', - 'example' => '2019-01-08 18:33:16', - ], - 'CertType' => [ - 'description' => 'The type of the certificate.'."\n" - ."\n" - .'* **free**: a free certificate.'."\n" - .'* **cas**: a certificate that is purchased from Alibaba Cloud SSL Certificates Service.'."\n" - .'* **upload**: a certificate that is uploaded by the user.'."\n", - 'type' => 'string', - 'example' => 'free', - ], - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'CertStatus' => [ - 'description' => 'The status of the certificate.'."\n" - ."\n" - .'* **ok**: The certificate is working as expected.'."\n" - .'* **mismatch**: The certificate does not match the specified domain name.'."\n" - .'* **expired**: The certificate has expired.'."\n" - .'* **expire_soon**: The certificate will expire soon.'."\n", - 'type' => 'string', - 'example' => 'mismatch', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'CertCommonName' => [ - 'description' => 'The returned primary domain name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'example.org', + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalCount' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'Data' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'DataItem' => [ + 'description' => 'The information about the task.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the task.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the task was last modified.', 'type' => 'string', 'example' => '2018-10-09T06:35:46Z', 'title' => ''], + 'DownloadUrl' => ['description' => 'The download URL.', 'type' => 'string', 'example' => 'https://test.oss-cn-beijing.aliyuncs.com/billing_data/xxx', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2018-10-09T06:33:38Z', 'title' => ''], + 'TaskName' => ['description' => 'The name of the task.', 'type' => 'string', 'example' => 'Refresh', 'title' => ''], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => '11', 'title' => ''], + 'TaskConfig' => [ + 'description' => 'The configurations of the task.', + 'type' => 'object', + 'properties' => [ + 'EndTime' => ['description' => 'The end of the time range during which data was queried.', 'type' => 'string', 'example' => '2018-08-31T15:59:59Z', 'title' => ''], + 'StartTime' => ['description' => 'The start of the time range during which data was queried.', 'type' => 'string', 'example' => '2018-07-31T16:00:00Z', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NoHttpsDomain', - 'errorMessage' => 'Your account doesn\'t have https domain.', - ], + ['errorCode' => 'InvalidParameterProduct', 'errorMessage' => 'Invalid Parameter Product.', 'description' => 'The Product parameter is set to an invalid value.'], + ['errorCode' => 'InvalidParameterOperator', 'errorMessage' => 'Invalid Parameter Operator.', 'description' => 'The Operator parameter is set to an invalid value.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 16,\\n \\"RequestId\\": \\"F5E8DF64-7175-4186-9B06-F002C0BBD0C5\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertStartTime\\": \\"2018-11-26 14:45:09\\",\\n \\"CertExpireTime\\": \\"2018-12-26 14:45:09\\",\\n \\"CertUpdateTime\\": \\"2019-01-08 18:33:16\\",\\n \\"CertType\\": \\"free\\",\\n \\"CertName\\": \\"test\\",\\n \\"CertStatus\\": \\"mismatch\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"CertCommonName\\": \\"example.org\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnHttpsDomainListResponse>\\n <CertInfos>\\n <CertInfo>\\n <CertUpdateTime>2019-01-08 18:33:16</CertUpdateTime>\\n <CertType>free</CertType>\\n <CertName>test</CertName>\\n <DomainName>example.com</DomainName>\\n <CertStatus>mismatch</CertStatus>\\n <CertExpireTime>2018-12-26 14:45:09</CertExpireTime>\\n <CertStartTime>2018-11-26 14:45:09</CertStartTime>\\n <CertCommonName>example.org</CertCommonName>\\n </CertInfo>\\n </CertInfos>\\n <TotalCount>16</TotalCount>\\n <RequestId>F5E8DF64-7175-4186-9B06-F002C0BBD0C5</RequestId>\\n</DescribeCdnHttpsDomainListResponse>","errorExample":""}]', - 'title' => 'DescribeCdnHttpsDomainList', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A91BE91F-0B34-4CBF-8E0F-A2977E15AA52\\",\\n \\"UsageDataPerPage\\": {\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Data\\": {\\n \\"DataItem\\": [\\n {\\n \\"Status\\": \\"success\\",\\n \\"UpdateTime\\": \\"2018-10-09T06:35:46Z\\",\\n \\"DownloadUrl\\": \\"https://test.oss-cn-beijing.aliyuncs.com/billing_data/xxx\\",\\n \\"CreateTime\\": \\"2018-10-09T06:33:38Z\\",\\n \\"TaskName\\": \\"Refresh\\",\\n \\"TaskId\\": \\"11\\",\\n \\"TaskConfig\\": {\\n \\"EndTime\\": \\"2018-08-31T15:59:59Z\\",\\n \\"StartTime\\": \\"2018-07-31T16:00:00Z\\"\\n }\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeUserUsageDetailDataExportTask', + 'description' => '- This operation has been available since July 20, 2018. You can query information about resource usage collected within the last three months.'."\n" + ."\n" + .'- Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCertificateInfoByID' => [ - 'summary' => 'Queries the information about a specific certificate by certificate ID.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:13.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111756', - 'abilityTreeNodes' => [ - 'FEATUREcdnD4PEWG', - 'FEATUREcdn4R6KLH', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserUsageDetailDataExportTask'], ], - 'tenantRelevance' => 'publicInformation', + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'CertId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the certificate. You can query only one certificate in each call.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1644xx', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '5C1E43DC-9E51-4771-82C0-7D5ECEB547A1', - ], - 'CertInfos' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CertInfo' => [ - 'description' => 'The information about the certificate.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CertExpireTime' => [ - 'description' => 'The time at which the certificate expires.'."\n", - 'type' => 'string', - 'example' => '2098-02-08 08:02:07 +0000 UTC', - ], - 'CreateTime' => [ - 'description' => 'The time when the certificate became effective.'."\n", - 'type' => 'string', - 'example' => '2015-12-21 08:02:07 +0000 UTC', - ], - 'CertType' => [ - 'description' => 'The type of the certificate.'."\n" - ."\n" - .'* free: a free certificate'."\n" - .'* cas: a certificate purchased by using Certificate Management Service'."\n" - .'* upload: a user-uploaded certificate'."\n", - 'type' => 'string', - 'example' => 'cas', - ], - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'example_cert', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'example' => '1644xx', - ], - 'DomainList' => [ - 'description' => 'The domain names that use the certificate.'."\n", - 'type' => 'string', - 'example' => '["example.com"]', - ], - 'HttpsCrt' => [ - 'description' => 'The content of the certificate.'."\n", - 'type' => 'string', - 'example' => '-----BEGIN CERTIFICATE-----\\nxxx-----END CERTIFICATE-----\\n', - ], - ], - ], - ], - ], - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserUsageDetailDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'CertNotExisted', - 'errorMessage' => 'The Cert doesn\'t exist.', - ], - ], - 403 => [ - [ - 'errorCode' => 'SignatureDoesNotMatch', - 'errorMessage' => 'The signature we calculated does not match the one you provided. Please refer to the API reference about authentication for details.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5C1E43DC-9E51-4771-82C0-7D5ECEB547A1\\",\\n \\"CertInfos\\": {\\n \\"CertInfo\\": [\\n {\\n \\"CertExpireTime\\": \\"2098-02-08 08:02:07 +0000 UTC\\",\\n \\"CreateTime\\": \\"2015-12-21 08:02:07 +0000 UTC\\",\\n \\"CertType\\": \\"cas\\",\\n \\"CertName\\": \\"example_cert\\",\\n \\"CertId\\": \\"1644xx\\",\\n \\"DomainList\\": \\"[\\\\\\"example.com\\\\\\"]\\",\\n \\"HttpsCrt\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nxxx-----END CERTIFICATE-----\\\\\\\\n\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCertificateInfoByIDResponse>\\n <RequestId>5C1E43DC-9E51-4771-82C0-7D5ECEB547A1</RequestId>\\n <CertInfos>\\n <CertExpireTime>2098-02-08 08:02:07 +0000 UTC</CertExpireTime>\\n <CreateTime>2015-12-21 08:02:07 +0000 UTC</CreateTime>\\n <CertType>cas</CertType>\\n <CertName>example_cert</CertName>\\n <CertId>1644xx</CertId>\\n <DomainList>[\\"example.com\\"]</DomainList>\\n <HttpsCrt>-----BEGIN CERTIFICATE-----\\\\nxxx-----END CERTIFICATE-----\\\\n</HttpsCrt>\\n </CertInfos>\\n</DescribeCertificateInfoByIDResponse>","errorExample":""}]', - 'title' => 'DescribeCertificateInfoByID', - 'description' => '* You can call this operation up to 100 times per second per account.'."\n" - .'* If a certificate is associated with a domain name but the certificate is not enabled, the result of this operation shows that the certificate does not exist.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeCdnCertificateDetailById' => [ - 'summary' => 'Queries certificate details by certificate ID.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeUserVipsByDomain' => [ + 'summary' => 'Queries virtual IP addresses (VIPs) of CDN points of presence (POPs) by domain name.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '168240', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'CertId', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '12345', - 'pattern' => '^\\d+$', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'CertRegion', + 'name' => 'Available', 'in' => 'query', 'schema' => [ - 'description' => 'The region of the certificate. Valid values:'."\n" + 'description' => 'Specifies whether to query the virtual IP addresses of only healthy CDN POPs. Valid values:'."\n" ."\n" - .'* **ap-southeast-1**: Singapore'."\n" - .'* **cn-hangzhou**: China (Hangzhou)'."\n" + .'- **on**: healthy CDN edge nodes.'."\n" ."\n" - .'Default value: **cn-hangzhou**'."\n", + .'- **off**: all CDN edge nodes.', + 'enumValueTitles' => ['off' => '', 'on' => ''], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'ap-southeast-1' => 'ap-southeast-1', - 'cn-hangzhou' => 'cn-hangzhou', - ], - 'example' => 'cn-hangzhou'."\n", + 'enum' => ['on', 'off'], + 'example' => 'on', + 'title' => '', ], ], ], @@ -17341,132 +17173,119 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertName'."\n", - ], - 'Key' => [ - 'description' => 'The public key of the certificate.'."\n", - 'type' => 'string', - 'example' => '587f6db37e3a2f01047b032b739cbe31'."\n", - ], - 'Cert' => [ - 'description' => 'The content of the certificate.'."\n", - 'type' => 'string', - 'example' => '-----BEGINCERTIFICATE-----xxx-----END CERTIFICATE-----'."\n", - ], - 'CertId' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '12345', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E'."\n", + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '820E7900-5CA9-4AEF-B0DD-20ED5F64BE55', 'title' => ''], + 'Vips' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Vip' => [ + 'description' => 'The list of VIPs.', + 'type' => 'array', + 'items' => ['description' => 'The VIP.', 'type' => 'string', 'example' => '122.72.xxx.xxx', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidCertId.NotFound', - 'errorMessage' => 'The certId does not exist.', - ], - [ - 'errorCode' => 'Abs.CertRegion.ValueNotSupported', - 'errorMessage' => 'CertRegion is not supported.', + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The specified value of parameter "DomainName" can not be empty.', 'description' => ''], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided is offline or not exist.', 'description' => ''], + ['errorCode' => 'IllegalOperation', 'errorMessage' => 'Illegal domain operate is not permitted.', 'description' => 'Domain name does not support current operation'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"820E7900-5CA9-4AEF-B0DD-20ED5F64BE55\\",\\n \\"Vips\\": {\\n \\"Vip\\": [\\n \\"122.72.xxx.xxx\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeUserVipsByDomain', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:32.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserVipsByDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserVipsByDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CertName\\": \\"yourCertName\\\\n\\",\\n \\"Key\\": \\"587f6db37e3a2f01047b032b739cbe31\\\\n\\",\\n \\"Cert\\": \\"-----BEGINCERTIFICATE-----xxx-----END CERTIFICATE-----\\\\n\\",\\n \\"CertId\\": 12345,\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\\\n\\"\\n}","type":"json"}]', - 'title' => 'DescribeCdnCertificateDetailById', ], - 'DescribeUserCertificateExpireCount' => [ - 'summary' => 'Queries the number of domain names whose SSL certificates are about to expire or have already expired.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeVerifyContent' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111840', - 'abilityTreeNodes' => [ - 'FEATUREcdnD4PEWG', - 'FEATUREcdn4R6KLH', + 'systemTags' => ['operationType' => 'get'], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The domain name of which the ownership was verified. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com'], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'ExpireWithin30DaysCount' => [ - 'description' => 'The number of domain names whose SSL certificates are about to expires within 30 days.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F5E8DF64-7175-4186-9B06-F002C0BBD0C5', - ], - 'ExpiredCount' => [ - 'description' => 'The number of domain names whose SSL certificates have already expired.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6', - ], + 'Content' => ['description' => 'The verification content.', 'type' => 'string', 'example' => 'verify_dffeb6610035dcb77b413a59c32cd91f'], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'NoHttpsDomain', - 'errorMessage' => 'Your account doesn\'t have https domain.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ExpireWithin30DaysCount\\": 0,\\n \\"RequestId\\": \\"F5E8DF64-7175-4186-9B06-F002C0BBD0C5\\",\\n \\"ExpiredCount\\": 6\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserCertificateExpireCountResponse>\\n <ExpireWithin30DaysCount>0</ExpireWithin30DaysCount>\\n <RequestId>F5E8DF64-7175-4186-9B06-F002C0BBD0C5</RequestId>\\n <ExpiredCount>6</ExpiredCount>\\n</DescribeUserCertificateExpireCountResponse>","errorExample":""}]', - 'title' => 'DescribeUserCertificateExpireCount', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": \\"verify_dffeb6610035dcb77b413a59c32cd91f\\",\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeVerifyContentResponse>\\n<Content>verify_dffeb6610035dcb77b413a59c32cd91f</Content>\\n<RequestId>34AB41F1-04A5-496F-8C8D-634BDBE6A9FB</RequestId>\\n</DescribeVerifyContentResponse>","errorExample":""}]', + 'title' => 'DescribeVerifyContent', + 'summary' => 'Queries the ownership verification content of an accelerated domain name.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'CreateCdnCertificateSigningRequest' => [ - 'summary' => 'Creates a certificate signing request (CSR).', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeVerifyContent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DisableRealtimeLogDelivery' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17474,98 +17293,32 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '111691', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111855', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'CommonName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Common Name of the certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'CommonName', - ], - ], - [ - 'name' => 'SANs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Subject Alternative Name (SAN) extension of the SSL certificate. This extension is used to add domain names to the certificate. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'Organization', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the organization. Default value: Alibaba Inc.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Alibaba Inc', - 'default' => 'Alibaba Inc.', - ], - ], - [ - 'name' => 'OrganizationUnit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the department. Default value: Aliyun CDN.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Aliyun CDN', - 'default' => 'Aliyun CDN', - ], - ], - [ - 'name' => 'Country', + 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'description' => 'The country or region in which the organization is located. Default value: CN.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CN', - 'default' => 'CN', - ], + 'schema' => ['description' => 'The accelerated domain name for which you want to disable real-time log delivery. You can specify multiple domain names and separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'State', + 'name' => 'Project', 'in' => 'query', - 'schema' => [ - 'description' => 'The provincial district. Default value: Zhejiang.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Zhejiang', - 'default' => 'Zhejiang', - ], + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'required' => false, 'example' => 'ProjectName', 'title' => ''], ], [ - 'name' => 'City', + 'name' => 'Logstore', 'in' => 'query', - 'schema' => [ - 'description' => 'The city. Default value: Hangzhou.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Hangzhou', - 'default' => 'Hangzhou', - ], + 'schema' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'required' => false, 'example' => 'LogstoreName', 'title' => ''], ], [ - 'name' => 'Email', + 'name' => 'Region', 'in' => 'query', - 'schema' => [ - 'description' => 'The email address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'username@example.com', - ], + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai', 'title' => ''], ], ], 'responses' => [ @@ -17573,77 +17326,56 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', - ], - 'PubMd5' => [ - 'description' => 'The MD5 hash value of the certificate public key.'."\n", - 'type' => 'string', - 'example' => '629bf4fd8104eda171135bcb0f77****', - ], - 'Csr' => [ - 'description' => 'The content of the CSR file.'."\n", - 'type' => 'string', - 'example' => 'CSRName', - ], - 'CommonName' => [ - 'description' => 'The Common Name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'CommonName', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidValue.Malformed', - 'errorMessage' => 'Country must be 2 characters.', - ], + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'Internal.KeyError', - 'errorMessage' => 'Failed to generate rsa key.', - ], - [ - 'errorCode' => 'Internal.CreateCSRError', - 'errorMessage' => 'Failed to create CSR.', - ], - [ - 'errorCode' => 'Internal.EncodeCSRError', - 'errorMessage' => 'Failed to encode CSR.', - ], - [ - 'errorCode' => 'Internal.EncodeKeyError', - 'errorMessage' => 'Failed to encode private key.', - ], - [ - 'errorCode' => 'Internal.Error', - 'errorMessage' => 'The request processing has failed due to backend service exception.', - ], + 404 => [ + ['errorCode' => 'Domain.NotFound', 'errorMessage' => 'Domain not found', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"PubMd5\\": \\"629bf4fd8104eda171135bcb0f77****\\",\\n \\"Csr\\": \\"CSRName\\",\\n \\"CommonName\\": \\"CommonName\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\n<CommonName>CommonName</CommonName>\\n<Csr>-----BEGIN CERTIFICATE REQUEST-----\\nMIIC/zqT****\\n-----END CERTIFICATE REQUEST-----\\n</Csr>\\n<PubMd5>629bf4fd8104eda171135bcb0f77****</PubMd5>","errorExample":""}]', - 'title' => 'CreateCdnCertificateSigningRequest', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'DisableRealtimeLogDelivery', + 'summary' => 'Disables real-time log delivery for specific accelerated domain names.', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetCdnDomainCSRCertificate' => [ - 'summary' => 'You can call this operation to configure an SSL certificate for a specific domain name.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-13T03:45:30.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableRealtimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:DisableRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","type":"json"}]', + ], + 'EnableRealtimeLogDelivery' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17652,31 +17384,31 @@ 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '111887', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111857', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'ServerCertificate', + 'name' => 'Domain', 'in' => 'query', - 'schema' => [ - 'description' => 'The content of the certificate. The certificate must match the certificate signing request (CSR) created by calling the [CreateCdnCertificateSigningRequest](~~144478~~) operation. Make sure that the content of the certificate is encoded in Base64 and then encoded by encodeURIComponent.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '----BEGIN CERTIFICATE----- MIIFz****-----END CERTIFICATE-----', - ], + 'schema' => ['description' => 'The accelerated domain name for which you want to enable real-time log delivery. You can specify multiple domain names and separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'DomainName', + 'name' => 'Project', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to configure an SSL certificate. The domain name must have HTTPS secure acceleration enabled.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'required' => false, 'example' => 'ProjectName', 'title' => ''], + ], + [ + 'name' => 'Logstore', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'required' => false, 'example' => 'LogstoreName', 'title' => ''], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ @@ -17684,161 +17416,113 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Certificate.MissingParameter', - 'errorMessage' => 'You must specify the Certificate parameter.', - ], - [ - 'errorCode' => 'Certificate.EncodeError', - 'errorMessage' => 'An error occurred while encoding the certificate.', - ], - [ - 'errorCode' => 'Certificate.DecodeError', - 'errorMessage' => 'An error occurred while decoding the certificate.', - ], - [ - 'errorCode' => 'Certificate.FormatError', - 'errorMessage' => 'The format of the certificate is invalid.', - ], - [ - 'errorCode' => 'Certificate.MissMatch', - 'errorMessage' => 'The certificate does not match the domain.', - ], - [ - 'errorCode' => 'Certificate.NoPrivateKey', - 'errorMessage' => 'The private key of the certificate does not exist.', - ], + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'Internal.ForbidError', - 'errorMessage' => 'You cannot modify the configurations when some features of the domain are in a canary deployment.', - ], - [ - 'errorCode' => 'Internal.ConfigError', - 'errorMessage' => 'An error occurred while configuring the certificate.', - ], + 404 => [ + ['errorCode' => 'Domain.NotFound', 'errorMessage' => 'Domain not found', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","errorExample":""},{"type":"xml","example":"<SetCdnDomainCSRCertificateResponse>\\r\\n<RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C9</RequestId>\\r\\n</SetCdnDomainCSRCertificateResponse>","errorExample":""}]', - 'title' => 'SetCdnDomainCSRCertificate', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'title' => 'EnableRealtimeLogDelivery', + 'summary' => 'Enables real-time log delivery for an accelerated domain name.', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SetCdnDomainSMCertificate' => [ - 'summary' => 'Enables or disables a ShangMi (SM) certificate for a domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-13T03:45:30.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-12-05T03:20:58.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableRealtimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:EnableRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","type":"json"}]', + ], + 'GenerateCdnDiagnose' => [ + 'summary' => 'Generates a diagnostic link for a URL.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '111888', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '197155', + 'abilityTreeNodes' => ['FEATUREcdnORORBI'], ], 'parameters' => [ [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to configure the SM certificate.'."\n" - ."\n" - .'> The domain name must use HTTPS acceleration.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'CertIdentifier', + 'name' => 'Url', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the SM certificate that you want to configure. The identifier of the certificate. The value is Certificate ID-cn-hangzhou. For example, if the certificate ID is 123, set the value of this parameter to 123-cn-hangzhou.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1234****-cn-hangzhou', - ], - ], - [ - 'name' => 'SSLProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the SSL certificate. Valid values:'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'on', - 'enum' => [ - 'on', - 'off', - ], - ], + 'schema' => ['description' => 'The URL to be diagnosed.', 'type' => 'string', 'required' => false, 'example' => 'http://www.example.com/xxx.jpg', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C8', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => '64D28B53-5902-409B-94F6-FD46680144FE'], + 'Content' => ['description' => 'The diagnostic link.', 'type' => 'string', 'example' => 'http://cdn.dns-detect.alicdn.com/diagnose/?id=xxxxxxx', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidCertIdentifier.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter CertIdentifier is not valid.', - ], + ['errorCode' => 'DomainError', 'errorMessage' => 'Sandbox domain', 'description' => 'The domain name is added to the sandbox.'], + ['errorCode' => 'NoDomianPermission', 'errorMessage' => 'The AliUid does not have permission for the domain.', 'description' => 'aliuid does not have permissions on this domain name.'], + ['errorCode' => 'CnameError', 'errorMessage' => 'Unmatched CNAME.', 'description' => 'cname is not matched.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C8\\"\\n}","errorExample":""},{"type":"xml","example":"<SetCdnDomainSMCertificateResponse>\\n <RequestId>0AEDAF20-4DDF-4165-8750-47FF9C1929C8</RequestId>\\n</SetCdnDomainSMCertificateResponse>","errorExample":""}]', - 'title' => 'SetCdnDomainSMCertificate', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'extraInfo' => ' ', - ], - 'DescribeCdnSMCertificateList' => [ - 'summary' => 'Queries the ShangMi (SM) certificates of an accelerated domain name.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'GenerateCdnDiagnose', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"Content\\": \\"http://cdn.dns-detect.alicdn.com/diagnose/?id=xxxxxxx\\"\\n}","type":"json"}]', + ], + 'ListDomainsByLogConfigId' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17846,22 +17530,17 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111742', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111859', + 'abilityTreeNodes' => ['FEATUREcdnGZSOSW'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'ConfigId', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The ID of the custom configuration.', 'type' => 'string', 'required' => true, 'example' => '123', 'title' => ''], ], ], 'responses' => [ @@ -17869,291 +17548,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DC0E34AC-0239-44A7-AB0E-800DE522C8DC', - ], - 'CertificateListModel' => [ - 'description' => 'The type of the certificate information.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', 'title' => ''], + 'Domains' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'Count' => [ - 'description' => 'The number of certificates that are returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CertList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Cert' => [ - 'description' => 'The list of certificates.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertName', - ], - 'Issuer' => [ - 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertIssuer', - ], - 'CertIdentifier' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertldentifier', - ], - 'Common' => [ - 'description' => 'The common name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertCommon', - ], - ], - ], - ], - ], + 'Domain' => [ + 'description' => 'The domain names.', + 'type' => 'array', + 'items' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DC0E34AC-0239-44A7-AB0E-800DE522C8DC\\",\\n \\"CertificateListModel\\": {\\n \\"Count\\": 2,\\n \\"CertList\\": {\\n \\"Cert\\": [\\n {\\n \\"CertName\\": \\"yourCertName\\",\\n \\"Issuer\\": \\"yourCertIssuer\\",\\n \\"CertIdentifier\\": \\"yourCertldentifier\\",\\n \\"Common\\": \\"yourCertCommon\\"\\n }\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnSMCertificateListResponse>\\n<CertificateListModel>\\n <Count>2</Count>\\n <CertList>\\n <Cert>\\n <CertName>yourCertName1</CertName>\\n <Issuer>yourCertIssuer1</Issuer>\\n <CertIdentifier>yourCertIdentifier1</CertIdentifier>\\n <Common>yourCertCommon1</Common>\\n </Cert>\\n <Cert>\\n <CertName>yourCertName2</CertName>\\n <Issuer>yourCertIssuer2</Issuer>\\n <CertIdentifier>yourCertIdentifier2</CertIdentifier>\\n <Common>yourCertCommon2</Common>\\n </Cert>\\n </CertList>\\n</CertificateListModel>\\n<RequestId>DC0E34AC-0239-44A7-AB0E-800DE522C8DC</RequestId>\\n</DescribeCdnSMCertificateListResponse>","errorExample":""}]', - 'title' => 'DescribeCdnSMCertificateList', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", - 'extraInfo' => ' ', - ], - 'DescribeCdnSMCertificateDetail' => [ - 'summary' => 'Queries the details about a ShangMi (SM) certificate.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ + 'errorCodes' => [ + 403 => [ + ['errorCode' => 'InvalidConfigId', 'errorMessage' => 'Illegal ConfigId', 'description' => ''], + ], [ - 'AK' => [], + ['errorCode' => 'Domains.NotFound', 'errorMessage' => 'No domain used in this log config', 'description' => ''], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111741', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], + 'title' => 'ListDomainsByLogConfigId', + 'summary' => 'Queries domain names by log configuration ID.', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], ], - 'parameters' => [ - [ - 'name' => 'CertIdentifier', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '648****-cn-hangzhou', - ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDomainsByLogConfigId'], ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'CertExpireTime' => [ - 'description' => 'The expiration time of the certificate. The time is displayed in UTC.'."\n", - 'type' => 'string', - 'example' => '2022-08-31T09:42:28Z', - ], - 'CertIdentifier' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'string', - 'example' => '648****-cn-hangzhou', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A7C69682-7F88-40DD-A198-10D0309E439D', - ], - 'CommonName' => [ - 'description' => 'The common name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'CertName' => [ - 'description' => 'The name of the certificate.'."\n", - 'type' => 'string', - 'example' => 'yourCertName', - ], - 'Sans' => [ - 'description' => 'The subdomain name.'."\n", - 'type' => 'string', - 'example' => '***.example.com', - ], - 'SignCertificate' => [ - 'description' => 'The content of the signature certificate.'."\n", - 'type' => 'string', - 'example' => '--BEGIN CERTIFICATE-----***-----END CERTIFICATE--', - ], - 'CertOrg' => [ - 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", - 'type' => 'string', - 'example' => 'DigiCert Inc', - ], - 'EncryptCertificate' => [ - 'description' => 'The content of the encryption certificate.'."\n", - 'type' => 'string', - 'example' => '-BEGIN CERTIFICATE-----***-----END CERTIFICATE--', - ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'cdn:ListDomainsByLogConfigId', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidCertIdentifier.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter CertIdentifier is not valid.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"CertExpireTime\\": \\"2022-08-31T09:42:28Z\\",\\n \\"CertIdentifier\\": \\"648****-cn-hangzhou\\",\\n \\"RequestId\\": \\"A7C69682-7F88-40DD-A198-10D0309E439D\\",\\n \\"CommonName\\": \\"example.com\\",\\n \\"CertName\\": \\"yourCertName\\",\\n \\"Sans\\": \\"***.example.com\\",\\n \\"SignCertificate\\": \\"--BEGIN CERTIFICATE-----***-----END CERTIFICATE--\\",\\n \\"CertOrg\\": \\"DigiCert Inc\\",\\n \\"EncryptCertificate\\": \\"-BEGIN CERTIFICATE-----***-----END CERTIFICATE--\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnSMCertificateDetailResponse>\\n<SignCertificate>--BEGIN CERTIFICATE-----***-----END CERTIFICATE--</SignCertificate>\\n<EncryptCertificate>--BEGIN CERTIFICATE-----***-----END CERTIFICATE--</EncryptCertificate>\\n<CertName>yourCerName</CertName>\\n<CertIdentifier>648****-cn-hangzhou</CertIdentifier>\\n<CommonName>example.com</CommonName>\\n<Sans>***.example.com</Sans>\\n<CertOrg>DigiCert Inc</CertOrg>\\n<CertExpireTime>2022-08-31T09:42:28Z</CertExpireTime>\\n<RequestId>A7C69682-7F88-40DD-A198-10D0309E439D</RequestId>\\n</DescribeCdnSMCertificateDetailResponse>","errorExample":""}]', - 'title' => 'DescribeCdnSMCertificateDetail', - 'description' => '> You can call this operation up to 20 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n \\"Domains\\": {\\n \\"Domain\\": [\\n \\"example.com\\"\\n ]\\n }\\n}","type":"json"}]', ], - 'SetCdnDomainSSLCertificate' => [ - 'summary' => 'Enables or disables the certificate for a domain name and updates the certificate information.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListFCTrigger' => [ + 'summary' => 'Queries the Function Compute trigger that is set for an Alibaba Cloud CDN event.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '168241', - 'abilityTreeNodes' => [ - 'FEATUREcdn4R6KLH', - ], - ], + 'operationType' => 'read', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name for which you want to configure the SSL certificate. The type of request supported by the domain name must be HTTPS. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com'."\n", - ], - ], - [ - 'name' => 'CertName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the SSL certificate. You can specify only one certificate name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'yourCertName'."\n", - ], - ], - [ - 'name' => 'CertId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the certificate.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '8089870'."\n", - ], - ], - [ - 'name' => 'CertType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the certificate.'."\n" - ."\n" - .'* **upload**: a user-uploaded SSL certificate.'."\n" - .'* **cas**: a certificate that is acquired through Certificate Management Service.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'upload', - 'enum' => [ - 'cas', - 'upload', - ], - ], - ], - [ - 'name' => 'SSLProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the SSL certificate.'."\n" - ."\n" - .'* **on**'."\n" - .'* **off**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'off', - ], - ], - [ - 'name' => 'SSLPub', - 'in' => 'query', - 'schema' => [ - 'description' => 'The content of the SSL certificate. Specify the content of the SSL certificate only if you want to enable the SSL certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxx'."\n", - ], - ], - [ - 'name' => 'SSLPri', + 'name' => 'EventMetaName', 'in' => 'query', - 'schema' => [ - 'description' => 'The private key. Specify the private key only if you want to enable the SSL certificate.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'y****'."\n", - ], + 'schema' => ['description' => 'The name of the event. You can specify only one name.', 'type' => 'string', 'required' => true, 'example' => 'LogFileCreated', 'title' => ''], ], [ - 'name' => 'CertRegion', + 'name' => 'EventMetaVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID of the certificate. Valid values: **cn-hangzhou** and **ap-southeast-1**. Default value: **cn-hangzhou**.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'ap-southeast-1' => 'ap-southeast-1', - 'cn-hangzhou' => 'cn-hangzhou', - ], - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The version number of the event. You can specify only one version number.', 'type' => 'string', 'required' => true, 'example' => '1.0.0', 'title' => ''], ], ], 'responses' => [ @@ -18161,330 +17638,168 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'A7C69682-7F88-40DD-A198-10D0309E439D'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E', 'title' => ''], + 'FCTriggers' => [ + 'description' => 'The Function Compute triggers that are set for Alibaba Cloud CDN events.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TriggerARN' => ['description' => 'The trigger that corresponds to the Function Compute service.', 'type' => 'string', 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger', 'title' => ''], + 'RoleARN' => ['description' => 'The Resource Access Management (RAM) role.', 'type' => 'string', 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole', 'title' => ''], + 'SourceArn' => ['description' => 'The resources and filters for event listening.', 'type' => 'string', 'example' => 'acs:cdn:*:1234567890:domain/example.com', 'title' => ''], + 'Notes' => ['description' => 'The remarks.', 'type' => 'string', 'example' => 'Test', 'title' => ''], + 'EventMetaName' => ['description' => 'The name of the event.', 'type' => 'string', 'example' => 'LogFileCreated', 'title' => ''], + 'EventMetaVersion' => ['description' => 'The version of the event.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidSSLProtocol.ValueNotSupported', - 'errorMessage' => 'The specified SSLProtocol is invalid.', - ], - [ - 'errorCode' => 'SSLPub.MissingParameter', - 'errorMessage' => 'The SSLPub parameter is required.', - ], - [ - 'errorCode' => 'SSLPri.MissingParameter', - 'errorMessage' => 'The SSLPri parameter is required.', - ], - [ - 'errorCode' => 'InvalidSSLPub', - 'errorMessage' => 'The specified SSLPub is invalid.', - ], - [ - 'errorCode' => 'InvalidSSLPri', - 'errorMessage' => 'The specified SSLPri is invalid.', - ], - [ - 'errorCode' => 'Certificate.MissMatch', - 'errorMessage' => 'The SSLPri does not match the certificate.', - ], - [ - 'errorCode' => 'InvalidCertificate.TooLong', - 'errorMessage' => 'The maximum length of the certificate is exceeded.', - ], - [ - 'errorCode' => 'InvalidCertName.TooLong', - 'errorMessage' => 'The length of the certificate name cannot exceed 128 characters.', - ], - [ - 'errorCode' => 'AuthenticationFailed', - 'errorMessage' => 'Error performing verification.', - ], - [ - 'errorCode' => 'SetDomainCertificate.ParameterError', - 'errorMessage' => 'The specified parameters are invalid.', - ], - [ - 'errorCode' => 'Certificate.StatusError', - 'errorMessage' => 'The status of the certificate is invalid.', - ], - [ - 'errorCode' => 'DeleteFailed', - 'errorMessage' => 'Error deleting the certificate.', - ], - [ - 'errorCode' => 'Certificate.NotFind', - 'errorMessage' => 'The certificate does not exist.', - ], - [ - 'errorCode' => 'Certificate.Duplicated', - 'errorMessage' => 'The certificate name already exists.', - ], - [ - 'errorCode' => 'Certificate.FormatError', - 'errorMessage' => 'The format of the certificate is invalid.', - ], - [ - 'errorCode' => 'Certificate.KeyNull', - 'errorMessage' => 'The private key is required.', - ], - [ - 'errorCode' => 'Key.Malformed', - 'errorMessage' => 'The specified Key format is invalid.', - ], - [ - 'errorCode' => 'CertStorage.failed', - 'errorMessage' => 'Error saving the certificate.', - ], - [ - 'errorCode' => 'CertificateContent.Duplicated', - 'errorMessage' => 'The certificate has been uploaded; do not upload again.', - ], - [ - 'errorCode' => 'Certificate.Expired', - 'errorMessage' => 'The certificate has expired.', - ], - [ - 'errorCode' => 'InvalidDomain.notOnline', - 'errorMessage' => 'The domain is offline. Check the status of the domain and try again later.', - ], - [ - 'errorCode' => 'Decode.Error', - 'errorMessage' => 'Error decoding the SSLPub or SSLPri certificate.', - ], - [ - 'errorCode' => 'sslPub.Error', - 'errorMessage' => 'Error encoding SSLPub.', - ], - [ - 'errorCode' => 'sslPri.Error', - 'errorMessage' => 'Error encoding SSLPri.', - ], - [ - 'errorCode' => 'DomainInSafeMode', - 'errorMessage' => 'The domain is in safe mode. To request permission, contact Customer Service.', - ], - [ - 'errorCode' => 'CreateCertificateFailed', - 'errorMessage' => 'Create certificate failed,please try again.', - ], - [ - 'errorCode' => 'Abs.CertRegion.ValueNotSupported', - 'errorMessage' => 'CertRegion is not supported.', - ], - [ - 'errorCode' => 'CertNameAlreadyExists', - 'errorMessage' => 'The CertName already exists.', - ], - [ - 'errorCode' => 'InvalidDomain.Offline', - 'errorMessage' => 'The domain provided is offline.', - ], - [ - 'errorCode' => 'InvalidEnv', - 'errorMessage' => 'The specified Env is invalid.', - ], + ['errorCode' => 'NotFound.EventMeta', 'errorMessage' => 'EventMeta not found.', 'description' => ''], ], - 403 => [ - [ - 'errorCode' => 'DomainInProtectedMode', - 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\",\\n \\"FCTriggers\\": [\\n {\\n \\"TriggerARN\\": \\"acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger\\",\\n \\"RoleARN\\": \\"acs:ram:: 1234567890:role/aliyuncdneventnotificationrole\\",\\n \\"SourceArn\\": \\"acs:cdn:*:1234567890:domain/example.com\\",\\n \\"Notes\\": \\"Test\\",\\n \\"EventMetaName\\": \\"LogFileCreated\\",\\n \\"EventMetaVersion\\": \\"1.0.0\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListFCTrigger', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => '**SourceARN** format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + ."\n" + .'**Filter** indicates the resource and filter in the format of \\*\\*{FilterName}/{FilterValue}. If multiple values are returned for **FilterValue**, the values are enclosed with braces **({})** and separated by commas (,).'."\n" + ."\n" + .'For example, the LogFileCreated event supports a filter of which **FilterName** is set to **domain**. Function Compute can be triggered only by **example.com** if **Filter** is set to **domain/example.com**. Function Compute can be triggered by multiple domains if **Filter** is set to `domain/{example.com,aliyundoc.com}`.'."\n" + ."\n" + .'If multiple filters are returned, they are separated with forward slashes (/) and have the **AND** relation. In this case, the SourceArn parameter is displayed in the format of `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}...`.', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-08-25T02:43:32.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListFCTrigger'], ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ [ - [ - 'errorCode' => 'CertName.MissingParameter', - 'errorMessage' => 'You must specify CertName.', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListFCTrigger', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A7C69682-7F88-40DD-A198-10D0309E439D\\\\n\\"\\n}","type":"json"}]', - 'title' => 'SetCdnDomainSSLCertificate', - 'description' => '* You can call this operation up to 30 times per second per account.'."\n" - .'* Method: POST.'."\n", + 'translator' => 'manual', ], - 'TagResources' => [ - 'summary' => 'Adds one or more tags to specific resources.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListRealtimeLogDelivery' => [ + 'summary' => 'Queries all real-time log delivery tasks within your Alibaba Cloud account.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111918', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - ], - 'parameters' => [ - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Set this value to **DOMAIN**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'DOMAIN', - 'enum' => [ - 'DOMAIN', - ], - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of resource IDs. Maximum number of list elements: 50.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of a resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - 'required' => true, - 'example' => '1', - 'maxItems' => 51, - ], - ], - [ - 'name' => 'Tag', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags. Maximum number of list elements: 20.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of tags.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of a tag.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'env', - ], - 'Value' => [ - 'description' => 'The value of a tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - ], - 'required' => false, - ], - 'required' => true, - 'maxItems' => 21, - 'minItems' => 1, - ], - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111862', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '30559C03-86C9-4EEC-B840-0DC5F5A2189B', 'title' => ''], + 'Content' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RealtimeLogDeliveryInfo' => [ + 'description' => 'The logging information.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of real-time log delivery.', 'type' => 'string', 'example' => 'online', 'title' => ''], + 'Domain' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'DmId' => ['description' => 'The domain ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '1001010', 'title' => ''], + 'Region' => ['description' => 'The ID of the region where the Log Service project is deployed.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Logstore' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Project' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidRegionId.Malformed', - 'errorMessage' => 'The specified RegionId is invalid.', - ], - [ - 'errorCode' => 'Resource.NotExist', - 'errorMessage' => 'Resources does not exist.', - ], - [ - 'errorCode' => 'TagKeyIsInvalid', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'TooManyTags', - 'errorMessage' => 'Too many tags.', - ], - [ - 'errorCode' => 'InvalidTagKey', - 'errorMessage' => 'The key should not be null, start with "acs:" or "aliyun", contain "http://" or "https://" or have special symbols:.!@#$%?/^&*)(+={}[]",\'<>~·`?;.', - ], - [ - 'errorCode' => 'InvalidTagValue', - 'errorMessage' => 'The tag value cannot contain these special symbols:http://, https://', - ], - [ - 'errorCode' => 'ReservedTagKey', - 'errorMessage' => 'The tag key is used internally as a reserved field and is not allowed to be used.', - ], - [ - 'errorCode' => 'TagValueIsInvalid', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'TagKeyRepeated', - 'errorMessage' => 'The specified TagKey is duplicated.', - ], - [ - 'errorCode' => 'TagIsInvalid', - 'errorMessage' => 'The number of Tag exceeds 20.', - ], - [ - 'errorCode' => 'ResourceIdIsInvalid', - 'errorMessage' => 'The number of ResourceId exceeds 50.', - ], - [ - 'errorCode' => 'SystemTagIsInvalid', - 'errorMessage' => 'The number of System Tag exceeds 50.', - ], - [ - 'errorCode' => 'CustomTagIsInvalid', - 'errorMessage' => 'The number of Custom Tag exceeds 20.', - ], + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"97C68796-EB7F-4D41-9D5B-12B909D76508\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>97C68796-EB7F-4D41-9D5B-12B909D76508</RequestId>\\n</TagResourcesResponse>","errorExample":""}]', - 'title' => 'TagResources', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeTagResources' => [ - 'summary' => 'Queries tags that are added to specified resources.', - 'methods' => [ - 'get', - 'post', + 'title' => 'ListRealtimeLogDelivery', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:11.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRealtimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30559C03-86C9-4EEC-B840-0DC5F5A2189B\\",\\n \\"Content\\": {\\n \\"RealtimeLogDeliveryInfo\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"DmId\\": 1001010,\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Logstore\\": \\"test\\",\\n \\"Project\\": \\"test\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListRealtimeLogDeliveryDomains' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -18492,138 +17807,122 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111837', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111863', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'ResourceType', + 'name' => 'Project', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Set the value to **DOMAIN**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'DOMAIN', - ], + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery. You can specify multiple project names and separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'ProjectName', 'title' => ''], ], [ - 'name' => 'ResourceId', + 'name' => 'Logstore', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The IDs of the resources. You can specify up to 50 IDs in each request.', - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the resource. The value is an accelerated domain name.', - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], - 'required' => true, - 'example' => '1', - 'maxItems' => 50, - ], + 'schema' => ['description' => 'The name of the Logstore that collects log data from Alibaba Cloud CDN in real time. You can specify multiple Logstore names and separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'LogstoreName', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'Region', 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The tags. You can specify up to 20 tags in each request.', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag. Valid values of N: **1** to **20**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'key', - ], - 'Value' => [ - 'description' => 'The value of the tag. Valid values of N: **1** to **20**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed. You can specify multiple region IDs and separate them with commas (,).'."\n" + ."\n" + .'For more information about regions, see [Regions that support real-time log delivery](~~144883~~).', 'type' => 'string', 'required' => true, 'example' => 'ch-shanghai', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB', - ], - 'TagResources' => [ - 'description' => 'The tags that are attached to the specified resource.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'Tag' => [ - 'description' => 'The key-value pair of the tag.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'env', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'product', - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D', 'title' => ''], + 'Content' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Domains' => [ + 'description' => 'The information about the accelerated domain names.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status. Valid values:'."\n" + ."\n" + .'- **online**: enabled'."\n" + ."\n" + .'- **offline**: disabled', 'type' => 'string', 'example' => 'online', 'title' => ''], + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'example.com ', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"example.com\\",\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"env\\",\\n \\"Value\\": \\"product\\"\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeTagResourcesResponse>\\n <RequestId>34AB41F1-04A5-496F-8C8D-634BDBE6A9FB</RequestId>\\n <TagResources>\\n <ResourceId>example.com</ResourceId>\\n <Tag>\\n <Key>env</Key>\\n <Value>product</Value>\\n </Tag>\\n </TagResources>\\n</DescribeTagResourcesResponse>","errorExample":""}]', - 'title' => 'DescribeTagResources', - 'description' => '> The maximum number of times that each user can call this operation per second is 10.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', 'description' => ''], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => 'The specified domain name does not exist or does not belong to the current account. Check whether the domain name is valid, belongs to the current account, or has expired.'], + ], + 404 => [ + ['errorCode' => 'LogstoreNotExist', 'errorMessage' => 'Logstore does not exist.', 'description' => 'The specified Logstore does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'title' => 'ListRealtimeLogDeliveryDomains', + 'summary' => 'Queries all domain names that are associated with a specific real-time log delivery configuration record.', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeUserTags' => [ - 'summary' => 'Queries user tags.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:43.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-05T03:20:57.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-10T06:59:26.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRealtimeLogDeliveryDomains'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ListRealtimeLogDeliveryDomains', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\",\\n \\"Content\\": {\\n \\"Domains\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"DomainName\\": \\"example.com \\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListRealtimeLogDeliveryInfos' => [ + 'summary' => 'Queries real-time log delivery configurations in a specified region.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -18632,11 +17931,10 @@ 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '111843', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111864', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [], 'responses' => [ @@ -18644,214 +17942,98 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB', - ], - 'Tags' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of a tag.'."\n", - 'type' => 'string', - 'example' => 'env', - ], - 'Value' => [ - 'description' => 'The tag values returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The value of a tag.'."\n", - 'type' => 'string', - 'example' => 'product', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D', 'title' => ''], + 'Content' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RealtimeLogDeliveryInfos' => [ + 'description' => 'The information about real-time log delivery.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Logstore' => ['description' => 'The name of the Logstore that collects log data from Alibaba Cloud CDN in real time.', 'type' => 'string', 'example' => 'LogstoreName', 'title' => ''], + 'Project' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'example' => 'ProjectName', 'title' => ''], + 'Region' => ['description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).', 'type' => 'string', 'example' => 'ch-shanghai', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"env\\",\\n \\"Value\\": [\\n \\"product\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserTagsResponse>\\n <Tags>\\n <Key>env</Key>\\n <Value>product</Value>\\n <Value>pre</Value>\\n <Value>daily</Value>\\n </Tags>\\n <Tags>\\n <Key>region</Key>\\n <Value>hangzhou</Value>\\n </Tags>\\n <RequestId>34AB41F1-04A5-496F-8C8D-634BDBE6A9FB</RequestId>\\n</DescribeUserTagsResponse>","errorExample":""}]', - 'title' => 'DescribeUserTags', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Unauthorized', 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], + ], + ], + 'title' => 'ListRealtimeLogDeliveryInfos', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UntagResources' => [ - 'summary' => 'Removes tags from specified resources.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-12-05T03:20:57.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRealtimeLogDeliveryInfos'], ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111919', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resources from which you want to remove tags. Set this parameter to **DOMAIN**.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'DOMAIN', - 'enum' => [ - 'DOMAIN', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListRealtimeLogDeliveryInfos', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - [ - 'name' => 'All', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all tags. Valid values:'."\n" - ."\n" - .'* **true**: yes.'."\n" - .'* **false**: no.'."\n" - ."\n" - .'Default value: **false**.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - [ - 'name' => 'ResourceId', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of resource IDs. You can specify up to 50 resource IDs in the list.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of a resource.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-res.dutenews.com', - ], - 'required' => true, - 'example' => 'example.com', - 'maxItems' => 51, - ], - ], - [ - 'name' => 'TagKey', - 'in' => 'query', - 'style' => 'repeatList', - 'schema' => [ - 'description' => 'The list of tag keys. You can specify up to 20 tag keys in the list.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The key of a tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'env', - ], - 'required' => false, - 'example' => 'env', - 'maxItems' => 21, - ], - ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508', - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'TagIsInvalid', - 'errorMessage' => 'The number of Tag exceeds 20.', - ], - [ - 'errorCode' => 'ResourceIdIsInvalid', - 'errorMessage' => 'The number of ResourceId exceeds 50.', - ], - [ - 'errorCode' => 'TagKeyRepeated', - 'errorMessage' => 'The specified TagKey is duplicated.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"97C68796-EB7F-4D41-9D5B-12B909D76508\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>97C68796-EB7F-4D41-9D5B-12B909D76508</RequestId>\\n</UntagResourcesResponse>","errorExample":""}]', - 'title' => 'UntagResources', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\",\\n \\"Content\\": {\\n \\"RealtimeLogDeliveryInfos\\": [\\n {\\n \\"Logstore\\": \\"LogstoreName\\",\\n \\"Project\\": \\"ProjectName\\",\\n \\"Region\\": \\"ch-shanghai\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListTagResources' => [ - 'summary' => 'Queries the tags that are attached to a resource.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111865', - 'abilityTreeNodes' => [ - 'FEATUREcdnFGPKCB', - ], - ], + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'TagOwnerUid', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Alibaba Cloud account to which the tag belongs.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '123xxxx', - ], + 'schema' => ['description' => 'The ID of the Alibaba Cloud account to which the tag belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => '123xxxx'], ], [ 'name' => 'TagOwnerBid', 'in' => 'query', - 'schema' => [ - 'description' => 'The business ID of the tag owner.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '26842', - ], + 'schema' => ['description' => 'The business ID of the tag owner.'."\n", 'type' => 'string', 'required' => false, 'example' => '26842'], ], [ 'name' => 'ResourceType', @@ -18861,20 +18043,13 @@ 'type' => 'string', 'required' => true, 'example' => 'DOMAIN', - 'enum' => [ - 'DOMAIN', - ], + 'enum' => ['DOMAIN'], ], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'QpgBAAAAAABsb2dzL2RzLw==', - ], + 'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'example' => 'QpgBAAAAAABsb2dzL2RzLw=='], ], [ 'name' => 'ResourceId', @@ -18883,12 +18058,7 @@ 'schema' => [ 'description' => 'The ID of the resource.'."\n", 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the instance N. Valid values of N: 1 to 50.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'items' => ['description' => 'The ID of the instance N. Valid values of N: 1 to 50.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com'], 'required' => false, 'maxItems' => 51, ], @@ -18904,18 +18074,8 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testKey', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testValue', - ], + 'Key' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testKey'], + 'Value' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testValue'], ], 'required' => false, ], @@ -18930,16 +18090,8 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'type' => 'string', - 'example' => 'QpgBAAAAAABsb2dzL2RzLw==', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', - ], + 'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'QpgBAAAAAABsb2dzL2RzLw=='], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '64D28B53-5902-409B-94F6-FD46680144FE'], 'TagResources' => [ 'type' => 'object', 'itemNode' => true, @@ -18951,26 +18103,10 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'TagValue' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'testValue', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource. Set the value to **DOMAIN**.'."\n", - 'type' => 'string', - 'example' => 'DOMAIN', - ], - 'ResourceId' => [ - 'description' => 'The ID of the resource.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'TagKey' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'testKey', - ], + 'TagValue' => ['description' => 'The value of the tag.'."\n", 'type' => 'string', 'example' => 'testValue'], + 'ResourceType' => ['description' => 'The type of the resource. Set the value to **DOMAIN**.'."\n", 'type' => 'string', 'example' => 'DOMAIN'], + 'ResourceId' => ['description' => 'The ID of the resource.'."\n", 'type' => 'string', 'example' => 'example.com'], + 'TagKey' => ['description' => 'The key of the tag.'."\n", 'type' => 'string', 'example' => 'testKey'], ], ], ], @@ -18983,155 +18119,38 @@ ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidRegionId.Malformed', - 'errorMessage' => 'The specified RegionId is invalid.', - ], - [ - 'errorCode' => 'MissParameter.TagOrResourceId', - 'errorMessage' => 'Either Tag or ResourceId must be specified.', - ], - [ - 'errorCode' => 'TagIsInvalid', - 'errorMessage' => 'The number of Tag exceeds 20.', - ], - [ - 'errorCode' => 'ResourceIdIsInvalid', - 'errorMessage' => 'The number of ResourceId exceeds 50.', - ], - [ - 'errorCode' => 'TagKeyIsInvalid', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'TagValueIsInvalid', - 'errorMessage' => 'The specified TagValue is invalid.', - ], + ['errorCode' => 'InvalidRegionId.Malformed', 'errorMessage' => 'The specified RegionId is invalid.', 'description' => ''], + ['errorCode' => 'MissParameter.TagOrResourceId', 'errorMessage' => 'Either Tag or ResourceId must be specified.', 'description' => ''], + ['errorCode' => 'TagIsInvalid', 'errorMessage' => 'The number of Tag exceeds 20.', 'description' => ''], + ['errorCode' => 'ResourceIdIsInvalid', 'errorMessage' => 'The number of ResourceId exceeds 50.', 'description' => 'The number of resource IDs (ResourceId) cannot exceed 50.'], + ['errorCode' => 'TagKeyIsInvalid', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'TagValueIsInvalid', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"QpgBAAAAAABsb2dzL2RzLw==\\",\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"TagValue\\": \\"testValue\\",\\n \\"ResourceType\\": \\"DOMAIN\\",\\n \\"ResourceId\\": \\"example.com\\",\\n \\"TagKey\\": \\"testKey\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'ListTagResources', - ], - 'CreateCdnSubTask' => [ - 'summary' => 'Creates a custom operations report.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '111694', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], - ], - 'parameters' => [ - [ - 'name' => 'ReportIds', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The IDs of the metrics that you want to include in the report. Separate multiple IDs with commas (,). Valid values:'."\n" - ."\n" - .'* **1**: frequently requested URLs (ranked by the number of requests)'."\n" - .'* **3**: frequently requested URLs (ranked by the amount of network traffic)'."\n" - .'* **5**: frequently used Referer headers (ranked by the number of requests)'."\n" - .'* **7**: frequently used Referer headers (ranked by the amount of network traffic)'."\n" - .'* **9**: frequently requested URLs that are redirected to the origin (ranked by the number of requests)'."\n" - .'* **11**: frequently requested URLs that are redirected to the origin (ranked by the amount of network traffic)'."\n" - .'* **13**: top client IP addresses (ranked by the number of requests)'."\n" - .'* **15**: top client IP addresses (ranked by the amount of network traffic)'."\n" - .'* **17**: domain names ranked by the amount of network traffic'."\n" - .'* **19**: page views and unique visitors'."\n" - .'* **21**: regions from which requests are initiated'."\n" - .'* **23**: Internet service providers (ISPs)'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1,3,5', - ], - ], - [ - 'name' => 'DomainName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The domain names to be tracked. Separate multiple domain names with commas (,). You can specify up to 500 domain names. If you want to specify more than 500 domain names, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" - ."\n" - .'> If you do not specify a domain name, the custom operations report is created for all domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example1.com,www.example2.com', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'summary' => 'Queries the tags that are attached to a resource.', + 'changeSet' => [ + ['createdAt' => '2024-11-25T06:16:14.000Z', 'description' => 'Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCdnSubTaskResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</CreateCdnSubTaskResponse>","errorExample":""}]', - 'title' => 'CreateCdnSubTask', - 'description' => '* This operation allows you to create a custom operations report for a specific domain name. You can view the statistics about the domain name in the report.'."\n" - .'* You can call this operation up to three times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeCdnSubList' => [ - 'summary' => 'Queries the tracking tasks that you have created.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListUserCustomLogConfig' => [ + 'summary' => 'Queries all custom log configurations in your account.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19139,13 +18158,12 @@ ], 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '111743', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'abilityTreeCode' => '111866', + 'abilityTreeNodes' => ['FEATUREcdnGZSOSW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [], 'responses' => [ @@ -19153,133 +18171,68 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Content' => [ - 'description' => 'The information about the custom report task.'."\n", + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D', 'title' => ''], + 'ConfigIds' => [ 'type' => 'object', - 'example' => '{"RequestId":"3250A51D-C11D-46BA-B6B3-95348EEDE652","Description":"Successful","Content":{"data":\\[{"subId":5,"reportId":\\[1,2,3],"createTime":"2020-09-25T09:39:33Z","domains"\\["www.example.com","www.example.com"],"effectiveFrom":"2020-09-17T00:00:00Z","effectiveEnd":"2020-11-17T00:00:00Z","status":"enable"}]}}'."\n", + 'itemNode' => true, 'properties' => [ - 'data' => [ - 'title' => '运营报表定制信息主体', + 'ConfigId' => [ + 'description' => 'The list of log configuration IDs.', 'type' => 'array', - 'items' => [ - 'title' => '运营报表定制信息主体', - 'type' => 'object', - 'properties' => [ - 'createTime' => [ - 'title' => '定制的创建时间', - 'type' => 'string', - 'example' => '2024-05-16T09:43:38Z', - ], - 'domains' => [ - 'title' => '定制域名,all表示全部域名', - 'type' => 'array', - 'items' => [ - 'title' => '定制域名,all表示全部域名', - 'type' => 'string', - 'example' => 'a.b.com', - ], - ], - 'effectiveEnd' => [ - 'title' => '定制有效截止时间', - 'type' => 'string', - 'example' => '2024-05-16T09:43:38Z', - ], - 'effectiveFrom' => [ - 'title' => '定制有效开始时间', - 'type' => 'string', - 'example' => '2024-05-16T09:43:38Z', - ], - 'reportId' => [ - 'title' => '定制的报表ID列表', - 'type' => 'array', - 'items' => [ - 'title' => '定制的报表ID列表', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - 'status' => [ - 'title' => '定制状态', - 'type' => 'string', - 'example' => 'enable', - ], - 'subId' => [ - 'title' => '定制记录ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], + 'items' => ['description' => 'The ID of the log configuration.', 'type' => 'string', 'example' => 'c3bb2c78-2915-4d5a-b6a1-557789255555', 'title' => ''], + 'title' => '', + 'example' => '', ], ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3250A51D-C11D-46BA-B6B3-95348EEDE652', + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + 404 => [ + ['errorCode' => 'ConfgIds.NotFound', 'errorMessage' => 'You don\'t have any custom log config, please add first.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"createTime\\": \\"2024-05-16T09:43:38Z\\",\\n \\"domains\\": [\\n \\"a.b.com\\"\\n ],\\n \\"effectiveEnd\\": \\"2024-05-16T09:43:38Z\\",\\n \\"effectiveFrom\\": \\"2024-05-16T09:43:38Z\\",\\n \\"reportId\\": [\\n 1\\n ],\\n \\"status\\": \\"enable\\",\\n \\"subId\\": 1\\n }\\n ]\\n },\\n \\"RequestId\\": \\"3250A51D-C11D-46BA-B6B3-95348EEDE652\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnSubListResponse>\\n <RequestId>3250A51D-C11D-46BA-B6B3-95348EEDE652</RequestId>\\n <Description>成功</Description>\\n <Content>\\n <data>\\n <subId>5</subId>\\n <reportId>1</reportId>\\n <reportId>2</reportId>\\n <reportId>3</reportId>\\n <createTime>2020-09-25T09:39:33Z</createTime>\\n <domains>www.example.com</domains>\\n <domains>www.example.com</domains>\\n <effectiveFrom>2020-09-17T00:00:00Z</effectiveFrom>\\n <effectiveEnd>2020-11-17T00:00:00Z</effectiveEnd>\\n <status>enable</status>\\n </data>\\n </Content>\\n</DescribeCdnSubListResponse>","errorExample":""}]', - 'title' => 'DescribeCdnSubList', - 'description' => '* By default, this operation queries all custom operations reports. However, only one operations report can be displayed. Therefore, only one operations report is returned.'."\n" - .'* You can call this operation up to three times per second per account.'."\n", + 'title' => 'ListUserCustomLogConfig', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', - 'responseParamsDescription' => '**Fields of the data parameter**'."\n" - ."\n" - .'|Field|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|subId|Long|The ID of the request.|'."\n" - .'|reportId|Long\\[\\]|The ID of the report.|'."\n" - .'|createTime|String|The time when the report was created.|'."\n" - .'|domains|String\\[\\]|The domain names from which the custom report task collects data.|'."\n" - .'|effectiveFrom|String|The start time of the custom report task.|'."\n" - .'|effectiveEnd|String|The end time of the custom report task.|'."\n" - .'|status|String|The status of the custom report task. Valid values : **enable** **disable**|', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateCdnSubTask' => [ - 'summary' => 'Updates one or more operations reports.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:52:05.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserCustomLogConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'cdn:ListUserCustomLogConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95D5B69F-8AEC-419B-8F3A-612B35032B0D\\",\\n \\"ConfigIds\\": {\\n \\"ConfigId\\": [\\n \\"c3bb2c78-2915-4d5a-b6a1-557789255555\\"\\n ]\\n }\\n}","type":"json"}]', + ], + 'ModifyCdnDomain' => [ + 'summary' => 'Updates an accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19288,51 +18241,33 @@ 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '111921', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'abilityTreeCode' => '111869', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB', 'FEATUREcdn9UE6OO'], ], 'parameters' => [ [ - 'name' => 'ReportIds', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The IDs of operations reports that you want to update. Separate IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1,2,3', - ], + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'DomainName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The domain name that you want to track. You can specify up to 500 domain names in each request. If you specify multiple domain names, separate them with commas (,). If you do not specify a domain name, operations reports are updated for all domain names in your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example.com', - ], + 'name' => 'Sources', + 'in' => 'query', + 'schema' => ['description' => 'The information about the addresses of origin servers.'."\n" + ."\n" + .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.', 'type' => 'string', 'required' => false, 'example' => '[{"content":"1.1.1.1","type":"ipaddr","priority":"20","port":80,"weight":"15"}]', 'title' => ''], ], [ - 'name' => 'StartTime', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The start time of the operations report. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-09-17T00:00:00Z', - ], + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the resource group.', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmyuji4b6r4**', 'title' => ''], ], [ - 'name' => 'EndTime', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The end time of the operations report. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-11-17T00:00:00Z', - ], + 'name' => 'TopLevelDomain', + 'in' => 'query', + 'schema' => ['description' => 'The root domain. To add a root domain name, you must be added to the whitelist specified by the CDN\\_TOP\\_LEVEL\\_DOMAIN\\_GREY\\_USER\\_LIST parameter.'."\n" + ."\n" + .'> Do not set **Sources** and **TopLevelDomain** at the same time. If you set **Sources** and **TopLevelDomain** at the same time, **TopLevelDomain** does not take effect.', 'type' => 'string', 'required' => false, 'example' => 'aliyundoc.com', 'title' => ''], ], ], 'responses' => [ @@ -19340,233 +18275,180 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + ['errorCode' => 'Abs.Sources.Malformed', 'errorMessage' => 'The specified Sources is invalid.', 'description' => 'The specified origin is invalid.'], + ['errorCode' => 'MissingDomainName', 'errorMessage' => 'The domainName parameter is required.', 'description' => ''], + ['errorCode' => 'InvalidDomainName.Malformed', 'errorMessage' => 'The specified DomainName is invalid.', 'description' => 'The specified domain name is invalid.'], + ['errorCode' => 'InvalidSource.Content.Malformed', 'errorMessage' => 'The specified Source Content is invalid.', 'description' => 'The specified origin address is invalid.'], + ['errorCode' => 'InvalidTypeContent.Mismatch', 'errorMessage' => 'The specified source type does not match the specified source content.', 'description' => ''], + ['errorCode' => 'MissingSource.Content', 'errorMessage' => 'The Source Content must be specified.', 'description' => 'You must specify the origin information.'], + ['errorCode' => 'MissingSource.Type', 'errorMessage' => 'The Source Type must be specified.', 'description' => ''], + ['errorCode' => 'InvalidSource.Type.Malformed', 'errorMessage' => 'The specified Source Type is invalid.', 'description' => ''], + ['errorCode' => 'InvalidSource.Priority.Malformed', 'errorMessage' => 'The specified Source Priority is invalid.', 'description' => ''], + ['errorCode' => 'InvalidResourceGroupId.Malformed', 'errorMessage' => 'The specified ResourceGroupId is invalid.', 'description' => ''], + ['errorCode' => 'EntityNotExists.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified ResourceGroup parameter does not exist.'], + ['errorCode' => 'EntityNotExist.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The specified resource group does not exist.'], + ['errorCode' => 'InvalidStatus.ResourceGroup', 'errorMessage' => 'It is not allowed to do this operation because of the current status of resource-group.', 'description' => 'This operation is not supported while the resource group is in the current state.'], + ['errorCode' => 'TopLevelDomain.NotFound', 'errorMessage' => 'TopLevelDomain is not exist.', 'description' => 'The specified TopLevelDomain parameter does not exist.'], + ['errorCode' => 'InvalidTopLevelDomain.Malformed', 'errorMessage' => 'Specified TopLevelDomain is malformed.', 'description' => 'The specified TopLevelDomain parameter is invalid.'], + ['errorCode' => 'TopLevelDomain.Mismatch', 'errorMessage' => 'The specified TopLevelDomain does not match webSiteType.', 'description' => 'The top-level domain name does not match the domain name type.'], + ['errorCode' => 'SourceInBlacklist', 'errorMessage' => 'Source is in the blacklist.', 'description' => 'The origin server is in the blacklist.'], + ], + 403 => [ + ['errorCode' => 'DomainInProtectedMode', 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCdnSubTaskResponse>\\r\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</UpdateCdnSubTaskResponse>","errorExample":""}]', - 'title' => 'UpdateCdnSubTask', - 'description' => '> You can call this operation up to three times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","type":"json"}]', + 'title' => 'ModifyCdnDomain', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => 'The following table describes the fields in the Sources parameter.'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| -------- | ------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| type | String | Yes | The type of the origin server.ipaddr: an IP addressdomain: a domain nameoss: the domain name of an Object Storage Service (OSS) bucketfc_domain: a Function Compute domain name |'."\n" + .'| content | String | Yes | The address of the origin server. You can specify an IP address or a domain name. |'."\n" + .'| port | Integer | No | The port number. You can specify port 80, port 443, or a custom port. Default value: 80. If you specify port 443, CDN communicates with the origin server over HTTPS. |'."\n" + .'| priority | String | No | The priority of the origin server if multiple origin servers are specified. Valid values: 20 and 30. Default value: 20. A value of 20 specifies that the origin is a primary origin. A value of 30 specifies that the origin is a secondary origin. |'."\n" + .'| weight | String | No | The weight of the origin server if multiple origin servers are specified. You must specify a value that is less than 100. Default value: 10. |', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCdnSubTask' => [ - 'summary' => 'The ID of the request.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:04:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:53:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-06-08T02:50:11.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'ModifyCdnDomainOwner' => [ + 'summary' => 'Transfer domain names from an Alibaba Cloud account to the current account.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111703', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], + 'parameters' => [ + [ + 'name' => 'DomainName', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C98E518B-024E-538E-8276-66310CB8667D', 'title' => ''], + 'Content' => ['description' => 'The description of the domain name transfer.', 'type' => 'object', 'example' => '{'."\n" + .' "Domain ownership verification": false'."\n" + .'}', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + ['errorCode' => 'InvalidDomain.NotExist', 'errorMessage' => 'The domain you provided is not exist.', 'description' => 'The domain name you provided does not exist.'], + ['errorCode' => 'DomainTransferFail', 'errorMessage' => 'The domain does not allow to transfer to a different account.', 'description' => 'The domain name cannot be transferred.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCdnSubTaskResponse>\\r\\n<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</DeleteCdnSubTaskResponse>","errorExample":""}]', - 'title' => 'DeleteCdnSubTask', - 'description' => '> You can call this API operation up to three times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeCdnReport' => [ - 'summary' => 'Queries the content of an operations report.', - 'methods' => [ - 'get', - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C98E518B-024E-538E-8276-66310CB8667D\\",\\n \\"Content\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n}","type":"json"}]', + 'title' => 'ModifyCdnDomainOwner', + 'description' => 'This operation is used in the following scenario:'."\n" + ."\n" + .'- You have multiple Alibaba Cloud accounts and want to transfer domain names from Account A to Account B.'."\n" + ."\n" + .'- You are prompted that a domain name has been added when you add the domain name to Alibaba Cloud CDN. You do not know which account does the domain name belong to, and you want to transfer the domain name to your current account.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:56.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnDomainOwner'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnDomainOwner', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '111737', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', + 'translator' => 'manual', + ], + 'ModifyCdnDomainSchdmByProperty' => [ + 'summary' => 'Changes the acceleration region for an accelerated domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The domain name that you want to query. Separate domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example1.com,example2.com', - ], + 'schema' => ['description' => 'The accelerated domain name for which you want to change the acceleration region. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'ReportId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the operations report that you want to query. You can specify only one ID in each request. You can call the [DescribeCdnSubList](~~271655~~) operation to query report IDs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], - ], - [ - 'name' => 'Area', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n" - ."\n" - .'* If you do not specify a region, data in all regions is queried.'."\n" - .'* If you specify a region, data in the specified region is queried. You can specify one or more regions. If you specify multiple regions, separate the regions with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'shanghai', - ], - ], - [ - 'name' => 'IsOverseas', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether the region is outside the Chinese mainland. Valid values:'."\n" - ."\n" - .'* **1**: outside the Chinese mainland'."\n" - .'* **0**: inside the Chinese mainland'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'HttpCode', - 'in' => 'query', - 'schema' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**'."\n" - .'* **3xx**'."\n" - .'* **4xx**'."\n" - .'* **5xx**'."\n" - ."\n" - .'If you do not specify this parameter, all HTTP status codes are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2xx', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-09-17T00:00:00Z', - ], - ], - [ - 'name' => 'EndTime', + 'name' => 'Property', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2020-09-17T01:00:00Z', - ], + 'schema' => ['description' => 'The information about the acceleration region. {"coverage":"overseas"}'."\n" + ."\n" + .'Valid values for coverage:'."\n" + ."\n" + .'- **domestic**: Chinese mainland'."\n" + ."\n" + .'- **overseas**: global (excluding the Chinese mainland)'."\n" + ."\n" + .'- **global**: global', 'type' => 'string', 'required' => true, 'example' => '{"coverage":"overseas"}', 'title' => ''], ], ], 'responses' => [ @@ -19574,195 +18456,75 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'Content' => [ - 'description' => 'The content of the operations report.'."\n", - 'type' => 'object', - 'example' => '"data":[{"deliver":{"report":{"title":"TopUrlByAcc","format":"table","shape":"","header":["url","traf","traf_rate","acc","acc_rate"]}},"data":[{"acc":440,"acc_rate":"0.200%","traf":22,"url":"http://demo.com","traf_rate":"0.100%"},{"acc":440,"acc_rate":"0.200%","traf":22,"url":"http://demo.com","traf_rate":"0.100%"}]}]}}', - 'properties' => [ - 'data' => [ - 'title' => '报表主体', - 'type' => 'array', - 'items' => [ - 'title' => '报表', - 'type' => 'object', - 'properties' => [ - 'data' => [ - 'title' => '报表具体数据', - 'type' => 'array', - 'items' => [ - 'title' => '每行数据内容', - 'type' => 'object', - 'additionalProperties' => [ - 'title' => '数据值', - 'type' => 'string', - ], - ], - ], - 'deliver' => [ - 'title' => '交付方式', - 'type' => 'object', - 'properties' => [ - 'report' => [ - 'title' => '报表相关信息', - 'type' => 'object', - 'properties' => [ - 'format' => [ - 'title' => '报表格式', - 'type' => 'string', - 'example' => 'table', - ], - 'header' => [ - 'title' => '表头', - 'type' => 'array', - 'items' => [ - 'title' => '表头', - 'type' => 'string', - 'example' => 'acc', - ], - ], - 'outLine' => [ - 'title' => '输出行数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'outSize' => [ - 'title' => '输出大小', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'shape' => [ - 'title' => '图表图形', - 'type' => 'string', - 'example' => 'line', - ], - 'title' => [ - 'title' => '报表标题', - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + ['errorCode' => 'Schedule.NotFound', 'errorMessage' => 'there is no schedule domain found by the targeted coverage value', 'description' => ''], + ['errorCode' => 'DomainTraffic.ExceedThreshold', 'errorMessage' => 'not allowed to do this operation because the last day traffic exceeds the threshold', 'description' => ''], + ['errorCode' => 'Domain.BeianInvalid', 'errorMessage' => 'not allowed to do this operation because the domain registration record invalid in China main land', 'description' => ''], + ['errorCode' => 'Schedule.ChangeFail', 'errorMessage' => 'change domain failed', 'description' => ''], + ['errorCode' => 'InvalidTopLevelDomain.Malformed', 'errorMessage' => 'Specified TopLevelDomain is malformed.', 'description' => 'The specified TopLevelDomain parameter is invalid.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"data\\": [\\n {\\n \\"key\\": \\"\\"\\n }\\n ],\\n \\"deliver\\": {\\n \\"report\\": {\\n \\"format\\": \\"table\\",\\n \\"header\\": [\\n \\"acc\\"\\n ],\\n \\"outLine\\": 0,\\n \\"outSize\\": 0,\\n \\"shape\\": \\"line\\",\\n \\"title\\": \\"test\\"\\n }\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnReportResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Description>成功</Description>\\n <Content>\\n <data>\\n <deliver>\\n <report>\\n <title>TopUrlByAcc</title>\\n <format>table</format>\\n <shape/>\\n <header>url</header>\\n <header>traf</header>\\n <header>traf_rate</header>\\n <header>acc</header>\\n <header>acc_rate</header>\\n </report>\\n </deliver>\\n <data>\\n <acc>440</acc>\\n <acc_rate>0.200%</acc_rate>\\n <traf>22</traf>\\n <url>http://demo.com</url>\\n <traf_rate>0.100%</traf_rate>\\n </data>\\n <data>\\n <acc>440</acc>\\n <acc_rate>0.200%</acc_rate>\\n <traf>22</traf>\\n <url>http://demo.com</url>\\n <traf_rate>0.100%</traf_rate>\\n </data>\\n </data>\\n </Content>\\n</DescribeCdnReportResponse>","errorExample":""}]', - 'title' => 'DescribeCdnReport', - 'description' => '> You can call this operation up to three times per second per account.'."\n", - 'requestParamsDescription' => '**Parameters required by each report metric**'."\n" - ."\n" - .'|Report metric|Required parameter|Description|'."\n" - .'|---|---|---|'."\n" - .'|PV and UV|Action, ReportId, DomainName, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Top client IP addresses by traffic|Action, ReportId, DomainName, Area, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Top client IPs by request|Action, ReportId, DomainName, Area, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Visit distribution by region|Action, ReportId, DomainName, IsOverseas, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Distribution of Internet service providers (ISPs)|Action, ReportId, DomainName, IsOverseas, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular Referers by traffic|Action, ReportId, DomainName, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular Referers by request|Action, ReportId, DomainName, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular URLs by traffic|Action, ReportId, DomainName, HttpCode, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular URLs by request|Action, ReportId, DomainName, HttpCode, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular back-to-origin URLs by traffic|Action, ReportId, DomainName, HttpCode, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular back-to-origin URLs by request|Action, ReportId, DomainName, HttpCode, StartTime, and EndTime|Other parameters are not supported.|'."\n" - .'|Popular domain names by traffic|Action, ReportId, StartTime, and EndTime|Other parameters are not supported.|', - 'responseParamsDescription' => '**Fields in the data parameter**'."\n" - ."\n" - .'|Field|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|deliver|report|The type of the report.|'."\n" - .'|data|String\\[\\]|The content in the operations report. Example: \\[{"Header Field 1":"value1","Header Field 2":"value2"}, {"Header Field 1":"value3","Header Field 2":"value4"}\\].|'."\n" - ."\n\n" - .'**Fields in the report parameter**'."\n" - ."\n" - .'|Field|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|title|String|The title of the report.|'."\n" - .'|format|String|The format of the report. Valid values:charttable|'."\n" - .'|shape|String|The format of the chart. If format is table, ignore this field. Valid values:linepiebar|'."\n" - .'|header|String\\[\\]|The fields that are used as the table headers.|'."\n" - .'|legend|String|The fields that are used as the legends.|'."\n" - .'|xAxis|String|The x-axis of the chart. If you do not specify a value, the chart does not have an x-axis.|'."\n" - .'|yAxis|String|The y-axis of the chart. If you do not specify a value, the chart does not have a y-axis.|', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'ModifyCdnDomainSchdmByProperty', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnReportList' => [ - 'summary' => 'Queries operations reports.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:51:34.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnDomainSchdmByProperty', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnDomainSchdmByProperty'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'ModifyCdnService' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '111738', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '111871', + 'abilityTreeNodes' => ['FEATUREcdnBXNWCW'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'ReportId', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the operations report that you want to query. If you do not specify an ID, all operations reports are queried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The new metering method for Alibaba Cloud CDN. Valid values:'."\n" + ."\n" + .'* **PayByTraffic**: pay-by-data-transfer'."\n" + .'* **PayByBandwidth**: pay-by-bandwidth'."\n", 'type' => 'string', 'required' => true, 'example' => 'PayByTraffic'], ], ], 'responses' => [ @@ -19770,148 +18532,42 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - 'Content' => [ - 'description' => 'The information about the report that is queried.'."\n", - 'type' => 'object', - 'example' => '"data":[{"reportId":1,"deliver":{"report":{"title":"DomainPvUv","format":"chart","shape":"line","xAxis":"ds","yAxis":"cnt","legend":"cnt_type","header":["ds","cnt_type","cnt"]}}}', - 'properties' => [ - 'data' => [ - 'type' => 'array', - 'items' => [ - 'title' => '返回报表主体', - 'type' => 'object', - 'properties' => [ - 'deliver' => [ - 'title' => '报表展示形式', - 'type' => 'object', - 'properties' => [ - 'report' => [ - 'title' => '报表信息', - 'type' => 'object', - 'properties' => [ - 'format' => [ - 'title' => '展示形式', - 'type' => 'string', - 'example' => 'table', - ], - 'header' => [ - 'title' => '表格表头列表', - 'type' => 'array', - 'items' => [ - 'title' => '表头', - 'type' => 'string', - 'example' => 'url', - ], - ], - 'outLine' => [ - 'title' => '输出行数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'outSize' => [ - 'title' => '输出大小', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'shape' => [ - 'title' => '报表展示图形', - 'type' => 'string', - 'example' => 'line', - ], - 'title' => [ - 'title' => '报表标题', - 'type' => 'string', - 'example' => 'TopUrlByAcc', - ], - ], - ], - ], - ], - 'reportId' => [ - 'title' => '报表ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['type' => 'string', 'description' => 'The ID of the request.'."\n", 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8'], ], - 'title' => '返回主体', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified value of parameter "InternetChargeType" is not valid.', 'description' => ''], + ['errorCode' => 'InsufficientBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], + ['errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_INVALID_PAY_METHOD', 'errorMessage' => 'INVALID_PAY_METHOD', 'description' => 'The specified payment method is invalid.'], + ['errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_HASORDER', 'errorMessage' => 'You have an order not yet effective', 'description' => 'The previous order that you placed has not taken effect.'], + ['errorCode' => 'CSS_CHECK_UPDOWNGRADE_ERROR', 'errorMessage' => 'You have an order not yet effective', 'description' => ''], + ['errorCode' => 'COMMODITY.INVALID_COMPONENT', 'errorMessage' => 'The specified value of parameter "InternetChargeType" is not valid.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0979B99B-4F00-5037-8E15-5F7D4ABF8AA1\\"\\n}","type":"json"}]', + 'title' => 'ModifyCdnService', + 'summary' => 'Changes the metering method of Alibaba Cloud CDN.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"deliver\\": {\\n \\"report\\": {\\n \\"format\\": \\"table\\",\\n \\"header\\": [\\n \\"url\\"\\n ],\\n \\"outLine\\": 0,\\n \\"outSize\\": 0,\\n \\"shape\\": \\"line\\",\\n \\"title\\": \\"TopUrlByAcc\\"\\n }\\n },\\n \\"reportId\\": 1\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnReportListResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n <Description>成功</Description>\\n <Content>\\n <data>\\n <reportId>1</reportId>\\n <deliver>\\n <report>\\n <title>DomainPvUv</title>\\n <format>chart</format>\\n <shape>line</shape>\\n <xAxis>ds</xAxis>\\n <yAxis>cnt</yAxis>\\n <legend>cnt_type</legend>\\n <header>ds</header>\\n <header>cnt_type</header>\\n <header>cnt</header>\\n </report>\\n </deliver>\\n </data>\\n <data>\\n <reportId>2</reportId>\\n <deliver>\\n <report>\\n <format>table</format>\\n <shape>line</shape>\\n <header>url</header>\\n <header>traf</header>\\n <header>traf_rate</header>\\n <header>acc</header>\\n <header>acc_rate</header>\\n <title>TopUrlByAcc</title>\\n </report>\\n </deliver>\\n </data>\\n </Content>\\n</DescribeCdnReportListResponse>","errorExample":""}]', - 'title' => 'DescribeCdnReportList', - 'description' => '* This operation queries the metadata of all operations reports. The statistics in the reports are not returned.'."\n" - .'* You can call this operation up to three times per second per account.'."\n", - 'responseParamsDescription' => '**Fields in the data parameter**'."\n" - ."\n" - .'|Field|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|reportId|Long|The ID of the request.|'."\n" - .'|deliver|report|The type of the report.|'."\n" - ."\n\n" - .'**Fields in the report parameter**'."\n" - ."\n" - .'|Field|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|title|String|The title of the report.|'."\n" - .'|format|String|The format of the report. Valid values:charttable|'."\n" - .'|shape|String|The type of the chart. If the report is a table report, ignore this parameter. Valid values:linepiebar|'."\n" - .'|header|String\\[\\]|The fields that are used as the table headers.|'."\n" - .'|legend|String|The fields that are used as the legends.|'."\n" - .'|xAxis|String|The x-axis of the chart. If the report does not have an a-axis, this parameter is empty.|'."\n" - .'|yAxis|String|The y-axis of the chart. If the report does not have a y-axis, this parameter is empty.|', - 'extraInfo' => ' ', ], - 'CreateCdnDeliverTask' => [ - 'summary' => 'Creates a tracking task. After you create a tracking task, the system sends operations reports to you by email on a regular basis.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ModifyRealtimeLogDelivery' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -19919,64 +18575,32 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '111692', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111875', + 'abilityTreeNodes' => ['FEATUREcdnXDFG0Q'], ], 'parameters' => [ [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the tracking task.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Domain name report'."\n", - ], - ], - [ - 'name' => 'Reports', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The operations reports that are tracked by the task. The data must be escaped in JSON.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '\\[{\\\\"reportId\\\\":1,\\\\"conditions\\\\":\\[{\\\\"field\\\\":\\\\"prov\\\\",\\\\"op\\\\":\\\\"in\\\\",\\\\"value\\\\":\\[\\\\"Heilongjiang\\\\",\\\\"Beijing\\\\"]}]}]'."\n", - ], + 'name' => 'Project', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Log Service project that is used for real-time log delivery.', 'type' => 'string', 'required' => true, 'example' => 'testProject', 'title' => ''], ], [ - 'name' => 'DomainName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The domain names to be tracked. Separate multiple domain names with commas (,). You can specify up to 500 domain names. If you want to specify more than 500 domain names, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" - ."\n" - .'> If you do not specify a domain name, the tracking task is created for all domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example1.com,www.example2.com', - ], + 'name' => 'Logstore', + 'in' => 'query', + 'schema' => ['description' => 'The name of the Logstore where log entries are stored.', 'type' => 'string', 'required' => true, 'example' => 'TestLog', 'title' => ''], ], [ - 'name' => 'Deliver', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The method that is used to send operations reports. Operations reports are sent to you only by email. The settings must be escaped in JSON.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{"email":{"subject":"the email subject","to":\\["username@example.com","username@example.org"]}}'."\n", - ], + 'name' => 'Region', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the Log Service project is deployed. For more information, see [Regions that support real-time log delivery](~~144883~~).', 'type' => 'string', 'required' => true, 'example' => 'ch-shanghai', 'title' => ''], ], [ - 'name' => 'Schedule', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The parameters that specify the time interval at which the tracking task sends operations reports. The settings must be escaped in JSON.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{\\\\"schedName\\\\":\\\\"The name of the tracking task\\\\",\\\\"description\\\\":\\\\"The description\\\\",\\\\"crontab\\\\":\\\\"000\\*\\*?\\\\",\\\\"frequency\\\\":\\\\"d\\\\",\\\\"status\\\\":\\\\"enable\\\\",\\\\"effectiveFrom\\\\":\\\\"2020-09-17T00:00:00Z\\\\",\\\\"effectiveEnd\\\\":\\\\"2020-11-17T00:00:00Z\\\\"}"'."\n", - ], + 'name' => 'Domain', + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name for which you want to update real-time log delivery. Only one domain name is supported.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -19984,384 +18608,157 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DeliverId' => [ - 'description' => 'The ID of the tracking task.'."\n", - 'type' => 'string', - 'example' => '1025', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'InternalException', 'errorMessage' => 'Internal occasional exception, please try again later.', 'description' => 'Internal occasional exception, please try again later.'], + ['errorCode' => 'InvalidDomain.NotFound', 'errorMessage' => 'The domain provided does not exist in our records.', 'description' => 'The specified domain name does not exist or does not belong to the current account. Check whether the domain name is valid, belongs to the current account, or has expired.'], + ], + 404 => [ + ['errorCode' => 'LogstoreNotExist', 'errorMessage' => 'Logstore does not exist.', 'description' => 'The specified Logstore does not exist.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'internal server error', 'description' => 'A service error occurred.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DeliverId\\": \\"1025\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateCdnDeliverTaskResponse>\\n <DeliverId>1025</DeliverId>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</CreateCdnDeliverTaskResponse>","errorExample":""}]', - 'title' => 'CreateCdnDeliverTask', - 'description' => '> You can call this operation up to three times per second per account.'."\n", - 'requestParamsDescription' => '**Fields in the ReDatas parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|reportId|String|Yes|The ID of the operations report.|'."\n" - .'|conditions|ConDatas\\[\\]|No|The filter conditions for the report.|'."\n" - ."\n\n" - .'**Fields in the ConDatas parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|field|String|No|The filter field.|'."\n" - .'|op|String|No|The filter operation.|'."\n" - .'|value|String\\[\\]|No|The array of field values.|'."\n" - ."\n\n" - .'**Fields in the email parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|subject|String|Yes|The email subject.|'."\n" - .'|to|String\\[\\]|Yes|The email addresses to which operations reports are sent.|'."\n" - ."\n\n" - .'**Fields in the Deliver parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|subject|String|No|The email subject.|'."\n" - .'|to|String\\[\\]|Yes|The email addresses to which operations reports are sent.|'."\n" - ."\n\n" - .'**Fields in the Schedule parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|schedName|String|No|The name of the tracking task.|'."\n" - .'|description|String|No|The description of the tracking task.|'."\n" - .'|crontab|String|Yes|Specifies when the tracking task is scheduled to run.|'."\n" - .'|frequency|String|Yes|The interval at which the reports are sent. Valid values:<br>**h**: by hour<br>**d**: by day<br>**w**: by week|'."\n" - .'|status|String|No|The status of the tracking task. Valid values : <br>**enable** <br>**disable**|'."\n" - .'|effectiveFrom|String|No|The start time of the tracking task.|'."\n" - .'|effectiveEnd|String|No|The end time of the tracking task.|', + 'title' => 'ModifyRealtimeLogDelivery', + 'summary' => 'Updates real-time log delivery for a specific domain name. Each domain name supports only one Logstore.', + 'description' => '> Each account can call this operation up to 100 times per second.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeCdnDeliverList' => [ - 'summary' => 'Queries one or more tracking tasks of operations reports.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:50:40.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-02-25T01:18:24.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-12-05T03:21:14.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyRealtimeLogDelivery'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ModifyRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\"\\n}","type":"json"}]', + ], + 'OpenCdnService' => [ + 'summary' => 'Activates Alibaba Cloud CDN. You must activate Alibaba Cloud CDN before you can manage domain names in Alibaba Cloud CDN.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '111724', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '111877', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DeliverId', + 'name' => 'InternetChargeType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the tracking task that you want to query. If you do not specify an ID, all tracking tasks are queried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The metering method of Alibaba Cloud CDN. A value of **PayByTraffic** indicates that the metering method is pay-by-data-transfer.', 'type' => 'string', 'required' => true, 'example' => 'PayByTraffic', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data structure of the response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '12345', - ], - 'Content' => [ - 'description' => 'The information about the tracking task.'."\n", - 'type' => 'object', - 'example' => '"data": \\[{"deliverId": 1,"status": "enable","createTime": "2020-10-14T11:19:26Z","crontab": "0 0 0 \\* \\* ?","frequency": "d","name": "The name of the tracking task","dmList": \\["www.example.com"],"reports": \\[{"reportId": 1,"conditions": \\[{"op": "in","field": "prov","value": \\["Heilongjiang","Beijing"]}} },{"reportId": 2}],"deliver": {"email": {"subject": "subject","to": \\["example@alibaba-inc.com","example@alibaba-inc.com"]}}}]}'."\n", - 'properties' => [ - 'data' => [ - 'title' => '订阅内容主体', - 'type' => 'array', - 'items' => [ - 'title' => '订阅内容主体', - 'type' => 'object', - 'properties' => [ - 'createTime' => [ - 'title' => '创建时间', - 'type' => 'string', - 'example' => '2021-12-30T10:29:29Z', - ], - 'crontab' => [ - 'title' => '定时任务配置', - 'type' => 'string', - 'example' => '00 00 08 * * ?', - ], - 'deliver' => [ - 'title' => '订阅形式', - 'type' => 'object', - 'properties' => [ - 'email' => [ - 'title' => '邮件订阅内容', - 'type' => 'object', - 'properties' => [ - 'to' => [ - 'title' => '收件人', - 'type' => 'array', - 'items' => [ - 'title' => '邮箱地址', - 'type' => 'string', - 'example' => 'xx@xx.xx', - ], - ], - ], - ], - ], - ], - 'deliverId' => [ - 'title' => '订阅ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'dmList' => [ - 'title' => '域名列表', - 'type' => 'array', - 'items' => [ - 'title' => '域名', - 'type' => 'string', - 'example' => 'a.b.c', - ], - ], - 'frequency' => [ - 'title' => '订阅发送频率', - 'type' => 'string', - 'example' => 'd', - ], - 'name' => [ - 'title' => '订阅名称', - 'type' => 'string', - 'example' => 'xxxx', - ], - 'reports' => [ - 'title' => '订阅的报表列表', - 'type' => 'array', - 'items' => [ - 'title' => '报表', - 'type' => 'object', - 'properties' => [ - 'reportId' => [ - 'title' => '报表ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - ], - 'status' => [ - 'title' => '订阅状态', - 'type' => 'string', - 'example' => 'enable', - ], - 'timeEndFormat' => [ - 'title' => '订阅生效截止时间', - 'type' => 'string', - 'example' => '-1d', - ], - 'timeFromFormat' => [ - 'title' => '订阅生效开始时间', - 'type' => 'string', - 'example' => '-1d', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508', 'title' => ''], ], - 'title' => '返回主体', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + ['errorCode' => 'InvalidInternetChargeType.ValueNotSupported', 'errorMessage' => 'The specified value of parameter InternetChargeType is not valid.', 'description' => ''], + ['errorCode' => 'CdnService.HasOpened', 'errorMessage' => 'Your cdn service has opened.', 'description' => 'The CDN service is already activated.'], + ['errorCode' => 'InsufficientBalance', 'errorMessage' => 'Your account does not have enough balance.', 'description' => ''], + ['errorCode' => 'NoRealNameAuthentication', 'errorMessage' => 'Real name authentication is needed.', 'description' => 'You have not activated real-name authentication for your account'], + ['errorCode' => 'VertifyFailInvalidPayMethod', 'errorMessage' => 'INVALID PAY METHOD', 'description' => ''], + ['errorCode' => 'VertifyFailUserProfileComplete', 'errorMessage' => 'MISSING USERPROFILE', 'description' => ''], + ['errorCode' => 'CreateOrderFailed', 'errorMessage' => 'Create order failed', 'description' => ''], + ['errorCode' => 'QueryInfoError', 'errorMessage' => 'Create order failed', 'description' => ''], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The input parameter OwnerId or OwnerAccount that is mandatory for processing this request is not supplied.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'Forbidden.Intl', 'errorMessage' => 'User not authorized to open Intl service.', 'description' => ''], + ['errorCode' => 'Forbidden.BidUser', 'errorMessage' => 'Bid user is limited to open service.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"12345\\",\\n \\"Content\\": {\\n \\"data\\": [\\n {\\n \\"createTime\\": \\"2021-12-30T10:29:29Z\\",\\n \\"crontab\\": \\"00 00 08 * * ?\\",\\n \\"deliver\\": {\\n \\"email\\": {\\n \\"to\\": [\\n \\"xx@xx.xx\\"\\n ]\\n }\\n },\\n \\"deliverId\\": 1,\\n \\"dmList\\": [\\n \\"a.b.c\\"\\n ],\\n \\"frequency\\": \\"d\\",\\n \\"name\\": \\"xxxx\\",\\n \\"reports\\": [\\n {\\n \\"reportId\\": 1\\n }\\n ],\\n \\"status\\": \\"enable\\",\\n \\"timeEndFormat\\": \\"-1d\\",\\n \\"timeFromFormat\\": \\"-1d\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeCdnDeliverListResponse>\\n <RequestId>12345</RequestId>\\n <Content>\\n <data>\\n <deliverId>1</deliverId>\\n <status>enable</status>\\n <createTime>2020-10-14T11:19:26Z</createTime>\\n <crontab>0 0 0 * * ?</crontab>\\n <frequency>d</frequency>\\n <name>域名订阅</name>\\n <dmList>www.example.com</dmList>\\n <reports>\\n <reportId>1</reportId>\\n <conditions>\\n <op>in</op>\\n <field>prov</field>\\n <value>黑龙江</value>\\n <value>北京</value>\\n </conditions>\\n </reports>\\n <reports>\\n <reportId>2</reportId>\\n </reports>\\n <deliver>\\n <email>\\n <subject>主题</subject>\\n <to>example@alibaba-inc.com</to>\\n <to>example@alibaba-inc.com</to>\\n </email>\\n </deliver>\\n </data>\\n </Content>\\n</DescribeCdnDeliverListResponse>","errorExample":""}]', - 'title' => 'DescribeCdnDeliverList', - 'description' => '> You can call this operation up to 3 times per second per account.'."\n", - 'responseParamsDescription' => '**Fields in the data parameter**'."\n" - ."\n" - .'|Field|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|deliverId|Long|The ID of the tracking task.|'."\n" - .'|status|String|The status of the tracking task. Valid values: **enable**, **disable**|'."\n" - .'|createTime|String|The time when the tracking task was created.|'."\n" - .'|crontab|String|The period during which the tracking task runs.|'."\n" - .'|frequency|String|The interval at which the reports are sent. Valid values: **h**: hour, **d**: day, **M**: month|'."\n" - .'|name|String|The name of the tracking task.|'."\n" - .'|dmList|String\\[\\]|The domain names from which the tracking task collects data.|'."\n" - .'|reports|String\\[\\]|The information about the reports released by the tracking task, including:reportId: the ID of the report.conditions: the filter conditions, including the filter action, fields, and values. If no filter conditions are specified, this parameter does not carry a value. op: the filter action. Only **in** is supported. field: the filter fields. value: the filter values.|'."\n" - .'|deliver|String|The delivery module, including the subject and recipient of the email.email: indicates that reports are sent to specified email addresses.subject: the subject of the email.to: the recipient of the email.copy: the contacts to whom the email is copied.|'."\n" - ."\n\n" - .'**Fields in the reports parameter**'."\n" - ."\n" - .'|Parameter|Type|Description|'."\n" - .'|---|---|---|'."\n" - .'|deliverId|Long|The ID of the tracking task.|'."\n" - .'|status|String|The status of the tracking task. Valid values: **enable**, **disable**|', - ], - 'UpdateCdnDeliverTask' => [ - 'summary' => 'Updates a tracking task.', - 'methods' => [ - 'get', - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"97C68796-EB7F-4D41-9D5B-12B909D76508\\"\\n}","type":"json"}]', + 'title' => 'OpenCdnService', + 'description' => '- Alibaba Cloud CDN can be activated only once per Alibaba Cloud account. The Alibaba Cloud account must complete real-name verification to activate Alibaba Cloud CDN.'."\n" + ."\n" + .'- Each account can call this operation up to five times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:OpenCdnService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenCdnService'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'PublishStagingConfigToProduction' => [ + 'summary' => 'Publishes the configurations of the staging environment to the production environment.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '111920', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], - ], + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'DeliverId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the tracking task that you want to update.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '3', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the tracking task.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Domain name report'."\n", - ], - ], - [ - 'name' => 'Reports', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The operations reports that are tracked by the task. The data must be escaped in JSON.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '\\[{\\\\"reportId\\\\":1,\\\\"conditions\\\\":\\[{\\\\"field\\\\":\\\\"prov\\\\",\\\\"op\\\\":\\\\"in\\\\",\\\\"value\\\\":\\[\\\\"Heilongjiang\\\\",\\\\"Beijing\\\\"]}]}]'."\n", - ], - ], - [ 'name' => 'DomainName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The domain name that you want to track. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,). If you do not specify a domain name, the task collects data from all domain names that belong to your Alibaba Cloud account.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'www.example.com', - ], - ], - [ - 'name' => 'Deliver', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The method that is used to send operations reports. Operations reports are sent to you only by email. The settings must be escaped in JSON.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\\\"email\\\\":{\\\\"subject\\\\":\\\\"The email subject\\\\",\\\\"to\\\\":\\[\\\\"songmingyuan@alibaba-inc.com\\\\",\\\\"songmingyuan@alibaba-inc.com\\\\"]}}"'."\n", - ], - ], - [ - 'name' => 'Schedule', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The parameters that specify the time interval at which the tracking task sends operations reports. The settings must be escaped in JSON.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"{\\\\"schedName\\\\":\\\\"The name of the tracking task\\\\",\\\\"description\\\\":\\\\"The description\\\\",\\\\"crontab\\\\":\\\\"000\\*\\*?\\\\",\\\\"frequency\\\\":\\\\"d\\\\",\\\\"status\\\\":\\\\"enable\\\\",\\\\"effectiveFrom\\\\":\\\\"2020-09-17T00:00:00Z\\\\",\\\\"effectiveEnd\\\\":\\\\"2020-11-17T00:00:00Z\\\\"}"'."\n", - ], + 'in' => 'query', + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each call.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -20369,99 +18766,56 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', - ], + ['errorCode' => 'StagingConfig.Failed', 'errorMessage' => 'Rules in staging are being configured, please try again later.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'StagingConfig.NotFound', 'errorMessage' => 'The Staging configuration does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateCdnDeliverTaskResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</UpdateCdnDeliverTaskResponse>","errorExample":""}]', - 'title' => 'UpdateCdnDeliverTask', - 'description' => '> You can call this operation up to three times per second per account.'."\n", - 'requestParamsDescription' => '**Fields in the ReDatas parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|reportId|String|Yes|The ID of the report.|'."\n" - .'|conditions|ConDatas\\[\\]|No|The filter conditions for the report.|'."\n" - ."\n" - .'**Fields in the ConDatas parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|field|String|No|The filter field.|'."\n" - .'|op|String|No|The filter operation.|'."\n" - .'|value|String\\[\\]|No|The array of field values.|'."\n" - ."\n\n" - .'**Fields in the email parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|subject|String|Yes|The email subject.|'."\n" - .'|to|String\\[\\]|Yes|The email addresses to which operations reports are sent.|'."\n" - ."\n\n" - .'**Fields in the Deliver parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|subject|String|No|The email subject.|'."\n" - .'|to|String\\[\\]|Yes|The email addresses to which operations reports are sent.|'."\n" - ."\n\n" - .'**Fields in the Schedule parameter**'."\n" - ."\n" - .'|Field|Type|Required|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|schedName|String|No|The name of the tracking task.|'."\n" - .'|description|String|No|The description of the tracking task.|'."\n" - .'|crontab|String|Yes|Specifies the cycle in which the tracking task is scheduled to run.|'."\n" - .'|frequency|String|Yes|The interval at which the reports are sent. Valid values:<br />**h**: by hour<br />**d**: by day<br />**w**: by week|'."\n" - .'|status|String|No|The status of the tracking task. Valid values:<br />**enable**<br />**disable**|'."\n" - .'|effectiveFrom|String|No|The start time of the tracking task.|'."\n" - .'|effectiveEnd|String|No|The end time of the tracking task.|', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'PublishStagingConfigToProduction', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteCdnDeliverTask' => [ - 'summary' => 'Deletes tracking tasks by task ID.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:50:31.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-11T07:43:04.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:PublishStagingConfigToProduction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishStagingConfigToProduction'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'PushObjectCache' => [ + 'summary' => 'Prefetches content from the origin server to cache nodes. This allows first-time access to directly hit the cache, reducing the load on the origin server.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -20469,257 +18823,384 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111701', - 'abilityTreeNodes' => [ - 'FEATUREcdnEK7SNH', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111882', + 'abilityTreeNodes' => ['FEATUREcdnKZKOWX'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'DeliverId', + 'name' => 'ObjectPath', + 'in' => 'query', + 'schema' => ['description' => 'The URL to prefetch. The format is **accelerated domain name/file to prefetch**.'."\n" + ."\n" + .'> Separate multiple URLs with line breaks. Each URL can be up to 1,024 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'http://example.com/image/1.png'."\n" + .'http://example.org/image/2.png', 'title' => ''], + ], + [ + 'name' => 'Area', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the tracking task that you want to delete. You can call the [DescribeCdnDeliverList](~~270877~~) operation to query task IDs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', + 'description' => 'The prefetch region. Valid values:'."\n" + ."\n" + .'- **domestic**: the Chinese mainland only.'."\n" + .'- **overseas**: global (excluding the Chinese mainland).'."\n" + ."\n" + .'If you do not set this parameter, the default prefetch region is the CDN acceleration region configured for your domain name.'."\n" + ."\n" + .'> '."\n" + .'> - To set the prefetch region to **global**, make sure that the acceleration region of the accelerated domain name is set to **global**, and then leave this parameter empty.', + 'type' => 'string', + 'required' => false, + 'enum' => ['domestic', 'overseas'], + 'example' => 'domestic', + 'title' => '', ], ], + [ + 'name' => 'L2Preload', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to prefetch content directly to L2 nodes. Valid values:'."\n" + ."\n" + .'- **true**: The prefetch node levels must include L2 nodes.'."\n" + .'- **false**: Only back-to-origin layer nodes are prefetched. This is the default value. Back-to-origin layer nodes can be L2 or L3 nodes.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'WithHeader', + 'in' => 'query', + 'schema' => ['description' => 'The default header carried in a prefetch request is Accept-Encoding:gzip. To carry other headers in prefetch requests or implement multi-copy prefetch, use this parameter to customize prefetch headers. Submit the value in JSON format.'."\n" + ."\n" + .'> To exclude the Accept-Encoding header during prefetch, submit the following:'."\n" + .'> - {"Accept-Encoding": [" "]}.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" + .' "Accept-Encoding": ['."\n" + .' "gzip, deflate, br"'."\n" + .' ]'."\n" + .'}', 'title' => ''], + ], + [ + 'name' => 'QueryHashkey', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable hashkey query mode when executing prefetch tasks. Valid values:'."\n" + .'- false: default mode. This mode is used when the parameter is not specified. The submitted URL is directly used as the hashkey of the prefetched file.'."\n" + .'- true: queries the actual hashkey used by the prefetch URL based on the domain name configuration.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'ConsistencyHash', + 'in' => 'query', + 'schema' => ['description' => 'If the acceleration region of the domain name is the Chinese mainland and hash-based origin fetch is enabled, you can use this parameter to enable hash-based prefetch. This implements regional back-to-origin convergence and reduces the back-to-origin bandwidth generated by prefetch.'."\n" + ."\n" + .'- true: enables hash-based prefetch.'."\n" + .'- false: default behavior. Hash-based prefetch is not enabled.'."\n" + ."\n" + .'><notice>This parameter takes effect only for domain names whose acceleration region is the Chinese mainland.></notice>.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], + 'PushTaskId' => ['description' => 'The ID of the prefetch task. Multiple task IDs are separated by commas (,). The returned task IDs are merged based on the following rules:'."\n" + ."\n" + .'- Prefetch tasks (at URL granularity) submitted for the same domain name within the same second are merged into a single PushTaskId.'."\n" + .'- If more than 500 prefetch tasks (at URL granularity) are submitted for the same domain name within the same second, they are merged into PushTaskId values in batches of 500.', 'type' => 'string', 'example' => '9524xxxx', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'TimeParseFailed', - 'errorMessage' => 'Failed to parse the time parameter.', - ], - [ - 'errorCode' => 'SubscriptionAlreadyExists', - 'errorMessage' => 'The subscription already exists.', - ], - [ - 'errorCode' => 'SubscriptionNotFound', - 'errorMessage' => 'The subscription is not found.', - ], - [ - 'errorCode' => 'NameAlreadyExists', - 'errorMessage' => 'The name already exists.', - ], - [ - 'errorCode' => 'DeliverExceedLimit', - 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', + ['errorCode' => 'SingleRequest.OverLimit', 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', 'description' => ''], + ['errorCode' => 'QuotaExceeded.Preload', 'errorMessage' => 'Your preload attempts have exceeded the daily limit.', 'description' => 'The maximum number of URL prefetches on the current day is exceeded.'], + ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => ''], + ['errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', 'errorMessage' => 'The specified ExtensiveDomain is not supported.', 'description' => ''], + ['errorCode' => 'PreloadQueueFull', 'errorMessage' => 'The warming queue is full,please try again later.', 'description' => ''], + ['errorCode' => 'QuotaPerMinuteExceeded.Refresh', 'errorMessage' => 'You have exceeded the prescribed preload limits per minute.', 'description' => ''], + ['errorCode' => 'InvalidObjectPath.ExceedsMaximum', 'errorMessage' => 'The maximum number of urls is exceeded.', 'description' => 'The number of submitted URLs exceeds the maximum limit.'], + ['errorCode' => 'InvalidCustomHeader', 'errorMessage' => 'Parse preload header failed.', 'description' => 'Custom header parsing error.'], + ], + 429 => [ + ['errorCode' => 'TooManyRequests', 'errorMessage' => 'System load fluctuates, please try again later.', 'description' => 'System load fluctuates, please try again later.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PushTaskId\\": \\"9524xxxx\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","type":"json"}]', + 'title' => 'Prefetch uRLs', + 'description' => '- Request method: POST requests are supported. Parameters are displayed in a form.'."\n" + .'- Related operations: The refresh and prefetch operations include the [RefreshObjectCaches](~~91164~~) refresh operation and the [PushObjectCache](~~91161~~) prefetch operation.'."\n" + .'- Daily URL prefetch quota: By default, each account can submit up to 1,000 URL prefetch tasks per day. If the daily peak bandwidth of your account exceeds 200 Mbit/s, you can <props="china">[manage quotas](~~256513~~)</props><props="intl">[submit a ticket](https://account.alibabacloud.com/login/login.htm?oauth_callback=https%3A//ticket-intl.console.aliyun.com/%23/ticket/createIndex)</props> to request a higher daily quota. Alibaba Cloud evaluates and configures the quota based on your actual business requirements.'."\n" + .'- You can submit up to 100 URL prefetch tasks at a time.'."\n" + .'- Prefetch queue rules: The maximum prefetch queue size for each account is 100,000 URLs. CDN prefetches URLs in the order in which they are submitted. When the number of URLs pending prefetch in the queue reaches 100,000, CDN rejects new prefetch tasks.'."\n" + .'- Maximum number of times that each user can call this operation per second: 50.'."\n" + .'- To automate refresh or prefetch tasks, refer to [Scripts for Refresh and Prefetch](~~151829~~).'."\n" + ."\n" + .'## Before you begin'."\n" + .'- After a prefetch node is submitted and successfully executed, points of presence immediately perform origin fetch to load the required resources. Submitting a large number of prefetch nodes generates many concurrent download nodes, which causes a surge in origin fetch bandwidth and requests and increases the load on the origin server.'."\n" + .'- The actual execution time of a prefetch node from commit to completion depends on the size of the prefetched file and typically takes 5 to 30 minutes. The smaller the average file size, the faster the prefetch.'."\n" + .'- To use a Resource Access Management (RAM) user to perform refresh or prefetch operations, obtain the required authorization first. Refer to [Grant permissions to a RAM user for refresh and prefetch](~~260300~~) to complete the authorization.'."\n" + .'- The default header carried in a prefetch request is Accept-Encoding:gzip. To carry other headers in prefetch requests or implement multi-copy prefetch, use the WithHeader request parameter to customize prefetch headers.'."\n" + .'- During prefetch, if the origin server returns a redirection status code such as 307, the prefetch node does not follow the redirect URL to complete the prefetch, which causes the prefetch to fail. If the origin server returns a 301 or 302 status code and 302 redirection is enabled on CDN, normal prefetch is not affected.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:50:08.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-03T02:44:02.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-21T07:18:48.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-07-25T13:59:43.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-01-11T07:47:27.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-11-24T02:42:27.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PushObjectCache'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:PushObjectCache', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCdnDeliverTaskResponse>\\n <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\n</DeleteCdnDeliverTaskResponse>","errorExample":""}]', - 'title' => 'DeleteCdnDeliverTask', - 'description' => '> You can call this operation up to three times per second per account.'."\n", ], - 'DescribeIpInfo' => [ - 'summary' => 'Checks whether a specified IP address is the IP address of a CDN point of presence (POP).', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RefreshObjectCacheByCacheTag' => [ + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111823', - 'abilityTreeNodes' => [ - 'FEATUREcdnNSUDKT', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ - 'name' => 'IP', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The IP address. You can specify only one IP address.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '192.168.0.1', - ], + 'schema' => ['description' => 'The accelerated domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com'], + ], + [ + 'name' => 'CacheTag', + 'in' => 'query', + 'schema' => ['description' => 'The tags of Cache. If multiple tags are returned, the tags are separated by commas (,).', 'type' => 'string', 'required' => true, 'example' => 'tag1,tag2', 'maxLength' => 16384], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to purge all resources that you submit if the requested content is one of the resources that you submit to purge. Default value: false.'."\n" + ."\n" + .'* **true**: The nearest POP fetches all resources from the origin server, delivers them to the client, and updates the cache with the new version.'."\n" + .'* **false**: The nearest POP checks the Last-Modified parameter of the resource on the origin server. If the parameter value is the same as that of the cached resource, the POP serves the cached resource. If the parameter value is not the same as that of the cached resource, the POP fetches the latest version from the origin server, delivers it to the client, and updates the cache with the new version.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'CdnIp' => [ - 'description' => 'Indicates whether the IP address belongs to an Alibaba Cloud CDN POP.'."\n" - .'* **True**:Yes.'."\n" - .'* **False**:No.', - 'type' => 'string', - 'example' => 'True', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '123847FA-9A00-4426-83B8-B4B45D475930', - ], - 'RegionEname' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'China-Guizhou-guiyang', - ], - 'Region' => [ - 'description' => 'The name of the region in Chinese.', - 'type' => 'string', - 'example' => '中国-贵州省-贵阳市', - ], - 'IspEname' => [ - 'description' => 'The name of the ISP.'."\n", - 'type' => 'string', - 'example' => 'telecom', - ], - 'ISP' => [ - 'description' => 'The name of the ISP in Chinese.', - 'type' => 'string', - 'example' => '电信', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '2E5AD83F-BD7B-462E-8319-2E30E305519A'], + 'RefreshTaskId' => ['description' => 'The ID of the refresh task. If multiple tasks are returned, the task IDs are separated by commas (,). The task IDs are merged based on the following rules:'."\n" + ."\n" + .'* If the tasks are specified for the same accelerated domain name, submitted within the same second, and run to refresh content based on URLs instead of directories, the task IDs are merged into one task ID (RefreshTaskId).'."\n" + .'* If the number of tasks that are specified for the same accelerated domain name, submitted within the same second, and run to refresh content based on URLs instead of directories exceeds 2,000, every 2,000 task IDs are merged into one task ID (RefreshTaskId).'."\n", 'type' => 'string', 'example' => '17772470184'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidIP.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter IP is not supported.', + ['errorCode' => 'SingleRequest.OverLimit', 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', 'description' => ''], + ['errorCode' => 'InvalidObjectType.Malformed', 'errorMessage' => 'The specified ObjectType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => ''], + ['errorCode' => 'InvalidObjectPath.Size.Malformed', 'errorMessage' => 'The size of ObjectPath is bigger than 1000.', 'description' => ''], + ['errorCode' => 'QuotaExceeded.Refresh', 'errorMessage' => 'You\'ve exceeded the prescribed refresh limits.', 'description' => ''], + ['errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', 'errorMessage' => 'The specified ExtensiveDomain is not supported.', 'description' => ''], + ['errorCode' => 'QuotaPerMinuteExceeded.Refresh', 'errorMessage' => 'You tried to refresh too frequently; please try again later.', 'description' => ''], + ['errorCode' => 'TooMany.Refresh', 'errorMessage' => 'The refresh queue is full; please try again later.', 'description' => ''], + ['errorCode' => 'PreloadQueueFull', 'errorMessage' => 'Preload queue is full, please try again later!', 'description' => ''], + ['errorCode' => 'InvalidStations.Malformed', 'errorMessage' => 'The specified Stations is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameters', 'errorMessage' => 'The parameters you provided are invalid.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2E5AD83F-BD7B-462E-8319-2E30E305519A\\",\\n \\"RefreshTaskId\\": \\"17772470184\\"\\n}","type":"json"}]', + 'title' => 'RefreshObjectCacheByCacheTag', + 'summary' => 'Refreshes the cache based on cache tags that you configured.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:RefreshObjectCacheByCacheTag', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"CdnIp\\": \\"True\\",\\n \\"RequestId\\": \\"123847FA-9A00-4426-83B8-B4B45D475930\\",\\n \\"RegionEname\\": \\"China-Guizhou-guiyang\\",\\n \\"Region\\": \\"中国-贵州省-贵阳市\\",\\n \\"IspEname\\": \\"telecom\\",\\n \\"ISP\\": \\"电信\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeIpInfoResponse>\\n <CdnIp>True</CdnIp>\\n <RequestId>123847FA-9A00-4426-83B8-B4B45D475930</RequestId>\\n <RegionEname>China-Guizhou-guiyang</RegionEname>\\n <Region>中国-贵州省-贵阳市</Region>\\n <IspEname>telecom</IspEname>\\n <ISP>电信</ISP>\\n</DescribeIpInfoResponse>","errorExample":""}]', - 'title' => 'DescribeIpInfo', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'DescribeStagingIp' => [ - 'summary' => 'Queries node IP addresses in the staging environment.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RefreshObjectCaches' => [ + 'summary' => 'Refreshes file content on nodes. The cached files that are refreshed immediately become invalid. New requests retrieve the latest files from the origin server. Batch URL refresh is supported.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111836', - 'abilityTreeNodes' => [ - 'FEATUREcdnD8A1YM', + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111883', + 'abilityTreeNodes' => ['FEATUREcdnW2530F', 'FEATUREcdnMNEAI4', 'FEATUREcdnMZ37V7'], + ], + 'parameters' => [ + [ + 'name' => 'ObjectPath', + 'in' => 'formData', + 'schema' => ['description' => '- To commit multiple URLs or multiple folders at a time, separate them with line feed characters.'."\n" + .'- The total number of domain names across all URLs in a single committed node must not exceed 10.', 'type' => 'string', 'required' => true, 'example' => 'http://example.com/image/1.png'."\n" + .'http://aliyundoc.com/image/2.png', 'title' => ''], + ], + [ + 'name' => 'ObjectType', + 'in' => 'formData', + 'schema' => ['description' => 'The refresh type. Valid values:'."\n" + ."\n" + .'- **File** (default): URL.'."\n" + .'- **Directory**: folder.'."\n" + .'- **Regex**: regex-based refresh.'."\n" + .'- **IgnoreParams**: parameter-filtering refresh. Parameter filtering removes the `?` and all characters after `?` from a request URL. In a parameter-filtering refresh, you commit a URL with parameters removed through the API. The committed URL is then matched against cached resource URLs after their parameters are removed. If a cached resource URL matches the committed URL after parameter filtering, the CDN point of presence executes a refresh on the cached resource.'."\n" + ."\n" + .'> - For the feature description of URL refresh and folder refresh, refer to [Refresh and prefetch resources](~~64936~~).'."\n" + .'> - A file refresh directly deletes the resource from the point of presence. When a new request arrives, the latest resource is retrieved through origin fetch. Other refresh types refresh only changed resources by default. To force a refresh, set the Force parameter to true. For more information, see the metric description of the Force parameter.', 'type' => 'string', 'required' => false, 'default' => 'File', 'example' => 'File', 'title' => ''], + ], + [ + 'name' => 'Force', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to directly delete the cache on CDN points of presence. Default value: false.'."\n" + ."\n" + .'- **true**: Directly deletes the cache on CDN points of presence. This means the specified cached resources are immediately removed from all CDN points of presence. The next request for the resource must access the origin server to retrieve the latest version, which is then cached again. This ensures that all subsequent requests return the latest content after the deletion. This option is suitable for scenarios that require immediate cache updates, such as emergency security vulnerability fixes or publishing critical updates. Note that this may temporarily increase the load on the origin server because all related requests need to access the origin server.'."\n" + ."\n" + .'- **false**: Marks the cache on CDN points of presence as expired. After a cached resource is marked as expired, the next request for the resource triggers the CDN point of presence to authenticate the latest version through origin fetch. If the version matches the current row cache, the cached resource is returned directly. If not, the latest resource is retrieved through origin fetch, returned to the user, and cached again. This method allows gradual cache updates instead of immediate full purge. It is suitable for scenarios that require smoothing transitions and reduces the increased origin server load that may result from deleting a large amount of cache at once.'."\n" + ."\n" + .'> This parameter takes effect only when you use folder refresh, regex-based refresh, or parameter-filtering refresh.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], + ], + [ + 'name' => 'ReplicaTag', + 'in' => 'formData', + 'schema' => ['description' => 'This parameter is not active.', 'type' => 'string', 'maxLength' => 1024, 'required' => false, 'example' => 'false', 'title' => ''], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '1B9E0E83-24AC-49F4-9EE0-BF5EB03E8381', - ], - 'IPV4s' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'IPV4' => [ - 'description' => 'IPv4 addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The IPv4 address.'."\n", - 'type' => 'string', - 'example' => 'xx.xx.xx.xx', - ], - ], - ], - ], + 'RefreshTaskId' => ['description' => 'The node ID returned for the refresh request. Multiple node IDs are separated by commas (,). The returned node IDs are merged based on the following rules:'."\n" + ."\n" + .'- Refresh nodes (at URL granularity) committed for the same domain name within the same second are merged into a single RefreshTaskId.'."\n" + .'- If more than 2,000 refresh nodes (at URL granularity) are committed for the same domain name within the same second, they are merged into groups of 2,000, each assigned a separate RefreshTaskId.', 'type' => 'string', 'example' => '704222901', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1B9E0E83-24AC-49F4-9EE0-BF5EB03E8381\\",\\n \\"IPV4s\\": {\\n \\"IPV4\\": [\\n \\"xx.xx.xx.xx\\"\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeStagingIpResponse>\\n<IPV4s>\\n <IPV4>xx.xx.xx.xx</IPV4>\\n <IPV4>xx.xx.xx.xx</IPV4>\\n <IPV4>xx.xx.xx.xx</IPV4>\\n</IPV4s>\\n<RequestId>1B9E0E83-24AC-49F4-9EE0-BF5EB03E8381</RequestId>\\n</DescribeStagingIpResponse>","errorExample":""}]', - 'title' => 'DescribeStagingIp', - 'description' => '>The maximum number of times that each user can call this operation per second is 30.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeL2VipsByDomain' => [ - 'summary' => 'Queries the virtual IP addresses (VIPs) of L2 CDN points of presence (POPs) for a specific domain name.', - 'methods' => [ - 'get', - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SingleRequest.OverLimit', 'errorMessage' => 'A maximum of 1000 URLs are supported for each request.', 'description' => ''], + ['errorCode' => 'InvalidObjectType.Malformed', 'errorMessage' => 'The specified ObjectType is invalid.', 'description' => ''], + ['errorCode' => 'InvalidObjectPath.Malformed', 'errorMessage' => 'The specified ObjectPath is invalid.', 'description' => ''], + ['errorCode' => 'QuotaExceeded.Refresh', 'errorMessage' => 'Your refresh attempts have exceeded the daily limit.', 'description' => 'Refresh quantity exceeds daily quota limit.'], + ['errorCode' => 'InvalidExtensiveDomain.ValueNotSupported', 'errorMessage' => 'The specified ExtensiveDomain is not supported.', 'description' => ''], + ['errorCode' => 'QuotaPerMinuteExceeded.Refresh', 'errorMessage' => 'You tried to refresh too frequently, please try again later.', 'description' => ''], + ['errorCode' => 'TooMany.Refresh', 'errorMessage' => 'The refresh queue is full, please try again later.', 'description' => ''], + ], + 429 => [ + ['errorCode' => 'TooManyRequests', 'errorMessage' => 'Too many requests, please try again later', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RefreshTaskId\\": \\"704222901\\",\\n \\"RequestId\\": \\"D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C\\"\\n}","type":"json"}]', + 'title' => 'Refresh cache', + 'description' => '- Request method: POST requests are supported. Parameters are displayed in a form.'."\n" + .'- Related operations: The refresh and prefetch operations include the [RefreshObjectCaches](~~91164~~) refresh operation and the [PushObjectCache](~~91161~~) prefetch operation.'."\n" + .'- Maximum number of calls per user: 50 calls per second.'."\n" + .'- To automate refresh or prefetch tasks, refer to [Scripts for refresh and prefetch automation](~~151829~~).'."\n" + ."\n" + .'## Before you begin'."\n" + .'- After a refresh node is committed and successfully executed, the corresponding cached resources on CDN points of presence become invalid. When you send a new access request, the point of presence performs an origin fetch to retrieve the required resources and caches them again. Committing a large number of refresh nodes clears a large amount of cache, which causes spikes in origin fetch bandwidth and requests and increases the load on the origin server.'."\n" + .'- A refresh node takes about 5 to 6 minutes to take effect after it is committed. If the cache expiration time configured for a file or folder is less than 5 minutes, you do not need to perform a refresh operation. Wait for the file or folder cache to time out and update automatically.'."\n" + .'- To use a Resource Access Management (RAM) user to perform refresh or prefetch operations, obtain the required authorization first. Refer to [Grant refresh and prefetch permissions to a RAM user](~~260300~~) to complete the authorization.'."\n" + ."\n" + .'### URL refresh quota'."\n" + .'- By default, each account can commit up to 10,000 URL refresh requests and 100 folder refresh requests per day. Folder refresh includes subdirectories. If the daily peak bandwidth of your Alibaba Cloud account exceeds 200 Mbit/s, you can request a higher daily quota by referring to <props="china">[Quota management](~~256513~~)</props><props="intl">[submit a ticket](https://account.alibabacloud.com/login/login.htm?oauth_callback=https%3A//ticket-intl.console.aliyun.com/%23/ticket/createIndex)</props>. Alibaba Cloud evaluates and configures the quota based on your actual business requirements.'."\n" + .'- By default, each account can commit up to 20 regex-based refresh requests and 100 parameter-filtering refresh requests per day. If the daily peak bandwidth of your Alibaba Cloud account exceeds 10 Gbit/s, you can request a higher daily quota by <props="china">[filling in the form](https://page.aliyun.com/form/act2017566026/index.htm)</props><props="intl">[submitting a ticket](https://workorder-intl.console.aliyun.com/#/ticket/createIndex)</props>.'."\n" + .'- Each request can contain up to 1,000 URL refresh entries, 100 folder refresh entries, or 1 regex-based refresh entry.'."\n" + .'- A maximum of 10,000 URL refresh entries can be committed per minute for a single domain name.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:49:20.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-19T05:52:41.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-10-17T06:54:03.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshObjectCaches'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:RefreshObjectCaches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + ], + 'RollbackStagingConfig' => [ + 'summary' => 'Rolls back configurations in the staging environment. After you call this operation, all configurations in the staging environment are cleared.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111825', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -20727,114 +19208,76 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DomainName' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'Vips' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Vip' => [ - 'description' => 'The list of VIPs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The VIP.'."\n", - 'type' => 'string', - 'example' => '1.1.1.1/25', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'IllegalOperation', - 'errorMessage' => 'Illegal domain operate is not permitted.', - ], - [ - 'errorCode' => 'SingleRequest.OverLimit', - 'errorMessage' => 'A maximum of 1 DomainName is supported for each request.', - ], - ], - 403 => [ - [ - 'errorCode' => 'SystemBusy', - 'errorMessage' => 'The system is busy, please try again later.', - ], + 404 => [ + ['errorCode' => 'StagingConfig.NotFound', 'errorMessage' => 'The Staging configuration does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"Vips\\": {\\n \\"Vip\\": [\\n \\"1.1.1.1/25\\"\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeL2VipsByDomainResponse>\\r\\n\\t<Vips>\\r\\n\\t\\t<Vip>xxx.111.111/25</Vip>\\r\\n\\t\\t<Vip>xxx.112.112/25</Vip>\\r\\n\\t\\t<Vip>xxx.33.190/25</Vip>\\r\\n\\t\\t<Vip>xxx.96.109/25</Vip>\\r\\n\\t\\t<Vip>xxx.20.226/25</Vip>\\r\\n\\t\\t<Vip>xxx.19.140/25</Vip>\\r\\n\\t\\t<Vip>xxx.215.140/25</Vip>\\r\\n\\t</Vips>\\r\\n\\t<RequestId>820E7900-5CA9-4AEF-B0DD-20ED5F64BE55</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n</DescribeL2VipsByDomainResponse>\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeL2VipsByDomain', - 'description' => '* This operation is available only to users whose daily peak bandwidth value is higher than 1 Gbit/s. If you meet this requirement, you can [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex) to apply for permissions to use this operation.'."\n" - .'* You can call this operation up to 40 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'RollbackStagingConfig', + 'description' => '> Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeUserVipsByDomain' => [ - 'summary' => 'Queries virtual IP addresses (VIPs) of CDN points of presence (POPs) by domain name.', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:49:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-07-25T13:59:43.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-23T02:59:54.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:RollbackStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RollbackStagingConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'SetCdnDomainCSRCertificate' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111846', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111887', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], ], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'ServerCertificate', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The content of the certificate. The certificate must match the certificate signing request (CSR) created by calling the [CreateCdnCertificateSigningRequest](~~144478~~) operation. Make sure that the content of the certificate is encoded in Base64 and then encoded by encodeURIComponent.', 'type' => 'string', 'required' => true, 'example' => '----BEGIN CERTIFICATE----- MIIFz****-----END CERTIFICATE-----', 'title' => ''], ], [ - 'name' => 'Available', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to query the virtual IP addresses of only healthy CDN POPs. Valid values:'."\n" - ."\n" - .'* **on**: healthy CDN edge nodes.'."\n" - .'* **off**: all CDN edge nodes.', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'off' => '', - 'on' => '', - ], - 'example' => 'on', - 'enum' => [ - 'on', - 'off', - ], - ], + 'schema' => ['description' => 'The accelerated domain name for which you want to configure an SSL certificate. The domain name must have HTTPS secure acceleration enabled.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -20842,157 +19285,62 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DomainName' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '820E7900-5CA9-4AEF-B0DD-20ED5F64BE55', - ], - 'Vips' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Vip' => [ - 'description' => 'The list of VIPs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The VIP.'."\n", - 'type' => 'string', - 'example' => '122.72.xxx.xxx', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The specified value of parameter "DomainName" can not be empty.', - ], - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided is offline or not exist.', - ], - [ - 'errorCode' => 'IllegalOperation', - 'errorMessage' => 'Illegal domain operate is not permitted.', - ], + ['errorCode' => 'Certificate.MissingParameter', 'errorMessage' => 'You must specify the Certificate parameter.', 'description' => 'You must specify the Certificate parameter.'], + ['errorCode' => 'Certificate.EncodeError', 'errorMessage' => 'An error occurred while encoding the certificate.', 'description' => ''], + ['errorCode' => 'Certificate.DecodeError', 'errorMessage' => 'An error occurred while decoding the certificate.', 'description' => ''], + ['errorCode' => 'Certificate.FormatError', 'errorMessage' => 'The format of the certificate is invalid.', 'description' => 'The specified certificate is invalid.'], + ['errorCode' => 'Certificate.MissMatch', 'errorMessage' => 'The certificate does not match the domain.', 'description' => 'The certificate and domain name do not match.'], + ['errorCode' => 'Certificate.NoPrivateKey', 'errorMessage' => 'The private key of the certificate does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'Internal.ForbidError', 'errorMessage' => 'You cannot modify the configurations when some features of the domain are in a canary deployment.', 'description' => 'This domain cannot be changed because a feature is in canary release.'], + ['errorCode' => 'Internal.ConfigError', 'errorMessage' => 'An error occurred while configuring the certificate.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"820E7900-5CA9-4AEF-B0DD-20ED5F64BE55\\",\\n \\"Vips\\": {\\n \\"Vip\\": [\\n \\"122.72.xxx.xxx\\"\\n ]\\n }\\n}","errorExample":"{\\n \\"Vips\\": {\\n \\"Vip\\": [\\n \\"122.72.xxx.xxx\\",\\n \\"119.14.xxx.xxx\\",\\n \\"221.13.xxx.xxx\\",\\n \\"124.95.xxx.xxx\\",\\n \\"58.211.xxx.xxx\\"\\n ]\\n },\\n \\"RequestId\\": \\"820E7900-5CA9-4AEF-B0DD-20ED5F64BE55\\",\\n \\"DomainName\\": \\"example.com\\"\\n}"},{"type":"xml","example":"<DescribeUserVipsByDomainResponse>\\r\\n\\t<Vips>\\r\\n\\t\\t<Vip>122.72.xxx.xxx</Vip>\\r\\n\\t\\t<Vip>119.14.xxx.xxx</Vip>\\r\\n\\t\\t<Vip>221.13.xxx.xxx</Vip>\\r\\n\\t\\t<Vip>124.95.xxx.xxx</Vip>\\r\\n\\t\\t<Vip>58.211.xxx.xxx</Vip>\\r\\n\\t</Vips>\\r\\n\\t<RequestId>820E7900-5CA9-4AEF-B0DD-20ED5F64BE55</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n</DescribeUserVipsByDomainResponse>","errorExample":""}]', - 'title' => 'DescribeUserVipsByDomain', - 'description' => '> You can call this operation up to 30 times per second per account.'."\n", + 'title' => 'SetCdnDomainCSRCertificate', + 'summary' => 'Configures an SSL certificate for a specific domain name.', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeIpStatus' => [ - 'summary' => 'Queries the status of IP addresses of points of presence (POPs). The status of an IP address of a POP indicates whether content delivery acceleration is supported by the POP.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:49:42.000Z', 'description' => 'OpenAPI offline'], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111824', - 'abilityTreeNodes' => [ - 'FEATUREcdnNSUDKT', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainCSRCertificate'], ], - 'tenantRelevance' => 'publicInformation', + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'Ips', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IP addresses that you want to query. Separate IP addresses with underscores (\\_), such as Ips=ip1\\_ip2.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ip1_ip2', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', - ], - 'IpStatus' => [ - 'description' => 'The status of the IP addresses of the POPs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ip' => [ - 'description' => 'The IP address of the POP.'."\n", - 'type' => 'string', - 'example' => '10.10.10.10', - ], - 'status' => [ - 'description' => 'The status.'."\n" - ."\n" - .'* **nonali**: not an Alibaba Cloud CDN POP'."\n" - .'* **normal**: an available Alibaba Cloud CDN POP'."\n" - .'* **abnormal**: an unavailable Alibaba Cloud CDN POP'."\n", - 'type' => 'string', - 'example' => 'abnormal', - ], - ], - ], - ], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainCSRCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidArgIps.Malformed', - 'errorMessage' => 'The specified ips is invalid.', - ], - [ - 'errorCode' => 'InvalidArgIps.IpCanNotFound', - 'errorMessage' => 'The ips can not found.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"IpStatus\\": [\\n {\\n \\"ip\\": \\"10.10.10.10\\",\\n \\"status\\": \\"abnormal\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeIpStatusResponse>\\n<Content>\\n <status>abnormal</status>\\n <ip>10.10.10.10</ip>\\n</Content>\\n<Content>\\n <status>normal</status>\\n <ip>192.168.0.1</ip>\\n</Content>\\n<Content>\\n <status>nonali</status>\\n <ip>172.16.0.1</ip>\\n</Content>\\n<Content>\\n <status>normal</status>\\n <ip>192.0.2.1</ip>\\n</Content>\\n<RequestId>F61CDR30-E83C-4FDA-BF73-9A94CDD44229</RequestId>\\n</DescribeIpStatusResponse>","errorExample":""}]', - 'title' => 'DescribeIpStatus', - 'description' => '> You can call this operation up to 50 times per second per account.'."\n", - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', ], - 'AddFCTrigger' => [ - 'summary' => 'Adds a Function Compute trigger.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'SetCdnDomainSMCertificate' => [ + 'summary' => 'Enables or disables a ShangMi (SM) certificate for a domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21000,82 +19348,37 @@ ], 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '111678', - 'abilityTreeNodes' => [ - 'FEATUREcdnCG0XWT', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'none', + 'abilityTreeCode' => '111888', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], ], 'parameters' => [ [ - 'name' => 'TriggerARN', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger that corresponds to the Function Compute service.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger', - ], + 'schema' => ['description' => 'The accelerated domain name for which you want to configure the SM certificate.'."\n" + ."\n" + .'> The domain name must use HTTPS acceleration.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'EventMetaName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the event.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LogFileCreated', - ], - ], - [ - 'name' => 'EventMetaVersion', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The version of the event.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0.0', - ], - ], - [ - 'name' => 'SourceARN', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The resources and filters for event listening.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:cdn:*:1234567890:domain/example.com', - ], - ], - [ - 'name' => 'FunctionARN', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The feature trigger.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:1223455566666:123:services/myservice/functions/myfunction', - ], - ], - [ - 'name' => 'RoleARN', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The assigned Resource Access Management (RAM) role.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole', - ], + 'name' => 'CertIdentifier', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the SM certificate that you want to configure. The identifier of the certificate. The value is Certificate ID-cn-hangzhou. For example, if the certificate ID is 123, set the value of this parameter to 123-cn-hangzhou.', 'type' => 'string', 'required' => true, 'example' => '1234****-cn-hangzhou', 'title' => ''], ], [ - 'name' => 'Notes', - 'in' => 'formData', + 'name' => 'SSLProtocol', + 'in' => 'query', 'schema' => [ - 'description' => 'The remarks.'."\n", + 'description' => 'Specifies whether to enable the SSL certificate. Valid values:'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => true, - 'example' => 'test', + 'enum' => ['on', 'off'], + 'example' => 'on', + 'title' => '', ], ], ], @@ -21084,70 +19387,51 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C8', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NotFound.EventMeta', - 'errorMessage' => 'EventMeta not found.', - ], - [ - 'errorCode' => 'Duplicated.FCTrigger', - 'errorMessage' => 'FCTrigger has already existed.', - ], - [ - 'errorCode' => 'InvalidParameter.TriggerARN', - 'errorMessage' => 'The specified parameter TriggerARN is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.SourceARN', - 'errorMessage' => 'The specified parameter SourceARN is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.FunctionARN', - 'errorMessage' => 'The specified parameter FunctionARN is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.RoleARN', - 'errorMessage' => 'The specified parameter RoleARN is not valid.', - ], - ], - 403 => [ - [ - 'errorCode' => 'PermissionDeny', - 'errorMessage' => 'No permission to operate this FCTrigger.', - ], + ['errorCode' => 'InvalidCertIdentifier.ValueNotSupported', 'errorMessage' => 'The specified value of parameter CertIdentifier is not valid.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90</RequestId>","errorExample":""}]', - 'title' => 'AddFCTrigger', - 'requestParamsDescription' => '## TriggerARN'."\n" - ."\n" - .'TriggerARN format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" - ."\n" - .'* Filter indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" - .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by `example.com` if Filter is set to `domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyundoc.com}`.'."\n" - .'* Separate filters with forward slashes (/). The forward slashes indicate the AND logic. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C8\\"\\n}","type":"json"}]', + 'title' => 'SetCdnDomainSMCertificate', + 'description' => '> Each account can call this operation up to 30 times per second.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'UpdateFCTrigger' => [ - 'summary' => 'Updates a specified Function Compute trigger.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:49:01.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainSMCertificate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainSMCertificate'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'SetCdnDomainSSLCertificate' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -21156,61 +19440,72 @@ 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '111922', - 'abilityTreeNodes' => [ - 'FEATUREcdnCG0XWT', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '168241', + 'abilityTreeNodes' => ['FEATUREcdn4R6KLH'], ], 'parameters' => [ [ - 'name' => 'TriggerARN', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger that corresponds to the Function Compute service.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger', - ], + 'schema' => ['description' => 'The accelerated domain name for which you want to configure the SSL certificate. The type of request supported by the domain name must be HTTPS. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com'."\n", 'title' => ''], ], [ - 'name' => 'SourceARN', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The resources and filters for event listening.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:cdn:*:1234567890:domain/example.com', - ], + 'name' => 'CertName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the certificate. You can specify only one certificate name. This parameter is optional if you set CertType to upload.', 'type' => 'string', 'required' => false, 'example' => 'yourCertName'."\n", 'title' => ''], ], [ - 'name' => 'FunctionARN', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The feature trigger.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:fc:1223455566666:123:services/myservice/functions/myfunction', - ], + 'name' => 'CertId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the certificate. This parameter is required if you set CertType to cas.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '8089870'."\n", 'title' => ''], ], [ - 'name' => 'RoleARN', - 'in' => 'formData', + 'name' => 'CertType', + 'in' => 'query', 'schema' => [ - 'description' => 'The assigned RAM role.'."\n", + 'description' => 'The type of the certificate. Valid values:'."\n" + ."\n" + .'- **upload**: custom certificate'."\n" + ."\n" + .'- **cas**: a certificate that is acquired through Certificate Management Service.', 'type' => 'string', 'required' => false, - 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole', + 'enum' => ['cas', 'upload'], + 'example' => 'upload', + 'title' => '', ], ], [ - 'name' => 'Notes', - 'in' => 'formData', + 'name' => 'SSLProtocol', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the SSL certificate.'."\n" + ."\n" + .'- **on**'."\n" + ."\n" + .'- **off**', 'type' => 'string', 'required' => true, 'example' => 'off', 'title' => ''], + ], + [ + 'name' => 'SSLPub', + 'in' => 'query', + 'schema' => ['description' => 'The certificate content. Specify the certificate content only if you want to enable the certificate.', 'type' => 'string', 'required' => false, 'example' => 'xxx'."\n", 'title' => ''], + ], + [ + 'name' => 'SSLPri', + 'in' => 'query', + 'schema' => ['description' => 'The private key. Specify the private key only if you want to enable the certificate.', 'type' => 'string', 'required' => false, 'example' => 'y****'."\n", 'title' => ''], + ], + [ + 'name' => 'CertRegion', + 'in' => 'query', 'schema' => [ - 'description' => 'The remarks.'."\n", + 'description' => 'The region of the certificate. This parameter takes effect only when **CertType is set to cas**. Valid values: **cn-hangzhou** and **ap-southeast-1**. Default value: **cn-hangzhou**. **ap-southeast-1** is recommended for users on the International site.', + 'enumValueTitles' => ['ap-southeast-1' => 'ap-southeast-1', 'cn-hangzhou' => 'cn-hangzhou'], 'type' => 'string', 'required' => false, - 'example' => 'test', + 'example' => 'cn-hangzhou', + 'title' => '', ], ], ], @@ -21219,89 +19514,140 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A7C69682-7F88-40DD-A198-10D0309E439D'."\n", 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.TriggerARN', - 'errorMessage' => 'The specified parameter TriggerARN is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.SourceARN', - 'errorMessage' => 'The specified parameter SourceARN is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.FunctionARN', - 'errorMessage' => 'The specified parameter FunctionARN is not valid.', - ], - [ - 'errorCode' => 'InvalidParameter.RoleARN', - 'errorMessage' => 'The specified parameter RoleARN is not valid.', - ], - [ - 'errorCode' => 'NotFound.FCTrigger', - 'errorMessage' => 'FCTrigger not found.', - ], + ['errorCode' => 'InvalidSSLProtocol.ValueNotSupported', 'errorMessage' => 'The specified SSLProtocol is invalid.', 'description' => ''], + ['errorCode' => 'SSLPub.MissingParameter', 'errorMessage' => 'The SSLPub parameter is required.', 'description' => ''], + ['errorCode' => 'SSLPri.MissingParameter', 'errorMessage' => 'The SSLPri parameter is required.', 'description' => ''], + ['errorCode' => 'InvalidSSLPub', 'errorMessage' => 'The specified SSLPub is invalid.', 'description' => ''], + ['errorCode' => 'InvalidSSLPri', 'errorMessage' => 'The specified SSLPri is invalid.', 'description' => ''], + ['errorCode' => 'Certificate.MissMatch', 'errorMessage' => 'The SSLPri does not match the certificate.', 'description' => ''], + ['errorCode' => 'InvalidCertificate.TooLong', 'errorMessage' => 'The maximum length of the certificate is exceeded.', 'description' => ''], + ['errorCode' => 'InvalidCertName.TooLong', 'errorMessage' => 'The length of the certificate name cannot exceed 128 characters.', 'description' => ''], + ['errorCode' => 'AuthenticationFailed', 'errorMessage' => 'Error performing verification.', 'description' => ''], + ['errorCode' => 'SetDomainCertificate.ParameterError', 'errorMessage' => 'The specified parameters are invalid.', 'description' => 'The specified parameter is invalid.'], + ['errorCode' => 'Certificate.StatusError', 'errorMessage' => 'The status of the certificate is invalid.', 'description' => ''], + ['errorCode' => 'DeleteFailed', 'errorMessage' => 'Error deleting the certificate.', 'description' => ''], + ['errorCode' => 'Certificate.NotFind', 'errorMessage' => 'The certificate does not exist.', 'description' => ''], + ['errorCode' => 'Certificate.Duplicated', 'errorMessage' => 'The certificate name already exists.', 'description' => ''], + ['errorCode' => 'Certificate.FormatError', 'errorMessage' => 'The format of the certificate is invalid.', 'description' => 'The specified certificate is invalid.'], + ['errorCode' => 'Certificate.KeyNull', 'errorMessage' => 'The private key is required.', 'description' => ''], + ['errorCode' => 'Key.Malformed', 'errorMessage' => 'The specified Key format is invalid.', 'description' => ''], + ['errorCode' => 'CertStorage.failed', 'errorMessage' => 'Error saving the certificate.', 'description' => ''], + ['errorCode' => 'CertificateContent.Duplicated', 'errorMessage' => 'The certificate has been uploaded; do not upload again.', 'description' => ''], + ['errorCode' => 'Certificate.Expired', 'errorMessage' => 'The certificate has expired.', 'description' => ''], + ['errorCode' => 'InvalidDomain.notOnline', 'errorMessage' => 'The domain is offline. Check the status of the domain and try again later.', 'description' => ''], + ['errorCode' => 'Decode.Error', 'errorMessage' => 'Error decoding the SSLPub or SSLPri certificate.', 'description' => ''], + ['errorCode' => 'sslPub.Error', 'errorMessage' => 'Error encoding SSLPub.', 'description' => ''], + ['errorCode' => 'sslPri.Error', 'errorMessage' => 'Error encoding SSLPri.', 'description' => ''], + ['errorCode' => 'DomainInSafeMode', 'errorMessage' => 'The domain is in safe mode. To request permission, contact Customer Service.', 'description' => ''], + ['errorCode' => 'CreateCertificateFailed', 'errorMessage' => 'Create certificate failed,please try again.', 'description' => ''], + ['errorCode' => 'Abs.CertRegion.ValueNotSupported', 'errorMessage' => 'CertRegion is not supported.', 'description' => 'The certificate region is not supported.'], + ['errorCode' => 'CertNameAlreadyExists', 'errorMessage' => 'The CertName already exists.', 'description' => 'The certificate name already exists.'], + ['errorCode' => 'InvalidDomain.Offline', 'errorMessage' => 'The domain provided is offline.', 'description' => 'The domain name is disabled.'], + ['errorCode' => 'InvalidEnv', 'errorMessage' => 'The specified Env is invalid.', 'description' => 'The specified Env is invalid.'], ], 403 => [ - [ - 'errorCode' => 'PermissionDeny', - 'errorMessage' => 'No permission to operate this FCTrigger.', - ], + ['errorCode' => 'DomainInProtectedMode', 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.', 'description' => ''], + ], + [ + ['errorCode' => 'CertName.MissingParameter', 'errorMessage' => 'You must specify CertName.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateFCTriggerResponse>\\n <RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\n</UpdateFCTriggerResponse>","errorExample":""}]', - 'title' => 'UpdateFCTrigger', - 'requestParamsDescription' => '## SourceARN'."\n" - ."\n" - .'SourceARN format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + 'title' => 'SetCdnDomainSSLCertificate', + 'summary' => 'Enables or disables the certificate for a domain name and updates the certificate information.', + 'description' => '- Each account can call this operation up to 30 times per second.'."\n" ."\n" - .'* Filter indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" - .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by example.com if Filter is set to`domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyun.com}`.'."\n" - .'* Separate filters with forward slashes (/). Set the logical operator among filters to AND. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", - 'extraInfo' => ' ', - ], - 'DescribeFCTrigger' => [ - 'summary' => 'Queries a specified Function Compute trigger.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'- Method: POST.', + 'changeSet' => [ + ['createdAt' => '2025-08-06T06:32:31.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T06:30:46.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:49:40.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-24T03:42:11.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-11-28T07:00:03.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2024-05-07T07:50:08.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-06T03:01:58.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-09-04T01:28:30.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainSSLCertificate'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainSSLCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A7C69682-7F88-40DD-A198-10D0309E439D\\\\n\\"\\n}","type":"json"}]', + ], + 'SetCdnDomainStagingConfig' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111820', - 'abilityTreeNodes' => [ - 'FEATUREcdnCG0XWT', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '111889', + 'abilityTreeNodes' => ['FEATUREcdn9UE6OO'], ], 'parameters' => [ [ - 'name' => 'TriggerARN', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger that corresponds to the Function Compute service.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:cdn:{RegionID}:{AccountID}:{Filter}', - ], + 'schema' => ['description' => 'The accelerated domain name. Only one domain name can be configured at a time.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], + ], + [ + 'name' => 'Functions', + 'in' => 'query', + 'schema' => ['description' => 'The list of features. The format is as follows:'."\n" + ."\n" + .'> - **functionName** (the feature name): For information about the features that you can configure, see [Feature list](~~388460~~). Separate multiple parameters with commas (,).'."\n" + .'>'."\n" + .'> - **argName**: a configuration item for **functionName**. You can specify multiple configuration items.'."\n" + .'>'."\n" + .'> - **argValue**: the value of the configuration item for **functionName**.'."\n" + ."\n" + .'```json'."\n" + .'['."\n" + .' {'."\n" + .' "functionArgs": ['."\n" + .' {'."\n" + .' "argName": "Feature parameter A",'."\n" + .' "argValue": "Value of feature parameter A"'."\n" + .' },'."\n" + .' {'."\n" + .' "argName": "Feature parameter B",'."\n" + .' "argValue": "Value of feature parameter B"'."\n" + .' }'."\n" + .' ],'."\n" + .' "functionName": "Feature name"'."\n" + .' }'."\n" + .']'."\n" + .'```', 'type' => 'string', 'required' => true, 'example' => '[{"functionArgs":[{"argName":"enable","argValue":"on"},{"argName":"pri","argValue":"1"},{"argName":"rule","argValue":"xxx"}],"functionName":"edge_function"}]', 'title' => ''], ], ], 'responses' => [ @@ -21309,194 +19655,217 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E', - ], - 'FCTrigger' => [ - 'description' => 'The Function Compute trigger that you want to query.'."\n", - 'type' => 'object', - 'properties' => [ - 'TriggerARN' => [ - 'description' => 'The trigger that corresponds to the Function Compute service.'."\n", - 'type' => 'string', - 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger', - ], - 'RoleARN' => [ - 'description' => 'The assigned Resource Access Management (RAM) role.'."\n", - 'type' => 'string', - 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole', - ], - 'SourceArn' => [ - 'description' => 'The resources and filters for event listening.'."\n", - 'type' => 'string', - 'example' => 'acs:cdn:*:1234567890:domain/example.com', - ], - 'Notes' => [ - 'description' => 'The remarks of the Function Compute trigger.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EventMetaName' => [ - 'description' => 'The name of the event.'."\n", - 'type' => 'string', - 'example' => 'LogFileCreated', - ], - 'EventMetaVersion' => [ - 'description' => 'The version of the event.'."\n", - 'type' => 'string', - 'example' => '1.0.0', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], + 'DomainConfigList' => [ + 'description' => 'The list of domain name configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => ['description' => 'The configuration ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567', 'title' => ''], + 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'www.example.com', 'title' => ''], + 'FunctionName' => ['description' => 'The feature name.', 'type' => 'string', 'example' => 'set_resp_header', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 403 => [ - [ - 'errorCode' => 'PermissionDeny', - 'errorMessage' => 'No permission to operate this FCTrigger.', - ], - ], - [ - [ - 'errorCode' => 'NotFound.FCTrigger', - 'errorMessage' => 'FCTrigger not found.', - ], + 400 => [ + ['errorCode' => 'InvalidFunctionName.ValueNotSupported', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidArgValue.Malformed', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'ConfigurationConflicts', 'errorMessage' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the stating environment. Set parameters in the staging environment before you publish them to the production environment.'], + ['errorCode' => 'InvalidArgName.ValueNotSupported', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'GrayConfigExist', 'errorMessage' => 'The domain exists other gray config.', 'description' => 'The staging environment already contains settings for the domain name.'], + ['errorCode' => 'InvalidRule.Malformed', 'errorMessage' => '%s', 'description' => ''], + ['errorCode' => 'InvalidDomain.BelongToConfigGroup', 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', 'description' => ''], + ['errorCode' => 'EdgeScriptCountExceedLimit', 'errorMessage' => 'The number of rules exceeds the default limit.', 'description' => 'The number of rules exceeds the limit. To increase the limit, submit a ticket.'], + ['errorCode' => 'EdgeScripOptionsHasInnerConfig', 'errorMessage' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'The extension has a background configuration or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptGrammarNotSupport', 'errorMessage' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'description' => 'A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.'], + ['errorCode' => 'EdgeScriptNotSupportJs', 'errorMessage' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'description' => 'JavaScript rules are not supported. For more information, submit a ticket.'], + ['errorCode' => 'MissingRequiredArg', 'errorMessage' => 'required argument missing.', 'description' => 'When configuring the function, the necessary parameters are missing.'], + ['errorCode' => 'FunctionArgError', 'errorMessage' => 'The function parameter of the domain configuration is incorrect.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\",\\n \\"FCTrigger\\": {\\n \\"TriggerARN\\": \\"acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger\\",\\n \\"RoleARN\\": \\"acs:ram:: 1234567890:role/aliyuncdneventnotificationrole\\",\\n \\"SourceArn\\": \\"acs:cdn:*:1234567890:domain/example.com\\",\\n \\"Notes\\": \\"test\\",\\n \\"EventMetaName\\": \\"LogFileCreated\\",\\n \\"EventMetaVersion\\": \\"1.0.0\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\n<FCTrigger>\\n <TriggerARN>acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger</TriggerARN>\\n <SourceArn>acs:cdn:*:1234567890:domain/example.com</SourceArn>\\n <EventMetaName>LogFileCreated</EventMetaName>\\n <EventMetaVersion>1.0.0</EventMetaVersion>\\n <Notes>test</Notes>\\n <RoleARN>acs:ram:: 1234567890:role/aliyuncdneventnotificationrole</RoleARN>\\n</FCTrigger>","errorExample":""}]', - 'title' => 'DescribeFCTrigger', - 'responseParamsDescription' => '## SourceArn'."\n" + 'title' => 'SetCdnDomainStagingConfig', + 'summary' => 'Configures an accelerated domain name in the staging environment.', + 'description' => '> A single user can make up to 30 calls per second.', + 'requestParamsDescription' => '### Description of the edge\\_function feature'."\n" ."\n" - .'SourceArn format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + .'All parameter values are processed as strings.'."\n" ."\n" - .'* **Filter** indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" - .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by example.com if Filter is set to `domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyun.com}`.'."\n" - .'* Separate filters with forward slashes (/). Set the logical operator among filters to AND. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", + .'| Feature name | Parameters |'."\n" + .'| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| edge_function: edge function | Required parameters:<br>**rule**: the DSL rule.<br>**pri**: the priority.<br>**enable**: specifies whether to enable the rule. Valid values: on and off.<br>Optional parameters:<br>**name**: the name of the rule. Only letters and underscores (_) are supported.<br>**pos**: the position where the rule is executed.<br>**brk**: If this rule is hit, the remaining rules at the current execution position are skipped.<br>**option**: option control.<br>**grammar**: grammar control. Valid values: empty, es2, and js.<br>**jsmode**: JavaScript domain name whitelist control. Valid values: redirect and bypass. |', + 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteFCTrigger' => [ - 'summary' => 'Deletes a specified Function Compute trigger.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:49:19.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-04-29T03:04:03.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-05-25T03:07:33.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainStagingConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"DomainConfigList\\": [\\n {\\n \\"ConfigId\\": 1234567,\\n \\"DomainName\\": \\"www.example.com\\",\\n \\"FunctionName\\": \\"set_resp_header\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'SetCdnFullDomainsBlockIP' => [ + 'summary' => 'Blocks or unblocks IP addresses. This setting applies to all domain names in your account.', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '111706', - 'abilityTreeNodes' => [ - 'FEATUREcdnCG0XWT', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'deprecated' => false, + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'TriggerARN', - 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger that corresponds to the Function Compute service.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'acs:cdn:{RegionID}:{AccountID}:{Filter}', - ], + 'name' => 'IPList', + 'in' => 'formData', + 'schema' => ['title' => 'A short description of struct', 'description' => 'The IP addresses that you want to block or unblock. Separate multiple IP addresses with commas (,). You can specify up to 1,000 IP addresses.', 'type' => 'string', 'required' => true, 'example' => '1.XXX.XXX.1,2.XXX.XXX.2'], + ], + [ + 'name' => 'OperationType', + 'in' => 'formData', + 'schema' => ['description' => 'The type of the operation.'."\n" + ."\n" + .'- block'."\n" + ."\n" + .'- unblock', 'type' => 'string', 'required' => true, 'example' => 'block', 'title' => ''], + ], + [ + 'name' => 'BlockInterval', + 'in' => 'formData', + 'schema' => ['description' => 'The duration for which IP addresses or CIDR blocks are blocked. Unit: seconds. The value **0** specifies that IP addresses or CIDR blocks are permanently blocked. This parameter is available only if you set **OperationType** to **block**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3000', 'title' => ''], + ], + [ + 'name' => 'UpdateType', + 'in' => 'formData', + 'schema' => ['description' => 'The type of the blocking duration. This parameter is available only if you set **OperationType** to **block**. Valid values:'."\n" + ."\n" + .'- **cover**: Default. The blocking duration that is specified in the request takes effect.'."\n" + ."\n" + .'- **uncover**: The longer of the blocking duration in the request or the remaining blocking duration takes effect.'."\n" + ."\n" + .'- When the value is left empty, **cover** is used.', 'type' => 'string', 'required' => false, 'example' => 'cover', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E', - ], + 'Code' => ['description' => 'The status code. The status code 0 indicates that the call is successful. If another status code is returned, the call fails.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The additional information returned. If the request was successful, OK is returned. If the request failed, an error message is returned.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '23ACE7E2-2302-42E3-98F8-E5E697FD86C3'], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.TriggerARN', - 'errorMessage' => 'The specified parameter TriggerARN is not valid.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'QuotaExceeded', 'errorMessage' => 'The quota is exceeded.', 'description' => 'The quota is exhausted.'], ], 403 => [ - [ - 'errorCode' => 'PermissionDeny', - 'errorMessage' => 'No permission to operate this FCTrigger.', - ], + ['errorCode' => 'OperationDenied', 'errorMessage' => 'You do not have access to this operation.', 'description' => 'You are not authorized to operate the specified resource; please check your authorization using RAM.'."\n"], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteFCTriggerResponse>\\r\\n<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\r\\n</DeleteFCTriggerResponse>","errorExample":""}]', - 'title' => 'DeleteFCTrigger', - 'requestParamsDescription' => '## SourceARN'."\n" - ."\n" - .'SourceARN format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'SetCdnFullDomainsBlockIP', + 'description' => '- To use this operation, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" ."\n" - .'* Filter indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" - .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by `example.com` if Filter is set to `domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyun.com}`.'."\n" - .'* Separate filters with forward slashes (/). Set the logical operator among filters to AND. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", - 'extraInfo' => ' ', - ], - 'ListFCTrigger' => [ - 'summary' => 'Queries the Function Compute trigger that is set for an Alibaba Cloud CDN event.', - 'methods' => [ - 'get', + .'- This operation is suitable for blocking or unblocking a maximum of 1,000 IP addresses or CIDR blocks at a time.', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:49:09.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnFullDomainsBlockIP'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnFullDomainsBlockIP', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"23ACE7E2-2302-42E3-98F8-E5E697FD86C3\\"\\n}","type":"json"}]', + ], + 'SetReqHeaderConfig' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111861', - 'abilityTreeNodes' => [ - 'FEATUREcdnCG0XWT', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'abilityTreeCode' => '111909', + 'abilityTreeNodes' => ['FEATUREcdnJA88R2'], ], 'parameters' => [ [ - 'name' => 'EventMetaName', + 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the event. You can specify only one name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'LogFileCreated', - ], + 'schema' => ['description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com'], ], [ - 'name' => 'EventMetaVersion', + 'name' => 'Key', 'in' => 'query', - 'schema' => [ - 'description' => 'The version number of the event. You can specify only one version number.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The name of the custom header.'."\n", 'type' => 'string', 'required' => true, 'example' => 'testkey'], + ], + [ + 'name' => 'Value', + 'in' => 'query', + 'schema' => ['description' => 'The value of the custom header.'."\n", 'type' => 'string', 'required' => true, 'example' => 'testvalue'], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the configuration.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '123'], ], ], 'responses' => [ @@ -21504,200 +19873,79 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E', - ], - 'FCTriggers' => [ - 'description' => 'The Function Compute triggers that are set for Alibaba Cloud CDN events.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TriggerARN' => [ - 'description' => 'The trigger that corresponds to the Function Compute service.'."\n", - 'type' => 'string', - 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger', - ], - 'RoleARN' => [ - 'description' => 'The Resource Access Management (RAM) role.'."\n", - 'type' => 'string', - 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole', - ], - 'SourceArn' => [ - 'description' => 'The resources and filters for event listening.'."\n", - 'type' => 'string', - 'example' => 'acs:cdn:*:1234567890:domain/example.com', - ], - 'Notes' => [ - 'description' => 'The remarks.'."\n", - 'type' => 'string', - 'example' => 'Test'."\n", - ], - 'EventMetaName' => [ - 'description' => 'The name of the event.'."\n", - 'type' => 'string', - 'example' => 'LogFileCreated', - ], - 'EventMetaVersion' => [ - 'description' => 'The version of the event.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'NotFound.EventMeta', - 'errorMessage' => 'EventMeta not found.', - ], + ['errorCode' => 'MissingParameter', 'errorMessage' => 'The specified value of parameter DomainName can not be empty.', 'description' => ''], + ['errorCode' => 'InvalidKey.Malformed', 'errorMessage' => 'The specified value of parameter Key is not malformed.', 'description' => 'The Key parameter is set in an invalid format.'], + ['errorCode' => 'InvalidValue.Malformed', 'errorMessage' => 'The specified value of parameter Value is not malformed.', 'description' => ''], + ['errorCode' => 'InvalidHeaderKey.ValueNotSupported', 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.', 'description' => 'The specified HTTP header is invalid. Valid values: Content-Type, Cache-Control, Content-Disposition, Content-Language, Expires, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Max-Age, Access-Control-Expose-Headers, and Access-Control-Allow-Credentials.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\",\\n \\"FCTriggers\\": [\\n {\\n \\"TriggerARN\\": \\"acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger\\",\\n \\"RoleARN\\": \\"acs:ram:: 1234567890:role/aliyuncdneventnotificationrole\\",\\n \\"SourceArn\\": \\"acs:cdn:*:1234567890:domain/example.com\\",\\n \\"Notes\\": \\"测试\\",\\n \\"EventMetaName\\": \\"LogFileCreated\\",\\n \\"EventMetaVersion\\": \\"1.0.0\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListFCTriggerResponse>\\r\\n\\t<FCTriggers>\\r\\n\\t\\t<Notes>测试</Notes>\\r\\n\\t\\t<SourceArn>acs:cdn:*:1234567890:domain/example.com</SourceArn>\\r\\n\\t\\t<EventMetaVersion>1.0.0</EventMetaVersion>\\r\\n\\t\\t<EventMetaName>LogFileCreated</EventMetaName>\\r\\n\\t\\t<RoleARN>acs:ram:: 1234567890:role/aliyuncdneventnotificationrole</RoleARN>\\r\\n\\t\\t<TriggerARN>acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger</TriggerARN>\\r\\n\\t</FCTriggers>\\r\\n\\t<RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\r\\n</ListFCTriggerResponse>","errorExample":""}]', - 'title' => 'ListFCTrigger', - 'description' => '> You can call this operation up to 100 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => '**SourceARN** format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" - ."\n" - .'**Filter** indicates the resource and filter in the format of \\*\\*{FilterName}/{FilterValue}. If multiple values are returned for **FilterValue**, the values are enclosed with braces **({})** and separated by commas (,).'."\n" - ."\n" - .'For example, the LogFileCreated event supports a filter of which **FilterName** is set to **domain**. Function Compute can be triggered only by **example.com** if **Filter** is set to **domain/example.com**. Function Compute can be triggered by multiple domains if **Filter** is set to `domain/{example.com,aliyundoc.com}`.'."\n" - ."\n" - .'If multiple filters are returned, they are separated with forward slashes (/) and have the **AND** relation. In this case, the SourceArn parameter is displayed in the format of `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}...`.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<SetReqHeaderConfigResponse>\\r\\n\\t <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</SetReqHeaderConfigResponse>","errorExample":""}]', + 'title' => 'SetReqHeaderConfig', + 'summary' => 'Sets a custom origin header.', 'extraInfo' => ' ', - ], - 'DescribeDomainCcActivityLog' => [ - 'summary' => 'Queries log entries of rate limiting.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetReqHeaderConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SetWaitingRoomConfig' => [ + 'summary' => 'Configures the virtual waiting room feature for an accelerated domain name. This operation is available only for accelerated domain names of the Dynamic CDN workload type.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111767', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify multiple domain names and separate them with commas (,).'."\n" - ."\n" - .'If you do not specify this parameter, data of all accelerated domain names under your account is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The minimum time granularity of data collection is 5 minutes.'."\n" - ."\n" - .'If you leave this parameter empty, the data collected over the last 24 hours is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-12-10T20:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-12-10T21:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'TriggerObject', + 'name' => 'WaitUri', 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger of rate limiting by which you want to query data.'."\n" - ."\n" - .'If you leave this parameter empty, all events that triggered rate limiting are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'IP', - ], + 'schema' => ['description' => 'The regular expression that is used to match URI strings for which the virtual waiting room feature is enabled.', 'type' => 'string', 'required' => true, 'example' => '.*/aaa/bbb$', 'title' => ''], ], [ - 'name' => 'Value', + 'name' => 'AllowPct', 'in' => 'query', - 'schema' => [ - 'description' => 'The value of the trigger.'."\n" - ."\n" - .'If you leave this parameter empty, all events recorded for the trigger are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.2.3.4', - ], + 'schema' => ['description' => 'The percentage of requests that are allowed to be redirected to the origin server. Valid values: **0** to **100**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '30', 'title' => ''], ], [ - 'name' => 'RuleName', + 'name' => 'MaxTimeWait', 'in' => 'query', - 'schema' => [ - 'description' => 'A custom rule name. Valid values:'."\n" - ."\n" - .'* default_normal: rule for the normal mode'."\n" - .'* default_attack: rule for the emergency mode'."\n" - ."\n" - .'If you leave this parameter empty, events that triggered rate limiting based on all rules are queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test2', - ], + 'schema' => ['description' => 'The maximum length of waiting time in the queue. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '30', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'GapTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Default value: **30**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'maximum' => '100', - 'example' => '30', - 'default' => '30', - ], + 'schema' => ['description' => 'The length of waiting time to skip after an exit from the queue. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '20', 'title' => ''], ], [ - 'name' => 'PageNumber', + 'name' => 'WaitUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return. Default value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'default' => '1', - ], + 'schema' => ['description' => 'The URL of the waiting page.', 'type' => 'string', 'required' => true, 'example' => 'https://example.com/waitingroom.html'."\n", 'title' => ''], ], ], 'responses' => [ @@ -21705,163 +19953,64 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'PageIndex' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '30', - ], - 'Total' => [ - 'description' => 'The total number of entries returned.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'ActivityLog' => [ - 'description' => 'The list of rate limiting logs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The value of the trigger for rate limiting.'."\n", - 'type' => 'string', - 'example' => '1.2.3.4', - ], - 'Ttl' => [ - 'description' => 'The period of time during which rate limiting remains effective.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '300', - ], - 'Action' => [ - 'description' => 'The action that was triggered.'."\n", - 'type' => 'string', - 'example' => 'deny', - ], - 'TriggerObject' => [ - 'description' => 'The trigger of rate limiting.'."\n", - 'type' => 'string', - 'example' => 'Ip', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'RuleName' => [ - 'description' => 'The name of the rule based on which rate limiting was triggered.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageIndex\\": 1,\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"PageSize\\": 30,\\n \\"Total\\": 20,\\n \\"ActivityLog\\": [\\n {\\n \\"Value\\": \\"1.2.3.4\\",\\n \\"Ttl\\": 300,\\n \\"Action\\": \\"deny\\",\\n \\"TriggerObject\\": \\"Ip\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"RuleName\\": \\"test\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainCcActivityLogResponse>\\n<Total>20</Total>\\n<PageSize>30</PageSize>\\n<PageIndex>1</PageIndex>\\n<RequestId>3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F</RequestId>\\n<ActivityLog>\\n <TimeStamp>2015-12-10T20:00:00Z</TimeStamp>\\n <Value>1.2.3.4</Value>\\n <TriggerObject>Ip</TriggerObject>\\n <DomainName>example.com</DomainName>\\n <Ttl>300</Ttl>\\n <Action>deny</Action>\\n <RuleName>test2</RuleName>\\n</ActivityLog>\\n<ActivityLog>\\n <TimeStamp>2015-12-10T20:00:00Z</TimeStamp>\\n <Value>safari 5.1 – Windows</Value>\\n <TriggerObject>Header_UserAgent</TriggerObject>\\n <DomainName>example.com</DomainName>\\n <Ttl>300</Ttl>\\n <Action>deny</Action>\\n <RuleName>test2</RuleName>\\n</ActivityLog>\\n</DescribeDomainCcActivityLogResponse>","errorExample":""}]', - 'title' => 'DescribeDomainCcActivityLog', - 'description' => '* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both the StartTime and EndTime parameters, the request returns the data collected within the specified time range. You must set both parameters or leave both parameters empty.'."\n" - .'* You can specify up to 20 domain names in reach request. If you specify multiple domain names, separate them with commas (,).'."\n" - .'* You can query data collected over the last 30 days.'."\n" - .'* You can call this operation up to 50 times per second per account.'."\n", + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'SetWaitingRoomConfig', + 'description' => '> Each account can call this operation up to 30 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainPvData' => [ - 'summary' => 'Queries the page view (PV) data of an accelerated domain name. The data is collected at an interval of 1 hour. You can query data in the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:48:43.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-04T07:49:46.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetWaitingRoomConfig'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetWaitingRoomConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StartCdnDomain' => [ + 'summary' => 'Enables a disabled domain name. After the domain name is enabled, the value of the DomainStatus parameter is changed to Online.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111785', - 'abilityTreeNodes' => [ - 'FEATUREcdnF7OM8K', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '111916', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB', 'FEATUREcdn9UE6OO'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-11-28T00:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-11-29T00:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -21869,145 +20018,74 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-11-28T04:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-11-28T03:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'BCD7D917-76F1-442F-BB75-C810DE34C761', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '3600', - ], - 'PvDataInterval' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UsageData' => [ - 'description' => 'The number of PVs at each interval.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The number of PVs.'."\n", - 'type' => 'string', - 'example' => '9292', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2015-11-28T03:00:00Z', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.ValueNotSupported', - 'errorMessage' => 'StartTime or EndTime is miss match.', - ], + ['errorCode' => 'RecordCheckNotAvailable', 'errorMessage' => 'The ICP filing interface is unavailable. Please try again later.', 'description' => ''], + ['errorCode' => 'IcpBlack', 'errorMessage' => 'The domain is on the ICP blacklist.', 'description' => ''], + ['errorCode' => 'IspBlack', 'errorMessage' => 'The domain is on the ISP blacklist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-11-28T04:00:00Z\\",\\n \\"StartTime\\": \\"2015-11-28T03:00:00Z\\",\\n \\"RequestId\\": \\"BCD7D917-76F1-442F-BB75-C810DE34C761\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"3600\\",\\n \\"PvDataInterval\\": {\\n \\"UsageData\\": [\\n {\\n \\"Value\\": \\"9292\\",\\n \\"TimeStamp\\": \\"2015-11-28T03:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainPvDataResponse>\\r\\n\\t<DataInterval>3600</DataInterval>\\r\\n\\t<RequestId>BCD7D917-76F1-442F-BB75-C810DE34C761</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<EndTime>2015-11-29T00:00:00Z</EndTime>\\r\\n\\t<PvDataInterval>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T03:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9292</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T23:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9239</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T07:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9464</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T12:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9379</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T22:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9243</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T10:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>10063</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T15:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9068</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T14:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9353</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T04:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9513</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T02:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9377</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T08:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9579</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T20:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9109</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T09:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>10631</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T06:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9587</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T01:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9108</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T16:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9454</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T21:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9285</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T19:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9059</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T00:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9470</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T05:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>11830</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T13:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9992</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T17:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9529</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T18:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9203</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t\\t<UsageData>\\r\\n\\t\\t\\t<TimeStamp>2015-11-28T11:00:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>9604</Value>\\r\\n\\t\\t</UsageData>\\r\\n\\t</PvDataInterval>\\r\\n\\t<StartTime>2015-11-28T00:00:00Z</StartTime>\\r\\n</DescribeDomainPvDataResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainPvData', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature to for data analysis.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","type":"json"}]', + 'title' => 'StartCdnDomain', + 'description' => '- If the domain name is in an invalid state or you have an overdue payment in your account, the domain name cannot be enabled.'."\n" ."\n" - .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - .'>* You can call this operation up to 50 times per second per account.', + .'- Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainUvData' => [ - 'summary' => 'Queries the unique visitor (UV) data of an accelerated domain name. Data is collected every hour. You can query data collected in the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:04:09.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:53:47.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:48:30.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:StartCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'StopCdnDomain' => [ + 'summary' => 'Disables an accelerated domain name. After the domain name is disabled, the value of the DomainStatus parameter is changed to Offline.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111816', - 'abilityTreeNodes' => [ - 'FEATUREcdnF7OM8K', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '111917', + 'abilityTreeNodes' => ['FEATUREcdnFGPKCB', 'FEATUREcdn9UE6OO'], ], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-29T00:00:00Z', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-29T04:00:00Z', - ], + 'schema' => ['description' => 'The accelerated domain name that you want to disable. You can specify only one domain name in each request.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], ], 'responses' => [ @@ -22015,165 +20093,113 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T04:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T00:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'E9D3257A-1B7C-414C-90C1-8D07AC47BCAC', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '3600', - ], - 'UvDataInterval' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UsageData' => [ - 'description' => 'The number of UVs at each interval.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The number of UVs.'."\n", - 'type' => 'string', - 'example' => '318', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned data.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T00:00:00Z', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.ValueNotSupported', - 'errorMessage' => 'StartTime or EndTime is miss match.', - ], + ['errorCode' => 'InvalidDomain.BelongToConfigGroup', 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-29T04:00:00Z\\",\\n \\"StartTime\\": \\"2019-11-29T00:00:00Z\\",\\n \\"RequestId\\": \\"E9D3257A-1B7C-414C-90C1-8D07AC47BCAC\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"3600\\",\\n \\"UvDataInterval\\": {\\n \\"UsageData\\": [\\n {\\n \\"Value\\": \\"318\\",\\n \\"TimeStamp\\": \\"2019-11-29T00:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainUvDataResponse>\\n<DataInterval>3600</DataInterval>\\n<RequestId>17276F0E-66F4-4547-B9C6-42E2547362D4</RequestId>\\n<DomainName>example.com</DomainName>\\n<EndTime>2019-11-29T04:00:00Z</EndTime>\\n<StartTime>2019-11-29T00:00:00Z</StartTime>\\n<UvDataInterval>\\n <UsageData>\\n <TimeStamp>2019-11-29T00:00:00Z</TimeStamp>\\n <Value>2</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T01:00:00Z</TimeStamp>\\n <Value>12</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T02:00:00Z</TimeStamp>\\n <Value>6</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T03:00:00Z</TimeStamp>\\n <Value>7</Value>\\n </UsageData>\\n <UsageData>\\n <TimeStamp>2019-11-29T04:00:00Z</TimeStamp>\\n <Value>5</Value>\\n </UsageData>\\n</UvDataInterval>\\n</DescribeDomainUvDataResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainUvData', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\"\\n}","type":"json"}]', + 'title' => 'StopCdnDomain', + 'description' => '- After an accelerated domain is disabled, Alibaba Cloud CDN retains its information and routes all the requests that are destined for the accelerated domain to the origin server.'."\n" ."\n" - .'> '."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - .'* You can specify only one accelerated domain name or all accelerated domain names in your Alibaba Cloud account.'."\n" - .'* You can call this operation up to 100 times per second per account.', + .'- Each account can call this operation up to 40 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainTopUrlVisit' => [ - 'summary' => 'Queries top 100 frequently requested URLs of an accelerated domain name within a specified time range.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-08-06T08:04:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-06T07:53:50.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-16T07:48:30.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:StopCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopCdnDomain'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'TagResources' => [ + 'summary' => 'Adds one or more tags to specific resources.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111813', - 'abilityTreeNodes' => [ - 'FEATUREcdnB3I7MU', - ], - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DomainName', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The accelerated domain name that you want to query.'."\n", + 'description' => 'The type of the resource. Set this value to **DOMAIN**.', 'type' => 'string', 'required' => true, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The start of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'If you want to query data of a specific day, we recommend that you set the value in the yyyy-MM-ddT16:00:00Z format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-04T00:00:00Z', + 'enum' => ['DOMAIN'], + 'example' => 'DOMAIN', + 'title' => '', ], ], [ - 'name' => 'EndTime', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time. The maximum time range that can be specified is seven days.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-04T16:00:00Z', + 'description' => 'The list of resource IDs. Maximum number of list elements: 50.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a resource.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], + 'required' => true, + 'example' => '1', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'SortBy', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The method that is used to sort the returned URLs. Default value: **pv**. Valid values:'."\n" - ."\n" - .'* **traf**: by network traffic'."\n" - .'* **pv**: by the number of page views'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pv', + 'description' => 'The tags. Maximum number of list elements: 20.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of a tag.', 'type' => 'string', 'required' => true, 'example' => 'env', 'title' => ''], + 'Value' => ['description' => 'The value of a tag.', 'type' => 'string', 'required' => false, 'example' => 'value', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 21, + 'minItems' => 1, + 'title' => '', + 'example' => '', ], ], ], @@ -22182,370 +20208,125 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-10-03T16:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'AllUrlList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of frequently requested URLs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url200List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 2xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/aWQ9SE5KU0bGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url300List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 3xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url400List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 4xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUhbGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '1884', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url500List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 5xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.ValueNotSupported', - 'errorMessage' => 'StartTime or EndTime is miss match.', - ], - [ - 'errorCode' => 'InvalidDomainName.Mismatch', - 'errorMessage' => 'The specified DomainName is invalid.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"StartTime\\": \\"2019-10-03T16:00:00Z\\",\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"AllUrlList\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url200List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/aWQ9SE5KU0bGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url300List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url400List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUhbGxfcGNfbGl2ZQ,,/HNJSMPP360.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"1884\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url500List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainTopUrlVisitResponse>\\n<Url300List>\\n</Url300List>\\n<AllUrlList>\\n <UrlList>\\n <Flow>9304</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>2</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <Flow>3986</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <Flow>784</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n</AllUrlList>\\n<Url400List>\\n <UrlList>\\n <Flow>3986</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <Flow>784</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n</Url400List>\\n<RequestId>8E7A2ABF-1BB0-4E46-AE3E-58DB3151080C</RequestId>\\n<DomainName>example.com</DomainName>\\n<Url200List>\\n <UrlList>\\n <Flow>9304</Flow>\\n <VisitProportion>0</VisitProportion>\\n <VisitData>2</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <FlowProportion>0</FlowProportion>\\n </UrlList>\\n</Url200List>\\n<StartTime>2019-10-04T00:00:00Z</StartTime>\\n<Url500List>\\n</Url500List>\\n</DescribeDomainTopUrlVisitResponse>","errorExample":""}]', - 'title' => 'DescribeDomainTopUrlVisit', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" - ."\n" - .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - .'>* You can query data collected in the last 90 days.'."\n" - .'>* You can specify only one domain name in each call.'."\n" - .'>* You can call this operation up to 10 times per second per account.', + ['errorCode' => 'InvalidRegionId.Malformed', 'errorMessage' => 'The specified RegionId is invalid.', 'description' => ''], + ['errorCode' => 'Resource.NotExist', 'errorMessage' => 'Resources does not exist.', 'description' => ''], + ['errorCode' => 'TagKeyIsInvalid', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'TooManyTags', 'errorMessage' => 'Too many tags.', 'description' => ''], + ['errorCode' => 'InvalidTagKey', 'errorMessage' => 'The key should not be null, start with "acs:" or "aliyun", contain "http://" or "https://" or have special symbols:.!@#$%?/^&*)(+={}[]",\'<>~·`?;.', 'description' => ''], + ['errorCode' => 'InvalidTagValue', 'errorMessage' => 'The tag value cannot contain these special symbols:http://, https://', 'description' => ''], + ['errorCode' => 'ReservedTagKey', 'errorMessage' => 'The tag key is used internally as a reserved field and is not allowed to be used.', 'description' => 'The tag key is used as an internal reserved field and is not allowed.'], + ['errorCode' => 'TagValueIsInvalid', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'TagKeyRepeated', 'errorMessage' => 'The specified TagKey is duplicated.', 'description' => ''], + ['errorCode' => 'TagIsInvalid', 'errorMessage' => 'The number of Tag exceeds 20.', 'description' => ''], + ['errorCode' => 'ResourceIdIsInvalid', 'errorMessage' => 'The number of ResourceId exceeds 50.', 'description' => 'The number of resource IDs (ResourceId) cannot exceed 50.'], + ['errorCode' => 'SystemTagIsInvalid', 'errorMessage' => 'The number of System Tag exceeds 50.', 'description' => ''], + ['errorCode' => 'CustomTagIsInvalid', 'errorMessage' => 'The number of Custom Tag exceeds 20.', 'description' => 'The number of tags cannot exceed 20.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"97C68796-EB7F-4D41-9D5B-12B909D76508\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainTopClientIpVisit' => [ - 'summary' => 'Queries client IP addresses that are ranked by the number of requests or the amount of network traffic within a specific time range for one or more accelerated domain names. You can query data collected within the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:48:50.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-11-25T06:16:14.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-12-13T06:01:56.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-12-12T02:36:05.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2023-01-04T06:29:25.000Z', 'description' => 'Response parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'UntagResources' => [ + 'summary' => 'Removes tags from specified resources.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111811', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries client IP addresses for all accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], - ], - [ - 'name' => 'LocationNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. Separate multiple region names with commas (,).'."\n" - ."\n" - .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', - ], - ], - [ - 'name' => 'StartTime', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'description' => 'The type of the resources from which you want to remove tags. Set this parameter to **DOMAIN**.', 'type' => 'string', - 'required' => false, - 'example' => '2019-09-30T16:00:00Z', + 'required' => true, + 'enum' => ['DOMAIN'], + 'example' => 'DOMAIN', + 'title' => '', ], ], [ - 'name' => 'EndTime', + 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-10-01T16:00:00Z', - ], + 'schema' => ['description' => 'Specifies whether to remove all tags. Valid values:'."\n" + ."\n" + .'- **true**: yes.'."\n" + ."\n" + .'- **false**: no.'."\n" + ."\n" + .'Default value: **false**.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'SortBy', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The criterion by which you want to sort client IP addresses. Valid values:'."\n" - ."\n" - .'* **traf**: by network traffic. This is the default value.'."\n" - .'* **acc**: by the number of requests.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'traf', - 'default' => 'traf', + 'description' => 'The list of resource IDs. You can specify up to 50 resource IDs in the list.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a resource.', 'type' => 'string', 'required' => false, 'example' => 'test-res.dutenews.com', 'title' => ''], + 'required' => true, + 'example' => 'example.com', + 'maxItems' => 51, + 'title' => '', ], ], [ - 'name' => 'Limit', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'repeatList', 'schema' => [ - 'description' => 'The maximum number of entries to return. Maximum value: 100.'."\n" - ."\n" - .'Default value: 20. The default value specifies that the top 20 IP addresses are returned.'."\n", - 'type' => 'string', + 'description' => 'The list of tag keys. You can specify up to 20 tag keys in the list.', + 'type' => 'array', + 'items' => ['description' => 'The key of a tag.', 'type' => 'string', 'required' => false, 'example' => 'env', 'title' => ''], 'required' => false, - 'example' => '20', - 'default' => '20', + 'example' => 'env', + 'maxItems' => 21, + 'title' => '', ], ], ], @@ -22554,154 +20335,91 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', - ], - 'ClientIpList' => [ - 'description' => 'A list of client IP addresses.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Rank' => [ - 'description' => 'The ranking of the client IP address returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'ClientIp' => [ - 'description' => 'The client IP address returned. Only IPv4 addressed are supported.'."\n", - 'type' => 'string', - 'example' => '1.1.xxx', - ], - 'Acc' => [ - 'description' => 'The total number of requests.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '256', - ], - 'Traffic' => [ - 'description' => 'The total amount of network traffic consumed. Unit: bytes.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1024', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], + ['errorCode' => 'TagIsInvalid', 'errorMessage' => 'The number of Tag exceeds 20.', 'description' => ''], + ['errorCode' => 'ResourceIdIsInvalid', 'errorMessage' => 'The number of ResourceId exceeds 50.', 'description' => 'The number of resource IDs (ResourceId) cannot exceed 50.'], + ['errorCode' => 'TagKeyRepeated', 'errorMessage' => 'The specified TagKey is duplicated.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"ClientIpList\\": [\\n {\\n \\"Rank\\": 2,\\n \\"ClientIp\\": \\"1.1.xxx\\",\\n \\"Acc\\": 256,\\n \\"Traffic\\": 1024\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainTopClientIpVisitResponse>\\n<RequestId>64D28B53-5902-409B-94F6-FD46680144FE</RequestId>\\n<ClientIpList>\\n <Rank>1</Rank>\\n <ClientIp>1.1.xx</ClientIp>\\n <Traffic>1024</Traffic>\\n <Acc>128</Acc>\\n</ClientIpList>\\n<ClientIpList>\\n <Rank>2</Rank>\\n <ClientIp>2.2.xx</ClientIp>\\n <Traffic>2048</Traffic>\\n <Acc>256</Acc>\\n</ClientIpList>\\n</DescribeDomainTopClientIpVisitResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainTopClientIpVisit', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature to for data analysis.'."\n" - ."\n" - .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - .'>* Data is collected every hour.'."\n" - .'>* You can call this operation up to 10 times per second per account.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"97C68796-EB7F-4D41-9D5B-12B909D76508\\"\\n}","type":"json"}]', + 'title' => 'UntagResources', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainTopReferVisit' => [ - 'summary' => 'Queries frequently requested web pages of one or more accelerated domain names on a specified day and sorts the web pages. You can query data collected within the last 90 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:48:29.000Z', 'description' => 'OpenAPI offline'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'UpdateCdnDeliverTask' => [ + 'summary' => 'Updates a tracking task.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111812', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'name' => 'DeliverId', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the tracking task that you want to update.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '3', 'title' => ''], ], [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-21T12:00:00Z', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the tracking task.', 'type' => 'string', 'example' => 'Domain subscription', 'required' => false, 'title' => ''], ], [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-22T12:00:00Z', - ], + 'name' => 'Reports', + 'in' => 'formData', + 'schema' => ['description' => 'The operations reports that are tracked by the task. The data must be escaped in JSON.', 'type' => 'string', 'example' => '[{\\"reportId\\":1,\\"conditions\\":[{\\"field\\":\\"prov\\",\\"op\\":\\"in\\",\\"value\\":[\\" Heilongjiang\\",\\" Beijing\\"]}]}]', 'required' => false, 'title' => ''], ], [ - 'name' => 'SortBy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The order in which you want to sort the queried information. Valid values:'."\n" - ."\n" - .'* **traf**: by network traffic.'."\n" - .'* **pv**: by the number of page views. This is the default value.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pv', - ], + 'name' => 'DomainName', + 'in' => 'formData', + 'schema' => ['description' => 'The domain name that you want to track. You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,). If you do not specify a domain name, the task collects data from all domain names that belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'www.example.com', 'title' => ''], + ], + [ + 'name' => 'Deliver', + 'in' => 'formData', + 'schema' => ['description' => 'The method that is used to send operations reports. Operations reports are sent to you only by email. The settings must be escaped in JSON.', 'type' => 'string', 'example' => '{\\"email\\":{\\"subject\\":\\" topic name\\",\\"to\\":[\\"songmingyuan@alibaba-inc.com\\",\\"songmingyuan@alibaba-inc.com\\"]}}"', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Schedule', + 'in' => 'formData', + 'schema' => ['description' => 'The parameters that specify the time interval at which the tracking task sends operations reports. The settings must be escaped in JSON.', 'type' => 'string', 'example' => '{"schedName":"Scheduled task name","description":"Description","crontab":"000**?","frequency":"d","status":"enable","effectiveFrom":"2020-09-17T00:00:00Z","effectiveEnd":"2020-11-17T00:00:00Z"}', 'required' => false, 'title' => ''], ], ], 'responses' => [ @@ -22709,176 +20427,124 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'StartTime' => [ - 'description' => 'The beginning of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-21T12:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '95994621-8382-464B-8762-C708E73568D1', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'TopReferList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ReferList' => [ - 'description' => 'The most frequently requested web pages.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'ReferDetail' => [ - 'description' => 'The URLs to the most frequently requested web pages.'."\n", - 'type' => 'string', - 'example' => 'learn.aliyundoc.com', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"StartTime\\": \\"2019-12-21T12:00:00Z\\",\\n \\"RequestId\\": \\"95994621-8382-464B-8762-C708E73568D1\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"TopReferList\\": {\\n \\"ReferList\\": [\\n {\\n \\"Flow\\": \\"200\\",\\n \\"FlowProportion\\": 0.5,\\n \\"VisitData\\": \\"3\\",\\n \\"ReferDetail\\": \\"learn.aliyundoc.com\\",\\n \\"VisitProportion\\": 0.5\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainTopReferVisitResponse>\\n<TopReferList>\\n <ReferList>\\n <Flow>1557043</Flow>\\n <VisitProportion>0.9078341013824884</VisitProportion>\\n <VisitData>591</VisitData>\\n <ReferDetail>-</ReferDetail>\\n <FlowProportion>0.07801388057582173</FlowProportion>\\n </ReferList>\\n <ReferList>\\n <Flow>18397394</Flow>\\n <VisitProportion>0.08602150537634409</VisitProportion>\\n <VisitData>56</VisitData>\\n <ReferDetail>learn.aliyundoc.com</ReferDetail>\\n <FlowProportion>0.9217806434519402</FlowProportion>\\n </ReferList>\\n <ReferList>\\n <Flow>4101</Flow>\\n <VisitProportion>0.006144393241167435</VisitProportion>\\n <VisitData>4</VisitData>\\n <ReferDetail>learn.aliyundoc.com</ReferDetail>\\n <FlowProportion>0.00020547597223804668</FlowProportion>\\n </ReferList>\\n</TopReferList>\\n<RequestId>BA64068A-D73C-4613-8AAB-E9374F78FB95</RequestId>\\n<DomainName>example.com</DomainName>\\n<StartTime>2019-12-21T12:00:00Z</StartTime>\\n</DescribeDomainTopReferVisitResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainTopReferVisit', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature or [ship real-time logs in Log Service](~~440145~~) to analyze data.'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'UpdateCdnDeliverTask', + 'description' => '> Each account can call this operation up to three times per second.', + 'requestParamsDescription' => '**Fields in the ReDatas parameter**'."\n" ."\n" - .'> '."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ---------- | ---------- | -------- | ------------------------------------- |'."\n" + .'| reportId | String | Yes | The ID of the report. |'."\n" + .'| conditions | ConDatas[] | No | The filter conditions for the report. |'."\n" ."\n" - .'* If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" + .'**Fields in the ConDatas parameter**'."\n" ."\n" - .'* Data is collected at an interval of five minutes.'."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ----- | -------- | -------- | -------------------------- |'."\n" + .'| field | String | No | The filter field. |'."\n" + .'| op | String | No | The filter operation. |'."\n" + .'| value | String[] | No | The array of field values. |'."\n" ."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - 'requestParamsDescription' => ' ', + .'**Fields in the email parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ------- | -------- | -------- | --------------------------------------------------------- |'."\n" + .'| subject | String | Yes | The email subject. |'."\n" + .'| to | String[] | Yes | The email addresses to which operations reports are sent. |'."\n" + ."\n" + .'**Fields in the Deliver parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ------- | -------- | -------- | --------------------------------------------------------- |'."\n" + .'| subject | String | No | The email subject. |'."\n" + .'| to | String[] | Yes | The email addresses to which operations reports are sent. |'."\n" + ."\n" + .'**Fields in the Schedule parameter**'."\n" + ."\n" + .'| Field | Type | Required | Description |'."\n" + .'| ------------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------- |'."\n" + .'| schedName | String | No | The name of the tracking task. |'."\n" + .'| description | String | No | The description of the tracking task. |'."\n" + .'| crontab | String | Yes | Specifies the cycle in which the tracking task is scheduled to run. |'."\n" + .'| frequency | String | Yes | The interval at which the reports are sent. Valid values:<br>**h**: by hour<br>**d**: by day<br>**w**: by week |'."\n" + .'| status | String | No | The status of the tracking task. Valid values:<br>**enable**<br>**disable** |'."\n" + .'| effectiveFrom | String | No | The start time of the tracking task. |'."\n" + .'| effectiveEnd | String | No | The end time of the tracking task. |', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeDomainSrcTopUrlVisit' => [ - 'summary' => 'Queries frequently requested origin URLs of one or more accelerated domain names.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:48:29.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCdnDeliverTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], - 'security' => [ + 'ramActions' => [ [ - 'AK' => [], + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UpdateCdnDeliverTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'DeliverTask', 'arn' => 'acs:cdn:*:{#accountId}:delivertask/{#DeliverId}'], + ], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '111808', - 'abilityTreeNodes' => [ - 'FEATUREcdnE9OF3Y', + 'translator' => 'manual', + ], + 'UpdateCdnSubTask' => [ + 'summary' => 'Updates one or more operations reports.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ + 'name' => 'ReportIds', + 'in' => 'formData', + 'schema' => ['description' => 'The IDs of operations reports that you want to update. Separate IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => '1,2,3', 'title' => ''], + ], + [ 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The domain name that you want to track. You can specify up to 500 domain names in each request. If you specify multiple domain names, separate them with commas (,). If you do not specify a domain name, operations reports are updated for all domain names in your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => 'www.example.com', 'title' => ''], ], [ 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> If you leave this parameter empty, data within the previous day is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-10-03T16:00:00Z', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The start time of the operations report. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2020-09-17T00:00:00Z', 'title' => ''], ], [ 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time. The duration between the end time and the start time cannot exceed seven days.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2018-10-03T20:00:00Z', - ], - ], - [ - 'name' => 'SortBy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The method that is used to sort the returned URLs. Default value: **pv**. Valid values:'."\n" - ."\n" - .'* **traf**: by network traffic'."\n" - .'* **pv**: by the number of visits'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'pv', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The end time of the operations report. Specify the time in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.', 'type' => 'string', 'required' => false, 'example' => '2020-11-17T00:00:00Z', 'title' => ''], ], ], 'responses' => [ @@ -22886,331 +20552,89 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'StartTime' => [ - 'description' => 'The beginning of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2018-10-03T16:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '64D28B53-5902-409B-94F6-FD46680144FE', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'AllUrlList' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of frequently requested URLs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url200List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 2xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url300List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 3xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url400List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 4xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], - 'Url500List' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'UrlList' => [ - 'description' => 'A list of URLs for which 5xx status codes were returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Flow' => [ - 'description' => 'The amount of network traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '460486880', - ], - 'UrlDetail' => [ - 'description' => 'The complete URL.'."\n", - 'type' => 'string', - 'example' => 'http://example.com/nn_live/nn_x64/a0.m3u8', - ], - 'FlowProportion' => [ - 'description' => 'The proportion of network traffic consumed to access the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - 'VisitData' => [ - 'description' => 'The number of visits to the URL.'."\n", - 'type' => 'string', - 'example' => '161673', - ], - 'VisitProportion' => [ - 'description' => 'The proportion of visits to the URL.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.35', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'Specified StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'Specified EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.ValueNotSupported', - 'errorMessage' => 'StartTime or EndTime is miss match.', - ], - [ - 'errorCode' => 'InvalidDomainName.Mismatch', - 'errorMessage' => 'The specified DomainName is invalid.', - ], + ['errorCode' => 'InvalidParameter', 'errorMessage' => 'The specified parameter is invalid.', 'description' => ''], + ['errorCode' => 'TimeParseFailed', 'errorMessage' => 'Failed to parse the time parameter.', 'description' => 'Failed to parse the time parameter.'], + ['errorCode' => 'SubscriptionAlreadyExists', 'errorMessage' => 'The subscription already exists.', 'description' => 'The subscription already exists.'], + ['errorCode' => 'SubscriptionNotFound', 'errorMessage' => 'The subscription is not found.', 'description' => 'The subscription is not found.'], + ['errorCode' => 'NameAlreadyExists', 'errorMessage' => 'The name already exists.', 'description' => 'The specified name already exists.'], + ['errorCode' => 'DeliverExceedLimit', 'errorMessage' => 'The maximum number of subscribed tasks is exceeded.', 'description' => 'The number of tracking tasks has reached the upper limit.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"StartTime\\": \\"2018-10-03T16:00:00Z\\",\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"AllUrlList\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url200List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url300List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url400List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n },\\n \\"Url500List\\": {\\n \\"UrlList\\": [\\n {\\n \\"Flow\\": \\"460486880\\",\\n \\"UrlDetail\\": \\"http://example.com/nn_live/nn_x64/a0.m3u8\\",\\n \\"FlowProportion\\": 0.35,\\n \\"VisitData\\": \\"161673\\",\\n \\"VisitProportion\\": 0.35\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainSrcTopUrlVisitResponse>\\n<AllUrlList>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/a0.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>37</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/ZXg9MQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</AllUrlList>\\n<Url300List>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>3</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUDZXg9MQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url300List>\\n<Url400List>\\n <UrlList>\\n <VisitData>1884</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUhb,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>1</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SEEwODgm,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url400List>\\n<RequestId>64D28B53-5902-409B-94F6-FD46680144FE</RequestId>\\n<DomainName>example.com</DomainName>\\n<Url200List>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU0bGxfcG,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>3</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KDMlPTIwMTQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url200List>\\n<StartTime>2018-10-03T16:00:00Z</StartTime>\\n<Url500List>\\n <UrlList>\\n <VisitData>161673</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU0GNfbGl2ZQ,,/HNJSMPP360.m3u8</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n <UrlList>\\n <VisitData>3</VisitData>\\n <UrlDetail>http://example.com/nn_live/nn_x64/aWQ9SE5KU01QUDZXg9MQ,,/HNJSMPP360.ts</UrlDetail>\\n <VisitProportion>0.35</VisitProportion>\\n <Flow>460486880</Flow>\\n <FlowProportion>0.35</FlowProportion>\\n </UrlList>\\n</Url500List>\\n</DescribeDomainSrcTopUrlVisitResponse>\\n","errorExample":""}]', - 'title' => 'DescribeDomainSrcTopUrlVisit', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" - ."\n" - .'> * The data is collected at an interval of 5 minutes.'."\n" - .'>* You can call this operation up to 10 times per second per account.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'UpdateCdnSubTask', + 'description' => '> Each account can call this operation up to three times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeTopDomainsByFlow' => [ - 'summary' => 'Queries the top N domain names ranked by network traffic. You can query data collected in the last 30 days.', - 'methods' => [ - 'get', - 'post', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:48:50.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-05-18T11:07:13.000Z', 'description' => 'Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UpdateCdnSubTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCdnSubTask'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], ], + ], + 'UpdateFCTrigger' => [ + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111838', - 'abilityTreeNodes' => [ - 'FEATUREcdnGZSOSW', - ], - 'tenantRelevance' => 'publicInformation', - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ - 'name' => 'StartTime', + 'name' => 'TriggerARN', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The value of StartTime must be in UTC. For example, if the local time is 00:00 on June 1, 2021, set StartTime to 2021-05-31T16:00:00Z.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-22T08:00:00Z', - ], + 'schema' => ['description' => 'The trigger that corresponds to the Function Compute service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'acs:fc:cn-beijing: 1234567890:services/FCTestService/functions/printEvent/triggers/testtrigger'], ], [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-12-23T08:00:00Z', - ], + 'name' => 'SourceARN', + 'in' => 'formData', + 'schema' => ['description' => 'The resources and filters for event listening.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:cdn:*:1234567890:domain/example.com'], ], [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum number of domain names to query. Valid values: **1** to **100**. Default value: **20**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'maximum' => '100', - 'minimum' => '1', - 'example' => '20', - 'default' => '20', - ], + 'name' => 'FunctionARN', + 'in' => 'formData', + 'schema' => ['description' => 'The feature trigger.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:fc:1223455566666:123:services/myservice/functions/myfunction'], + ], + [ + 'name' => 'RoleARN', + 'in' => 'formData', + 'schema' => ['description' => 'The assigned RAM role.'."\n", 'type' => 'string', 'required' => false, 'example' => 'acs:ram:: 1234567890:role/aliyuncdneventnotificationrole'], + ], + [ + 'name' => 'Notes', + 'in' => 'formData', + 'schema' => ['description' => 'The remarks.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test'], ], ], 'responses' => [ @@ -23218,177 +20642,73 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'DomainOnlineCount' => [ - 'description' => 'The total number of accelerated domain names that are in the **Enabled** state within the current Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '68', - ], - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-23T08:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-12-22T08:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '4E09C5D7-E1CF-4CAA-A45E-8727F4C8FD70', - ], - 'DomainCount' => [ - 'description' => 'The total number of accelerated domain names that belong to the current Alibaba Cloud account.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '68', - ], - 'TopDomains' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TopDomain' => [ - 'description' => 'The top N domain names ranked by network traffic.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'MaxBps' => [ - 'description' => 'The peak bandwidth value.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '22139626', - ], - 'Rank' => [ - 'description' => 'The ranking of the accelerated domain name.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'TotalAccess' => [ - 'description' => 'The number of visits to the domain name.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '107784230', - ], - 'TrafficPercent' => [ - 'description' => 'The proportion of network traffic consumed to access the domain name.'."\n", - 'type' => 'string', - 'example' => '30.64191989360235', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'TotalTraffic' => [ - 'description' => 'The total volume of traffic.'."\n", - 'type' => 'string', - 'example' => '2043859876683.9001', - ], - 'MaxBpsTime' => [ - 'description' => 'The time when the bandwidth reached the peak value.'."\n", - 'type' => 'string', - 'example' => '1457111400', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], + ['errorCode' => 'InvalidParameter.TriggerARN', 'errorMessage' => 'The specified parameter TriggerARN is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.SourceARN', 'errorMessage' => 'The specified parameter SourceARN is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FunctionARN', 'errorMessage' => 'The specified parameter FunctionARN is not valid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.RoleARN', 'errorMessage' => 'The specified parameter RoleARN is not valid.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'PermissionDeny', 'errorMessage' => 'No permission to operate this FCTrigger.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"DomainOnlineCount\\": 68,\\n \\"EndTime\\": \\"2019-12-23T08:00:00Z\\",\\n \\"StartTime\\": \\"2019-12-22T08:00:00Z\\",\\n \\"RequestId\\": \\"4E09C5D7-E1CF-4CAA-A45E-8727F4C8FD70\\",\\n \\"DomainCount\\": 68,\\n \\"TopDomains\\": {\\n \\"TopDomain\\": [\\n {\\n \\"MaxBps\\": 22139626,\\n \\"Rank\\": 1,\\n \\"TotalAccess\\": 107784230,\\n \\"TrafficPercent\\": \\"30.64191989360235\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"TotalTraffic\\": \\"2043859876683.9001\\",\\n \\"MaxBpsTime\\": \\"1457111400\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeTopDomainsByFlowResponse>\\n<DomainCount>4</DomainCount>\\n<DomainOnlineCount>4</DomainOnlineCount>\\n<RequestId>6796A2B4-15A7-4142-85C0-5A93406034B5</RequestId>\\n<TopDomains>\\n <TopDomain>\\n <MaxBps>26.752000000000002</MaxBps>\\n <Rank>3</Rank>\\n <TrafficPercent>0.000910078753253719</TrafficPercent>\\n <TotalTraffic>2003</TotalTraffic>\\n <TotalAccess>2</TotalAccess>\\n <DomainName>example.com</DomainName>\\n <MaxBpsTime>2019-12-22T20:50:00Z</MaxBpsTime>\\n </TopDomain>\\n</TopDomains>\\n<EndTime>2019-12-23T08:00:00Z</EndTime>\\n<StartTime>2019-12-22T08:00:00Z</StartTime>\\n</DescribeTopDomainsByFlowResponse>","errorExample":""}]', - 'title' => 'DescribeTopDomainsByFlow', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateFCTriggerResponse>\\n <RequestId>EC046C5D-8CB4-4B6B-B7F8-B335E51EF90E</RequestId>\\n</UpdateFCTriggerResponse>","errorExample":""}]', + 'title' => 'UpdateFCTrigger', + 'summary' => 'Updates a specified Function Compute trigger.', + 'requestParamsDescription' => '## SourceARN'."\n" ."\n" - .'> * If you do not set the **StartTime** or **EndTime** parameter, the request returns the data collected in the current month. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - .'>* You can call this operation up to 100 times per second per account.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', + .'SourceARN format: `acs:cdn:{RegionID}:{AccountID}:{Filter}`.'."\n" + ."\n" + .'* Filter indicates the resource and filter in the format of `{FilterName}/{FilterValue}`. If you want to specify multiple values for FilterValue, separate the values with commas (,) and enclose them with braces ({}).'."\n" + .'* In this example, the LogFileCreated event supports a filter of which FilterName is set to domain. Function Compute can be triggered only by example.com if Filter is set to`domain/example.com`. Function Compute can be triggered by multiple domains if Filter is set to `domain/{example.com,aliyun.com}`.'."\n" + .'* Separate filters with forward slashes (/). Set the logical operator among filters to AND. Format: `acs:cdn:{RegionID}:{AccountID}:{Filter1}/{Filter2}/{Filter3}...`.'."\n", 'extraInfo' => ' ', - ], - 'DescribeDomainRegionData' => [ - 'summary' => 'Queries the geographic distribution of users for a domain name. The data is collected at an interval of one day. You can query the data in the last 90 days.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UpdateFCTrigger', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'VerifyDomainOwner' => [ + 'summary' => 'Verifies the ownership of a specified domain name.', + 'methods' => ['get', 'post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111800', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], - ], + 'operationType' => 'write', + 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the geographic distribution of users for all accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The domain name of which you want to verify the ownership. You can specify only one domain name.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-12-05T12:00:00Z', - ], - ], - [ - 'name' => 'EndTime', + 'name' => 'VerifyType', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2015-12-07T12:00:00Z', - ], + 'schema' => ['description' => 'The verification method. Valid values:'."\n" + ."\n" + .'- **dnsCheck**: by DNS record'."\n" + ."\n" + .'- **fileCheck**: by verification file', 'type' => 'string', 'required' => true, 'example' => 'dnsCheck', 'title' => ''], ], ], 'responses' => [ @@ -23396,2483 +20716,3812 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-07T12:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range for which the data was queried.'."\n", - 'type' => 'string', - 'example' => '2015-12-05T12:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2E5AD83F-BD7B-462E-8319-2E30E305519A', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '86400', - ], - 'Value' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RegionProportionData' => [ - 'description' => 'The proportions of requests initiated from each region.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TotalQuery' => [ - 'description' => 'The total number of requests.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'TotalBytes' => [ - 'description' => 'The total traffic. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '2400057', - ], - 'AvgResponseRate' => [ - 'description' => 'The average response speed. Unit: bit/s.'."\n", - 'type' => 'string', - 'example' => '154.3345765545624', - ], - 'AvgResponseTime' => [ - 'description' => 'The average response time. Unit: milliseconds.'."\n", - 'type' => 'string', - 'example' => '5183.666666666667', - ], - 'ReqErrRate' => [ - 'description' => 'The request error rate. A value of 90 indicates that 90% of the requests encountered errors.'."\n", - 'type' => 'string', - 'example' => '0.0', - ], - 'AvgObjectSize' => [ - 'description' => 'The average response size. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '800019.0', - ], - 'Bps' => [ - 'description' => 'The bandwidth.'."\n", - 'type' => 'string', - 'example' => '380.9614285714286', - ], - 'Qps' => [ - 'description' => 'The number of queries per second.'."\n", - 'type' => 'string', - 'example' => '5.9523809523809524E-5', - ], - 'RegionEname' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'japan', - ], - 'Region' => [ - 'description' => 'The information about the region.'."\n", - 'type' => 'string', - 'example' => 'Japan'."\n", - ], - 'Proportion' => [ - 'description' => 'The proportion of visits from the region. For example, a value of 90 indicates that 90% of the visits are from the region.'."\n", - 'type' => 'string', - 'example' => '0.01155980271270037', - ], - 'BytesProportion' => [ - 'description' => 'The proportion of traffic from the region. For example, a value of 90 indicates that 90% of the traffic is from the region.'."\n", - 'type' => 'string', - 'example' => '0.003544181046236794', - ], - ], - ], - ], - ], - ], + 'Content' => ['description' => 'The verification result.'."\n" + ."\n" + .'> This parameter is returned only if the operation fails.', 'type' => 'string', 'example' => 'verify_dffeb6610035dcb77b413a59c32c****', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '34AB41F1-04A5-496F-8C8D-634BDBE6A9FB', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', - ], + ['errorCode' => 'DomainOwnerVerifyFail', 'errorMessage' => 'Owner verification of the root domain failed.', 'description' => 'The first time a domain name is added to Alibaba Cloud CDN, you must prove the ownership of the domain name. You must add a DNS record or a verification file for the domain name before it can be added to Alibaba Cloud CDN.'], + ['errorCode' => 'InvalidFile', 'errorMessage' => 'The file is not found.', 'description' => 'You have not uploaded the required file. Upload the file before you proceed.'], + ['errorCode' => 'VerifyError', 'errorMessage' => 'The specified Verify is incorrectly formatted.', 'description' => 'The file content verification failed. Try again.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2015-12-07T12:00:00Z\\",\\n \\"StartTime\\": \\"2015-12-05T12:00:00Z\\",\\n \\"RequestId\\": \\"2E5AD83F-BD7B-462E-8319-2E30E305519A\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"86400\\",\\n \\"Value\\": {\\n \\"RegionProportionData\\": [\\n {\\n \\"TotalQuery\\": \\"3\\",\\n \\"TotalBytes\\": \\"2400057\\",\\n \\"AvgResponseRate\\": \\"154.3345765545624\\",\\n \\"AvgResponseTime\\": \\"5183.666666666667\\",\\n \\"ReqErrRate\\": \\"0.0\\",\\n \\"AvgObjectSize\\": \\"800019.0\\",\\n \\"Bps\\": \\"380.9614285714286\\",\\n \\"Qps\\": \\"5.9523809523809524E-5\\",\\n \\"RegionEname\\": \\"japan\\",\\n \\"Region\\": \\"日本\\",\\n \\"Proportion\\": \\"0.01155980271270037\\",\\n \\"BytesProportion\\": \\"0.003544181046236794\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainRegionDataResponse>\\r\\n\\t<Value>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>380.9614285714286</Bps>\\r\\n\\t\\t\\t<Proportion>0.01155980271270037</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2400057</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.003544181046236794</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>3</TotalQuery>\\r\\n\\t\\t\\t<RegionEname></RegionEname>\\r\\n\\t\\t\\t<Region>日本</Region>\\r\\n\\t\\t\\t<AvgResponseRate>154.3345765545624</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>800019.0</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>5.9523809523809524E-5</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>5183.666666666667</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>25110.431412698414</Bps>\\r\\n\\t\\t\\t<Proportion>0.31211467324291</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>158195717</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.23360872886644055</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>81</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>xizang</RegionEname>\\r\\n\\t\\t\\t<Region>西藏自治区</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1397.1430909315718</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>1953033.5543209878</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.0016071428571428571</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1397.8765432098764</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>40343.86242857143</Bps>\\r\\n\\t\\t\\t<Proportion>0.33908754623921084</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>254166333</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.37532921137846464</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>88</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>zhongqing</RegionEname>\\r\\n\\t\\t\\t<Region>重庆市</Region>\\r\\n\\t\\t\\t<AvgResponseRate>787.8073097249128</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2888253.7875</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.001746031746031746</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3666.193181818182</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>38835.2834920635</Bps>\\r\\n\\t\\t\\t<Proportion>0.37376695437731194</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>244662286</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.3612945179094354</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>97</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>tianjin</RegionEname>\\r\\n\\t\\t\\t<Region>天津市</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1711.4277340197823</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2522291.608247423</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.0019246031746031746</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1473.7938144329896</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>69358.64117460318</Bps>\\r\\n\\t\\t\\t<Proportion>0.5895499383477188</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.34640522875817</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>436959439</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.6452610763393265</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99291705425965</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>153</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>qinghai</RegionEname>\\r\\n\\t\\t\\t<Region>青海省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1210.9708048576356</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2855944.0483660134</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.0030357142857142857</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2358.392156862745</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>66239.68633333335</Bps>\\r\\n\\t\\t\\t<Proportion>0.6473489519112207</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>417310023</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.6162446463192347</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99999999999999</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>168</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Hainan</RegionEname>\\r\\n\\t\\t\\t<Region>海南省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>324.9427676080411</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2483988.2375000003</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.0033333333333333335</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>7644.386904761905</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>62071.644380952384</Bps>\\r\\n\\t\\t\\t<Proportion>0.7745067817509248</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.50248756218906</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>391051359</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.5774682921278322</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99983347455928</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>201</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>shanghai</RegionEname>\\r\\n\\t\\t\\t<Region>上海市</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1319.43005273653</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>1945529.152238806</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.0039880952380952385</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1474.5223880597016</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>86967.5461111111</Bps>\\r\\n\\t\\t\\t<Proportion>0.9286374845869297</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>96.2655601659751</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>547895540</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.8090811968039774</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>98.60251863101267</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>241</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>beijing</RegionEname>\\r\\n\\t\\t\\t<Region>北京市</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1223.3552235839977</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2273425.479253112</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.004781746031746032</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1858.3526970954356</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>228242.86641269844</Bps>\\r\\n\\t\\t\\t<Proportion>1.9690197287299631</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>1437930058</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>2.1234014270475434</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>511</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>ningxia</RegionEname>\\r\\n\\t\\t\\t<Region>宁夏回族自治区</Region>\\r\\n\\t\\t\\t<AvgResponseRate>512.8134924297486</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2813953.1475538164</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.010138888888888888</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>5487.283757338552</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>219378.5598888889</Bps>\\r\\n\\t\\t\\t<Proportion>2.250308261405672</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>1382084927</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>2.040934529315853</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.00000000000001</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>584</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Jilin</RegionEname>\\r\\n\\t\\t\\t<Region>吉林省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1152.4327405034373</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2366583.779623288</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.011587301587301587</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2053.554794520548</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>181938.64595238096</Bps>\\r\\n\\t\\t\\t<Proportion>2.3273736128236746</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>1146213469</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>1.6926214892159708</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>604</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Gansu</RegionEname>\\r\\n\\t\\t\\t<Region>甘肃省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>476.60455862620415</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>1897704.4197019867</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.011984126984126984</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3981.7168874172185</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>302711.6698571429</Bps>\\r\\n\\t\\t\\t<Proportion>2.8013255240443895</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.8624484181568</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>1907083520</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>2.816203642467227</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99996931440107</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>727</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>xinjiang</RegionEname>\\r\\n\\t\\t\\t<Region>新疆维吾尔自治区</Region>\\r\\n\\t\\t\\t<AvgResponseRate>786.5196031941114</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2623223.5489683636</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.014424603174603175</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3335.2297111416783</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>330366.9671587302</Bps>\\r\\n\\t\\t\\t<Proportion>2.847564734895191</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.86468200270636</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2081311893</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.0734879058423363</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99996955766207</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>739</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>neimenggu</RegionEname>\\r\\n\\t\\t\\t<Region>内蒙古自治区</Region>\\r\\n\\t\\t\\t<AvgResponseRate>537.274830290738</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2816389.5711772665</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.014662698412698412</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>5241.9905277401895</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>296377.9758412699</Bps>\\r\\n\\t\\t\\t<Proportion>2.8552712700369915</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>1867181247</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>2.7572796764166547</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>741</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Guizhou</RegionEname>\\r\\n\\t\\t\\t<Region>贵州省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>784.3618585093111</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2519812.7500674766</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.014702380952380953</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3212.5641025641025</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>359904.2652857143</Bps>\\r\\n\\t\\t\\t<Proportion>3.0749075215782984</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2267396871</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.348280901477785</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>798</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>shanxixian</RegionEname>\\r\\n\\t\\t\\t<Region>陕西省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>936.6710791561273</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2841349.462781955</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.015833333333333335</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3033.4548872180453</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>351643.65639682545</Bps>\\r\\n\\t\\t\\t<Proportion>3.101880394574599</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>98.88198757763975</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2215355035</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.2714303563604967</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.8809108401154</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>805</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Jiangxi</RegionEname>\\r\\n\\t\\t\\t<Region>江西省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1809.5402913913995</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2751993.832670808</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.01597222222222222</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1520.824844720497</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>337654.18080952385</Bps>\\r\\n\\t\\t\\t<Proportion>3.313810110974106</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.4186046511628</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2127221339</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.141282707530976</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99985277977696</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>860</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Fujian</RegionEname>\\r\\n\\t\\t\\t<Region>福建省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1154.391434785841</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2473513.185</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.017063492063492062</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2142.6988372093024</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>359782.1130793651</Bps>\\r\\n\\t\\t\\t<Proportion>3.4525277435265105</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.55357142857143</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2266627312</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.3471444884395347</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.88374126237764</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>896</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>shanxi</RegionEname>\\r\\n\\t\\t\\t<Region>山西省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1235.7418245535987</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2529717.982589286</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.017777777777777778</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2047.125</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>400389.1932857143</Bps>\\r\\n\\t\\t\\t<Proportion>3.5103267570900125</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2522451917</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.7249224817393896</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>911</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>yunnan</RegionEname>\\r\\n\\t\\t\\t<Region>云南省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1662.686634908582</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2768882.4563117456</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.018075396825396824</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1665.3062568605928</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>396200.5617777778</Bps>\\r\\n\\t\\t\\t<Proportion>3.695283600493218</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2496063539</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>3.685954577676852</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>959</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Hebei</RegionEname>\\r\\n\\t\\t\\t<Region>河北省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1028.303387588414</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2602777.413138686</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.01902777777777778</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2531.1376433785194</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>487959.9617619048</Bps>\\r\\n\\t\\t\\t<Proportion>4.188501849568434</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.72401103955842</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3074147759</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.5396156096015785</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99993802509998</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1087</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Hubei</RegionEname>\\r\\n\\t\\t\\t<Region>湖北省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>884.3783424312907</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2828102.81425943</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.02156746031746032</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3197.8426862925485</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>451918.7006190476</Bps>\\r\\n\\t\\t\\t<Proportion>4.296393341553637</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.64125560538116</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2847087813</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.2043145921101575</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.91296907710742</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1115</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>zhejiang</RegionEname>\\r\\n\\t\\t\\t<Region>浙江省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1127.3220113227628</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2553441.9855605382</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.022123015873015874</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2265.0511210762334</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>508989.9772222223</Bps>\\r\\n\\t\\t\\t<Proportion>4.37345869297164</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.64757709251101</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3206636856</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.73526319123739</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.7790833225895</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1135</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Jiangsu</RegionEname>\\r\\n\\t\\t\\t<Region>江苏省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1330.4354698914951</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2825230.7105726874</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.02251984126984127</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2123.5383259911896</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>488243.6136984127</Bps>\\r\\n\\t\\t\\t<Proportion>4.37731196054254</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.03169014084507</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3075934766</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.54225449569792</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99857147165532</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1136</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Hunan</RegionEname>\\r\\n\\t\\t\\t<Region>湖南省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1339.8235569585188</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2707689.0548415496</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.02253968253968254</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2020.9295774647887</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>508313.40790476196</Bps>\\r\\n\\t\\t\\t<Proportion>4.465937114673243</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3202374469</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.728968894829482</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1159</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Heilongjiang</RegionEname>\\r\\n\\t\\t\\t<Region>黑龙江省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1397.6178986771317</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2763049.585677308</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.022996031746031747</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1976.9706643658326</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>490651.66979365086</Bps>\\r\\n\\t\\t\\t<Proportion>4.519882860665844</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3091105519</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.564657253906334</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99999999999999</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1173</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Liaoning</RegionEname>\\r\\n\\t\\t\\t<Region>辽宁省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1452.8561771775414</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2635213.5717817564</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.023273809523809523</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1813.8158567774935</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>493617.2470952381</Bps>\\r\\n\\t\\t\\t<Proportion>4.519882860665844</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.65899403239557</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3109788656</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.592246773671759</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.962662755313</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1173</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>anhui</RegionEname>\\r\\n\\t\\t\\t<Region>安徽省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1502.2255494727121</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2651141.2248081844</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.023273809523809523</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1764.8090366581416</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>544321.7694444446</Bps>\\r\\n\\t\\t\\t<Proportion>4.778051787916153</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>98.79032258064517</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3429227147</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>5.063963838946395</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.3034652219695</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1240</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Guangxi</RegionEname>\\r\\n\\t\\t\\t<Region>广西壮族自治区</Region>\\r\\n\\t\\t\\t<AvgResponseRate>469.5304824766785</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2765505.7641129037</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.024603174603174603</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>5889.938709677419</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>518272.7902698413</Bps>\\r\\n\\t\\t\\t<Proportion>5.725955610357583</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.93270524899057</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>3265118578</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>4.821623561583812</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99678589314689</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1486</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>sichuan</RegionEname>\\r\\n\\t\\t\\t<Region>四川省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>720.671411528823</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2197253.41769852</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.029484126984126984</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>3048.897711978466</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>688129.0886031748</Bps>\\r\\n\\t\\t\\t<Proportion>6.022657213316893</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>4335213258</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>6.4018398984302864</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1563</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>shandong</RegionEname>\\r\\n\\t\\t\\t<Region>山东省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>2216.86197693452</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2773648.9175943704</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.03101190476190476</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1251.1599488163788</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>650147.539904762</Bps>\\r\\n\\t\\t\\t<Proportion>6.149815043156597</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.93734335839599</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>4095929501</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>6.048487892405889</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.99998447727191</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1596</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Henan</RegionEname>\\r\\n\\t\\t\\t<Region>河南省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1091.8003744598548</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2566371.868045113</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.03166666666666667</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2350.5870927318297</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t\\t<RegionProportionData>\\r\\n\\t\\t\\t<Bps>764462.3847142858</Bps>\\r\\n\\t\\t\\t<Proportion>7.405980271270037</Proportion>\\r\\n\\t\\t\\t<ReqHitRate>99.37565036420395</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>4816113023</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>7.111987963257421</BytesProportion>\\r\\n\\t\\t\\t<ByteHitRate>99.82548062184921</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1922</TotalQuery>\\r\\n\\t\\t\\t<RegionEname>Guangdong</RegionEname>\\r\\n\\t\\t\\t<Region>广东省</Region>\\r\\n\\t\\t\\t<AvgResponseRate>1040.446859646019</AvgResponseRate>\\r\\n\\t\\t\\t<AvgObjectSize>2505782.0102497404</AvgObjectSize>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.03813492063492063</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2408.3709677419356</AvgResponseTime>\\r\\n\\t\\t</RegionProportionData>\\r\\n\\t</Value>\\r\\n\\t<DataInterval>86400</DataInterval>\\r\\n\\t<RequestId>2E5AD83F-BD7B-462E-8319-2E30E305519A</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<EndTime>2015-12-07T12:00:00Z</EndTime>\\r\\n\\t<StartTime>2015-12-05T12:00:00Z</StartTime>\\r\\n</DescribeDomainRegionDataResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainRegionData', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you not use this operation because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" - ."\n" - .'> * If you do not specify the **StartTime** or **EndTime** parameter, data collected within the last **24** hours is queried. If you specify both the **StartTime** and **EndTime** parameters, data collected within the specified time range is queried.'."\n" - .'>* There is delay in data collection. If you want to query data collected within the last day, we recommend that you query the data on the next day.'."\n" - .'>* You can call this operation up to 100 times per second per account.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Content\\": \\"verify_dffeb6610035dcb77b413a59c32c****\\",\\n \\"RequestId\\": \\"34AB41F1-04A5-496F-8C8D-634BDBE6A9FB\\"\\n}","type":"json"}]', + 'title' => 'VerifyDomainOwner', + 'description' => '> Each account can call this operation up to 100 times per second.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-07-16T07:48:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-08-08T09:10:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-05-18T01:33:43.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:VerifyDomainOwner', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyDomainOwner'], + ], + 'product' => ['code' => 'cdn', 'title' => 'CDN'], + ], ], - 'DescribeDomainISPData' => [ - 'summary' => 'Queries the proportions of data usage of different Internet service providers (ISPs). Data is collected every day. You can query data collected in the last 90 days.', - 'methods' => [ - 'get', - 'post', + ], + 'endpoints' => [ + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-2', 'regionName' => 'Australia (Sydney) Closed', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => 'cdn.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-south-1', 'regionName' => 'India (Mumbai) Closed', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'cdn.ap-southeast-1.aliyuncs.com', 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => 'cdn.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => 'cdn.vpc-proxy.aliyuncs.com'], + ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'cdn.aliyuncs.com', 'endpoint' => 'cdn.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'Abs.CertRegion.ValueNotSupported', 'message' => 'CertRegion is not supported.', 'http_code' => 400, 'description' => 'The certificate region is not supported.'], + ['code' => 'Abs.Sources.Malformed', 'message' => 'The specified Sources is invalid.', 'http_code' => 400, 'description' => 'The specified origin is invalid.'], + ['code' => 'AccountBlacklist', 'message' => 'Account blacklist restrictions, please submit a work order to contact customer service for processing.', 'http_code' => 400, 'description' => 'Account blacklist restrictions, please submit a work order to contact customer service for processing.'], + ['code' => 'AppAlreadyDeployed', 'message' => 'app already deployed', 'http_code' => 400, 'description' => 'The application is already deployed.'], + ['code' => 'AppAlreadyExist', 'message' => 'app already exists', 'http_code' => 400, 'description' => 'The application already exists.'], + ['code' => 'AppNotDeploy', 'message' => 'app not deploy', 'http_code' => 400, 'description' => 'The application is not deployed.'], + ['code' => 'AppNotFound', 'message' => 'app not found', 'http_code' => 404, 'description' => 'The application does not exist.'], + ['code' => 'AppResourceNotFound', 'message' => 'app resource not exist', 'http_code' => 404, 'description' => 'The resource information about the application cannot be found.'], + ['code' => 'AuthenticationFailed', 'message' => 'Authentication failed.', 'http_code' => 400, 'description' => 'Authentication has failed.'], + ['code' => 'BadArgument', 'message' => 'parse parameter error', 'http_code' => 400, 'description' => 'A parameter is set to an invalid value.'], + ['code' => 'BatchSetBusinessError', 'message' => 'some configs error:%s', 'http_code' => 400, 'description' => 'A configuration error occurred: %s'], + ['code' => 'BatchUploadNotSuppord', 'message' => 'Api is Batch Upload', 'http_code' => 400, 'description' => 'This operation is used only for batch operations. You can only upload information to the operation for further processing.'], + ['code' => 'BillTypeNotFound', 'message' => 'The user billing type is not found or the billing type of this user is not the monthly billing type.', 'http_code' => 400, 'description' => 'The bill type does not exist, or your account does not support monthly bills.'], + ['code' => 'BusinessExist', 'message' => 'Business exist, do not repeated submission', 'http_code' => 400, 'description' => 'You have configured this type of use case.'], + ['code' => 'CdnService.HasOpened', 'message' => 'Your cdn service has opened.', 'http_code' => 400, 'description' => 'The CDN service is already activated.'], + ['code' => 'CdnServiceNotFound', 'message' => 'Your account does not open CDN service yet.', 'http_code' => null, 'description' => 'CDN is not activated for your account. Activate CDN and try again.'], + ['code' => 'CdnServiceSuspended', 'message' => 'Your CDN service is suspended.', 'http_code' => null, 'description' => 'Your CDN service is suspended due to overdue payment.'], + ['code' => 'CdnTypeNotSupported', 'message' => 'The specified value of parameter CdnType is not supported.', 'http_code' => 400, 'description' => 'The specified CdnType is invalid.'], + ['code' => 'CdnTypeNotSupportExtensiveDomain', 'message' => 'Extensive domain not supported for this cdn type.', 'http_code' => 400, 'description' => 'The specified CdnType parameter is not supported for wildcard domain names. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content.'], + ['code' => 'Certificate.DecodeError', 'message' => 'An error occurred while decoding the certificate.', 'http_code' => 400, 'description' => ''], + ['code' => 'Certificate.Duplicated', 'message' => 'The certificate name is duplicated.', 'http_code' => null, 'description' => 'The certificate already exists.'], + ['code' => 'Certificate.EncodeError', 'message' => 'An error occurred while encoding the certificate.', 'http_code' => 400, 'description' => ''], + ['code' => 'Certificate.Expired', 'message' => 'The certificate is expired.', 'http_code' => 400, 'description' => 'The certificate is expired.'], + ['code' => 'Certificate.FormatError', 'message' => 'The certificate format is error.', 'http_code' => null, 'description' => 'The specified certificate format is invalid.'], + ['code' => 'Certificate.FormatError', 'message' => 'The format of the certificate is invalid.', 'http_code' => 400, 'description' => 'The specified certificate is invalid.'], + ['code' => 'Certificate.KeyNull', 'message' => 'The private key is not null.', 'http_code' => 400, 'description' => 'The private key is required.'], + ['code' => 'Certificate.MissingParameter', 'message' => 'You must specify the Certificate parameter.', 'http_code' => 400, 'description' => 'You must specify the Certificate parameter.'], + ['code' => 'Certificate.MissMatch', 'message' => 'The certificate is not match the private key.', 'http_code' => null, 'description' => 'The certificate and private key do not match.'], + ['code' => 'Certificate.MissMatch', 'message' => 'The Private Key does not math the specified Certificate!', 'http_code' => null, 'description' => 'The private key does not match the specified type of certificate.'], + ['code' => 'Certificate.MissMatch', 'message' => 'The certificate does not match the domain.', 'http_code' => 400, 'description' => 'The certificate and domain name do not match.'], + ['code' => 'Certificate.NoPrivateKey', 'message' => 'The private key of the certificate does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'Certificate.NotFind', 'message' => 'Not find the certificate info.', 'http_code' => 400, 'description' => 'The specified certificate does not exist.'], + ['code' => 'Certificate.NotPermittedOff', 'message' => 'Turn off certificate will change domain scheduling, please contact customer service.', 'http_code' => 400, 'description' => 'Disabling the certificate may change the domain scheduling, please contact our support team.'], + ['code' => 'Certificate.SettedNotEffect', 'message' => 'The certificate is installed but is not enabled yet, please contact our support team.', 'http_code' => 400, 'description' => 'The certificate has been deployed but protection cannot be enabled. Contact customer service.'], + ['code' => 'Certificate.StatusError', 'message' => 'The certificate status is error.', 'http_code' => null, 'description' => 'The status of the specified certificate is invalid.'], + ['code' => 'Certificate.StatusError', 'message' => 'Certificate is not exist or its status is error.', 'http_code' => null, 'description' => 'The certificate does not exist or the status is invalid.'], + ['code' => 'CertificateContent.Duplicated', 'message' => 'The certificate is already uploaded, please do not upload again.', 'http_code' => 400, 'description' => 'The specified certificate has been uploaded. Do not upload the certificate again.'], + ['code' => 'CertName.MissingParameter', 'message' => 'The CertName parameter is required.', 'http_code' => 404, 'description' => ''], + ['code' => 'CertNameAlreadyExists', 'message' => 'The CertName already exists.', 'http_code' => 400, 'description' => 'The certificate name already exists.'], + ['code' => 'CertNotExisted', 'message' => 'The Cert does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'CertStorage.failed', 'message' => 'The certificate storage failed.', 'http_code' => 400, 'description' => 'The certificate could not be saved.'], + ['code' => 'CheckIcpFailed', 'message' => 'Check icp info failed, please try again later.', 'http_code' => 400, 'description' => ''], + ['code' => 'CheckSourceHealthFailed', 'message' => 'sources ip or source domain check health failed,please input right source.', 'http_code' => 400, 'description' => 'The origin IP address or domain name is invalid. Specify a valid value and try again.'], + ['code' => 'CnameError', 'message' => 'Unmatched CNAME.', 'http_code' => 400, 'description' => 'cname is not matched.'], + ['code' => 'Config.NotFound', 'message' => 'The domain provided doesn\'t apply any custom log config, please refer to the standard log config.', 'http_code' => 404, 'description' => 'The corresponding custom log format does not exist for this domain name.'], + ['code' => 'ConfigAlreadyExist', 'message' => 'config already exist', 'http_code' => 400, 'description' => 'The configuration already exists.'], + ['code' => 'ConfigAlreadyExists', 'message' => 'Config has already exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'ConfigDuplicate', 'message' => 'Config duplicate', 'http_code' => null, 'description' => ''], + ['code' => 'ConfigDuplicate', 'message' => 'Duplicate configuration. This function has already been configured and cannot be added repeatedly.', 'http_code' => 400, 'description' => 'Duplicate configuration. This function has already been configured and cannot be added repeatedly.'], + ['code' => 'ConfigExceedLimit', 'message' => 'Count of config entries exceeds the limit.', 'http_code' => 400, 'description' => 'The upper limit is reached.'], + ['code' => 'ConfigGroupAlreadyExist', 'message' => 'The configuration group already exists.', 'http_code' => 400, 'description' => 'The configuration group already exists.'], + ['code' => 'ConfigGroupNotExist', 'message' => 'The specified ConfigGroup does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'ConfigIsGraying', 'message' => 'The specified configuration is being published in the grayscale environment.', 'http_code' => 400, 'description' => 'The specified configuration is being published in the Grayscale environment.'], + ['code' => 'ConfigNotExist', 'message' => 'config not exist', 'http_code' => 400, 'description' => 'The configuration does not exist.'], + ['code' => 'ConfigNotFound', 'message' => 'Config not found', 'http_code' => null, 'description' => 'The specified configid parameter does not exist or does not match the domain name. Set this parameter to another value and try again.'], + ['code' => 'ConfigParentExceedLimit', 'message' => 'Config parent exceed limit.', 'http_code' => 400, 'description' => 'The referenced advanced conditional rule exceeds the threshold.'], + ['code' => 'ConfigurationConflicts', 'message' => 'The staging environment has a configuration in effect and cannot modify the production environment configuration.', 'http_code' => 400, 'description' => 'Failed to modify the parameter settings in the production environment because the parameter settings are different from those in the stating environment. Set parameters in the staging environment before you publish them to the production environment.'], + ['code' => 'ConsoleNeedLogin', 'message' => null, 'http_code' => null, 'description' => 'Your logon session has expired. Please <a href="https://account.aliyun.com/login/login.htm?oauth_callback={{redirectUrl}}">log on again </a>.'."\n"], + ['code' => 'CreateCertificateFailed', 'message' => 'Create certificate failed, please try again.', 'http_code' => 400, 'description' => 'Failed to create certificate, please re-create.'], + ['code' => 'createIndex.Failed', 'message' => 'Create index file is Failed.', 'http_code' => 400, 'description' => ''], + ['code' => 'CustomConfigExist', 'message' => 'Custom configuration existed.', 'http_code' => 400, 'description' => 'Custom configuration already exists.'], + ['code' => 'CustomTagIsInvalid', 'message' => 'The number of Custom Tag exceeds 20.', 'http_code' => 400, 'description' => 'The number of tags cannot exceed 20.'], + ['code' => 'DataAlreadyExist', 'message' => 'Data already exist.', 'http_code' => null, 'description' => 'The specified data already exists.'], + ['code' => 'DataNotExist', 'message' => 'No data found for this domain', 'http_code' => null, 'description' => ''], + ['code' => 'DataUpdating', 'message' => 'Data is updating,please wait.', 'http_code' => 400, 'description' => 'The data is being updated. Try again later.'], + ['code' => 'DcdnServiceNotFound', 'message' => 'DCDN has not been activated for your account.', 'http_code' => 400, 'description' => 'You have not activated DCDN for your account.'], + ['code' => 'Decode.Error', 'message' => 'The certificate sslpub or sslpri decode error.', 'http_code' => 400, 'description' => 'An error occurred while decoding SSLPub or SSLPri.'], + ['code' => 'DeleteFailed', 'message' => 'Delete certificate is failed.', 'http_code' => 500, 'description' => 'The specified certificate could not be deleted.'], + ['code' => 'DeleteFunctionFailed', 'message' => 'Batch delete functions failed.', 'http_code' => 403, 'description' => 'The batch deletion feature failed.'], + ['code' => 'DeliverExceedLimit', 'message' => 'The maximum number of subscribed tasks is exceeded.', 'http_code' => 400, 'description' => 'The number of tracking tasks has reached the upper limit.'], + ['code' => 'Domain.BeianInvalid', 'message' => 'You are not authorized to perform the operation because the domain registration is invalid in mainland China.', 'http_code' => 400, 'description' => ''], + ['code' => 'Domain.BeianInvalid', 'message' => 'Not allowed to perform this operation because the domain registration record is invalid in Chinese mainland.', 'http_code' => 400, 'description' => 'The ICP number of the domain name is invalid.'], + ['code' => 'Domain.NotFound', 'message' => 'Domain is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'DomainAlreadyExist', 'message' => 'The domain already exists.', 'http_code' => 400, 'description' => 'The domain name has been added by another account. You can use the domain name transfer tool that is provided by Alibaba Cloud CDN to transfer the domain name to the current account.'], + ['code' => 'DomainDeliveryConfigExist', 'message' => 'Domain delivery configuration existed.', 'http_code' => 400, 'description' => 'The domain name delivery configuration has been associated.'], + ['code' => 'DomainError', 'message' => 'The domain is not online.', 'http_code' => 400, 'description' => 'The domain name is not online.'], + ['code' => 'DomainError', 'message' => 'HTTPS has not been enabled for the domain.', 'http_code' => 400, 'description' => 'HTTPS is not enabled for the domain name.'], + ['code' => 'DomainError', 'message' => 'Sandbox domain', 'http_code' => 400, 'description' => 'The domain name is added to the sandbox.'], + ['code' => 'DomainError', 'message' => 'Domain must begin with https:// or http://', 'http_code' => 400, 'description' => 'The domain name must start with http or https.'], + ['code' => 'DomainError', 'message' => 'A path must be specified for the domain.', 'http_code' => 400, 'description' => 'The domain name must contain a path.'], + ['code' => 'DomainError', 'message' => 'The domain is included in a blacklist.', 'http_code' => 400, 'description' => 'The domain name is added to the blacklist.'], + ['code' => 'DomainError', 'message' => 'URL parsing error.', 'http_code' => 400, 'description' => 'Failed to parse the URL.'], + ['code' => 'DomainError', 'message' => 'The SSL certificate has expired.', 'http_code' => 400, 'description' => 'The HTTPS certificate has expired.'], + ['code' => 'DomainError', 'message' => 'URL is required.', 'http_code' => 400, 'description' => 'The URL is not specified.'], + ['code' => 'DomainError', 'message' => 'The https certificate has expired.', 'http_code' => 400, 'description' => 'Certificate Expiration'], + ['code' => 'DomainExceedLimit', 'message' => 'Count of domains exceeds the limit.', 'http_code' => 400, 'description' => 'The number of domain names exceeds the limit.'], + ['code' => 'DomainInBlacklist', 'message' => 'The domain is in the blacklist.', 'http_code' => 400, 'description' => 'The domain name is in the blacklist.'], + ['code' => 'DomainInProtectedMode', 'message' => 'This domain is in the protected mode. if you want to do this operation, please contact us', 'http_code' => 400, 'description' => 'The specified domain name is in the protected mode.'], + ['code' => 'DomainInRiskList', 'message' => 'The domain you added may be at risk. If you have any questions, please submit a ticket.', 'http_code' => 400, 'description' => 'The domain name you added may be at risk. If you have any questions, please submit a work order.'], + ['code' => 'DomainInSafeMode', 'message' => 'This domain is in the safe mode. if you want to do this operation, please contact us', 'http_code' => 400, 'description' => 'The specified domain name is in the protected mode. If you must perform this operation, submit a ticket.'], + ['code' => 'DomainNameOverLimit', 'message' => 'A maximum of 50 domains are supported for each request.', 'http_code' => 400, 'description' => 'You can specify at most 50 domain names at a time.'], + ['code' => 'DomainNotAllowed', 'message' => 'this domain is not allowed to bind tmd user black, Please contact us', 'http_code' => 400, 'description' => 'The specified domain name is not allowed to be associated with security blacklists.'], + ['code' => 'DomainNotExist', 'message' => 'The specified domain does not exist.', 'http_code' => 400, 'description' => 'The specified domain does not exist.'], + ['code' => 'DomainNotRegistration', 'message' => 'The Domain name is not registered', 'http_code' => 400, 'description' => 'The specified domain name is not registered.'], + ['code' => 'DomainOverLimit', 'message' => 'The Number of Domain is over the limit', 'http_code' => 400, 'description' => 'The maximum number of domain names is exceeded.'], + ['code' => 'DomainOverLimit', 'message' => 'The maximum number of domains is exceeded.', 'http_code' => 400, 'description' => 'The number of domain names exceeds the limit.'], + ['code' => 'DomainOwnerVerifyFail', 'message' => 'Owner verification of the root domain failed.', 'http_code' => 400, 'description' => 'The first time a domain name is added to Alibaba Cloud CDN, you must prove the ownership of the domain name. You must add a DNS record or a verification file for the domain name before it can be added to Alibaba Cloud CDN.'], + ['code' => 'DomainReserved', 'message' => 'The root domain of the domain has been used by another account. Submit a ticket.', 'http_code' => 400, 'description' => 'The root domain of the domain name is added by another account. If you need to add the domain name, click Transfer Domain Names on the Domain Names page in the Alibaba Cloud CDN console.'], + ['code' => 'DomainsAndFunctionsExceedLimit', 'message' => 'The number of domain names multiplied by the number of feature configurations exceeds the limit.', 'http_code' => 400, 'description' => 'The number of domain names multiplied by the number of feature configurations exceeds the limit.'], + ['code' => 'DomainTraffic.ExceedThreshold', 'message' => 'Not allowed to do this operation because the last day traffic exceeds the threshold.', 'http_code' => 400, 'description' => 'The peak bandwidth value of yesterday exceeded the threshold.'], + ['code' => 'DomainTransferFail', 'message' => 'The domain does not allow to transfer to a different account.', 'http_code' => 400, 'description' => 'The domain name cannot be transferred.'], + ['code' => 'DomainType.Malformed', 'message' => 'Your domain type is not live type.', 'http_code' => 400, 'description' => 'The use case is not supported by this domain.'], + ['code' => 'DomainVerifyFail', 'message' => 'Domain verification failed.', 'http_code' => 400, 'description' => 'Domain name verification failed.'], + ['code' => 'EdgeScripOptionsHasInnerConfig', 'message' => 'The extension has a background configuration or a parameter of this configuration is invalid. For more information, submit a ticket.', 'http_code' => 400, 'description' => 'The extension has a background configuration or a configured parameter is invalid. For more information, submit a ticket.'], + ['code' => 'EdgeScriptCountExceedLimit', 'message' => 'The number of rules exceeds the default limit.', 'http_code' => 400, 'description' => 'The number of rules exceeds the limit. To increase the limit, submit a ticket.'], + ['code' => 'EdgeScriptGrammarNotSupport', 'message' => 'A background customization rule exists or a parameter of this configuration is invalid. For more information, submit a ticket.', 'http_code' => 400, 'description' => 'A background custom rule exists or a configured parameter is invalid. For more information, submit a ticket.'], + ['code' => 'EdgeScriptNotSupportJs', 'message' => 'JavaScript rules are not supported. For more information, submit a ticket.', 'http_code' => 400, 'description' => 'JavaScript rules are not supported. For more information, submit a ticket.'], + ['code' => 'EmptyCustomLabel', 'message' => 'Extended Configuration is empty', 'http_code' => 400, 'description' => 'Configurations of the custom tags are not specified. Specify the configurations first.'], + ['code' => 'EntityNotExist.ResourceGroup', 'message' => 'The resource group does not exist.', 'http_code' => 400, 'description' => 'The specified resource group does not exist.'], + ['code' => 'EntityNotExists.ResourceGroup', 'message' => 'The resource group does not exist.', 'http_code' => 400, 'description' => 'The specified ResourceGroup parameter does not exist.'], + ['code' => 'ExceedMaxTsNumber', 'message' => 'Record ts number exceed 5760.', 'http_code' => 400, 'description' => 'The number of TS slices cannot exceed 5,760. Shorten the total duration of your video or extend the duration of each TS slice.'], + ['code' => 'ExtensiveAndAllBothExist', 'message' => 'Extensive domain and the domain begins with all. can not exist at the same time.', 'http_code' => 400, 'description' => 'Wildcard domain names and domain names that start with "all." cannot both exist.'], + ['code' => 'ExtensiveAndSpecificDomainConflict', 'message' => 'Extensive domain and corresponding specific domain are mutually exclusive.', 'http_code' => 400, 'description' => 'Wildcard domain names and specific domain names of the same level as the wildcard domain names are mutually exclusive. Enter another domain name.'], + ['code' => 'FlowControlError', 'message' => 'The request was denied due to flow control.', 'http_code' => 400, 'description' => 'The request was denied due to throttling.'], + ['code' => 'Forbidden.BidUser', 'message' => 'Bid user is limited to open service.', 'http_code' => null, 'description' => 'You are not authorized to perform this operation.'], + ['code' => 'Forbidden.Intl', 'message' => 'User not authorized to open Intl service.', 'http_code' => null, 'description' => 'The CDN service on the international site is not available to all users. '], + ['code' => 'Forbidden.RAM', 'message' => 'User not authorized to operate on the specified resource, or this API does not support RAM.', 'http_code' => 400, 'description' => 'You are not authorized to operate on the specified resource, or this API does not support RAM.'], + ['code' => 'Function.ArgDuplicate', 'message' => 'Duplicate feature parameters.', 'http_code' => 400, 'description' => 'Feature parameters conflict.'], + ['code' => 'Function.DependedByOthers', 'message' => 'The specified config is depended by others.', 'http_code' => 400, 'description' => 'The specified configuration is depended on by other configurations.'], + ['code' => 'Function.ExceedLimit', 'message' => 'The maximum number of configurations of the feature is exceeded.', 'http_code' => 400, 'description' => 'The number of configurations for this feature exceeds the limit.'], + ['code' => 'Function.InvalidParentId', 'message' => 'The specified parentId does not exist.', 'http_code' => 400, 'description' => 'The specified rule does not exist.'], + ['code' => 'Function.Unsupported', 'message' => 'The specified feature is not supported.', 'http_code' => 400, 'description' => 'This feature is not supported.'], + ['code' => 'FunctionMutex', 'message' => 'Function is mutex with other function.', 'http_code' => 400, 'description' => 'This feature conflicts with other features.'], + ['code' => 'FunctionsExceedLimit', 'message' => 'The number of Functions exceeds the limit.', 'http_code' => 400, 'description' => 'The number of Functions exceeds the limit.'], + ['code' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_HASORDER', 'message' => 'You have an order not yet effective', 'http_code' => 400, 'description' => 'The previous order that you placed has not taken effect.'], + ['code' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_INVALID_PAY_METHOD', 'message' => 'INVALID_PAY_METHOD', 'http_code' => 400, 'description' => 'The specified payment method is invalid.'], + ['code' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_USERPROFILECOMPLETE', 'message' => 'MISSING_USERPROFILE', 'http_code' => 500, 'description' => 'You must provide a configuration file.'], + ['code' => 'GrayConfigExist', 'message' => 'The domain exists other gray config.', 'http_code' => 400, 'description' => 'The staging environment already contains settings for the domain name.'], + ['code' => 'GrayConfigIsNull', 'message' => 'You cannot delete all gary configurations. You can clear them by rolling back the simulation environment.', 'http_code' => 400, 'description' => 'After you remove all rules in the staging environment, configurations on POPs are not removed. You can roll back the staging environment to remove configurations from the staging environment.'], + ['code' => 'HttpsNotEnabled', 'message' => 'Please open https first.', 'http_code' => 400, 'description' => ' Please enable the domain to support HTTPS first.'], + ['code' => 'IllegalOperation', 'message' => 'This operation is prohibited. The domain name has been added to the blacklist.', 'http_code' => 400, 'description' => 'The operation is invalid. The domain name is on the blacklist.'], + ['code' => 'IllegalOperation', 'message' => 'Illegal domain operate is not permitted.', 'http_code' => 400, 'description' => 'Domain name does not support current operation'], + ['code' => 'IllegalOperationDomain', 'message' => 'You are not authorized to operate the domain.', 'http_code' => 400, 'description' => 'You are not authorized to manage the domain name.'], + ['code' => 'IllegalOriginSiteIp', 'message' => 'Invalid origin server IP address.', 'http_code' => 400, 'description' => 'Illegal origin site IP address is not permitted'], + ['code' => 'IllegalSources', 'message' => 'The specified origin site information is invalid.', 'http_code' => 400, 'description' => 'The specified origin information is invalid.'], + ['code' => 'InnerAddDomainDenied', 'message' => 'Your account has not bind aoneId, can not add domain.', 'http_code' => 400, 'description' => 'Your account is not bound to aoneId and cannot add a domain name.'], + ['code' => 'InsufficientBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => null, 'description' => 'You have insufficient balance in your account. Top up or add funds to your account.'], + ['code' => 'Internal.ConfigError', 'message' => 'An error occurred while configuring the certificate.', 'http_code' => 500, 'description' => ''], + ['code' => 'Internal.ForbidError', 'message' => 'You cannot modify the configurations when some features of the domain are in a canary deployment.', 'http_code' => 500, 'description' => 'This domain cannot be changed because a feature is in canary release.'], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to some unknown error.', 'http_code' => null, 'description' => 'An internal error occurred. Please try again later. If the error persists, submit a ticket.'], + ['code' => 'InternalError', 'message' => 'Internal error.', 'http_code' => null, 'description' => ''], + ['code' => 'InternalError', 'message' => 'The request processing has failed due to backend service exception.', 'http_code' => null, 'description' => 'Failed to process request. Backend server exception'], + ['code' => 'InternalException', 'message' => 'Internal occasional exception, please try again later.', 'http_code' => 400, 'description' => 'Internal occasional exception, please try again later.'], + ['code' => 'InternalServerError', 'message' => 'internal server error', 'http_code' => 500, 'description' => 'A service error occurred.'], + ['code' => 'InternetChargeTypeInvalid', 'message' => 'The specified InternetChargeType is invalid.', 'http_code' => 400, 'description' => 'The specified InternetChargeType is invalid.'], + ['code' => 'InvaildBatchIp.LengthTooLong', 'message' => 'The batchIp parameter is too long', 'http_code' => 400, 'description' => 'The length of the IP addresses exceeds the limit.'], + ['code' => 'InvaildParameter', 'message' => 'The specified parameter DomainName format is error.', 'http_code' => null, 'description' => ''], + ['code' => 'InvaildParameter', 'message' => 'Source name can not equal to domain name', 'http_code' => null, 'description' => ''], + ['code' => 'InvaildParameter', 'message' => 'IspNames Not Supported', 'http_code' => null, 'description' => 'The specified IspNames parameter is not supported.'], + ['code' => 'InvaildParameter', 'message' => 'The specified parameter IP format is error.', 'http_code' => null, 'description' => 'The specified IP parameter is invalid.'], + ['code' => 'InvaildParameter', 'message' => 'LocationNames Not Supported', 'http_code' => 400, 'description' => 'This parameter is invalid.'], + ['code' => 'InvaildParameter', 'message' => 'The parameter you provided is invalid.', 'http_code' => 403, 'description' => 'The format of the domain name is invalid. Correct the format and try again.'], + ['code' => 'InvaildParameterSource', 'message' => 'The source name cannot be the same as the domain name.', 'http_code' => 400, 'description' => ''], + ['code' => 'Invalid%s.Malformed', 'message' => 'ArgValue [%s] is malformed.', 'http_code' => null, 'description' => ' '], + ['code' => 'Invalid%s.ValueNotSupported', 'message' => 'FunctionName [%s] is not supported.', 'http_code' => null, 'description' => 'The specified method is not supported.'], + ['code' => 'Invalid%s.ValueNotSupported', 'message' => 'ArgName [%s] is not supported.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidAction.NotFound', 'message' => 'Specified api is not found, please check your url and method.', 'http_code' => 404, 'description' => 'Specified api is not found, please check your url and method.'], + ['code' => 'InvalidAllowEmpty.ValueNotSupported', 'message' => 'The specified value of parameter AllowEmpty is not supported.', 'http_code' => 400, 'description' => 'The specified \'can referer be blank\' value is illegal as it is out of the available range'], + ['code' => 'InvalidAppName.LengthTooLong', 'message' => 'The specified app name is too long.', 'http_code' => 400, 'description' => 'The length of the application name exceeds the limit. Specify a valid value for the AppName parameter.'], + ['code' => 'InvalidAppName.Mismatch', 'message' => 'The AppName param must be passed.', 'http_code' => 400, 'description' => 'The AppName parameter is incorrect.'], + ['code' => 'InvalidArgIps.IpCanNotFound', 'message' => 'The ips can not found.', 'http_code' => 400, 'description' => 'The input parameter is not found in the system and is not the IP address of Alibaba Cloud CDN.'], + ['code' => 'InvalidArgIps.Malformed', 'message' => 'The specified ips are invalid.', 'http_code' => 400, 'description' => 'Invalid input parameter IP list'], + ['code' => 'InvalidArgName.ValueNotSupported', 'message' => '%s is not supported.', 'http_code' => 400, 'description' => '% s is not supported.'], + ['code' => 'InvalidArgument.Malformed', 'message' => 'Json format error.', 'http_code' => 400, 'description' => 'The specified JSON format is invalid.'], + ['code' => 'InvalidArgValue.Malformed', 'message' => 'The specified ArgValue is invalid.', 'http_code' => 400, 'description' => 'Specified ArgValue is malformed.'], + ['code' => 'InvalidAuthCrash.ValueNotSupported', 'message' => 'The specified value of parameter AuthCrash is not supported.', 'http_code' => 400, 'description' => 'The specified AuthCrash parameter is not supported.'], + ['code' => 'InvalidAuthEnable.ValueNotSupported', 'message' => 'The specified value of parameter AuthEnable is not supported.', 'http_code' => 400, 'description' => 'The specified AuthEnable parameter is not supported.'], + ['code' => 'InvalidAuthType.ValueNotSupported', 'message' => 'The specified value of parameter AuthType is not supported.', 'http_code' => 400, 'description' => 'The AuthType parameter is not supported.'], + ['code' => 'InvalidBackSrcDomain.Malformed', 'message' => 'Specified BackSrcDomain is malformed.', 'http_code' => 400, 'description' => 'Illegal back-to-source host format'], + ['code' => 'InvalidBucket.NotFound', 'message' => 'The parameter OssBucket does not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidCacheContent.Malformed', 'message' => 'The specified value of parameter CacheContent is malformed.', 'http_code' => 400, 'description' => 'The specified cache configuration address does not meet requirements.'], + ['code' => 'InvalidCacheType.ValueNotSupported', 'message' => 'The specified value of parameter CacheType is not supported.', 'http_code' => 400, 'description' => 'The specified CacheType parameter is invalid.'], + ['code' => 'InvalidCdnType.Malformed', 'message' => 'Operation not supported this cdn type.', 'http_code' => null, 'description' => 'The specified CdnType parameter is not supported. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content. liveStream: accelerates distribution of live stream content.'], + ['code' => 'InvalidCdnType.Malformed', 'message' => 'Specified CdnType is malformed.', 'http_code' => 400, 'description' => 'The CdnType parameter is set to an invalid value. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content.'], + ['code' => 'InvalidCdnType.ValueNotSupported', 'message' => 'The specified value of parameter CdnType is not supported.', 'http_code' => 400, 'description' => 'The CdnType parameter is set to an invalid value. Valid values: web: distributes images and small files. download: accelerates large file downloads. video: accelerates distribution of on-demand audio and video content. liveStream: accelerates distribution of live stream content.'], + ['code' => 'InvalidCertId.NotFound', 'message' => 'The certId does not exist.', 'http_code' => 400, 'description' => 'The certificate ID does not exist.'], + ['code' => 'InvalidCertIdentifier.ValueNotSupported', 'message' => 'The specified CertIdentifier parameter is invalid.', 'http_code' => 400, 'description' => 'The specified CertIdentifier parameter is invalid.'], + ['code' => 'InvalidCertificate', 'message' => 'The Certificate you provided is malformed', 'http_code' => 400, 'description' => 'The specified certificate format is invalid.'], + ['code' => 'InvalidCertificate.TooLong', 'message' => 'The Certificate you provided is over the max length', 'http_code' => 400, 'description' => 'Certificate and private key length exceeds the limit'], + ['code' => 'InvalidCertName.TooLong', 'message' => 'The Certificate name you provided is over the max length 128', 'http_code' => 400, 'description' => 'The Certificate name you provided is over the max length 128!'], + ['code' => 'InvalidChargeItem.ValueNotSupported', 'message' => 'The specified value of parameter ChargeItem is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidCls.Malformed', 'message' => 'Specified Cls is malformed.', 'http_code' => 400, 'description' => 'The specified CLS parameter is invalid.'], + ['code' => 'InvalidConfig', 'message' => 'The specific config of the ConfigUrl is invalid.', 'http_code' => null, 'description' => 'The specified ConfigUrl parameter is invalid.'], + ['code' => 'InvalidConfig.NotFound', 'message' => 'The speicified config does not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidConfig.ValueNotSupported', 'message' => 'The specified value of parameter Config is not supported.', 'http_code' => 400, 'description' => 'The Config parameter is set to an invalid value.'], + ['code' => 'InvalidConfigId', 'message' => 'The specified configId is invalid.', 'http_code' => 400, 'description' => 'The configId of the feature is invalid. It does not exist or does not belong to the current instance.'], + ['code' => 'InvalidConfigID.Malformed', 'message' => 'The specific value of parameter ConfigID is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidConfigID.NotExist', 'message' => 'The specific value of parameter ConfigID is not exist.', 'http_code' => null, 'description' => 'The specified ConfigID parameter does not exist.'], + ['code' => 'InvalidConfigID.NotFound', 'message' => 'Cannot find the specific value of parameter ConfigID in our system.', 'http_code' => null, 'description' => 'The specified ConfigID parameter is not found.'], + ['code' => 'InvalidConfigList.ValueNotSupported', 'message' => 'The specified value of parameter ConfigList is not supported.', 'http_code' => 400, 'description' => 'The specified ConfigList parameter is invalid.'], + ['code' => 'InvalidConfigUrl', 'message' => 'The specific value of parameter ConfigUrl is invalid.', 'http_code' => 400, 'description' => 'The ConfigUrl parameter is set to an invalid value.'], + ['code' => 'InvalidCustomHeader', 'message' => 'Parse preload header failed.', 'http_code' => 400, 'description' => 'Custom header parsing error.'], + ['code' => 'InvalidCustomHeader', 'message' => 'Unsupported Preload headers included.', 'http_code' => 400, 'description' => 'Invalid custom preheat header.'], + ['code' => 'InvalidCustomPageUrl.Malformed', 'message' => 'The specified value of parameter CustomPageUrl is not malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidCustomPageUrl.Miss', 'message' => 'The specified value of parameter CustomPageUrl is miss', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidData.NotFound', 'message' => 'The data is not found', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidDisableAst.ValueNotSupported', 'message' => 'The specified value of parameter DisableAst is not supported.', 'http_code' => 400, 'description' => 'The DisableAst parameter is not supported.'], + ['code' => 'InvalidDomain.Configure_failed', 'message' => 'Failed to configure the provided domain.', 'http_code' => 400, 'description' => 'Failed to configure the domain name.'], + ['code' => 'InvalidDomain.NotExist', 'message' => 'The domain you provided is not exist.', 'http_code' => 400, 'description' => 'The domain name you provided does not exist.'], + ['code' => 'InvalidDomain.NotFound', 'message' => 'The domain provided does not belong to you.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidDomain.NotFound', 'message' => 'The domain provided does not exist in our records.', 'http_code' => 400, 'description' => 'The specified domain name does not exist or does not belong to the current account. Check whether the domain name is valid, belongs to the current account, or has expired.'], + ['code' => 'InvalidDomain.notOnline', 'message' => 'The domain is not online, please check the domain status and try again later.', 'http_code' => 400, 'description' => 'The specified domain name status is invalid. Check whether the domain name is online and try again later.'], + ['code' => 'InvalidDomain.Offline', 'message' => 'The domain provided is offline.', 'http_code' => 400, 'description' => 'The domain name is disabled.'], + ['code' => 'InvalidDomainInfo', 'message' => 'a or any domain not belonging product or user.', 'http_code' => 400, 'description' => 'One or more domain names that do not belong to a product or user'], + ['code' => 'InvalidDomainName', 'message' => 'The specified DomainNames is invalid.', 'http_code' => 400, 'description' => 'No domain name is specified or the number of specified domain names exceeds the limit. Specify domain names based on the API documentation.'], + ['code' => 'InvalidDomainName.Malformed', 'message' => 'Specified DomainName is malformed.', 'http_code' => 400, 'description' => 'The specified DomainName parameter is invalid or wildcard domain names cannot be batch added.'], + ['code' => 'InvalidDomainName.Malformed', 'message' => 'The specific value of parameter DomainName is malformed.', 'http_code' => null, 'description' => ' '], + ['code' => 'InvalidDomainName.Malformed', 'message' => 'Domain name suffixed with alicdn.com only support third level.', 'http_code' => null, 'description' => 'alicdn.com supports up to three domain levels.'], + ['code' => 'InvalidDomainName.Malformed', 'message' => 'The specified DomainName is invalid.', 'http_code' => 400, 'description' => 'The specified domain name is invalid.'], + ['code' => 'InvalidDomainName.Overlimit', 'message' => 'Too many DomainNames are specified.', 'http_code' => 400, 'description' => 'The number of specified domain names exceeds the limit of the operation.'], + ['code' => 'InvalidDomainName.ValueNotSupported', 'message' => 'The specified value of parameter DomainName is not supported.', 'http_code' => null, 'description' => 'Incorrect domain name format. Please make sure it does not contain * or other special characters'], + ['code' => 'InvalidDomainName.ValueNotSupported', 'message' => 'The specified value of parameter DomainName only support one or empty value.', 'http_code' => 400, 'description' => 'Leave the DomainName parameter empty or specify only one domain name.'], + ['code' => 'InvalidDomainNameLevel', 'message' => 'Domain name suffixed with alicdn.com only support third level.', 'http_code' => 400, 'description' => 'alicdn.com supports up to three domain levels for wildcard domain names.'], + ['code' => 'InvalidDomainNames.Malformed', 'message' => 'Specified domainNames is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidDomainSearchType.ValueNotSupported', 'message' => 'The specified value of parameter DomainSearchType is not supported.', 'http_code' => 400, 'description' => 'The DomainSearchType parameter is not supported.'], + ['code' => 'InvalidDomainStatus.ValueNotSupported', 'message' => 'The specified value of parameter DomainStatus is not supported.', 'http_code' => 400, 'description' => 'Parameter DomainStatus is not supported.'], + ['code' => 'InvalidDomainType.ValueNotSupported', 'message' => 'The domain is not dynamic domain.', 'http_code' => 403, 'description' => 'The domain name is not used for dynamic content delivery.'], + ['code' => 'InvalidDynamicOrigin.ValueNotSupported', 'message' => 'The specified value of parameter DynamicOrigin is not supported.', 'http_code' => 400, 'description' => 'The DynamicOrigin is set to an invalid value.'], + ['code' => 'InvalidEnable.ValueNotSupported', 'message' => 'The specified value of parameter Enable is not supported.', 'http_code' => null, 'description' => 'The specified configuration item value is illegal; it can only be on/off'], + ['code' => 'InvalidEnable.ValueNotSupported', 'message' => 'The specified value of parameter Enable is not valid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'Specified end time is malformed.', 'http_code' => null, 'description' => 'The specified end time is invalid.'], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'Time period should be in three month.', 'http_code' => null, 'description' => 'The time range cannot exceed three months.'], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'StartTime and EndTime is illegal.', 'http_code' => null, 'description' => 'The start time and end time are invalid.'], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'The specified value of parameter EndTime is malformed.', 'http_code' => null, 'description' => 'The specified EndTime parameter is invalid.'], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'Specified time period should be in three month.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'Specified EndTime is malformed.', 'http_code' => 400, 'description' => 'The format of the end time is invalid. Specify a valid value.'], + ['code' => 'InvalidEndTime.Malformed', 'message' => 'The specified EndTime is invalid.', 'http_code' => 400, 'description' => 'The EndTime parameter is set in an invalid format. For more information, see the API references.'], + ['code' => 'InvalidEndTime.Mismatch', 'message' => 'Specified end time does not math the specified start time.', 'http_code' => null, 'description' => 'The end time cannot be earlier than the start time'], + ['code' => 'InvalidEndTime.Mismatch', 'message' => 'Specified EndTime does not math the specified start time.', 'http_code' => 400, 'description' => ' '], + ['code' => 'InvalidEndTime.Mismatch', 'message' => 'Specified EndTime does not match the specified StartTime.', 'http_code' => 400, 'description' => 'StartTime must be earlier than EndTime.'], + ['code' => 'InvalidEndTime.Mismatch', 'message' => 'The specified EndTime is earlier than the StartTime.', 'http_code' => 400, 'description' => 'EndTime is earlier than StartTime.'], + ['code' => 'InvalidEnv', 'message' => 'The specified Env is invalid.', 'http_code' => 400, 'description' => 'The specified Env is invalid.'], + ['code' => 'InvalidErrorCode.Malformed', 'message' => 'The specified value of parameter ErrorCode is not malformed.', 'http_code' => null, 'description' => 'The specified ErrorCode parameter is invalid.'], + ['code' => 'InvalidExtensiveDomain.Malformed', 'message' => 'Specified ExtensiveDomain is malformed.', 'http_code' => 400, 'description' => 'The specified ExtensiveDomain parameter is invalid.'], + ['code' => 'InvalidExtensiveDomain.ValueNotSupported', 'message' => 'Extensive domain not supported.', 'http_code' => 400, 'description' => 'This operation is not supported for wildcard domain names.'], + ['code' => 'InvalidField.ValueNotSupported', 'message' => 'The specified value of parameter Field is not supported.', 'http_code' => null, 'description' => 'The specified Field parameter is not supported.'], + ['code' => 'InvalidFile', 'message' => 'The file is not found.', 'http_code' => 400, 'description' => 'You have not uploaded the required file. Upload the file before you proceed.'], + ['code' => 'InvalidFunction.Malformed', 'message' => 'The configuration of the %s function of %s already exists. Only when it is consistent with the current configuration group can you attach it.', 'http_code' => 400, 'description' => 'The configuration of the %s feature for %s already exists. You can add the configuration only if it is the same as the current configuration group.'], + ['code' => 'InvalidFunction.NotSupported', 'message' => 'The domain is not supported to set the function.', 'http_code' => 400, 'description' => 'This feature is not supported for domain names.'], + ['code' => 'InvalidFunctionArgs.Malformed', 'message' => 'The specified FunctionArgs is invalid.', 'http_code' => 400, 'description' => 'The specified feature parameter is invalid.'], + ['code' => 'InvalidFunctions.Malformed', 'message' => 'The specified Functions is incorrectly formatted.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidHashKeyArgs.ValueNotSupported', 'message' => 'At most 10 HashKeyArgs are supported.', 'http_code' => 403, 'description' => 'The number of reserved parameters cannot exceed 10.'], + ['code' => 'InvalidHeaderKey.ValueNotSupported', 'message' => 'The specified value of parameter HeaderKey is not supported.', 'http_code' => 400, 'description' => 'The specified HTTP header is invalid. Valid values: Content-Type, Cache-Control, Content-Disposition, Content-Language, Expires, Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers, Access-Control-Max-Age, Access-Control-Expose-Headers, and Access-Control-Allow-Credentials.'], + ['code' => 'InvalidInternetChargeType.ValueNotSupported', 'message' => 'The specified value of parameter InternetChargeType is not valid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidInterval.Malformed', 'message' => 'Maximum time interval is 96 hours.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidInterval.Malformed', 'message' => 'Specified Interval is malformed.', 'http_code' => 400, 'description' => 'The format of the time granularity is invalid.'], + ['code' => 'InvalidIntervalParameter', 'message' => 'The specified Interval is invalid.', 'http_code' => 400, 'description' => 'The specified time interval is invalid.'], + ['code' => 'InvalidIP.ValueNotSupported', 'message' => 'The specified value of parameter IP is not supported.', 'http_code' => 400, 'description' => 'Illegal IP parameters'], + ['code' => 'InvalidIspNameEn.Malformed', 'message' => 'The specified IspNameEn is not supported.', 'http_code' => 400, 'description' => ' '], + ['code' => 'InvalidIspNames.Malformed', 'message' => 'Specified IspNames is malformed.', 'http_code' => 400, 'description' => 'The specified IspName parameter is invalid.'], + ['code' => 'InvalidIspParameter', 'message' => 'The specified Isp is invalid.', 'http_code' => 400, 'description' => 'The specified ISP is invalid.'], + ['code' => 'InvalidKeepOssArgs.ValueNotSupported', 'message' => 'The specified value of parameter KeepOssArgs is not supported.', 'http_code' => 400, 'description' => 'The specified KeepOssArgs parameter is not supported.'], + ['code' => 'InvalidKey.Malformed', 'message' => 'The specified value of parameter Key is not malformed.', 'http_code' => 400, 'description' => 'The Key parameter is set in an invalid format.'], + ['code' => 'InvalidKey1.Malformed', 'message' => 'The parameter Key1 is malformed.', 'http_code' => 400, 'description' => 'The Key1 parameter is set in an invalid format.'], + ['code' => 'InvalidKey1.MissingParameter', 'message' => 'The parameter Key1 is missing.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidKey2.Malformed', 'message' => 'The parameter Key2 is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidLimit.Malformed', 'message' => 'The specified value of parameter Limit contains invalid variable.', 'http_code' => 400, 'description' => 'The Limit parameter contains invalid variables.'], + ['code' => 'InvalidLimit.ValueNotSupported', 'message' => 'DomainNames limit between 1 and 100.', 'http_code' => 400, 'description' => 'The number of domain names must be in the range of 1 to 100.'], + ['code' => 'InvalidLiveStreamType.Malformed', 'message' => 'The specified value of parameter LiveStreamType is malformed.', 'http_code' => 400, 'description' => 'The specified LiveStreamType parameter is invalid.'], + ['code' => 'InvalidLocationNameEn.Malformed', 'message' => 'The specified LocationNameEn is not supported.', 'http_code' => 400, 'description' => 'The specified LocationNameEn parameter is not supported.'], + ['code' => 'InvalidLocationNames.Malformed', 'message' => 'Specified LocationNames is malformed.', 'http_code' => 403, 'description' => 'The LocationNames parameter is set in an invalid format.'], + ['code' => 'InvalidLocName', 'message' => 'The specified LocName is not supported.', 'http_code' => 400, 'description' => 'The specified LocName parameter is invalid.'], + ['code' => 'InvalidLogDay.Malformed', 'message' => 'LogDay is malformed. the expected format is yyyy-MM-dd', 'http_code' => 400, 'description' => ' '], + ['code' => 'InvalidMainAppName.Malformed', 'message' => 'Specified MainAppName is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidMainDomainName.Malformed', 'message' => 'Specified MainDomainName is malformed.', 'http_code' => 403, 'description' => 'The MainDomainName parameter is set in an invalid format.'], + ['code' => 'InvalidMainStreamName.Malformed', 'message' => 'Specified MainStreamName is malformed.', 'http_code' => 400, 'description' => 'The specified MainStreamName parameter is invalid.'], + ['code' => 'InvalidMixAppName.Malformed', 'message' => 'Specified MixAppName is malformed.', 'http_code' => 400, 'description' => 'The MixAppName parameter is set in an invalid format.'], + ['code' => 'InvalidMixDomainName.Malformed', 'message' => 'Specified MixDomainName is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidMixStreamName.Malformed', 'message' => 'Specified MixStreamName is malformed.', 'http_code' => 400, 'description' => 'The specified MixStreamName parameter is invalid.'], + ['code' => 'InvalidMixTemplate.Malformed', 'message' => 'Specified MixTemplate is malformed.', 'http_code' => 400, 'description' => 'The MixTemplate parameter is set in an invalid format.'], + ['code' => 'InvalidMixType.Malformed', 'message' => 'Specified MixType is malformed.', 'http_code' => 400, 'description' => 'The specified MixType parameter is invalid.'], + ['code' => 'InvalidNotifyUrl.Malformed', 'message' => 'The specified value of parameter NotifyUrl is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidObjectPath.ExceedsMaximum', 'message' => 'The maximum number of urls is exceeded.', 'http_code' => 400, 'description' => 'The number of submitted URLs exceeds the maximum limit.'], + ['code' => 'InvalidObjectPath.Malformed', 'message' => 'The specific value of parameter ObjectPath is malformed.', 'http_code' => 400, 'description' => 'The value of the ObjectPath parameter is in an invalid format. Example: example.com/image/1.png. Separate URLs with line feeds (\\n or \\r\\n).'], + ['code' => 'InvalidObjectPath.ValueNotSupported', 'message' => 'The specified value of ObjectPath is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidObjectType.Malformed', 'message' => 'The specified ObjectType is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidObjectType.ValueNotSupported', 'message' => 'The specified ObjectType is invalid.', 'http_code' => 400, 'description' => 'The ObjectType parameter is set to an invalid value.'], + ['code' => 'InvalidOperation.ForceRedirect', 'message' => 'Cannot perform this operation due to wrong business type or ssl status.', 'http_code' => 400, 'description' => 'URL redirection cannot be enabled for the domain name. Check whether a certificate is uploaded and enabled.'], + ['code' => 'InvalidOssBucket.Malformed', 'message' => 'The specified value of parameter OssBucket contains invalid variable.', 'http_code' => 400, 'description' => 'The specified OssBucket parameter contains invalid variables.'], + ['code' => 'InvalidOssEndpoint.Malformed', 'message' => 'The specified value of parameter "OssEndpoint" contains invalid variable.', 'http_code' => null, 'description' => 'The specified OssEndpoint parameter contains invalid variables.'], + ['code' => 'InvalidOssEndpoint.Malformed', 'message' => 'Specified OssEndpoint is malformed.', 'http_code' => 400, 'description' => 'The OssEndpoint parameter is set to an invalid value. Set this parameter to a valid value and try again.'], + ['code' => 'InvalidOssObject.Malformed', 'message' => 'Specified OssObject is malformed.', 'http_code' => 400, 'description' => 'The OssObject parameter is set in an invalid format.'], + ['code' => 'InvalidOssObjectPrefix.Malformed', 'message' => 'The specified value of parameter OssObjectPrefix contains invalid variable.', 'http_code' => 400, 'description' => 'The OssObjectPrefix parameter contains invalid variables.'], + ['code' => 'InvalidOverwriteOssObject.Malformed', 'message' => 'The specified value of parameter OverwriteOssObject contains invalid variable.', 'http_code' => 400, 'description' => 'The specified OverwriteOssObject parameter contains invalid variables.'], + ['code' => 'InvalidOverwriteOssObjectOrSequenceOssObject.Malformed', 'message' => 'The paramters OverwriteOssObject or SequenceOssObject should have one.', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidPageNumber.ValueNotSupported', 'message' => 'The specified value of parameter PageNumber is not supported.', 'http_code' => 400, 'description' => 'The specified present page number parameter value is illegal'], + ['code' => 'InvalidPageSize', 'message' => 'Page size is invalid.', 'http_code' => 400, 'description' => 'The specified page is invalid.'], + ['code' => 'InvalidPageSize.Malformed', 'message' => 'The specified value of parameter PageSize contains invalid variable.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidPageSize.ValueNotSupported', 'message' => 'The specified value of parameter PageSize is not supported.', 'http_code' => 400, 'description' => 'The specified page size parameter value is illegal'], + ['code' => 'InvalidPageToken', 'message' => 'The token of page is invalid.', 'http_code' => 400, 'description' => 'The specified paging token is incorrect. Pass in the correct index returned for the last query and confirm that your request parameters are not modified.'], + ['code' => 'InvalidPageType.ValueNotSupported', 'message' => 'The specified value of parameter PageType is not supported.', 'http_code' => 400, 'description' => 'The specified PageType parameter is invalid.'], + ['code' => 'InvalidPageUrl.Malformed', 'message' => 'The specified value of parameter PageUrl is not malformed.', 'http_code' => null, 'description' => 'The specified PageUrl parameter is invalid.'], + ['code' => 'InvalidParameter', 'message' => 'Delete live region parameters have error.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Describe live region parameters have error.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter "Enable" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter "DomainName" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'The specified value of parameter "InternetChargeType" is not valid.', 'http_code' => null, 'description' => 'The specified InternetChargeType parameter is invalid.'], + ['code' => 'InvalidParameter', 'message' => 'Add live region parameters have error.', 'http_code' => null, 'description' => 'An error occurred while creating the live stream region.'], + ['code' => 'InvalidParameter', 'message' => 'There is unsupported parameter.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => null, 'http_code' => null, 'description' => 'Authentication failed'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter', 'message' => 'Your Alibaba Cloud account does not have permissions for the domain.', 'http_code' => 400, 'description' => 'Your Alibaba Cloud Account ID does not have permissions on this domain name.'], + ['code' => 'InvalidParameter', 'message' => 'The specified parameter IP format is invalid.', 'http_code' => 400, 'description' => 'Invalid IP format, please re-enter.'], + ['code' => 'InvalidParameter.%s', 'message' => 'The specified parameter [%s] is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidParameter.Always', 'message' => 'The specified value of parameter "Always" contains invalid variable.', 'http_code' => null, 'description' => 'The specified Always parameter contains invalid variables.'], + ['code' => 'InvalidParameter.SourceARN', 'message' => 'The specified parameter SourceARN is not valid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameterAliuid', 'message' => 'Invalid Parameter Aliuid.', 'http_code' => 400, 'description' => 'The Aliuid parameter is set to an invalid value.'], + ['code' => 'InvalidParameterBillType', 'message' => 'The parameter BillType is invalid.', 'http_code' => 400, 'description' => 'The bill type is invalid. Make sure that the bill type is supported by the query method.'], + ['code' => 'InvalidParameterDimension', 'message' => 'The parameter Dimension is invalid.', 'http_code' => 400, 'description' => 'The Dimension parameter is invalid. Specify a valid value that is provided in the documentation.'], + ['code' => 'InvalidParameterEndTime', 'message' => 'The parameter EndTime is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameterEndTime', 'message' => 'The specified EndTime is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameterField', 'message' => 'The specified Field is invalid.', 'http_code' => 400, 'description' => 'The Field parameter is set to an invalid value.'], + ['code' => 'InvalidParameterInterval', 'message' => 'Invalid Interval value.', 'http_code' => 400, 'description' => 'The value of Interval is invalid. For information about how to specify a valid value for Interval, see the API documentation.'], + ['code' => 'InvalidParameterOperator', 'message' => 'Invalid Parameter Operator.', 'http_code' => 400, 'description' => 'The Operator parameter is set to an invalid value.'], + ['code' => 'InvalidParameterProduct', 'message' => 'Invalid Parameter Product.', 'http_code' => 400, 'description' => 'The Product parameter is set to an invalid value.'], + ['code' => 'InvalidParameterProtocol', 'message' => 'The specified Protocol is invalid.', 'http_code' => 400, 'description' => 'The Protocol parameter is set to an invalid value.'], + ['code' => 'InvalidParameterSource', 'message' => 'The source name cannot be the same as the domain name.', 'http_code' => 400, 'description' => 'The origin site cannot be the same as the domain name.'], + ['code' => 'InvalidParameterStartTime', 'message' => 'The parameter StartTime is invalid.', 'http_code' => 400, 'description' => 'The specified StartTime parameter is invalid.'], + ['code' => 'InvalidParameterStartTime', 'message' => 'The specified StartTime is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameterType', 'message' => 'The specified Type is invalid.', 'http_code' => 400, 'description' => 'The Type parameter is set to an invalid value.'], + ['code' => 'InvalidParams', 'message' => 'Your parameters is invalid.', 'http_code' => null, 'description' => 'The specified parameter does not exist.'], + ['code' => 'InvalidPriorities.Malformed', 'message' => 'The length of priorities The length of priorities is not the same with source.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidPriorities.Malformed', 'message' => 'The length of priorities is not the same with source.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidPrivateKey', 'message' => 'The Private Key you provided is malformed', 'http_code' => 400, 'description' => 'The specified private key is invalid.'], + ['code' => 'InvalidPullDomain.Miss', 'message' => 'The specified value of parameter PullDomain contains invalid variable.', 'http_code' => 400, 'description' => 'The PullDomain parameter contains invalid variables.'], + ['code' => 'InvalidPushDomain.Miss', 'message' => 'The specified value of parameter PushDomain contains invalid variable.', 'http_code' => 400, 'description' => 'The PushDomain parameter contains invalid variables.'], + ['code' => 'InvalidRecord.Malformed', 'message' => 'Specified Record is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidRedirectType.ValueNotSupported', 'message' => 'The specified value of parameter RedirectType is not supported.', 'http_code' => 500, 'description' => 'The RedirectType parameter is set to an invalid value. Set a valid value and try again.'], + ['code' => 'InvalidReferList.Malformed', 'message' => 'The specified value of parameter ReferList is malformed.', 'http_code' => 400, 'description' => 'The ReferList parameter is set in an invalid format.'], + ['code' => 'InvalidReferType.ValueNotSupported', 'message' => 'The specified value of parameter ReferType is not supported.', 'http_code' => 400, 'description' => 'The specified ReferType parameter is invalid. Valid values: block: blacklist. allow: whitelist.'], + ['code' => 'InvalidRegion.Malformed', 'message' => 'Specified Region is malformed.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidResourceGroupId.Malformed', 'message' => 'Specified ResourceGroupId is malformed.', 'http_code' => 400, 'description' => 'Format of parameter ResourceGroupId is incorrect.'], + ['code' => 'InvalidResponse.GetResp', 'message' => 'The response from the request failed.', 'http_code' => 400, 'description' => 'The request for the accelerated domain name failed to obtain a response.'], + ['code' => 'InvalidResumeTime.Malformed', 'message' => 'The specified value of parameter ResumeTime is malformed.', 'http_code' => 400, 'description' => 'The ResumeTime parameter is set in an invalid format. Set this parameter in a valid format and try again.'], + ['code' => 'InvalidRule.Malformed', 'message' => 'Only one rule can be configured for each domain name', 'http_code' => 400, 'description' => 'Each domain name supports only one rule.'], + ['code' => 'InvalidRule.Malformed', 'message' => 'Check rules error: %s', 'http_code' => 400, 'description' => 'Rule check error: %s'], + ['code' => 'InvalidSchemeOrigin.ValueNotSupported', 'message' => 'The specified value of parameter SchemeOrigin is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidSchemeOriginPort.ValueNotSupported', 'message' => 'The specified value of parameter SchemeOriginPort is not supported.', 'http_code' => 400, 'description' => 'The SchemeOriginPort parameter is not supported.'], + ['code' => 'InvalidScope.Malformed', 'message' => 'Specified Scope is malformed.', 'http_code' => 400, 'description' => 'The specified Scope parameter is invalid.'], + ['code' => 'InvalidSequenceOssObject.Malformed', 'message' => 'The specified value of parameter SequenceOssObject contains invalid variable.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidServerCertificateStatus.ValueNotSupported', 'message' => 'The specified value of parameter Enable is not supported.', 'http_code' => 400, 'description' => 'The specified configuration item value is illegal; it can only be on/off'], + ['code' => 'InvalidSnapshot.Malformed', 'message' => 'Specified Snapshot is malformed.', 'http_code' => 500, 'description' => 'The Snapshot parameter is set in an invalid format.'], + ['code' => 'InvalidSource.Content.Malformed', 'message' => 'The specified Source Content is invalid.', 'http_code' => 400, 'description' => 'The specified origin address is invalid.'], + ['code' => 'InvalidSourcePort.Malformed', 'message' => 'Specified port is not supported.', 'http_code' => 400, 'description' => 'The specified port parameter is not supported.'], + ['code' => 'InvalidSources.Malformed', 'message' => 'The specific value of parameter Sources is malformed.', 'http_code' => null, 'description' => ' '], + ['code' => 'InvalidSources.Malformed', 'message' => 'Specified Sources is malformed.', 'http_code' => 400, 'description' => 'The specified origin address is invalid.'], + ['code' => 'InvalidSources.OverLimit', 'message' => 'source ip num over limit', 'http_code' => 400, 'description' => 'The number of origin IP addresses exceeds the upper limit.'], + ['code' => 'InvalidSourceType.Malformed', 'message' => 'The specific value of parameter SourceType is malformed.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidSourceType.Malformed', 'message' => 'Specified CdnType is malformed.', 'http_code' => 400, 'description' => 'The specified CdnType parameter is invalid.'], + ['code' => 'InvalidSSLPri', 'message' => 'The SSLPri you provided is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidSSLPub', 'message' => 'The SSLPub you provided is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidStartTime.Malformed', 'message' => 'The specified value of parameter StartTime is malformed.', 'http_code' => null, 'description' => 'The specified start time is invalid. For more information, see the help documentation of this operation.'], + ['code' => 'InvalidStartTime.Malformed', 'message' => 'Specified start time is malformed.', 'http_code' => null, 'description' => ' '], + ['code' => 'InvalidStartTime.Malformed', 'message' => 'Specified StartTime is malformed.', 'http_code' => 400, 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['code' => 'InvalidStartTime.Malformed', 'message' => 'The specified StartTime is invalid.', 'http_code' => 400, 'description' => 'The format of the start time is invalid. Specify a valid value.'], + ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => 'The specified value of parameter StartTime is not supported.', 'http_code' => null, 'description' => 'The start time is invalid. Set this parameter to another value and try again.'], + ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => 'Time period should less than one week.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => '90 days data can be queried at most.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => 'Time period should less than three month.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => 'The specified StartTime is invalid.', 'http_code' => 400, 'description' => 'The specified start time is invalid. For more information, see the API references.'], + ['code' => 'InvalidStartTime.ValueNotSupported', 'message' => 'The StartTime cannot exceed 31 days before the current time.', 'http_code' => 400, 'description' => 'If StartTime is before 31 days ago, Alibaba Cloud CDN provides logs of the last month. Requests with a time range greater than 31 days are not allowed.'], + ['code' => 'InvalidStatus.ResourceGroup', 'message' => 'It is not allowed to do this operation because of the current status of resource-group.', 'http_code' => 400, 'description' => 'This operation is not supported while the resource group is in the current state.'], + ['code' => 'InvalidStatus.ValueNotSupported', 'message' => 'The specified value of parameter Status is not supported.', 'http_code' => null, 'description' => 'The specified Status parameter is invalid.'], + ['code' => 'InvalidStream.NotFound', 'message' => 'The speicified stream does not exist.', 'http_code' => null, 'description' => 'The specified live stream does not exist. Check whether the stream ingest address exists. For more information, see the help documentation of this operation.'], + ['code' => 'InvalidStreamName.LengthTooLong', 'message' => 'The specified stream name is too long.', 'http_code' => 400, 'description' => 'The length of the stream name exceeds the limit. Specify a valid value for the StreamName parameter.'], + ['code' => 'InvalidStreamNumber.Malformed', 'message' => 'Specified StreamNumber is malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidStreamProtocol.NotSupport', 'message' => 'The specified stream protocol is not support.', 'http_code' => 400, 'description' => 'The specified protocol is not supported. Check the protocols that are supported.'], + ['code' => 'InvalidTagKey', 'message' => 'The specified TagKey is invalid.', 'http_code' => 400, 'description' => 'The parameter TagKey is invalid.'], + ['code' => 'InvalidTaskId.Malformed', 'message' => 'Specified TaskId is malformed.', 'http_code' => 400, 'description' => 'Invalid TaskId'], + ['code' => 'InvalidTime.Malformed', 'message' => 'StartTime or EndTime is miss match.', 'http_code' => null, 'description' => 'The start time and end time do not match.'], + ['code' => 'InvalidTime.Malformed', 'message' => 'Time format error.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidTime.Malformed', 'message' => 'Specified Time is malformed.', 'http_code' => null, 'description' => ''], + ['code' => 'InvalidTime.Malformed', 'message' => 'Specified StartTime or EndTime is malformed.', 'http_code' => 400, 'description' => 'The specified start or end time is invalid.'], + ['code' => 'InvalidTime.OverNow', 'message' => 'Time must be less than now.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidTime.TooEarly', 'message' => 'Time is too early, we only support the last 48 hours.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidTime.ValueNotSupported', 'message' => 'StartTime or EndTime is miss match.', 'http_code' => 400, 'description' => 'Start time and end time do not match, time span limit is exceeded, or the time parameter is invalid.'], + ['code' => 'InvalidTimeInterval.Malformed', 'message' => 'The specified value of parameter TimeInterval contains invalid variable.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidTimeMerge.ValueNotSupported', 'message' => 'When value of parameter TimeMerge is off, maximum time interval is 31 days.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidTimeOut.Malformed', 'message' => 'The specified value of parameter TimeOut is malformed.', 'http_code' => 400, 'description' => ' '], + ['code' => 'InvalidTimeOut.ValueNotSupported', 'message' => 'The specified value of parameter TimeOut is not supported.', 'http_code' => 400, 'description' => 'The format of the TIMEOUT parameter is not supported.'], + ['code' => 'InvalidTimePoint.Malformed', 'message' => 'Specified TimePoint is malformed.', 'http_code' => 400, 'description' => 'The specified TimePoint parameter is invalid.'], + ['code' => 'InvalidTimeRange', 'message' => 'Invalid StartTime and EndTime range.', 'http_code' => 400, 'description' => 'The specified time range is invalid.'], + ['code' => 'InvalidTimeSpan', 'message' => 'The time span exceeds the limit.', 'http_code' => 400, 'description' => 'The time span exceeds the limit. Configure a valid time span as described in API documentation.'], + ['code' => 'InvalidTopLevelDomain.Malformed', 'message' => 'Specified TopLevelDomain is malformed.', 'http_code' => 400, 'description' => 'The specified TopLevelDomain parameter is invalid.'], + ['code' => 'InvalidTTL.Malformed', 'message' => 'The specified value of parameter TTL is malformed.', 'http_code' => 400, 'description' => 'The specified TTL parameter is invalid. Set this parameter to another value and try again.'], + ['code' => 'InvalidTTL.ValueNotSupported', 'message' => 'The specified value of parameter TTL is not supported.', 'http_code' => 400, 'description' => 'The TTL parameter is set in an invalid format.'], + ['code' => 'InvalidUserParameter', 'message' => 'The specified User is invalid.', 'http_code' => 400, 'description' => 'A parameter is set to an invalid value.'], + ['code' => 'InvalidValue.Malformed', 'message' => 'The specified value of parameter Value is not malformed.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidWeight.Malformed', 'message' => 'The specified value of parameter Weight is malformed.', 'http_code' => 403, 'description' => 'The Weight parameter is set to an invalid value.'], + ['code' => 'InvalidWeight.ValueNotSupported', 'message' => 'The specified value of parameter Weight is not supported.', 'http_code' => 500, 'description' => 'The specified weight value is illegal as it is out of the available range'], + ['code' => 'InvalidWildcardDomain', 'message' => 'The specified WildcardDomain is invalid.', 'http_code' => 400, 'description' => 'The specified wildcard domain name is invalid. Check the spelling.'], + ['code' => 'Key.Malformed', 'message' => 'The private key format is error.', 'http_code' => null, 'description' => 'The specified private key format is invalid.'], + ['code' => 'LogstoreNotExist', 'message' => 'Logstore does not exist.', 'http_code' => 404, 'description' => 'The specified Logstore does not exist.'], + ['code' => 'LossParams', 'message' => 'DomainNames, StartTime and EndTime should not be empty or domainName have been registered.', 'http_code' => 500, 'description' => ''], + ['code' => 'LX_CREATE_ORDER_FAILED', 'message' => 'Create order failed', 'http_code' => 400, 'description' => ''], + ['code' => 'MigrationFailed', 'message' => 'Migration Failed.', 'http_code' => 400, 'description' => 'Migration failed, possibly due to source information changes. Please wait 24h to try again or submit the ticket.'], + ['code' => 'MissingBackSrcDomain', 'message' => 'The input parameter BackSrcDomain that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You must set the BackSrcDomain parameter.'], + ['code' => 'MissingBucket', 'message' => 'The input parameter Bucket that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You must set the Bucket parameter.'], + ['code' => 'MissingConfig', 'message' => 'The input parameter Config that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify the Config parameter.'], + ['code' => 'MissingConfigValue', 'message' => 'The input parameter ConfigValue that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingDomainName', 'message' => 'The input parameter DomainName that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The parameter EndTime miss.', 'http_code' => null, 'description' => 'You must specify the EndTime parameter.'], + ['code' => 'MissingParameter', 'message' => 'The input parameter cdnType that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You must specify the cdnType parameter.'], + ['code' => 'MissingParameter', 'message' => 'The parameter StreamName miss.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The parameter StartTime miss.', 'http_code' => null, 'description' => 'You must specify the StartTime parameter.'], + ['code' => 'MissingParameter', 'message' => 'The input parameter sourceType that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'Parameter sourceType is required.'], + ['code' => 'MissingParameter', 'message' => 'The input parameter sourceStr that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'Origin server is a required parameter, please fill in.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter ConfigId can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The parameter AppName miss.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter PageUrl can not be empty.', 'http_code' => null, 'description' => 'You must specify the PageUrl parameter.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter FunctionName can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter ExtensiveDomain that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify the ExtensiveDomain parameter.'], + ['code' => 'MissingParameter', 'message' => 'StartTime and EndTime can not be single.', 'http_code' => null, 'description' => 'You must specify both the start time and end time.'], + ['code' => 'MissingParameter', 'message' => 'The parameter DomainName miss.', 'http_code' => null, 'description' => 'You must specify the DomainName parameter.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter "DomainName" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The parameter Sources miss.', 'http_code' => null, 'description' => 'You must specify the Sources parameter.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter "DomainName" can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter ErrorCode can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter DomainName can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter Key can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter Value can not be empty.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'An input parameter "EndTime" that is mandatory for processing the request is not supplied.', 'http_code' => null, 'description' => 'You must specify the EndTime parameter.'], + ['code' => 'MissingParameter', 'message' => 'The parameter LiveStreamType miss.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter region that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify the region parameter.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter "StartTime" is not valid.', 'http_code' => null, 'description' => 'The specified StartTime parameter is invalid.'], + ['code' => 'MissingParameter', 'message' => 'IspNames Missed.', 'http_code' => null, 'description' => 'You must specify the IspNames parameter.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter AppDomain is not valid.', 'http_code' => 400, 'description' => 'You must specify the origin information.'], + ['code' => 'MissingParameter', 'message' => 'The input parameter ObjectPath that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => 'You must specify the ObjectPath parameter.'], + ['code' => 'MissingParameter', 'message' => 'The specified value of parameter "IP" is not valid.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The parameter TimeInterval miss.', 'http_code' => null, 'description' => 'You must specify the TimeInterval parameter.'], + ['code' => 'MissingParameter', 'message' => 'The parameter OssEndpoint miss.', 'http_code' => null, 'description' => 'You must specify the OssEndpoint parameter.'], + ['code' => 'MissingParameter', 'message' => 'The parameter OssBucket miss.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'LocationNames Missed.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'Missing Parameter.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter AuthType that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'Parameter is missing.', 'http_code' => null, 'description' => ' '], + ['code' => 'MissingParameter', 'message' => 'The input parameter TimeOut that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter aliRemoveArgs that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter DomainName that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter AuthAddr that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter AuthCrash that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter AuthEnable that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter', 'message' => 'The input parameter AuthProvider that is mandatory for processing this request is not supplied.', 'http_code' => null, 'description' => ''], + ['code' => 'MissingParameter%s', 'message' => 'The specified value of ArgName[%s] is missing.', 'http_code' => 400, 'description' => 'You must specify this parameter.'], + ['code' => 'MissingParameter.ObjectType', 'message' => 'If DomainName or Status is provided, ObjectType can not be empty.', 'http_code' => 400, 'description' => ' '], + ['code' => 'MissingPrefix', 'message' => 'The input parameter Prefix that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingRequiredArg', 'message' => 'required argument missing.', 'http_code' => 400, 'description' => 'When configuring the function, the necessary parameters are missing.'], + ['code' => 'MissingSource.Content', 'message' => 'The Source Content must be specified.', 'http_code' => 400, 'description' => 'You must specify the origin information.'], + ['code' => 'MissingSources', 'message' => 'The input parameter sourceStr that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'Origin site is required, please fill in'], + ['code' => 'MissingSourceType', 'message' => 'The input parameter sourceType that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'You must set the sourceType parameter.'], + ['code' => 'MissingTimeParameter', 'message' => 'The StartTime and EndTime must be both specified.', 'http_code' => 400, 'description' => 'You must set both the start time and the end time. '], + ['code' => 'MixStartFail', 'message' => 'Transcode operatetion error.', 'http_code' => 400, 'description' => ''], + ['code' => 'MixStopFail', 'message' => 'Transcode operatetion error.', 'http_code' => 400, 'description' => ''], + ['code' => 'NameAlreadyExists', 'message' => 'The name already exists.', 'http_code' => 400, 'description' => 'The specified name already exists.'], + ['code' => 'NoDomainAuthChecking', 'message' => 'DomainAuthChecking is null,Please add DomainAuthChecking', 'http_code' => 400, 'description' => 'The operation has not passed domain name ownership verification. Perform the verification first.'], + ['code' => 'NoDomianPermission', 'message' => 'The AliUid does not have permission for the domain.', 'http_code' => 400, 'description' => 'aliuid does not have permissions on this domain name.'], + ['code' => 'NoHttpsDomain', 'message' => 'Your account does not have any HTTPS domain.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoIspProtocol', 'message' => 'IspProtocol is null,please add IspProtocol inner message。', 'http_code' => 400, 'description' => 'Set the IspProtocol parameter and other required parameters.'], + ['code' => 'NoMixConfig', 'message' => 'Transcode template for mix not config.', 'http_code' => 400, 'description' => 'No stream mixing template exists.'], + ['code' => 'NoMixStream', 'message' => 'Mix stream is not publish.', 'http_code' => null, 'description' => ''], + ['code' => 'NoMixStream', 'message' => 'This stream is not mix now.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoPermission.SLR', 'message' => 'The current user does not have permission to create servicelinkedrole. Please contact the Alibaba Cloud account or administrator to authorize AliyunCDNFullAccess or custom policy:Service Name:cdn-ddos.cdn.aliyuncs.com,Role: AliyunServiceRoleForCDNAccessingDDoS,Permission: ram: CreateServiceLinkedRole', 'http_code' => 400, 'description' => 'You are not authorized to create service-linked roles. Obtain the AliyunCDNFullAccess permission or custom permission policies used to create service-linked roles from your Alibaba Cloud account or the administrator. Obtain custom permissions based on the following information: Service Name: cdn-ddos.cdn.aliyuncs.com, Service-linked Role Name: AliyunServiceRoleForCDNAccessingDDoS, Required Permission: ram:CreateServiceLinkedRole.'], + ['code' => 'NoRamCheck', 'message' => 'RamCheck is null,Please add RamCheck。', 'http_code' => 400, 'description' => 'Set the RamCheck parameter.'], + ['code' => 'NoRealNameAuthentication', 'message' => 'Real name authentication is needed.', 'http_code' => 400, 'description' => 'You have not activated real-name authentication for your account'], + ['code' => 'NotExist', 'message' => 'Not find the certificate info.', 'http_code' => null, 'description' => 'Not find the certificate info.'], + ['code' => 'NotFound', 'message' => 'There is no data found.', 'http_code' => null, 'description' => 'No data is found.'], + ['code' => 'NotFound.EventMeta', 'message' => 'EventMeta is not found.', 'http_code' => 400, 'description' => ''], + ['code' => 'NotFound.FCTrigger', 'message' => 'FCTrigger is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'NotFound.FCTrigger', 'message' => 'FCTrigger not found.', 'http_code' => 400, 'description' => 'Trigger does not exist'], + ['code' => 'NotFoundCertList', 'message' => 'The certList is null.', 'http_code' => 400, 'description' => 'The certificate list is empty.'], + ['code' => 'NotInternationRealIdentity', 'message' => 'You need to do real name authentication when you use chinese mainland resourses.', 'http_code' => null, 'description' => 'You have not passed real-name verification.'], + ['code' => 'NotInternationRealIdentity', 'message' => 'You need to do real name authentication when you use Chinese mainland resources.', 'http_code' => 400, 'description' => 'You have not passed real-name verification. According to the regulations issued by MIIT, you must pass real-name verification if you want to purchase IT services in the Chinese mainland. '], + ['code' => 'NumberOverLimit', 'message' => 'The number of seting black list times is over limit today.', 'http_code' => 400, 'description' => 'The number of times that the blacklist has been configured on the current day has reached the upper limit.'], + ['code' => 'ObjectPath.Malformed', 'message' => 'The specified value of parameter ObjectPath is malformed.', 'http_code' => null, 'description' => 'The specified value of parameter ObjectPath is malformed.'], + ['code' => 'OperationDenied', 'message' => 'You do not have access to this operation.', 'http_code' => 403, 'description' => 'You are not authorized to operate the specified resource; please check your authorization using RAM.'."\n"], + ['code' => 'OperationDenied', 'message' => 'Your uid and bid are not matched.', 'http_code' => null, 'description' => ''], + ['code' => 'OperationDenied', 'message' => 'illegal auth status.', 'http_code' => null, 'description' => ''], + ['code' => 'OperationDenied', 'message' => 'Your account is not allowed to invoke this API.', 'http_code' => null, 'description' => ''], + ['code' => 'OrderKeyError', 'message' => 'parameter orderkey error', 'http_code' => 400, 'description' => 'The OrderKey parameter is set to an invalid value.'], + ['code' => 'OrderTypeError', 'message' => 'parameter ordertype error', 'http_code' => 400, 'description' => 'The OrderType parameter is set to an invalid value.'], + ['code' => 'OssSourceNotSupported', 'message' => 'The specified value of parameter OssSource is not supported.', 'http_code' => 400, 'description' => 'The value of the OssSource parameter is not supported.'], + ['code' => 'PageNumberError', 'message' => 'parameter pagenumber error', 'http_code' => 400, 'description' => 'The PageNumber parameter is set to an invalid value.'], + ['code' => 'PageSizeError', 'message' => 'parameter pagesize error', 'http_code' => 400, 'description' => 'The PageSize parameter is set to an invalid value.'], + ['code' => 'ParamAppidError', 'message' => 'parameter appid error', 'http_code' => 400, 'description' => 'The Appid parameter is set to an invalid value.'], + ['code' => 'ParamArgsError', 'message' => 'parameter args error', 'http_code' => 400, 'description' => 'The Args parameter is set to an invalid value.'], + ['code' => 'ParamBeginTimeError', 'message' => 'parameter begin time error', 'http_code' => 400, 'description' => 'The BeginTime parameter is set to an invalid value.'], + ['code' => 'ParamCommandError', 'message' => 'parameter command error', 'http_code' => 400, 'description' => 'The Command parameter is set to an invalid value.'], + ['code' => 'ParamConfigError', 'message' => 'parameter config error', 'http_code' => 400, 'description' => 'The Config parameter is set to an invalid value.'], + ['code' => 'ParamDomainNameError', 'message' => 'parameter domain name error', 'http_code' => 400, 'description' => 'The DomainName parameter is set to an invalid value.'], + ['code' => 'ParamDomainTypeError', 'message' => 'parameter domain type error', 'http_code' => 400, 'description' => 'The DomainType parameter is set to an invalid value.'], + ['code' => 'ParamEnvVariablesError', 'message' => 'parameter env variables error', 'http_code' => 400, 'description' => 'The EnvVariables parameter is set to an invalid value.'], + ['code' => 'ParamGatewayTypeError', 'message' => 'parameter gateway type error', 'http_code' => 400, 'description' => 'The GatewayType parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckFailTimesError', 'message' => 'parameter health check fail times error', 'http_code' => 400, 'description' => 'The HealthCheckFailTimes parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckHostError', 'message' => 'parameter health check host error', 'http_code' => 400, 'description' => 'The HealthCheckHost parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckHttpCodeError', 'message' => 'parameter health check http code error', 'http_code' => 400, 'description' => 'The HealthCheckHttpCode parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckIntervalError', 'message' => 'parameter health check interval error', 'http_code' => 400, 'description' => 'The HealthCheckInterval parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckMethodError', 'message' => 'parameter health check method error', 'http_code' => 400, 'description' => 'The HealthCheckMethod parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckPortError', 'message' => 'parameter health check port error', 'http_code' => 400, 'description' => 'The HealthCheckPort parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckSuccTimesError', 'message' => 'parameter health check succ times error', 'http_code' => 400, 'description' => 'The HealthCheckSuccTimes parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckTimeoutError', 'message' => 'parameter health timeout error', 'http_code' => 400, 'description' => 'The HealthCheckTimeout parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckTypeError', 'message' => 'parameter health check type error', 'http_code' => 400, 'description' => 'The HealthCheckType parameter is set to an invalid value.'], + ['code' => 'ParamHealthCheckURIError', 'message' => 'parameter health check uri error', 'http_code' => 400, 'description' => 'The HealthCheckURI parameter is set to an invalid value.'], + ['code' => 'ParamHttpHeadersError', 'message' => 'parameter http headers error', 'http_code' => 400, 'description' => 'The HttpHeaders parameter is set to an invalid value.'], + ['code' => 'ParamImageError', 'message' => 'parameter image error', 'http_code' => 400, 'description' => 'The Image parameter is set to an invalid value.'], + ['code' => 'ParamMountPathError', 'message' => 'parameter MountPath error', 'http_code' => 400, 'description' => 'The MountPath parameter is set to an invalid value.'], + ['code' => 'ParamNameError', 'message' => 'parameter name error', 'http_code' => 400, 'description' => 'The Name parameter is set to an invalid value.'], + ['code' => 'ParamPathError', 'message' => 'parameter path error', 'http_code' => 400, 'description' => 'The Path parameter is set to an invalid value.'], + ['code' => 'ParamPercentageError', 'message' => 'parameter percentage error', 'http_code' => 400, 'description' => 'The Percentage parameter is set to an invalid value.'], + ['code' => 'ParamPortError', 'message' => 'parameter port error', 'http_code' => 400, 'description' => 'The Port parameter is set to an invalid value.'], + ['code' => 'ParamPostStartError', 'message' => 'parameter poststart error', 'http_code' => 400, 'description' => 'The postStart parameter is set to an invalid value.'], + ['code' => 'ParamPreStartError', 'message' => 'parameter prestart error', 'http_code' => 400, 'description' => 'The PreStart parameter is set to an invalid value.'], + ['code' => 'ParamPreStopError', 'message' => 'parameter prestop error', 'http_code' => 400, 'description' => 'The PreStop parameter is set to an invalid value.'], + ['code' => 'ParamProbeContentError', 'message' => 'parameter probe content error', 'http_code' => 400, 'description' => 'The ProbeContent parameter is set to an invalid value.'], + ['code' => 'ParamProbeTypeError', 'message' => 'parameter probe type error', 'http_code' => 400, 'description' => 'The ProbeType parameter is set to an invalid value.'], + ['code' => 'ParamPublishEnvError', 'message' => 'parameter publish env error', 'http_code' => 400, 'description' => 'The PublishEnv parameter is set to an invalid value.'], + ['code' => 'ParamRemarksError', 'message' => 'parameter remarks error', 'http_code' => 400, 'description' => 'The Remarks parameter is set to an invalid value.'], + ['code' => 'ParamResourceStrategyError', 'message' => 'parameter resourcestrategy error', 'http_code' => 400, 'description' => 'The ResourceStrategy parameter is set to an invalid value.'], + ['code' => 'ParamServicePortError', 'message' => 'parameter service port error', 'http_code' => 400, 'description' => 'The ServicePort parameter is set to an invalid value.'], + ['code' => 'ParamSpecError', 'message' => 'parameter spec error', 'http_code' => 400, 'description' => 'The Spec parameter is set to an invalid value.'], + ['code' => 'ParamStrategyTypeError', 'message' => 'parameter strategytype error', 'http_code' => 400, 'description' => 'The StrategyType parameter is set to an invalid value.'], + ['code' => 'ParamTargetPortError', 'message' => 'parameter target port error', 'http_code' => 400, 'description' => 'The TargetPort parameter is set to an invalid value.'], + ['code' => 'ParamTimeoutError', 'message' => 'parameter timeout error', 'http_code' => 400, 'description' => 'The Timeout parameter is set to an invalid value.'], + ['code' => 'ParamTypeError', 'message' => 'parameter type error', 'http_code' => 400, 'description' => 'The Type parameter is set to an invalid value.'], + ['code' => 'ParamVersionidError', 'message' => 'parameter version id error', 'http_code' => 400, 'description' => 'The Versionid parameter is set to an invalid value.'], + ['code' => 'PaymentMethodNotFound', 'message' => 'No payment method has been registered on the account.', 'http_code' => null, 'description' => 'No valid payment method found, Please <a href="https://billing.console.aliyun.com/#/payment/list" target="_blank">click here to add one</a>.'], + ['code' => 'PreloadQueueFull', 'message' => 'Preload queue is full, please try again later!', 'http_code' => null, 'description' => 'Preload queue is full, please try again later.'], + ['code' => 'PreloadQueueFull', 'message' => 'Preload queue is full, please try again later.', 'http_code' => 400, 'description' => 'Preload queue is full, please try again later.'], + ['code' => 'PrivateKey.MissingParameter', 'message' => 'An input parameter "PrivateKey" that is mandatory for processing the request is not supplied.', 'http_code' => null, 'description' => 'Specify the PrivateKey parameter.'], + ['code' => 'PrivateKeyError', 'message' => 'HTTPS_DOMAIN_SSL_KEY_ERROR.', 'http_code' => 500, 'description' => 'The certificate content is invalid.'], + ['code' => 'PullStreamOverLimit', 'message' => 'Pull stream is over limit for this domainName.', 'http_code' => 400, 'description' => 'The maximum number of pulled streams for the specified domain name is exceeded.'], + ['code' => 'QuotaExceeded', 'message' => 'The quota is exceeded.', 'http_code' => 400, 'description' => 'The quota is exhausted.'], + ['code' => 'QuotaExceeded.Blacklist', 'message' => 'Exceed max blacklist count limit.', 'http_code' => null, 'description' => 'The maximum number of entries in the specified blacklist is exceeded. Update the blacklist and try again.'], + ['code' => 'QuotaExceeded.Preload', 'message' => 'Your preload attempts have exceeded the daily limit.', 'http_code' => 400, 'description' => 'The maximum number of URL prefetches on the current day is exceeded.'], + ['code' => 'QuotaExceeded.Refresh', 'message' => 'You\'ve exceeded the prescribed refresh limits.', 'http_code' => null, 'description' => ' '], + ['code' => 'QuotaExceeded.Refresh', 'message' => 'exceed the prescribed limits', 'http_code' => null, 'description' => 'The maximum number of refreshes on the current day is exceeded. Call the refresh operation to query the maximum number of refreshes on the current day.'], + ['code' => 'QuotaExceeded.Refresh', 'message' => 'Your refresh attempts have exceeded the daily limit.', 'http_code' => 400, 'description' => 'Refresh quantity exceeds daily quota limit.'], + ['code' => 'QuotaPerMinuteExceeded.Refresh', 'message' => 'You\'ve exceeded the prescribed refresh limits per minute.', 'http_code' => null, 'description' => ''], + ['code' => 'RecordContent.Missing', 'message' => 'The specified record content is missing.', 'http_code' => null, 'description' => 'The specified record content does not exist.'], + ['code' => 'RecordIndexConfig.Conflict', 'message' => 'The config is conflict.', 'http_code' => 400, 'description' => ''], + ['code' => 'Region.NotExist', 'message' => 'The input parameter region is not exist.', 'http_code' => null, 'description' => ''], + ['code' => 'RegionNoResource', 'message' => 'Resource allocation failed. Please submit a work order to contact customer service.', 'http_code' => 400, 'description' => 'Resource allocation failed. Please submit a work order to contact customer service.'], + ['code' => 'ReservedTagKey', 'message' => 'The tag key is used internally as a reserved field and is not allowed to be used.', 'http_code' => 400, 'description' => 'The tag key is used as an internal reserved field and is not allowed.'], + ['code' => 'ResourceIdIsInvalid', 'message' => 'The number of ResourceId exceeds 50.', 'http_code' => 400, 'description' => 'The number of resource IDs (ResourceId) cannot exceed 50.'], + ['code' => 'ResourceOverload', 'message' => 'Resources are overloaded. Please try again later.', 'http_code' => 403, 'description' => 'The server is overloaded. Try again later.'], + ['code' => 'RetErrorSourceCircle', 'message' => 'Error configuring the source. CDN already contains the domain. Please change the source.', 'http_code' => 400, 'description' => 'The origin domain name cannot be the same as an accelerated domain name. Specify the origin domain name again.'], + ['code' => 'RewriteHostRely', 'message' => 'Domain name is configured as rewrite host by others.', 'http_code' => 400, 'description' => 'The domain name is configured as a shared cache object by another domain name.'], + ['code' => 'Schedule.ChangeFail', 'message' => 'Failed to change the schedule area.', 'http_code' => 400, 'description' => ''], + ['code' => 'Schedule.NotFound', 'message' => 'There is no schedule domain found by the targeted coverage value.', 'http_code' => 400, 'description' => 'You cannot switch to the specified accelerated region because it does not has sufficient quotas.'], + ['code' => 'ServerCertificate.MissingParameter', 'message' => 'An input parameter "ServerCertificate" that is mandatory for processing the request is not supplied.', 'http_code' => null, 'description' => 'You must specify the ServerCertificate parameter.'], + ['code' => 'ServiceBusy', 'message' => 'The specified Domain is configuring, please retry later', 'http_code' => null, 'description' => 'The specified domain name is being configured. Please try again later.'], + ['code' => 'ServiceInvokeFailed', 'message' => 'Failed to invoke service.', 'http_code' => 400, 'description' => 'An internal server error occurred.'], + ['code' => 'SetDomainCertificate.ParameterError', 'message' => 'The specified parameters are invalid.', 'http_code' => 400, 'description' => 'The specified parameter is invalid.'], + ['code' => 'SetDomainServerCertificate.ParameterError', 'message' => 'Parameters have error.', 'http_code' => 400, 'description' => 'A parameter error occurred.'], + ['code' => 'SingleRequest.OverLimit', 'message' => 'A maximum of 100 URLs are supported for each request.', 'http_code' => 400, 'description' => 'The number of URLs supported by each request cannot exceed 100.'], + ['code' => 'SourceInBlacklist', 'message' => 'Source is in the blacklist.', 'http_code' => 400, 'description' => 'The origin server is in the blacklist.'], + ['code' => 'SourceIp.Exceed', 'message' => 'The Certificate you provided is malformed', 'http_code' => 400, 'description' => 'The specified certificate format is invalid.'], + ['code' => 'SourceNotSupported', 'message' => 'The specified value of parameter Source is not supported.', 'http_code' => null, 'description' => 'The specified Source parameter is not supported.'], + ['code' => 'sslPri.Error', 'message' => 'The sslPri encoded failed.', 'http_code' => 400, 'description' => 'Failed to encode SSLPri.'], + ['code' => 'SSLPri.MissingParameter', 'message' => 'The SSLPri parameter is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'sslPub.Error', 'message' => 'The sslPub encoded failed.', 'http_code' => 400, 'description' => 'An error occurred while encoding SSLPub.'], + ['code' => 'SSLPub.MissingParameter', 'message' => 'The SSLPub parameter is required.', 'http_code' => 400, 'description' => ''], + ['code' => 'StagingConfig.Failed', 'message' => 'The Rules in the staging environment are being configured. Please try again later.', 'http_code' => 400, 'description' => ''], + ['code' => 'StagingConfig.NotFound', 'message' => 'The Staging configuration does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'StateNotSupport', 'message' => 'state not support the operate', 'http_code' => 400, 'description' => 'The current state does not support the operation.'], + ['code' => 'SubscriptionAlreadyExists', 'message' => 'The subscription already exists.', 'http_code' => 400, 'description' => 'The subscription already exists.'], + ['code' => 'SubscriptionNotFound', 'message' => 'The subscription is not found.', 'http_code' => 400, 'description' => 'The subscription is not found.'], + ['code' => 'SystemBusy', 'message' => 'The system is busy. Please try again later.', 'http_code' => 400, 'description' => ''], + ['code' => 'SystemUpgrading', 'message' => 'The system is being upgraded, please try again later!', 'http_code' => null, 'description' => 'The system is being upgraded. Please try again later.'], + ['code' => 'TimeParseFailed', 'message' => 'Failed to parse the time parameter.', 'http_code' => 400, 'description' => 'Failed to parse the time parameter.'], + ['code' => 'TooMany.Refresh', 'message' => 'there is too many refresh task, please wait a moment.', 'http_code' => 400, 'description' => ''], + ['code' => 'TooManyRequests', 'message' => 'The server is busy. Please try again later.', 'http_code' => 400, 'description' => 'The server is busy. Please try again later.'], + ['code' => 'TooManyRequests', 'message' => 'System load fluctuates, please try again later.', 'http_code' => 429, 'description' => 'System load fluctuates, please try again later.'], + ['code' => 'TopLevelDomain.Mismatch', 'message' => 'The specified TopLevelDomain does not match webSiteType.', 'http_code' => 400, 'description' => 'The top-level domain name does not match the domain name type.'], + ['code' => 'TopLevelDomain.NotFound', 'message' => 'TopLevelDomain is not exist.', 'http_code' => 400, 'description' => 'The specified TopLevelDomain parameter does not exist.'], + ['code' => 'Unauthorized', 'message' => 'RealtimeLogDelivery Service is not authorized.', 'http_code' => 400, 'description' => ''], + ['code' => 'Unauthorized.InvalidParameters', 'message' => 'authenticate parameters error.', 'http_code' => 403, 'description' => 'Authentication parameters are invalid.'], + ['code' => 'UNREADY', 'message' => 'unready,please retry.', 'http_code' => 400, 'description' => 'Preparations are not complete. Please try again later.'], + ['code' => 'UnsupportedParameter', 'message' => 'There is unsupported parameters', 'http_code' => 400, 'description' => ' '], + ['code' => 'UserBlackList.NotFound', 'message' => 'there is no user blacklist', 'http_code' => null, 'description' => 'The specified UserBlackList parameter is not found.'], + ['code' => 'VerifyError', 'message' => 'The specified Verify is incorrectly formatted.', 'http_code' => 400, 'description' => 'The file content verification failed. Try again.'], + ['code' => 'VersionAlreadyExist', 'message' => 'version already exists', 'http_code' => 400, 'description' => 'The version already exists.'], + ['code' => 'VersionBusy', 'message' => 'The version of the current config group is being configured, please try again later.', 'http_code' => 400, 'description' => 'The version of the current config group is being configured, please try again later.'], + ['code' => 'VersionNotFound', 'message' => 'version not found', 'http_code' => 404, 'description' => 'The version does not exist.'], + ['code' => 'ConfigGroup.DomainQuotaLimit', 'message' => 'The number of domain names exceeds the limit, and a configuration group can be associated with up to 50 city names.', 'http_code' => 400, 'description' => 'The number of domain names exceeds the limit. A configuration group is associated with a maximum of 50 city names.'], + ['code' => 'ConfigGroup.DomainBizNotMatched', 'message' => 'There are unsupported business types in the domain name bound to the configuration group. The configuration group only supports three types of domain business types: image, video, and download.', 'http_code' => 400, 'description' => 'There are unsupported business types in the domain name bound to the configuration group. The configuration group only supports three types of domain business types: image, video, and download.'."\n"], + ['code' => 'InvalidParams', 'message' => 'The parameter you provided is invalid.', 'http_code' => 400, 'description' => 'The parameter entered is illegal.'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'ListFCTrigger'], + ['description' => 'OpenAPI offline', 'api' => 'DeleteFCTrigger'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateFCTrigger'], + ['description' => 'OpenAPI offline', 'api' => 'AddFCTrigger'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeFCTrigger'], + ], + 'createdAt' => '2025-08-25T02:43:32.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeRefreshTaskById'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeRefreshTaskById'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeRefreshTaskById'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2025-08-08T01:39:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'StartCdnDomain'], + ['description' => 'OpenAPI offline', 'api' => 'UntagResources'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateCdnDeliverTask'], + ['description' => 'OpenAPI offline', 'api' => 'SetReqHeaderConfig'], + ['description' => 'OpenAPI offline', 'api' => 'VerifyDomainOwner'], + ['description' => 'OpenAPI offline', 'api' => 'SetWaitingRoomConfig'], + ['description' => 'OpenAPI offline', 'api' => 'StopCdnDomain'], + ['description' => 'OpenAPI offline', 'api' => 'TagResources'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateCdnSubTask'], + ['description' => 'OpenAPI offline', 'api' => 'SetCdnFullDomainsBlockIP'], + ], + 'createdAt' => '2025-07-16T07:48:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeCdnSubList'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2025-06-25T08:28:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeCdnSubList'], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111778', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', - ], + 'createdAt' => '2025-06-25T08:15:12.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeCdnSubList'], ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. You can specify only one domain name in each call.'."\n" - ."\n" - .'By default, this operation queries the proportions of data usage for all accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', + 'createdAt' => '2025-06-25T08:14:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainDetailDataByLayer'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainUsageData'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainUsageData'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainUsageData'], + ], + 'createdAt' => '2025-06-24T06:02:12.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'SetCdnDomainSSLCertificate'], + ], + 'createdAt' => '2025-06-24T03:42:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainDetailDataByLayer'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainUsageData'], + ], + 'createdAt' => '2025-06-24T01:30:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'AddCdnDomain'], + ], + 'createdAt' => '2025-06-19T05:41:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeDomainDetailDataByLayer'], + ], + 'createdAt' => '2025-06-16T09:02:04.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeCdnService'], + ], + 'createdAt' => '2025-06-05T06:58:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeDomainCname'], + ], + 'createdAt' => '2025-05-21T08:09:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeCdnUserResourcePackage'], + ], + 'createdAt' => '2025-05-08T06:56:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeDomainRealTimeSrcHttpCodeData'], + ], + 'createdAt' => '2025-04-27T07:44:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'ModifyRealtimeLogDelivery'], + ], + 'createdAt' => '2025-02-25T01:18:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeDomainPathData'], + ], + 'createdAt' => '2024-12-20T02:00:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DisableRealtimeLogDelivery'], + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'EnableRealtimeLogDelivery'], + ], + 'createdAt' => '2024-12-13T03:45:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'ModifyRealtimeLogDelivery'], + ], + 'createdAt' => '2024-12-05T03:21:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeleteRealtimeLogDelivery'], + ['description' => 'Error codes changed', 'api' => 'DeleteRealTimeLogLogstore'], + ['description' => 'Error codes changed', 'api' => 'DescribeDomainRealtimeLogDelivery'], + ['description' => 'Error codes changed', 'api' => 'EnableRealtimeLogDelivery'], + ['description' => 'Error codes changed', 'api' => 'ListRealtimeLogDeliveryDomains'], + ['description' => 'Error codes changed', 'api' => 'ListRealtimeLogDeliveryInfos'], + ], + 'createdAt' => '2024-12-05T03:21:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'SetCdnDomainSSLCertificate'], + ], + 'createdAt' => '2024-11-28T07:00:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddCdnDomain'], + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'createdAt' => '2024-11-26T02:49:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ListTagResources'], + ['description' => 'Request parameters changed', 'api' => 'TagResources'], + ], + 'createdAt' => '2024-11-25T06:16:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnCertificateDetail'], + ['description' => 'Error codes changed', 'api' => 'DescribeCdnCertificateList'], + ['description' => 'Error codes changed', 'api' => 'DescribeCdnSSLCertificateList'], + ], + 'createdAt' => '2024-11-25T03:08:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CdnMigrateRegister'], + ], + 'createdAt' => '2024-11-24T02:33:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'RefreshObjectCaches'], + ], + 'createdAt' => '2024-11-19T05:53:06.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'AddCdnDomain'], + ], + 'createdAt' => '2024-11-15T06:11:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'PushObjectCache'], + ], + 'createdAt' => '2024-11-03T02:44:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddCdnDomain'], + ['description' => 'Error codes changed', 'api' => 'BatchAddCdnDomain'], + ], + 'createdAt' => '2024-09-03T06:22:19.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'PushObjectCache'], + ], + 'createdAt' => '2024-08-21T07:19:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeDomainUsageData'], + ], + 'createdAt' => '2024-06-13T03:36:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeEsExceptionData'], + ], + 'createdAt' => '2024-05-29T02:30:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'BatchDescribeCdnIpInfo'], + ], + 'createdAt' => '2024-05-16T01:24:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeUserDomains'], + ], + 'createdAt' => '2024-05-11T03:11:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'SetCdnDomainSSLCertificate'], + ], + 'createdAt' => '2024-05-07T07:50:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainServerCertificate'], + ['description' => 'Error codes changed', 'api' => 'SetDomainServerCertificate'], + ], + 'createdAt' => '2024-05-07T02:48:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'SetCdnDomainStagingConfig'], + ], + 'createdAt' => '2024-04-29T03:04:34.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeRefreshTasks'], + ], + 'createdAt' => '2024-02-22T02:01:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeDomainBpsDataByLayer'], + ], + 'createdAt' => '2024-01-22T02:53:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'TagResources'], + ], + 'createdAt' => '2023-12-13T06:02:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddCdnDomain'], + ['description' => 'Error codes changed', 'api' => 'TagResources'], + ], + 'createdAt' => '2023-12-12T02:36:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'SetCdnDomainSSLCertificate'], + ], + 'createdAt' => '2023-12-06T03:02:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'RefreshObjectCaches'], + ], + 'createdAt' => '2023-10-17T06:54:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'SetCdnDomainSSLCertificate'], + ], + 'createdAt' => '2023-09-04T01:28:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ChangeCdnDomainToDcdn'], + ], + 'createdAt' => '2023-08-29T08:30:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ChangeCdnDomainToDcdn'], + ], + 'createdAt' => '2023-08-29T08:28:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeCdnDomainByCertificate'], + ], + 'createdAt' => '2023-08-22T01:57:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeCdnDomainDetail'], + ['description' => 'Response parameters changed', 'api' => 'DescribeUserDomains'], + ], + 'createdAt' => '2023-08-19T01:15:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ChangeCdnDomainToDcdn'], + ], + 'createdAt' => '2023-08-17T02:01:12.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'AddCdnDomain'], + ['description' => 'Request parameters changed', 'api' => 'VerifyDomainOwner'], + ], + 'createdAt' => '2023-08-08T09:10:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'PushObjectCache'], + ['description' => 'Response parameters changed', 'api' => 'RollbackStagingConfig'], + ], + 'createdAt' => '2023-07-25T14:00:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeDomainCname'], + ], + 'createdAt' => '2023-07-20T08:33:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'ListRealtimeLogDeliveryDomains'], + ], + 'createdAt' => '2023-07-10T07:00:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeCdnUserBillHistory'], + ], + 'createdAt' => '2023-07-05T02:40:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeCdnDomainDetail'], + ['description' => 'Response parameters changed', 'api' => 'DescribeUserDomains'], + ], + 'createdAt' => '2023-06-27T06:10:54.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'AddCdnDomain'], + ], + 'createdAt' => '2023-06-27T03:35:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateUsageDetailDataExportTask'], + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'CreateUserUsageDataExportTask'], + ['description' => 'Error codes changed', 'api' => 'DeleteUsageDetailDataExportTask'], + ['description' => 'Error codes changed', 'api' => 'DeleteUserUsageDataExportTask'], + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeCdnUserBillPrediction'], + ['description' => 'Response parameters changed', 'api' => 'DescribeCdnUserBillType'], + ['description' => 'Error codes changed', 'api' => 'DescribeDomainAverageResponseTime'], + ['description' => 'Error codes changed', 'api' => 'DescribeDomainBpsData'], + ['description' => 'Error codes changed', 'api' => 'DescribeDomainBpsDataByLayer'], + ['description' => 'Error codes changed', 'api' => 'DescribeDomainBpsDataByTimeStamp'], + ], + 'createdAt' => '2023-06-13T07:30:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'createdAt' => '2023-06-13T02:33:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeleteSpecificStagingConfig'], + ['description' => 'Error codes changed', 'api' => 'ModifyCdnDomain'], + ], + 'createdAt' => '2023-06-08T02:50:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeEsExecuteData'], + ], + 'createdAt' => '2023-06-07T01:50:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'SetCdnDomainStagingConfig'], + ], + 'createdAt' => '2023-05-25T03:07:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'createdAt' => '2023-05-25T02:31:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'createdAt' => '2023-05-23T02:56:19.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateCdnSubTask'], + ['description' => 'Request parameters changed', 'api' => 'UpdateCdnSubTask'], + ], + 'createdAt' => '2023-05-18T11:07:32.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'VerifyDomainOwner'], + ], + 'createdAt' => '2023-05-18T01:33:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchDeleteCdnDomainConfig'], + ['description' => 'Error codes changed', 'api' => 'DeleteSpecificConfig'], + ['description' => 'Error codes changed', 'api' => 'DeleteSpecificStagingConfig'], + ], + 'createdAt' => '2023-05-09T02:27:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeDomainMax95BpsData'], + ], + 'createdAt' => '2023-04-13T07:12:06.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'DescribeDomainMax95BpsData'], + ], + 'createdAt' => '2023-04-06T07:23:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeCdnUserQuota'], + ['description' => 'Response parameters changed', 'api' => 'DescribeRefreshQuota'], + ['description' => 'Request parameters changed', 'api' => 'DescribeRefreshTasks'], + ], + 'createdAt' => '2023-03-29T08:01:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'createdAt' => '2023-03-24T08:22:09.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeDomainUsageData'], + ], + 'createdAt' => '2023-03-24T08:21:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribePreloadDetailById'], + ], + 'createdAt' => '2023-03-24T08:20:34.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'SetDomainServerCertificate'], + ], + 'createdAt' => '2023-03-24T08:20:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'RollbackStagingConfig'], + ], + 'createdAt' => '2023-03-24T08:20:09.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainServerCertificate'], + ], + 'createdAt' => '2023-03-24T08:19:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'PushObjectCache'], + ], + 'createdAt' => '2023-01-11T07:47:44.000Z', + 'description' => 'Headers', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'PublishStagingConfigToProduction'], + ], + 'createdAt' => '2023-01-11T07:44:57.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeEsExecuteData'], + ], + 'createdAt' => '2023-01-11T02:33:34.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeEsExceptionData'], + ], + 'createdAt' => '2023-01-10T07:03:25.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeCdnUserBillPrediction'], + ], + 'createdAt' => '2023-01-09T06:09:03.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeUserTags'], + ], + 'createdAt' => '2023-01-05T07:40:50.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'CreateCdnCertificateSigningRequest'], + ], + 'createdAt' => '2023-01-05T07:11:11.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'SetWaitingRoomConfig'], + ], + 'createdAt' => '2023-01-04T07:51:19.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'TagResources'], + ], + 'createdAt' => '2023-01-04T06:30:02.000Z', + 'description' => 'tag', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'AddCdnDomain'], + ['description' => 'Error codes changed, Response parameters changed', 'api' => 'BatchAddCdnDomain'], + ], + 'createdAt' => '2023-01-04T03:16:48.000Z', + 'description' => 'tag', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCustomLogConfig'], + ], + 'createdAt' => '2023-01-03T07:54:59.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'PushObjectCache'], + ], + 'createdAt' => '2022-11-24T02:43:43.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnDomainDetail'], + ], + 'createdAt' => '2022-11-23T03:08:29.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'AddCdnDomain'], + ], + 'createdAt' => '2022-11-23T02:24:37.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchSetCdnDomainConfig'], + ], + 'createdAt' => '2022-11-23T02:19:03.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeRefreshQuota'], + ], + 'createdAt' => '2022-11-17T07:07:42.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnUserQuota'], + ], + 'createdAt' => '2022-11-17T06:56:49.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnCertificateList'], + ], + 'createdAt' => '2022-11-16T07:49:54.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnRegionAndIsp'], + ], + 'createdAt' => '2022-11-16T07:43:33.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnCertificateDetail'], + ], + 'createdAt' => '2022-11-16T07:36:39.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchStopCdnDomain'], + ], + 'createdAt' => '2022-11-16T02:53:40.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnOrderCommodityCode'], + ], + 'createdAt' => '2022-11-15T07:40:42.000Z', + 'description' => 'amp发布', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BatchAddCdnDomain'], + ], + 'createdAt' => '2022-11-15T02:40:27.000Z', + 'description' => 'amp', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeCdnSMCertificateList'], + ], + 'createdAt' => '2022-10-25T15:57:33.000Z', + 'description' => 'amp发布', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RollbackStagingConfig'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnFullDomainsBlockIPHistory'], + ['threshold' => '100', 'countWindow' => 3600, 'regionId' => '*', 'api' => 'CheckCdnDomainICP'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnDomainOwner'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnCertificateList'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSSLCertificateList'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnService'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealtimeLogDelivery'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddFCTrigger'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainStagingConfig'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserQuota'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRealtimeLogDeliveryDomains'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainConfigs'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainDetail'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserTags'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GenerateCdnDiagnose'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStopCdnDomain'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUsageDetailDataExportTask'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSpecificStagingConfig'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DisableRealtimeLogDelivery'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDeleteCdnDomainConfig'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCdnDeliverTask'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnCertificateDetail'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainByCertificate'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainReqHitRateData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainUvData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSpecificConfig'], + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnHttpsDomainList'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCdnDomain'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDiagnoseReport'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeSrcHttpCodeData'], + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StopCdnDomain'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDeliverList'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcHttpCodeData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainsUsageByDay'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeTopDomainsByFlow'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchAddCdnDomain'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserBillHistory'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainAverageResponseTime'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnReport'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainSMCertificate'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchDescribeCdnIpInfo'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSubList'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshObjectCacheByCacheTag'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeBlockedRegions'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnService'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSetCdnDomainConfig'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCdnSubTask'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUserUsageDataExportTask'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainHitRateData'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRealTimeLogLogstore'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PushObjectCache'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRealtimeLogDeliveryInfos'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeHttpCodeData'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBpsDataByLayer'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTrafficData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListFCTrigger'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainDetailDataByLayer'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCdnDeliverTask'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteUsageDetailDataExportTask'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListRealtimeLogDelivery'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainHttpCodeDataByLayer'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnCertificateDetailById'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnTypes'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchStartCdnDomain'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSMCertificateDetail'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribePreloadDetailById'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcTopUrlVisit'], + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserBillPrediction'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEsExceptionData'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserCdnStatus'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainPathData'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserDomainsByFunc'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeDetailData'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDomainLogs'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnConditionIPBInfo'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTopUrlVisit'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCustomLogConfig'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserResourcePackage'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCdnCertificateSigningRequest'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchUpdateCdnDomain'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCdnSubTask'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTopReferVisit'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainSSLCertificate'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenCdnService'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetReqHeaderConfig'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeEsExecuteData'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'PublishStagingConfigToProduction'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeReqHitRateData'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRefreshTaskById'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnDeletedDomains'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainMultiUsageData'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcQpsData'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeTagResources'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeVerifyContent'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeQpsData'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainCSRCertificate'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBpsData'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RefreshObjectCaches'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnReportList'], + ['threshold' => '100', 'countWindow' => 3600, 'regionId' => '*', 'api' => 'AddCdnDomain'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateCdnDeliverTask'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCname'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcTrafficData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnFullDomainsBlockIPConfig'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnWafDomain'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCustomLogConfig'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserDomains'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateUserUsageDataExportTask'], + ['threshold' => '5', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRefreshTasks'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteFCTrigger'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRefreshQuota'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainBpsDataByTimeStamp'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnUserConfigs'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserConfigs'], + ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCertificateInfo'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRealtimeDeliveryAcc'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnDomain'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeTrafficData'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCertificateInfoByID'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainQpsData'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeIpStatus'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'VerifyDomainOwner'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyCdnDomainSchdmByProperty'], + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeL2VipsByDomain'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'EnableRealtimeLogDelivery'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeIpInfo'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainTopClientIpVisit'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainsBySource'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainPvData'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListUserCustomLogConfig'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnOrderCommodityCode'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainISPData'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSMCertificateList'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeByteHitRateData'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnDomainStagingConfig'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeSrcBpsData'], + ['threshold' => '40', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnSecFuncInfo'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserUsageDataExportTask'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateRealTimeLogDelivery'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFCTrigger'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateFCTrigger'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeBpsData'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRealTimeSrcTrafficData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainMax95BpsData'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainUsageData'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainVerifyData'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStagingIp'], + ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserCertificateExpireCount'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetWaitingRoomConfig'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteRealtimeLogDelivery'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRangeDataByLocateAndIspService'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDomainsByLogConfigId'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserUsageDetailDataExportTask'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckCdnDomainExist'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyRealtimeLogDelivery'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainCcActivityLog'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainRegionData'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnTaskList'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainSrcBpsData'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeCdnRegionAndIsp'], + ['threshold' => '99', 'countWindow' => 1, 'regionId' => '*', 'api' => 'StartCdnDomain'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainQpsDataByLayer'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeUserVipsByDomain'], + ['threshold' => '3', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteCdnSubTask'], + ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SetCdnFullDomainsBlockIP'], + ['threshold' => '15', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDomainHttpCodeData'], + ], + 'product' => ['code' => 'cdn', 'title' => 'Cdn'], + ], + 'ram' => [ + 'productCode' => 'CDN', + 'productName' => 'CDN', + 'ramCodes' => ['cdn'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'ListUserCustomLogConfig', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'cdn:ListUserCustomLogConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-29T05:33:00Z', + ], + [ + 'apiName' => 'DescribeCdnUserResourcePackage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserResourcePackage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', + ], + [ + 'apiName' => 'DescribeFCTrigger', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeFCTrigger', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The beginning of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-29T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'DE81639B-DAC1-4C76-AB72-F34B836837D5', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval. Unit: seconds.'."\n", - 'type' => 'string', - 'example' => '86400', - ], - 'Value' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'ISPProportionData' => [ - 'description' => 'The access statistics by ISP.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'TotalQuery' => [ - 'description' => 'The total number of requests.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TotalBytes' => [ - 'description' => 'The total volume of traffic.'."\n", - 'type' => 'string', - 'example' => '7081884', - ], - 'AvgResponseRate' => [ - 'description' => 'The average response speed. Unit: byte/ms.'."\n", - 'type' => 'string', - 'example' => '88.92594866772144', - ], - 'AvgResponseTime' => [ - 'description' => 'The average response time. Unit: milliseconds.'."\n", - 'type' => 'string', - 'example' => '79638.0', - ], - 'ReqErrRate' => [ - 'description' => 'The request error rate.'."\n", - 'type' => 'string', - 'example' => '0.0', - ], - 'AvgObjectSize' => [ - 'description' => 'The average response size. Unit: bytes.'."\n", - 'type' => 'string', - 'example' => '7081884.7', - ], - 'Bps' => [ - 'description' => 'The bandwidth.'."\n", - 'type' => 'string', - 'example' => '1311.4601296296296', - ], - 'Qps' => [ - 'description' => 'The QPS.'."\n", - 'type' => 'string', - 'example' => '2.3148148148148147E-5', - ], - 'Proportion' => [ - 'description' => 'The proportion of the HTTP status code.'."\n", - 'type' => 'string', - 'example' => '0.004509176173513099', - ], - 'IspEname' => [ - 'description' => 'The name of the ISP.'."\n", - 'type' => 'string', - 'example' => 'alibaba', - ], - 'ISP' => [ - 'description' => 'The information about the ISP.'."\n", - 'type' => 'string', - 'example' => 'Alibaba'."\n", - ], - 'BytesProportion' => [ - 'description' => 'The proportion of network traffic.'."\n", - 'type' => 'string', - 'example' => '0.012220518530445479', - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DescribeDomainsUsageByDay', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainsUsageByDay', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', + [ + 'apiName' => 'PushObjectCache', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:PushObjectCache', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + ], + ], + [ + 'apiName' => 'DescribeCdnUserQuota', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', + ], + ], + [ + 'apiName' => 'DescribeDomainSrcTopUrlVisit', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcTopUrlVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - 404 => [ - [ - 'errorCode' => 'InvalidDomain.NotFound', - 'errorMessage' => 'The domain provided does not exist in our records.', + ], + [ + 'apiName' => 'DescribeDomainVerifyData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainVerifyData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-29T05:33:00Z\\",\\n \\"RequestId\\": \\"DE81639B-DAC1-4C76-AB72-F34B836837D5\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"86400\\",\\n \\"Value\\": {\\n \\"ISPProportionData\\": [\\n {\\n \\"TotalQuery\\": \\"1\\",\\n \\"TotalBytes\\": \\"7081884\\",\\n \\"AvgResponseRate\\": \\"88.92594866772144\\",\\n \\"AvgResponseTime\\": \\"79638.0\\",\\n \\"ReqErrRate\\": \\"0.0\\",\\n \\"AvgObjectSize\\": \\"7081884.7\\",\\n \\"Bps\\": \\"1311.4601296296296\\",\\n \\"Qps\\": \\"2.3148148148148147E-5\\",\\n \\"Proportion\\": \\"0.004509176173513099\\",\\n \\"IspEname\\": \\"alibaba\\",\\n \\"ISP\\": \\"阿里巴巴\\",\\n \\"BytesProportion\\": \\"0.012220518530445479\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\"RequestId\\":\\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\"HostId\\":\\"cdn.aliyuncs.com\\",\\"Code\\":\\"InternalError\\",\\"Message\\":\\"The request processing has failed due to some unknown error.\\"}"},{"type":"xml","example":"<DescribeDomainISPDataResponse>\\r\\n\\t<Value>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>1</TotalQuery>\\r\\n\\t\\t\\t<Bps>1311.4601296296296</Bps>\\r\\n\\t\\t\\t<Proportion>0.004509176173513099</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>88.92594866772144</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>alibaba</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>7081884.7</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>阿里巴巴</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>2.3148148148148147E-5</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>79638.0</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>7081884</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.012220518530445479</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>3</TotalQuery>\\r\\n\\t\\t\\t<Bps>444.455</Bps>\\r\\n\\t\\t\\t<Proportion>0.013527528520539298</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>154.3345765545624</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>overseas</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>800019.0</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>海外ISP</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>6.944444444444444E-5</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>5183.666666666667</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>2400057</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.004141544558417533</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>82</TotalQuery>\\r\\n\\t\\t\\t<Bps>45838.64816666667</Bps>\\r\\n\\t\\t\\t<Proportion>0.3697524462280741</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>1025.5028528460102</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>drpeng</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>3018642.684146342</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>鹏博士</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.0018981481481481482</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2943.5731707317073</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>247528700</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.42713616424581613</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>99.99999999999999</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>114</TotalQuery>\\r\\n\\t\\t\\t<Bps>65933.51396296297</Bps>\\r\\n\\t\\t\\t<Proportion>0.5140460837804933</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>484.6396117340071</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>cernet</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>3123166.4508771934</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>教育网</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.002638888888888889</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>6444.30701754386</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>356040975</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.6143852267848392</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>100.0</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>207</TotalQuery>\\r\\n\\t\\t\\t<Bps>81128.73735185186</Bps>\\r\\n\\t\\t\\t<Proportion>0.9333994679172115</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>752.2096624205244</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>tietong</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>2116401.843961353</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>铁通</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.004791666666666666</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2813.5797101449275</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>438095181</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>0.7559781771177001</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>100.00000000000001</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>256</TotalQuery>\\r\\n\\t\\t\\t<Bps>129137.37100000001</Bps>\\r\\n\\t\\t\\t<Proportion>1.1543491004193533</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>321.5924922592767</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>other</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>2723991.4195312504</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>其他</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.005925925925925926</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>8470.3203125</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>100.0</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>697341803</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>1.2033348171432345</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>99.14745652563326</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>2866</TotalQuery>\\r\\n\\t\\t\\t<Bps>879955.1972037038</Bps>\\r\\n\\t\\t\\t<Proportion>12.923298913288543</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>1004.5513789924338</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>mobile</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>1657975.598360084</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>移动</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.06634259259259259</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>1650.463712491277</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>97.3831123517097</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>4751758064</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>8.19964599032574</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>99.99981717005271</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>6534</TotalQuery>\\r\\n\\t\\t\\t<Bps>3194660.60262963</Bps>\\r\\n\\t\\t\\t<Proportion>29.46295711773459</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>1171.525957981939</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>unicom</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>2640215.374074074</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>联通</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.15125</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2253.6550352004897</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>99.96939087848179</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>17251167254</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>29.768658772680293</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t\\t<ISPProportionData>\\r\\n\\t\\t\\t<ByteHitRate>99.99968869093071</ByteHitRate>\\r\\n\\t\\t\\t<TotalQuery>12114</TotalQuery>\\r\\n\\t\\t\\t<Bps>6333214.260796296</Bps>\\r\\n\\t\\t\\t<Proportion>54.62416016593768</Proportion>\\r\\n\\t\\t\\t<AvgResponseRate>984.184264638081</AvgResponseRate>\\r\\n\\t\\t\\t<IspEname>telecom</IspEname>\\r\\n\\t\\t\\t<AvgObjectSize>2823126.71357933</AvgObjectSize>\\r\\n\\t\\t\\t<ISP>电信</ISP>\\r\\n\\t\\t\\t<ReqErrRate>0.0</ReqErrRate>\\r\\n\\t\\t\\t<Qps>0.28041666666666665</Qps>\\r\\n\\t\\t\\t<AvgResponseTime>2868.494056463596</AvgResponseTime>\\r\\n\\t\\t\\t<ReqHitRate>99.97523526498266</ReqHitRate>\\r\\n\\t\\t\\t<TotalBytes>34199357008</TotalBytes>\\r\\n\\t\\t\\t<BytesProportion>59.01449878861353</BytesProportion>\\r\\n\\t\\t</ISPProportionData>\\r\\n\\t</Value>\\r\\n\\t<DataInterval>86400</DataInterval>\\r\\n\\t<RequestId>DE81639B-DAC1-4C76-AB72-F34B836837D5</RequestId>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<EndTime>2019-11-29T05:33:00Z</EndTime>\\r\\n\\t<StartTime>2019-11-29T05:33:00Z</StartTime>\\r\\n</DescribeDomainISPDataResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainISPData', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature for data analysis.'."\n" - ."\n" - .'> * If you do not set StartTime or EndTime, the request returns the data collected in the last 24 hours. If you set both StartTime and EndTime, the request returns the data collected within the specified time range.'."\n" - .'>* This operation queries proportions of data usage of different ISPs for only a specific accelerated domain name, or for all accelerated domain names in your Alibaba Cloud account.'."\n" - .'>* You can call this operation up to 100 times per second per account.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeDomainAverageResponseTime' => [ - 'summary' => 'Queries the average response time of one or more accelerated domain names. You can query data collected within the last 90 days.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeDomainUsageData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainUsageData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeCdnCertificateDetailById', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnCertificateDetailById', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeRefreshQuota', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeRefreshQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeTopDomainsByFlow', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '111763', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', + 'ramAction' => [ + 'action' => 'cdn:DescribeTopDomainsByFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'TimeMerge', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically set the interval. If you set the value to 1, the value of the Interval parameter is automatically assigned based on the StartTime and EndTime parameters. You can set this parameter or the Interval parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', + [ + 'apiName' => 'DescribeCdnSecFuncInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSecFuncInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DomainType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the query condition. When you set the value to dynamic, this operation queries the average response time of dynamic resources and static resources. If you do not set this parameter, this operation queries the average response time of only static resources.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'domaintype', + ], + [ + 'apiName' => 'DescribeCdnDeletedDomains', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDeletedDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'By default, this operation queries the geographic distribution of users for all accelerated domain names.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', + ], + [ + 'apiName' => 'DescribeDomainCcActivityLog', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCcActivityLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:33:00Z', + ], + [ + 'apiName' => 'DescribeBlockedRegions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeBlockedRegions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2019-11-30T05:40:00Z', + ], + [ + 'apiName' => 'DescribeCdnSSLCertificateList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSSLCertificateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'conditional', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'Interval', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time interval between the data entries. Unit: seconds. The value varies based on the values of the **StartTime** and **EndTime** parameters. Valid values:'."\n" - ."\n" - .'* If the time span between StartTime and EndTime is less than 3 days, valid values are **300**, **3600**, and **86400**. Default value: **300**.'."\n" - .'* If the time span between StartTime and EndTime is greater than or equal to 3 days and less than 31 days, valid values are **3600** and **86400**. Default value: **3600**.'."\n" - .'* If the time range between StartTime and EndTime is 31 days or longer, the valid value is **86400**. Default value: **86400**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '300', + ], + [ + 'apiName' => 'DescribeCertificateInfoByID', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCertificateInfoByID', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IspNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP) for your Alibaba Cloud CDN service. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not set this parameter, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'unicom', + ], + [ + 'apiName' => 'RefreshObjectCaches', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:RefreshObjectCaches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'LocationNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions. If you do not set this parameter, data in all regions is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'beijing', + ], + [ + 'apiName' => 'DescribeDomainRealTimeBpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:40:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range during which data was queried.'."\n", - 'type' => 'string', - 'example' => '2019-11-30T05:33:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', - ], - 'DomainName' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'DataInterval' => [ - 'description' => 'The time interval between the data entries returned.'."\n", - 'type' => 'string', - 'example' => '300', - ], - 'AvgRTPerInterval' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'DataModule' => [ - 'description' => 'The average response time data for time intervals.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The average response time.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the data returned.'."\n", - 'type' => 'string', - 'example' => '2015-12-10T20:00:00Z', - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DescribeDomainReqHitRateData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainReqHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', + [ + 'apiName' => 'DescribeCdnUserDomainsByFunc', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserDomainsByFunc', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', + ], + ], + [ + 'apiName' => 'GenerateCdnDiagnose', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:GenerateCdnDiagnose', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidIspParameter', - 'errorMessage' => 'The specified Isp is invalid.', + ], + ], + [ + 'apiName' => 'DescribeDomainMultiUsageData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainMultiUsageData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2019-11-30T05:40:00Z\\",\\n \\"StartTime\\": \\"2019-11-30T05:33:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"AvgRTPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"Value\\": \\"3\\",\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"DomainName\\": \\"example.com\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"StartTime\\": \\"2015-12-10T20:00:00Z\\",\\n \\"EndTime\\": \\"2015-12-11T21:00:00Z\\",\\n \\"DataInterval\\": \\"300\\",\\n \\"AvgRTPerInterval\\": {\\n \\"DataModule\\": [\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:00:00Z\\",\\n \\"Value\\": \\"3\\"\\n },\\n {\\n \\"TimeStamp\\": \\"2015-12-10T20:05:00Z\\",\\n \\"Value\\": \\"3\\"\\n }\\n ]\\n }\\n}"},{"type":"xml","example":"<DescribeDomainAverageResponseTimeResponse>\\r\\n\\t<DomainName>example.com</DomainName>\\r\\n\\t<RequestId>3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F</RequestId>\\r\\n\\t<StartTime>2019-11-30T05:33:00Z</StartTime>\\r\\n\\t<EndTime>2019-11-30T05:40:00Z</EndTime>\\r\\n\\t<DataInterval>300</DataInterval>\\r\\n\\t<AvgRTPerInterval>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-11-30T05:33:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>3</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t\\t<DataModule>\\r\\n\\t\\t\\t<TimeStamp>2019-11-30T05:38:00Z</TimeStamp>\\r\\n\\t\\t\\t<Value>3</Value>\\r\\n\\t\\t</DataModule>\\r\\n\\t</AvgRTPerInterval>\\r\\n</DescribeDomainAverageResponseTimeResponse>\\r\\n\\t\\r\\n","errorExample":""}]', - 'title' => 'DescribeDomainAverageResponseTime', - 'description' => 'The statistical analysis feature of Alibaba Cloud CDN is no longer available. The API operations related to the statistical analysis feature are no longer maintained. We recommend that you do not use the API operations because data may be missing or inaccurate. You can use the [operations report](~~279577~~) feature to for data analysis.'."\n" - ."\n" - .'> * If you do not set the StartTime or EndTime parameter, the request returns the data collected in the last 24 hours. If you set both these parameters, the request returns the data collected within the specified time range.'."\n" - .'>* You can call this operation up to 100 times per second per account.'."\n" - .'>* You can specify up to 500 domain names in each request. Separate multiple domain names with commas (,).', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeDomainRealTimeDetailData' => [ - 'summary' => 'Queries the real-time monitoring data for a domain name.', - 'methods' => [ - 'get', + [ + 'apiName' => 'DescribeDomainRealTimeSrcTrafficData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeSrcTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeUserConfigs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserConfigs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AddFCTrigger', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:AddFCTrigger', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeDomainSrcTrafficData', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '111790', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name that you want to query.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + [ + 'apiName' => 'VerifyDomainOwner', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:VerifyDomainOwner', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2019-11-30T05:33:00Z.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-30T05:33:00Z', + ], + [ + 'apiName' => 'SetReqHeaderConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetReqHeaderConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n" - ."\n" - .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Example: 2019-11-30T05:40:00Z.'."\n" - ."\n" - .'> The end time must be later than the start time. The difference between the end time and the start time cannot exceed 10 minutes.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2019-11-30T05:40:00Z', + ], + [ + 'apiName' => 'DescribeDomainMax95BpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainMax95BpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'Field', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of data that you want to query. You can specify multiple data types and separate them with commas (,). Valid values:'."\n" - ."\n" - .'* **qps**: queries per second (QPS)'."\n" - .'* **bps**: bandwidth'."\n" - .'* **http_code**: HTTP status code'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'qps', + ], + [ + 'apiName' => 'UpdateFCTrigger', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UpdateFCTrigger', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'LocationNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the region. If you do not specify a region, data in all regions is queried. You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query regions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Guangdong', + ], + [ + 'apiName' => 'DescribeCdnDomainConfigs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainConfigs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'IspNameEn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the Internet service provider (ISP). You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query ISPs. If you do not specify an ISP, data of all ISPs is queried.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'telecom', + ], + [ + 'apiName' => 'DescribeCdnConditionIPBInfo', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnConditionIPBInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Merge', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return a summary value based on ISPs and regions. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n" - ."\n" - .'Default value: **false**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', + ], + [ + 'apiName' => 'DescribeCdnUserBillHistory', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserBillHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MergeLocIsp', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return a summary value based on ISPs and regions. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n" - ."\n" - .'Default value: **false**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', + ], + [ + 'apiName' => 'DescribeCdnDomainLogs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Data' => [ - 'description' => 'The monitoring data of each ISP in each region.'."\n", - 'type' => 'string', - 'example' => '['."\n" - .' {'."\n" - .' "time_stp": "2018-06-05T20:00:00Z",'."\n" - .' "domain_name": "example.com",'."\n" - .' "location": "Guangdong",'."\n" - .' "isp": "telecom",'."\n" - .' "qps": 10'."\n" - .' },'."\n" - .' {'."\n" - .' "time_stp": "2018-06-05T20:00:00Z",'."\n" - .' "domain_name": "example.com",'."\n" - .' "location": "Jiangsu",'."\n" - .' "isp": "unicom",'."\n" - .' "qps": 11.1'."\n" - .' }'."\n" - .']', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726', - ], - ], + [ + 'apiName' => 'StartCdnDomain', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:StartCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', + [ + 'apiName' => 'BatchDeleteCdnDomainConfig', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:BatchDeleteCdnDomainConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], ], - [ - 'errorCode' => 'InvalidDomainName.Malformed', - 'errorMessage' => 'The specified DomainName is invalid.', + ], + ], + [ + 'apiName' => 'ModifyRealtimeLogDelivery', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ModifyRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Data\\": \\"[\\\\n {\\\\n \\\\\\"time_stp\\\\\\": \\\\\\"2018-06-05T20:00:00Z\\\\\\",\\\\n \\\\\\"domain_name\\\\\\": \\\\\\"example.com\\\\\\",\\\\n \\\\\\"location\\\\\\": \\\\\\"Guangdong\\\\\\",\\\\n \\\\\\"isp\\\\\\": \\\\\\"telecom\\\\\\",\\\\n \\\\\\"qps\\\\\\": 10\\\\n },\\\\n {\\\\n \\\\\\"time_stp\\\\\\": \\\\\\"2018-06-05T20:00:00Z\\\\\\",\\\\n \\\\\\"domain_name\\\\\\": \\\\\\"example.com\\\\\\",\\\\n \\\\\\"location\\\\\\": \\\\\\"Jiangsu\\\\\\",\\\\n \\\\\\"isp\\\\\\": \\\\\\"unicom\\\\\\",\\\\n \\\\\\"qps\\\\\\": 11.1\\\\n }\\\\n]\\",\\n \\"RequestId\\": \\"B49E6DDA-F413-422B-B58E-2FA23F286726\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainRealTimeDetailDataResponse>\\n<Data>\\n <2018-06-05T20:00:00Z>\\n <example.com>\\n <Guangdong>\\n <telecom>\\n <qps>10</qps>\\n <http_code>\\n <200>1</200>\\n <304>2</304>\\n </http_code>\\n </telecom>\\n </Guangdong>\\n <Jiangsu>\\n <unicom>\\n <qps>11.1</qps>\\n <http_code>\\n <200>1</200>\\n <304>2</304>\\n <403>3</403>\\n </http_code>\\n </unicom>\\n </Jiangsu>\\n </example.com>\\n </2018-06-05T20:00:00Z>\\n</Data>\\n<RequestId>B49E6DDA-F413-422B-B58E-2FA23F286726</RequestId>\\n</DescribeDomainRealTimeDetailDataResponse>","errorExample":""}]', - 'title' => 'DescribeDomainRealTimeDetailData', - 'description' => '* You can query data in the last seven days. Data is collected every minute.'."\n" - .'* You can call this operation up to 10 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => '> The value of the Data parameter is a JSON string. The following table describes the structure and fields of the Data parameter.'."\n" - ."\n" - .'### The following table describes the fields in the Data parameter. If a field is empty, the field is not returned.'."\n" - ."\n" - .'|Parameter|Type|Description|Example|'."\n" - .'|---|---|---|---|'."\n" - .'|domain\\_name|String|The domain name that was queried.|example.com|'."\n" - .'|isp|String|The ISP name.|unicom|'."\n" - .'|location|String|The region name.|qingdao|'."\n" - .'|qps|Long|The QPS.|40|'."\n" - .'|bps|Long|The bandwidth. Unit: bit/s.|100|'."\n" - .'|http\\_code|Map|The information about HTTP status codes. The key is the HTTP status code and the value is the number of occurrences of the HTTP status code.|{"200": 1, "304": 2, "403": 3}|'."\n" - .'|time\\_stp|String|The beginning of the time range that was queried. The time follows the ISO 8601 standard in the yyyy-MM-ddThh:mm:ssZ format. The time is displayed in UTC.|2022-10-20T04:00:00Z|', - 'extraInfo' => ' ', - ], - 'DescribeDomainMultiUsageData' => [ - 'summary' => 'Queries the traffic data and the number of requests for multiple accelerated domain names at a time.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeCdnReportList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnReportList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeUserDomains', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UpdateCdnSubTask', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UpdateCdnSubTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeCdnDiagnoseReport', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '111781', - 'abilityTreeNodes' => [ - 'FEATUREcdnNZNXYV', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDiagnoseReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple accelerated domain names with commas (,).'."\n" - ."\n" - .'> * You can specify a maximum of 30 domain names at a time.'."\n" - .'>* If this parameter is not set, data of all your accelerated domain names is queried.', - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-10T20:00:00Z', + ], + [ + 'apiName' => 'SetCdnDomainStagingConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" - ."\n" - .'> The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2017-12-10T21:00:00Z', + ], + [ + 'apiName' => 'DescribeCdnHttpsDomainList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnHttpsDomainList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'EndTime' => [ - 'description' => 'The end of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2017-12-10T21:00:00Z', - ], - 'StartTime' => [ - 'description' => 'The start of the time range that was queried.'."\n", - 'type' => 'string', - 'example' => '2017-12-10T20:00:00Z', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', - ], - 'RequestPerInterval' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RequestDataModule' => [ - 'description' => 'The information about requests collected every 5 minutes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type.'."\n" - ."\n" - .'> The value is Simple for Alibaba Cloud CDN.'."\n", - 'type' => 'string', - 'example' => 'Simple', - ], - 'TimeStamp' => [ - 'description' => 'The timestamp of the returned number of requests.'."\n", - 'type' => 'string', - 'example' => '2017-12-10T20:00:00Z', - ], - 'Domain' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'Request' => [ - 'description' => 'The number of requests.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '11288111', - ], - ], - ], - ], - ], - ], - 'TrafficPerInterval' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'TrafficDataModule' => [ - 'description' => 'The statistics of network traffic collected every 5 minutes.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of requests. Valid values:'."\n" - ."\n" - .'* **StaticHttps**: static HTTPS requests'."\n" - .'* **DynamicHttps**: dynamic HTTPS requests'."\n" - .'* **DynamicHttp**: dynamic HTTP requests'."\n" - .'* **StaticQuic**: static QUIC requests'."\n" - .'* **DynamicQuic**: dynamic QUIC requests'."\n", - 'type' => 'string', - 'example' => 'DynamicHttp', - ], - 'Domain' => [ - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'TimeStamp' => [ - 'description' => 'The startstamp of the returned usage data.'."\n", - 'type' => 'string', - 'example' => '2017-12-10T20:00:00Z', - ], - 'Area' => [ - 'description' => 'The name of the region.'."\n", - 'type' => 'string', - 'example' => 'CN', - ], - 'Bps' => [ - 'description' => 'The bandwidth. Unit: bit/s.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '11288111.1', - ], - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'EnableRealtimeLogDelivery', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:EnableRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidStartTime.Malformed', - 'errorMessage' => 'The specified value of parameter StartTime is malformed.', - ], - [ - 'errorCode' => 'InvalidEndTime.Malformed', - 'errorMessage' => 'The specified value of parameter EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidStartTime.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter StartTime is not supported.', - ], - [ - 'errorCode' => 'InvalidTime.Malformed', - 'errorMessage' => 'Specified StartTime or EndTime is malformed.', - ], - [ - 'errorCode' => 'InvalidDomainName', - 'errorMessage' => 'The specified DomainNames is invalid.', + [ + 'apiName' => 'ModifyCdnDomainSchdmByProperty', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnDomainSchdmByProperty', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'InvalidEndTime.Mismatch', - 'errorMessage' => 'Specified EndTime does not match the specified StartTime.', + ], + ], + [ + 'apiName' => 'DeleteFCTrigger', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteFCTrigger', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidTimeSpan', - 'errorMessage' => 'The time span exceeds the limit.', + ], + ], + [ + 'apiName' => 'DescribeDomainRealTimeByteHitRateData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeByteHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EndTime\\": \\"2017-12-10T21:00:00Z\\",\\n \\"StartTime\\": \\"2017-12-10T20:00:00Z\\",\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"RequestPerInterval\\": {\\n \\"RequestDataModule\\": [\\n {\\n \\"Type\\": \\"Simple\\",\\n \\"TimeStamp\\": \\"2017-12-10T20:00:00Z\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"Request\\": 11288111\\n }\\n ]\\n },\\n \\"TrafficPerInterval\\": {\\n \\"TrafficDataModule\\": [\\n {\\n \\"Type\\": \\"DynamicHttp\\",\\n \\"Domain\\": \\"example.com\\",\\n \\"TimeStamp\\": \\"2017-12-10T20:00:00Z\\",\\n \\"Area\\": \\"CN\\",\\n \\"Bps\\": 11288111.1\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDomainMultiUsageDataResesponse>\\n<TrafficPerInterval>\\n <TrafficDataModule>\\n <TimeStamp>2017-12-10T20:00:00Z</TimeStamp>\\n <Domain>example.com</Domain>\\n <Bps>11288111.1</Bps>\\n <Type>Simple</Type>\\n <Area>CN</Area>\\n </TrafficDataModule>\\n</TrafficPerInterval>\\n<RequestPerInterval>\\n <RequestDataModule>\\n <TimeStamp>2017-12-10T20:00:00Z</TimeStamp>\\n <Domain>example.com</Domain>\\n <Request>11288111</Request>\\n <Type>DynamicHttp</Type>\\n </RequestDataModule>\\n <RequestDataModule>\\n <TimeStamp>2017-12-10T20:00:00Z</TimeStamp>\\n <Domain>example.com</Domain>\\n <Request>11288111</Request>\\n <Type>StaticHttps</Type>\\n </RequestDataModule>\\n</RequestPerInterval>\\n<RequestId>3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F</RequestId>\\n<StartTime>2017-12-10T20:00:00Z</StartTime>\\n<EndTime>2017-12-10T21:00:00Z</EndTime>\\n</DescribeDomainMultiUsageDataResesponse>","errorExample":""}]', - 'title' => 'DescribeDomainMultiUsageData', - 'description' => '* If you do not set StartTime or EndTime, data collected within the last 10 minutes is queried.'."\n" - .'* The maximum interval between StartTime and EndTime is 1 hour.'."\n" - .'* You can query data within the last 90 days.'."\n" - .'* You can query the traffic data and the number of requests for accelerated domain names that are deleted.'."\n" - .'* You can call this operation up to 50 times per second per account.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeUserConfigs' => [ - 'summary' => 'Queries configurations of security features.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'OpenCdnService', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:OpenCdnService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeDomainRealTimeDetailData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeDetailData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeCdnTaskList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnTaskList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeUserUsageDataExportTask', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '111841', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserUsageDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'Config', - 'in' => 'query', - 'schema' => [ - 'description' => 'The feature whose configurations you want to query. You can specify only one feature in each request. Valid values: oss, green_manager, waf, cc_rule, ddos_dispatch, edge_safe, blocked_regions, http_acl_policy, bot_manager, and ip_reputation.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'oss', + [ + 'apiName' => 'DescribeDomainQpsDataByLayer', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainQpsDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9BCC7BAA-ACBE-45E5-83F0-98BF7E693E84', - ], - 'Configs' => [ - 'description' => 'The configurations of the specified feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'OssLogConfig' => [ - 'description' => 'The configurations of Object Storage Service (OSS).'."\n", - 'type' => 'object', - 'properties' => [ - 'Prefix' => [ - 'description' => 'The prefix.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Enable' => [ - 'description' => 'Indicates whether the OSS bucket is enabled.'."\n", - 'type' => 'string', - 'example' => 'off', - ], - 'Bucket' => [ - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'Buckettest', - ], - ], - ], - 'WafConfig' => [ - 'description' => 'The configurations of Web Application Firewall (WAF).'."\n", - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'description' => 'Indicates whether WAF is enabled.'."\n", - 'type' => 'string', - 'example' => 'on', - ], - ], - ], - ], - ], - ], + [ + 'apiName' => 'DescribeUserCertificateExpireCount', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserCertificateExpireCount', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingConfig', - 'errorMessage' => 'The input parameter Config that is mandatory for processing this request is not supplied.', - ], - [ - 'errorCode' => 'InvalidConfig.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter Config is not supported.', + [ + 'apiName' => 'CreateUserUsageDataExportTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CreateUserUsageDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9BCC7BAA-ACBE-45E5-83F0-98BF7E693E84\\",\\n \\"Configs\\": {\\n \\"OssLogConfig\\": {\\n \\"Prefix\\": \\"test\\",\\n \\"Enable\\": \\"off\\",\\n \\"Bucket\\": \\"Buckettest\\"\\n },\\n \\"WafConfig\\": {\\n \\"Enable\\": \\"on\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserConfigsResponse>\\n<RequestId>9BCC7BAA-ACBE-45E5-83F0-98BF7E693E84</RequestId>\\n<Configs>\\n <OssLogConfig>\\n <Enable>off</Enable>\\n <Bucket>Bucket2</Bucket>\\n <Prefix>test</Prefix>\\n </OssLogConfig>\\n <GreenManagerConfig>\\n <Quota>500</Quota>\\n <Ratio>20%</Ratio>\\n </GreenManagerConfig>\\n <WafConfig>\\n <Enable>on</Enable>\\n </WafConfig>\\n</Configs>\\n</DescribeUserConfigsResponse>","errorExample":""}]', - 'title' => 'DescribeUserConfigs', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'SetReqHeaderConfig' => [ - 'summary' => 'Sets a custom origin header.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeDomainCertificateInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCertificateInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'SetWaitingRoomConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetWaitingRoomConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeDomainRealTimeSrcBpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeSrcBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'DisableRealtimeLogDelivery', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '111909', - 'abilityTreeNodes' => [ - 'FEATUREcdnJA88R2', + 'ramAction' => [ + 'action' => 'cdn:DisableRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name. Separate multiple domain names with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + [ + 'apiName' => 'DeleteCdnDomain', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'Key', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the custom header.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testkey', + ], + [ + 'apiName' => 'DescribeCdnDomainByCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainByCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Value', - 'in' => 'query', - 'schema' => [ - 'description' => 'The value of the custom header.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'testvalue', + ], + [ + 'apiName' => 'DescribeIpStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeIpStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ConfigId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the configuration.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '123', + ], + [ + 'apiName' => 'DescribeUserUsageDetailDataExportTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserUsageDetailDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', - ], - ], + [ + 'apiName' => 'BatchAddCdnDomain', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:BatchAddCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter', - 'errorMessage' => 'The specified value of parameter DomainName can not be empty.', - ], - [ - 'errorCode' => 'InvalidKey.Malformed', - 'errorMessage' => 'The specified value of parameter Key is not malformed.', + [ + 'apiName' => 'DescribeCdnFullDomainsBlockIPConfig', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnFullDomainsBlockIPConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidValue.Malformed', - 'errorMessage' => 'The specified value of parameter Value is not malformed.', + ], + ], + [ + 'apiName' => 'DescribeCustomLogConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCustomLogConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidHeaderKey.ValueNotSupported', - 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.', + ], + ], + [ + 'apiName' => 'DescribeDomainRegionData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRegionData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","errorExample":""},{"type":"xml","example":"<SetReqHeaderConfigResponse>\\r\\n\\t <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>\\r\\n</SetReqHeaderConfigResponse>","errorExample":""}]', - 'title' => 'SetReqHeaderConfig', - 'extraInfo' => ' ', - ], - 'ModifyCdnService' => [ - 'summary' => 'Changes the metering method of Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeDomainQpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainQpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeCdnUserBillPrediction', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserBillPrediction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeUserTags', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserTags', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'systemTags' => [ + [ + 'apiName' => 'DescribeRangeDataByLocateAndIspService', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '111871', - 'abilityTreeNodes' => [ - 'FEATUREcdnBXNWCW', + 'ramAction' => [ + 'action' => 'cdn:DescribeRangeDataByLocateAndIspService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'InternetChargeType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new metering method for Alibaba Cloud CDN. Valid values:'."\n" - ."\n" - .'* **PayByTraffic**: pay-by-data-transfer'."\n" - .'* **PayByBandwidth**: pay-by-bandwidth'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'PayByTraffic', + [ + 'apiName' => 'CheckCdnDomainICP', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CheckCdnDomainICP', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'type' => 'string', - 'description' => 'The ID of the request.'."\n", - 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - ], + [ + 'apiName' => 'ListRealtimeLogDeliveryDomains', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ListRealtimeLogDeliveryDomains', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified value of parameter "InternetChargeType" is not valid.', - ], - [ - 'errorCode' => 'InsufficientBalance', - 'errorMessage' => 'Your account does not have enough balance.', + [ + 'apiName' => 'DescribeDomainCname', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCname', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_INVALID_PAY_METHOD', - 'errorMessage' => 'INVALID_PAY_METHOD', + ], + ], + [ + 'apiName' => 'DescribeDomainBpsDataByLayer', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainBpsDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_HASORDER', - 'errorMessage' => 'You have an order not yet effective', + ], + ], + [ + 'apiName' => 'DescribeCdnOrderCommodityCode', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnOrderCommodityCode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'CSS_CHECK_UPDOWNGRADE_ERROR', - 'errorMessage' => 'You have an order not yet effective', + ], + ], + [ + 'apiName' => 'DescribeRefreshTasks', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeRefreshTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'COMMODITY.INVALID_COMPONENT', - 'errorMessage' => 'The specified value of parameter "InternetChargeType" is not valid.', + ], + ], + [ + 'apiName' => 'DescribeDomainRealtimeLogDelivery', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0979B99B-4F00-5037-8E15-5F7D4ABF8AA1\\"\\n}","type":"json"}]', - 'title' => 'ModifyCdnService', - ], - 'DescribeUserCdnStatus' => [ - 'summary' => 'Queries the status of a user.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeCdnFullDomainsBlockIPHistory', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnFullDomainsBlockIPHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeDomainHttpCodeData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeDomainCustomLogConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainCustomLogConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#domainId}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeCdnRegionAndIsp', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '111839', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnRegionAndIsp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'InDebt' => [ - 'description' => 'Indicates whether your account has overdue payments.'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'OnService' => [ - 'description' => 'Indicates whether the service is available.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '39B1DC7F-9D25-5D54-8F02-6EE26A7F48CA', - ], - 'InDebtOverdue' => [ - 'description' => 'Indicates whether the grace period for your overdue payments expired.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Enabled' => [ - 'description' => 'Indicates whetherAlibaba Cloud CDN is activated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - 'description' => '', + [ + 'apiName' => 'ListRealtimeLogDelivery', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"InDebt\\": false,\\n \\"OnService\\": true,\\n \\"RequestId\\": \\"39B1DC7F-9D25-5D54-8F02-6EE26A7F48CA\\",\\n \\"InDebtOverdue\\": false,\\n \\"Enabled\\": true\\n}","type":"json"}]', - 'title' => 'DescribeUserCdnStatus', - ], - 'DescribeCdnTypes' => [ - 'summary' => 'Queries the types of domain names.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeTagResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeCdnService', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeRefreshTaskById', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeRefreshTaskById', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '111744', - 'abilityTreeNodes' => [ - 'FEATUREcdn9UE6OO', + [ + 'apiName' => 'DescribeStagingIp', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeStagingIp', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BDA62CE4-3477-439A-B52E-D2D7C829D7C1'."\n", - ], - 'CdnTypes' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'CdnType' => [ - 'description' => 'The types of the domain names.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The type of the domain name.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the domain name.'."\n", - 'type' => 'string', - 'example' => 'download', - ], - 'Desc' => [ - 'description' => 'The description of the domain name type.'."\n", - 'type' => 'string', - 'example' => 'Download Acceleration', - ], - ], - ], - ], - ], - ], - ], - 'description' => '', + [ + 'apiName' => 'DescribeCdnDomainDetail', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BDA62CE4-3477-439A-B52E-D2D7C829D7C1\\\\n\\",\\n \\"CdnTypes\\": {\\n \\"CdnType\\": [\\n {\\n \\"Type\\": \\"download\\",\\n \\"Desc\\": \\"Download Acceleration\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeCdnTypes', - ], - 'ModifyCdnDomainOwner' => [ - 'summary' => 'Transfer domain names from an Alibaba Cloud account to the current account.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeDomainRealTimeSrcHttpCodeData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeSrcHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'CheckCdnDomainExist', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CheckCdnDomainExist', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#AccountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeCdnDeliverList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDeliverList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'BatchStopCdnDomain', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '162664', - 'abilityTreeNodes' => [ - 'FEATUREcdnRO9687', + 'ramAction' => [ + 'action' => 'cdn:BatchStopCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + [ + 'apiName' => 'DescribeDomainRealTimeReqHitRateData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeReqHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C98E518B-024E-538E-8276-66310CB8667D', - ], - 'Content' => [ - 'description' => 'The description of the domain name transfer.'."\n", - 'type' => 'object', - 'example' => 'The domain does not allow to transfer to a different account.', - ], - ], - 'description' => '', + [ + 'apiName' => 'BatchDescribeCdnIpInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:BatchDescribeCdnIpInfo', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidDomain.NotExist', - 'errorMessage' => 'The domain you provided is not exist.', - ], - [ - 'errorCode' => 'DomainTransferFail', - 'errorMessage' => 'The domain does not allow to transfer to a different account.', + [ + 'apiName' => 'DescribeEsExceptionData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeEsExceptionData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeDomainPvData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainPvData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C98E518B-024E-538E-8276-66310CB8667D\\",\\n \\"Content\\": {\\n \\"域名归属权校验\\": false\\n }\\n}","type":"json"}]', - 'title' => 'ModifyCdnDomainOwner', - 'description' => 'This operation is used in the following scenario:'."\n" - ."\n" - .'* You have multiple Alibaba Cloud accounts and want to transfer domain names from Account A to Account B.'."\n" - .'* You are prompted that a domain name has been added when you add the domain name to Alibaba Cloud CDN. You do not know which account does the domain name belong to, and you want to transfer the domain name to your current account.'."\n", - ], - 'DescribeCdnConditionIPBInfo' => [ - 'summary' => 'Queries the Internet service provider (ISP), region, and country that are required for advanced conditions.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DeleteSpecificConfig', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteSpecificConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeDomainHitRateData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainHitRateData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ModifyCdnDomainOwner', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnDomainOwner', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeDomainHttpCodeDataByLayer', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '165633', - 'abilityTreeNodes' => [ - 'FEATUREcdnORORBI', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainHttpCodeDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'DataId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration ID. Valid values:'."\n" - ."\n" - .'* condition_region_config_cn'."\n" - .'* condition_region_config_en'."\n" - .'* condition_isp_config_cn'."\n" - .'* condition_isp_config_en'."\n" - .'* condition_country_config_cn'."\n" - .'* condition_country_config_en'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => false, - 'example' => 'condition_region_config_cn', - 'enum' => [ - 'condition_region_config_cn', - 'condition_region_config_en', - 'condition_isp_config_cn', - 'condition_isp_config_en', - 'condition_country_config_cn', - 'condition_country_config_en', - ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The request ID.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '2C4AA72D-8C00-1113-BD68-8BC4E3CF4FF6', - ], - 'Datas' => [ - 'description' => 'The data that is returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Value' => [ - 'description' => 'The configuration value.'."\n", - 'type' => 'string', - 'example' => '"[{\\"text\\":\\"阿鲁巴\\",\\"value\\":\\"AW\\"}]"', - ], - ], - ], - ], - ], + [ + 'apiName' => 'UpdateCdnDeliverTask', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UpdateCdnDeliverTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'DeliverTask', 'arn' => 'acs:cdn:*:{#accountId}:delivertask/{#DeliverId}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeDomainTopUrlVisit', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTopUrlVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2C4AA72D-8C00-1113-BD68-8BC4E3CF4FF6\\",\\n \\"Datas\\": [\\n {\\n \\"Value\\": \\"\\\\\\"[{\\\\\\\\\\\\\\"text\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"阿鲁巴\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"AW\\\\\\\\\\\\\\"}]\\\\\\"\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeCdnConditionIPBInfo', - ], - 'DescribeCdnSecFuncInfo' => [ - 'summary' => 'Queries information about security features of Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'CreateCdnSubTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateCdnSubTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeDomainSrcBpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'AddCdnDomain', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:AddCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'read', - 'systemTags' => [ + [ + 'apiName' => 'DescribeL2VipsByDomain', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '167969', - 'abilityTreeNodes' => [ - 'FEATUREcdnORORBI', + 'ramAction' => [ + 'action' => 'cdn:DescribeL2VipsByDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'SecFuncType', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The type of the security feature. Valid values:'."\n" - ."\n" - .'* CipherSuiteGroupCustomize: custom cipher suite.'."\n" - .'* CipherSuiteGroupStrict: dustom cipher suite.'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'CipherSuiteGroupCustomize' => '', - 'CipherSuiteGroupStrict' => '', - ], - 'example' => 'CipherSuiteGroupCustomize', - 'enum' => [ - 'CipherSuiteGroupStrict', - 'CipherSuiteGroupCustomize', - ], + [ + 'apiName' => 'DescribeDomainDetailDataByLayer', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainDetailDataByLayer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'Lang', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The language.'."\n" - ."\n" - .'* en: English'."\n" - .'* zh: Chinese'."\n", - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'en' => '', - 'zh' => '', - ], - 'example' => 'zh', - 'enum' => [ - 'zh', - 'en', - ], + ], + [ + 'apiName' => 'DescribeEsExecuteData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeEsExecuteData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned information about the security feature.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'BCD7D917-76F1-442F-BB75-C810DE34C761', - ], - 'Description' => [ - 'description' => 'The description.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RetCode' => [ - 'description' => 'The HTTP request response code.'."\n" - ."\n" - .'* 0: OK.'."\n" - .'* Values other than 0: an error.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'HttpStatus' => [ - 'description' => 'The HTTP status code returned.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Content' => [ - 'description' => 'Queried data.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Label' => [ - 'description' => 'The tag.'."\n", - 'type' => 'string', - 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', - ], - 'Value' => [ - 'description' => 'The value.'."\n", - 'type' => 'string', - 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', - ], - ], - ], - ], - ], + [ + 'apiName' => 'DeleteRealTimeLogLogstore', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DeleteRealTimeLogLogstore', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BCD7D917-76F1-442F-BB75-C810DE34C761\\",\\n \\"Description\\": \\"OK\\",\\n \\"RetCode\\": \\"0\\",\\n \\"HttpStatus\\": \\"200\\",\\n \\"Content\\": [\\n {\\n \\"Label\\": \\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\",\\n \\"Value\\": \\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => 'DescribeCdnSecFuncInfo', - ], - 'CheckCdnDomainExist' => [ - 'summary' => 'Checks whether a domain name exists.', - 'methods' => [ - 'get', - 'post', - ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeCdnSubList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSubList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeDomainTrafficData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ModifyCdnService', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '172982', - 'abilityTreeNodes' => [ - 'FEATUREcdnORORBI', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The accelerated domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - 'enum' => [], + [ + 'apiName' => 'BatchStartCdnDomain', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:BatchStartCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], ], ], ], - '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' => '64D28B53-5902-409B-94F6-FD46680144FE', - ], - 'Status' => [ - 'description' => 'The status of the domain name. Valid values:'."\n" - ."\n" - .'* **DomainNotExist**: The domain name is not added.'."\n" - .'* **DomainExistOtherUser**: The domain name has been added by another account.'."\n" - .'* **DomainExistCdnProduct**: The domain name has been added to Alibaba Cloud CDN.'."\n" - .'* **DomainExistDcdnProduct**: The domain name has been added to Dynamic Content Delivery Network (DCDN).'."\n" - .'* **DomainExistScdnProduct**: The domain name has been added to Secure CDN (SCDN).'."\n" - .'* **DomainExistVodProduct**: The domain name has been added to ApsaraVideo VOD.'."\n" - .'* **DomainExistLiveProduct**: The domain name has been added to ApsaraVideo Live.'."\n" - .'* **DomainExistDcdnipaProduct**: The domain name has been added to DCDN IP Application Accelerator (IPA).'."\n", - 'type' => 'string', - 'example' => 'DomainNotExist', - ], - ], + [ + 'apiName' => 'DescribeDomainUvData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainUvData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'DomainExist.OtherUser', - 'errorMessage' => 'This domain is already added by another user.', + [ + 'apiName' => 'DescribeDomainRealTimeQpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeQpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'DomainExist.OtherProduct', - 'errorMessage' => 'This domain is already existed in %s.', + ], + ], + [ + 'apiName' => 'DeleteRealtimeLogDelivery', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:DeleteRealtimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#Domain}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'ListDomainsByLogConfigId', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'cdn:ListDomainsByLogConfigId', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"64D28B53-5902-409B-94F6-FD46680144FE\\",\\n \\"Status\\": \\"DomainNotExist\\"\\n}","type":"json"}]', - 'title' => 'CheckCdnDomainExist', - ], - 'CheckCdnDomainICP' => [ - 'summary' => 'Checks whether an ICP filing is obtained for the domain name.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DeleteSpecificStagingConfig', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteSpecificStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'CreateRealTimeLogDelivery', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateRealTimeLogDelivery', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#Domain}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeCdnTypes', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnTypes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeDomainTopReferVisit', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '174446', - 'abilityTreeNodes' => [ - 'FEATUREcdnRLQ471', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTopReferVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'DomainName', - 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', + [ + 'apiName' => 'DescribeDomainTopClientIpVisit', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainTopClientIpVisit', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - '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' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8', - ], - 'Status' => [ - 'description' => 'The status of the resource plan. Valid value:'."\n" - ."\n" - .'* **DomainIsRegistration**: An ICP filing is obtained for the domain name.'."\n" - .'* **DomainNotRegistration**: No ICP filing is obtained for the domain name.'."\n", - 'type' => 'string', - 'enumValueTitles' => [ - 'DomainNotRegistration' => '', - 'DomainIsRegistration' => '', - ], - 'example' => 'DomainIsRegistration', - ], - ], + [ + 'apiName' => 'ListRealtimeLogDeliveryInfos', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListRealtimeLogDeliveryInfos', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => '-124', - 'errorMessage' => 'The domain provided does not belong to you.', + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], - [ - 'errorCode' => 'CheckDomainICPFail', - 'errorMessage' => 'The domain query icp info error,check domain icp failed.', + ], + ], + [ + 'apiName' => 'ModifyCdnDomain', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:ModifyCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DeleteCdnDeliverTask', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteCdnDeliverTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8\\",\\n \\"Status\\": \\"DomainIsRegistration\\"\\n}","type":"json"}]', - 'title' => 'CheckCdnDomainICP', - ], - 'BatchDescribeCdnIpInfo' => [ - 'summary' => 'Queries whether one or more IP addresses are assigned to Alibaba Cloud CDN.', - 'methods' => [ - 'get', - 'post', + [ + 'apiName' => 'DescribeCdnReport', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnReport', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], + ], + [ + 'apiName' => 'CreateCdnCertificateSigningRequest', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateCdnCertificateSigningRequest', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'DescribeDomainBpsDataByTimeStamp', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainBpsDataByTimeStamp', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SetCdnFullDomainsBlockIP', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnFullDomainsBlockIP', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeRealtimeDeliveryAcc', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '156304', - 'abilityTreeNodes' => [ - 'FEATUREcdnNSUDKT', + 'ramAction' => [ + 'action' => 'cdn:DescribeRealtimeDeliveryAcc', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'IpAddrList', - 'in' => 'query', - 'schema' => [ - 'description' => 'The list of IP addresses to query. Separate IP addresses with commas (,). You can specify up to 20 IP addresses at a time.'."\n" - ."\n" - .'> * Example of an IPv4 address: 192.0.2.1'."\n" - .'>* Example of an IPv6 address: 2001:db8:ffff:ffff:ffff:\\*\\*\\*\\*:ffff.', - 'type' => 'string', - 'required' => true, - 'example' => '111.XXX.XXX.230,47.XXX.XXX.243', + [ + 'apiName' => 'DescribeUserVipsByDomain', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserVipsByDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'Language', - 'in' => 'query', - 'schema' => [ - 'description' => 'The language of the query results. Valid values:'."\n" - ."\n" - .'* **zh** (default): Simplified Chinese.'."\n" - .'* **en**: English.'."\n", - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'en' => 'en', - 'zh' => 'zh', - ], - 'example' => 'en', + ], + [ + 'apiName' => 'BatchSetCdnDomainConfig', + 'description' => '', + 'operationType' => 'update', + 'additionalActions' => [ + ['action' => 'ram:CreateServiceLinkedRole', 'validationType' => 'always'], + ], + 'ramAction' => [ + 'action' => 'cdn:BatchSetCdnDomainConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '55ADD936-763F-5E1A-BF54-2EA3F6E94A52', - ], - 'IpInfoList' => [ - 'description' => 'The results about IP addresses returned.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'IpAddress' => [ - 'description' => 'The IP address.'."\n", - 'type' => 'string', - 'example' => '111.XXX.XXX.230', - ], - 'IspName' => [ - 'description' => 'The ISP to which the IP address belongs.'."\n", - 'type' => 'string', - 'example' => 'Move'."\n", - ], - 'Country' => [ - 'description' => 'The country to which the IP address belongs.'."\n", - 'type' => 'string', - 'example' => 'China'."\n", - ], - 'Province' => [ - 'description' => 'The province to which the IP address belongs.'."\n", - 'type' => 'string', - 'example' => 'Beijing'."\n", - ], - 'City' => [ - 'description' => 'The city to which the IP address belongs.'."\n", - 'type' => 'string', - 'example' => 'Beijing'."\n", - ], - 'CdnIp' => [ - 'description' => 'Indicates whether the IP address belongs to an Alibaba Cloud CDN point of presence (POP).'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'string', - 'example' => 'true', - ], - ], - ], - ], - ], + [ + 'apiName' => 'DeleteUsageDetailDataExportTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DeleteUsageDetailDataExportTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvaildBatchIp.LengthTooLong', - 'errorMessage' => 'The batchIp parameter is too long', + [ + 'apiName' => 'DescribeCdnDomainStagingConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnDomainStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - 403 => [ - [ - 'errorCode' => 'InvaildParameter', - 'errorMessage' => 'The parameter you provided is invalid.', + ], + [ + 'apiName' => 'DescribeDomainPathData', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainPathData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"55ADD936-763F-5E1A-BF54-2EA3F6E94A52\\",\\n \\"IpInfoList\\": [\\n {\\n \\"IpAddress\\": \\"111.XXX.XXX.230\\",\\n \\"IspName\\": \\"移动\\",\\n \\"Country\\": \\"中国\\",\\n \\"Province\\": \\"北京市\\",\\n \\"City\\": \\"北京市\\",\\n \\"CdnIp\\": \\"true\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<BatchDescribeCdnIpInfoResponse>\\n <RequestId>55ADD936-763F-5E1A-BF54-2EA3F6E94A52</RequestId>\\n <IpInfoList>\\n <IspName>移动</IspName>\\n <Country>中国</Country>\\n <IpAddress>111.XXX.XXX.230</IpAddress>\\n <City>北京市</City>\\n <CdnIp>true</CdnIp>\\n <Province>北京市</Province>\\n </IpInfoList>\\n <IpInfoList>\\n <IspName>NTT</IspName>\\n <Country>中国</Country>\\n <IpAddress>47.XXX.XXX.243</IpAddress>\\n <City>香港</City>\\n <CdnIp>true</CdnIp>\\n <Province>香港特别行政区</Province>\\n </IpInfoList>\\n</BatchDescribeCdnIpInfoResponse>","errorExample":""}]', - 'title' => 'BatchDescribeCdnIpInfo', - 'description' => '>The maximum number of times that each user can call this operation per second is 20.', - ], - 'DescribeCdnFullDomainsBlockIPHistory' => [ - 'summary' => 'Queries the blocking history.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DeleteCdnSubTask', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:DeleteCdnSubTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeCdnUserConfigs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnUserConfigs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'SetCdnDomainCSRCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainCSRCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeDomainSrcQpsData', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '228025', - 'abilityTreeNodes' => [ - 'FEATUREcdnHPRG9U', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcQpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'IPList', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The IP address or CIDR blocks to query.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.XXX.XXX.1,2.XXX.XXX.2', + [ + 'apiName' => 'DescribeCdnWafDomain', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnWafDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'StartTime', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2023-04-24T17:00:00Z'."\n", + ], + [ + 'apiName' => 'RefreshObjectCacheByCacheTag', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:RefreshObjectCacheByCacheTag', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EndTime', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The end time must be later than the start time.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '2023-04-24T19:00:00Z'."\n", + ], + [ + 'apiName' => 'SetCdnDomainSSLCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainSSLCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - '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' => 'BCD7D917-76F1-442F-BB75-C810DE34C761', - ], - 'IPBlockInfo' => [ - 'description' => 'The result of the operation.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'BlockIP' => [ - 'description' => 'The blocked IP address or CIDR block.'."\n", - 'type' => 'string', - 'example' => '1.XXX.XXX.0~1.XXX.XXX.255'."\n", - ], - 'DeliverTime' => [ - 'description' => 'The delivery time.'."\n", - 'type' => 'string', - 'example' => '2023-04-24 18:49:37'."\n", - ], - 'Status' => [ - 'description' => 'The delivery status.'."\n" - ."\n" - .'* Success'."\n" - .'* Failed'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - ], - 'description' => '', - ], - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'The value of Code is not 0 in the following scenarios:'."\n" - ."\n" - .'* The format of the IP address is invalid.'."\n" - .'* The format of the time is invalid.'."\n" - .'* Other abnormal scenarios.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Description' => [ - 'description' => 'The description of the status returned.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - ], + [ + 'apiName' => 'CreateCdnDeliverTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'cdn:CreateCdnDeliverTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', + [ + 'apiName' => 'ListFCTrigger', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:ListFCTrigger', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => 'The quota is exceeded.', + ], + ], + [ + 'apiName' => 'SetCdnDomainSMCertificate', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:SetCdnDomainSMCertificate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', + ], + [ + 'apiName' => 'DescribeCdnCertificateDetail', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnCertificateDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeVerifyContent', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeVerifyContent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BCD7D917-76F1-442F-BB75-C810DE34C761\\",\\n \\"IPBlockInfo\\": [\\n {\\n \\"BlockIP\\": \\"1.XXX.XXX.0~1.XXX.XXX.255\\\\n\\",\\n \\"DeliverTime\\": \\"2023-04-24 18:49:37\\\\n\\",\\n \\"Status\\": \\"Success\\"\\n }\\n ],\\n \\"Code\\": 0,\\n \\"Description\\": \\"OK\\"\\n}","type":"json"}]', - 'title' => 'DescribeCdnFullDomainsBlockIPHistory', - 'description' => '> '."\n" - ."\n" - .'* To use this operation, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" - ."\n" - .'* For a specified IP addresses and time range, the time when the IP address was delivered to the edge and the corresponding result are returned.'."\n" - ."\n" - .'* If a specified IP address or CIDR block has multiple blocking records in a specified time range, the records are sorted by delivery time in descending order.'."\n" - ."\n" - .'* The maximum time range to query is 90 days.'."\n" - ."\n" - .'* If no blocking record exists or delivery fails for the given IP address and time range, the delivery time is empty.'."\n", - ], - 'SetCdnFullDomainsBlockIP' => [ - 'summary' => 'Blocks or unblocks IP addresses. This setting applies to all domain names in your account.', - 'methods' => [ - 'post', - 'get', + [ + 'apiName' => 'DescribeIpInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeIpInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeDomainRealTimeTrafficData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeTrafficData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'PublishStagingConfigToProduction', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:PublishStagingConfigToProduction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'BatchUpdateCdnDomain', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '227991', - 'abilityTreeNodes' => [ - 'FEATUREcdnHPRG9U', + 'ramAction' => [ + 'action' => 'cdn:BatchUpdateCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'IPList', - 'in' => 'formData', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'The IP addresses that you want to block or unblock. Separate multiple IP addresses with commas (,). You can specify up to 1,000 IP addresses.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1.XXX.XXX.1,2.XXX.XXX.2', + [ + 'apiName' => 'RollbackStagingConfig', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'cdn:RollbackStagingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'OperationType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The type of the operation.'."\n" - ."\n" - .'* block'."\n" - .'* unblock'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'block', + ], + [ + 'apiName' => 'DescribeDomainRealTimeHttpCodeData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainRealTimeHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], - [ - 'name' => 'BlockInterval', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The duration for which IP addresses or CIDR blocks are blocked. Unit: seconds. The value **0** specifies that IP addresses or CIDR blocks are permanently blocked. This parameter is available only if you set **OperationType** to **block**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3000', + ], + [ + 'apiName' => 'DescribeDomainsBySource', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainsBySource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'UpdateType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The type of the blocking duration. This parameter is available only if you set **OperationType** to **block**. Valid values:'."\n" - ."\n" - .'* **cover**: The blocking duration that is specified in the request takes effect.'."\n" - .'* **uncover**: The longer one of the blocking duration that is specified in the request and the remaining blocking duration takes effect.'."\n" - .'* Default value: cover.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cover', + ], + [ + 'apiName' => 'DescribeCdnSMCertificateList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSMCertificateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response'."\n", - 'type' => 'object', - 'properties' => [ - 'Code' => [ - 'description' => 'The status code. The status code 0 indicates that the call is successful. If another status code is returned, the call fails.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Message' => [ - 'description' => 'The additional information returned. If the request was successful, OK is returned. If the request failed, an error message is returned.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '23ACE7E2-2302-42E3-98F8-E5E697FD86C3', - ], - ], + [ + 'apiName' => 'CreateUsageDetailDataExportTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:CreateUsageDetailDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => 'The quota is exceeded.', + [ + 'apiName' => 'DescribeCdnSMCertificateDetail', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnSMCertificateDetail', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 403 => [ - [ - 'errorCode' => 'OperationDenied', - 'errorMessage' => 'You do not have access to this operation.', + ], + [ + 'apiName' => 'DescribeUserCdnStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeUserCdnStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"23ACE7E2-2302-42E3-98F8-E5E697FD86C3\\"\\n}","type":"json"}]', - 'title' => 'SetCdnFullDomainsBlockIP', - 'description' => '> '."\n" - ."\n" - .'* To use this operation, [submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" - ."\n" - .'* This operation is suitable for blocking or unblocking a maximum of 1,000 IP addresses or CIDR blocks at a time.'."\n", - ], - 'DescribeCdnFullDomainsBlockIPConfig' => [ - 'summary' => 'You can call the DescribeCdnFullDomainsBlockIPConfig operation to query the configurations of full blocking.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeDomainAverageResponseTime', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainAverageResponseTime', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ['validationType' => 'conditional', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeDomainSrcHttpCodeData', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '228031', - 'abilityTreeNodes' => [ - 'FEATUREcdnHPRG9U', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainSrcHttpCodeData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'IPList', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The IP address or CIDR block to query. Separate multiple values with commas (,). You can specify up to 50 IP addresses or CIDR blocks.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.XXX.XXX.1,2.XXX.XXX.2', + [ + 'apiName' => 'DescribeDomainBpsData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DescribeDomainBpsData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - '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' => '95994621-8382-464B-8762-C708E73568D1', - ], - 'Message' => [ - 'description' => 'The returned results. If the operation is successful, URLs of OSS objects are returned. If the operation fails, an error message is returned.'."\n", - 'type' => 'string', - 'example' => 'http://xxxx-api.oss-cn-hangzhou.aliyuncs.com/blocklist%2Fxxxxxxxxxxxx.txt?Expires=1682663947&OSSAccessKeyId=xxxxxxxxxx&Signature=xxxxxx', - ], - 'Code' => [ - 'description' => 'The response code.'."\n" - ."\n" - .'The value of Code is not 0 in the following scenarios:'."\n" - ."\n" - .'* The format of the IP address is invalid.'."\n" - .'* The number of IP addresses exceeds the upper limit.'."\n" - .'* Other abnormal scenarios.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - ], + [ + 'apiName' => 'DeleteUserUsageDataExportTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'cdn:DeleteUserUsageDataExportTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter', - 'errorMessage' => 'The specified parameter is invalid.', - ], - [ - 'errorCode' => 'QuotaExceeded', - 'errorMessage' => 'The quota is exceeded.', + [ + 'apiName' => 'DescribePreloadDetailById', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribePreloadDetailById', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'internal server error', + ], + [ + 'apiName' => 'DescribeCdnCertificateList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'cdn:DescribeCdnCertificateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'StopCdnDomain', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'cdn:StopCdnDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'CDN', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"95994621-8382-464B-8762-C708E73568D1\\",\\n \\"Message\\": \\"http://xxxx-api.oss-cn-hangzhou.aliyuncs.com/blocklist%2Fxxxxxxxxxxxx.txt?Expires=1682663947&OSSAccessKeyId=xxxxxxxxxx&Signature=xxxxxx\\",\\n \\"Code\\": 0\\n}","type":"json"}]', - 'title' => 'DescribeCdnFullDomainsBlockIPConfig', - 'description' => '> '."\n" - ."\n" - .'* To use this operation,[submit a ticket](https://workorder-intl.console.aliyun.com/?spm=5176.2020520001.aliyun_topbar.18.dbd44bd3e4f845#/ticket/createIndex).'."\n" - ."\n" - .'* If you specify IP addresses or CIDR blocks, IP addresses that are effective and the corresponding expiration time are returned. If you do not specify IP addresses or CIDR blocks, all effective IP addresses and the corresponding expiration time are returned.'."\n" - ."\n" - .'* The results are written to OSS and returned as OSS URLs. The content in OSS objects is in the format of IP address-Corresponding expiration time. The expiration time is in the YYYY-MM-DD hh:mm:ss format.'."\n" - ."\n" - .'* You can share OSS URLs with others. The shared URLs are valid for three days.'."\n", - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-south-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'me-east-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'cdn.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'cdn.aliyuncs.com', ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'cdn.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'cdn.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainName}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/*'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:*'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#DomainNames}'], + ['validationType' => 'always', 'resourceType' => 'RealTimeLogDelivery', 'arn' => 'acs:cdn:*:{#accountId}:realtimelogdelivery/{#Domain}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn::{#accountId}:domain/{#DomainName}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#domainId}'], + ['validationType' => 'always', 'resourceType' => 'RealTimeLogDelivery', 'arn' => 'acs:cdn::{#accountId}:realtimelogdelivery/*'], + ['validationType' => 'always', 'resourceType' => 'DeliverTask', 'arn' => 'acs:cdn:*:{#accountId}:delivertask/{#DeliverId}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:cdn:*:{#accountId}:domain/{#Domain}'], ], ], ]; |
