summaryrefslogtreecommitdiff
path: root/data/en_us/cdn/2018-05-10
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/en_us/cdn/2018-05-10
downloadacs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz
acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip
Diffstat (limited to 'data/en_us/cdn/2018-05-10')
-rw-r--r--data/en_us/cdn/2018-05-10/api-docs.php25878
1 files changed, 25878 insertions, 0 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
new file mode 100644
index 0000000..066fb19
--- /dev/null
+++ b/data/en_us/cdn/2018-05-10/api-docs.php
@@ -0,0 +1,25878 @@
+<?php return [
+ 'version' => '1.0',
+ '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',
+ 'type' => 'directory',
+ 'children' => [
+ 'AddCdnDomain',
+ 'BatchAddCdnDomain',
+ 'DeleteCdnDomain',
+ 'DescribeCdnDeletedDomains',
+ ],
+ ],
+ [
+ 'id' => 159137,
+ 'title' => 'Domain name ownership verification',
+ 'type' => 'directory',
+ 'children' => [
+ 'VerifyDomainOwner',
+ 'DescribeVerifyContent',
+ 'DescribeDomainVerifyData',
+ ],
+ ],
+ [
+ 'id' => 159140,
+ 'title' => 'Enabling or disabling domain names',
+ 'type' => 'directory',
+ 'children' => [
+ 'StartCdnDomain',
+ 'BatchStartCdnDomain',
+ 'StopCdnDomain',
+ 'BatchStopCdnDomain',
+ ],
+ ],
+ [
+ 'id' => 159145,
+ 'title' => 'Domain name configuration',
+ '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',
+ ],
+ ],
+ [
+ 'id' => 159163,
+ 'title' => 'Security settings',
+ 'type' => 'directory',
+ 'children' => [
+ 'SetWaitingRoomConfig',
+ 'DescribeCdnUserConfigs',
+ 'DescribeCdnWafDomain',
+ 'DescribeBlockedRegions',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 159185,
+ 'title' => 'Refresh and prefetch',
+ 'type' => 'directory',
+ 'children' => [
+ 'RefreshObjectCacheByCacheTag',
+ 'DescribeRefreshQuota',
+ 'PushObjectCache',
+ 'RefreshObjectCaches',
+ 'DescribeRefreshTasks',
+ 'DescribeRefreshTaskById',
+ 'DescribePreloadDetailById',
+ 'DescribeCdnUserQuota',
+ ],
+ ],
+ [
+ 'id' => 159074,
+ 'title' => 'Monitoring and usage analytics',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 159075,
+ 'title' => 'Resource monitoring',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 171915,
+ 'title' => 'Visit data',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDomainPathData',
+ 'DescribeDomainQpsData',
+ 'DescribeDomainQpsDataByLayer',
+ 'DescribeDomainBpsData',
+ 'DescribeDomainBpsDataByLayer',
+ 'DescribeDomainBpsDataByTimeStamp',
+ 'DescribeDomainTrafficData',
+ 'DescribeDomainHttpCodeData',
+ 'DescribeDomainHttpCodeDataByLayer',
+ 'DescribeDomainHitRateData',
+ 'DescribeDomainReqHitRateData',
+ 'DescribeDomainsUsageByDay',
+ 'DescribeDomainDetailDataByLayer',
+ 'DescribeRangeDataByLocateAndIspService',
+ ],
+ ],
+ [
+ 'id' => 171916,
+ 'title' => 'Source data',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDomainSrcBpsData',
+ 'DescribeDomainSrcHttpCodeData',
+ 'DescribeDomainSrcTrafficData',
+ 'DescribeDomainSrcQpsData',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 159094,
+ 'title' => 'Real-time Monitoring',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 171917,
+ 'title' => 'Visit data',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDomainRealTimeTrafficData',
+ 'DescribeDomainRealTimeBpsData',
+ 'DescribeDomainRealTimeHttpCodeData',
+ 'DescribeDomainRealTimeQpsData',
+ 'DescribeDomainRealTimeReqHitRateData',
+ 'DescribeDomainRealTimeByteHitRateData',
+ ],
+ ],
+ [
+ 'id' => 171918,
+ 'title' => 'Source data',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDomainRealTimeSrcBpsData',
+ 'DescribeDomainRealTimeSrcHttpCodeData',
+ 'DescribeDomainRealTimeSrcTrafficData',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 159128,
+ 'title' => 'EdgeScript (ES) monitoring',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeEsExecuteData',
+ 'DescribeEsExceptionData',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 159116,
+ 'title' => 'Resource usage management',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeCdnUserBillHistory',
+ 'DescribeCdnUserBillType',
+ 'DescribeCdnUserBillPrediction',
+ 'CreateUserUsageDataExportTask',
+ 'DescribeUserUsageDataExportTask',
+ 'DeleteUserUsageDataExportTask',
+ 'CreateUsageDetailDataExportTask',
+ 'DescribeUserUsageDetailDataExportTask',
+ 'DeleteUsageDetailDataExportTask',
+ 'DescribeDomainMax95BpsData',
+ 'DescribeDomainUsageData',
+ 'DescribeCdnUserResourcePackage',
+ ],
+ ],
+ [
+ 'id' => 159168,
+ 'title' => 'Log management',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 159191,
+ 'title' => 'Service management',
+ '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',
+ 'type' => 'directory',
+ 'children' => [
+ 'TagResources',
+ 'DescribeTagResources',
+ 'DescribeUserTags',
+ 'UntagResources',
+ 'ListTagResources',
+ ],
+ ],
+ [
+ 'id' => 159214,
+ 'title' => 'Operations reports',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateCdnSubTask',
+ 'DescribeCdnSubList',
+ 'UpdateCdnSubTask',
+ 'DeleteCdnSubTask',
+ 'DescribeCdnReport',
+ 'DescribeCdnReportList',
+ 'CreateCdnDeliverTask',
+ 'DescribeCdnDeliverList',
+ 'UpdateCdnDeliverTask',
+ 'DeleteCdnDeliverTask',
+ ],
+ ],
+ [
+ 'id' => 169776,
+ 'title' => 'Auxiliary tool operations',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeIpInfo',
+ 'DescribeStagingIp',
+ 'DescribeL2VipsByDomain',
+ 'DescribeUserVipsByDomain',
+ 'DescribeIpStatus',
+ 'AddFCTrigger',
+ 'UpdateFCTrigger',
+ 'DescribeFCTrigger',
+ 'DeleteFCTrigger',
+ 'ListFCTrigger',
+ ],
+ ],
+ [
+ 'id' => 159234,
+ 'title' => 'Security information query',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDomainCcActivityLog',
+ ],
+ ],
+ [
+ 'id' => 170411,
+ 'title' => 'Offline in old version',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 159104,
+ 'title' => 'Statistics',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeDomainPvData',
+ 'DescribeDomainUvData',
+ 'DescribeDomainTopUrlVisit',
+ 'DescribeDomainTopClientIpVisit',
+ 'DescribeDomainTopReferVisit',
+ 'DescribeDomainSrcTopUrlVisit',
+ 'DescribeTopDomainsByFlow',
+ 'DescribeDomainRegionData',
+ 'DescribeDomainISPData',
+ 'DescribeDomainAverageResponseTime',
+ ],
+ ],
+ 'DescribeDomainRealTimeDetailData',
+ 'DescribeDomainMultiUsageData',
+ 'DescribeUserConfigs',
+ 'SetReqHeaderConfig',
+ ],
+ ],
+ [
+ 'id' => 182313,
+ 'title' => 'Others',
+ 'type' => 'directory',
+ 'children' => [
+ 'ModifyCdnService',
+ 'DescribeUserCdnStatus',
+ 'DescribeCdnTypes',
+ 'ModifyCdnDomainOwner',
+ 'DescribeCdnConditionIPBInfo',
+ 'DescribeCdnSecFuncInfo',
+ 'CheckCdnDomainExist',
+ 'CheckCdnDomainICP',
+ 'BatchDescribeCdnIpInfo',
+ 'DescribeCdnFullDomainsBlockIPHistory',
+ 'SetCdnFullDomainsBlockIP',
+ 'DescribeCdnFullDomainsBlockIPConfig',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'AddCdnDomain' => [
+ 'summary' => 'Adds a domain name to accelerate.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '111676',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CdnType',
+ 'in' => 'query',
+ 'schema' => [
+ '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',
+ 'required' => true,
+ 'enumValueTitles' => [
+ 'download' => 'download',
+ 'web' => 'web',
+ 'video' => 'video',
+ ],
+ 'example' => 'web',
+ 'enum' => [
+ 'unitcell',
+ 'web',
+ 'download',
+ 'liveStream',
+ 'video',
+ 'app',
+ ],
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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**',
+ ],
+ ],
+ [
+ '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"
+ .']',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'TopLevelDomain',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The top-level domain.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'Details about the tags. You can specify up to 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',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '15C66C7B-671A-4297-9187-2C4477247A74',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'AccountException',
+ 'errorMessage' => 'Account exception. Please open ticket to make an appeal.',
+ ],
+ ],
+ ],
+ '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":""}]',
+ '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.',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '111681',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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**',
+ ],
+ ],
+ [
+ '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"
+ .']',
+ ],
+ ],
+ [
+ 'name' => 'CheckUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The URL that is used for health checks.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'url',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'TopLevelDomain',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The top-level domain.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '15C66C7B-671A-4297-9187-2C4477247A74',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ '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"
+ ."\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.|',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteCdnDomain' => [
+ 'summary' => 'Removes an accelerated domain name from Alibaba Cloud CDN.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111702',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied',
+ 'errorMessage' => 'You do not have access to this operation.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111723',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageNumber',
+ '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',
+ ],
+ ],
+ [
+ '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**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'minimum' => '1',
+ 'example' => '5',
+ 'default' => '20',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ 'Domains' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'PageData' => [
+ 'description' => 'The list of accelerated domain names and the time each domain name was last modified.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'VerifyDomainOwner' => [
+ 'summary' => 'Verifies the ownership of a specified domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111923',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnRLQ471',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'VerifyType',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeVerifyContent' => [
+ 'summary' => 'Queries the ownership verification content of an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111847',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnRLQ471',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '178430',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnRLQ471',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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' => 'www.yourdomain.com',
+ ],
+ ],
+ [
+ 'name' => 'GlobalResourcePlan',
+ 'in' => 'query',
+ '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',
+ ],
+ 'example' => 'off',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ '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 in each request.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ '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 (,).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111917',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidDomain.BelongToConfigGroup',
+ 'errorMessage' => 'This Domain activated in configuration group and should modify by config group.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111687',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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 (,).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324AEFFF-308C-4DA7-8CD3-01B277B98F28',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ '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**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '500',
+ 'example' => '5',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number. Valid values: **1** to **100000**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com',
+ 'maxLength' => 6800,
+ ],
+ ],
+ [
+ 'name' => 'DomainStatus',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'DomainSearchType',
+ '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',
+ ],
+ ],
+ [
+ '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"
+ .'* **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',
+ ],
+ ],
+ [
+ '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"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2019-10-10T12:14:55Z',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2019-10-10T12:14:58Z',
+ ],
+ ],
+ [
+ 'name' => 'Coverage',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Source',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The information about the origin server.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.source.com',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ '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,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111769',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Data' => [
+ 'description' => 'Details about the CNAME detection results.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DomainNameOverLimit',
+ 'errorMessage' => 'A maximum of 30 domains are supported for each request.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvaildParameter',
+ 'errorMessage' => 'The parameter you provided is invalid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111802',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Sources',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111750',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'FuncId',
+ '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',
+ ],
+ ],
+ [
+ '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' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111728',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SourceModel' => [
+ 'description' => 'The information about the origin server.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111727',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'FunctionNames',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C80705BF-0F76-41FA-BAD1-5B59296A4E59',
+ ],
+ 'DomainConfigs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DomainConfig' => [
+ 'description' => 'The configurations of the domain name.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Invalid%s.ValueNotSupported',
+ 'errorMessage' => 'FunctionName [%s] is not supported.',
+ ],
+ ],
+ ],
+ '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",
+ 'extraInfo' => ' ',
+ ],
+ 'BatchSetCdnDomainConfig' => [
+ 'summary' => 'Configures multiple accelerated domain names at a time.',
+ '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' => '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',
+ '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"} ]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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,
+ 'properties' => [
+ 'DomainConfigModel' => [
+ 'description' => 'The list of domain configurations.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'BatchDeleteCdnDomainConfig' => [
+ 'summary' => 'Deletes configurations of multiple accelerated domain names at a time.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111682',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainNames',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'FunctionNames',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'BatchUpdateCdnDomain' => [
+ 'summary' => 'Updates the configurations of multiple accelerated domain names at a time.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111688',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"content":"10.10.10.10","type":"ipaddr","priority":"20","port":80,"weight":"15"}]',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '15C66C7B-671A-4297-9187-2C4477247A74',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'DomainInProtectedMode',
+ 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.',
+ ],
+ ],
+ ],
+ '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.|',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSpecificConfig' => [
+ 'summary' => 'Deletes specified configurations of an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111710',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyCdnDomainSchdmByProperty' => [
+ 'summary' => 'Changes the acceleration region for an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111870',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ '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"}',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '15C66C7B-671A-4297-9187-2C4477247A74',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyCdnDomain' => [
+ 'summary' => 'Modifies the configuration of an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111869',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"content":"1.1.1.1","type":"ipaddr","priority":"20","port":80,"weight":"15"}]',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ '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. 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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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.|',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnDomainStagingConfig' => [
+ 'summary' => 'Queries the configurations of features in the staging environment.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111730',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'DomainConfigs' => [
+ 'description' => 'The domain name configurations.'."\n",
+ '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',
+ ],
+ 'FunctionArgs' => [
+ 'description' => 'The description of each feature.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Invalid%s.ValueNotSupported',
+ 'errorMessage' => 'FunctionName [%s] is not supported.',
+ ],
+ ],
+ ],
+ '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":""}]',
+ 'title' => 'DescribeCdnDomainStagingConfig',
+ 'description' => '> You can call this operation up to 30 times per second per account.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => '### ParentId configuration example'."\n"
+ ."\n"
+ .'If **parentId** is set to `-1`, the existing rule conditions in the configurations are deleted.'."\n"
+ ."\n"
+ .'```json'."\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 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"
+ ."\n"
+ .'```json'."\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 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"
+ ."\n"
+ .'```json'."\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",
+ 'extraInfo' => ' ',
+ ],
+ 'SetCdnDomainStagingConfig' => [
+ 'summary' => 'Configures a domain name to be accelerated in the staging environment.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111889',
+ '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',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111884',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'StagingConfig.NotFound',
+ 'errorMessage' => 'The Staging configuration does not exist.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => 'none',
+ 'abilityTreeCode' => '111879',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'DeleteSpecificStagingConfig' => [
+ 'summary' => 'Deletes a specified configuration of the staging environment.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111915',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn2GPRJF',
+ ],
+ ],
+ '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' => 'WaitUri',
+ '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$',
+ ],
+ ],
+ [
+ 'name' => 'AllowPct',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'MaxTimeWait',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum length of waiting time in the queue. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '30',
+ ],
+ ],
+ [
+ 'name' => 'GapTime',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'WaitUrl',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The URL of the waiting page.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'https://example.com/waitingroom.html',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnUserConfigs' => [
+ 'summary' => 'Queries configurations of security features.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111749',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'FunctionName',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidArgValue.Malformed',
+ 'errorMessage' => 'The specified ArgValue is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidArgName.ValueNotSupported',
+ 'errorMessage' => '%s',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnWafDomain' => [
+ 'summary' => 'Queries domain names that use Web Application Firewall (WAF).',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111755',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1234',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111717',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Language',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BFFCDFAD-DACC-484E-9BE6-0AF3B3A0DD23',
+ ],
+ 'InfoList' => [
+ '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",
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MISS_PARAMETER',
+ 'errorMessage' => 'MISS_PARAMETER',
+ ],
+ [
+ 'errorCode' => 'INVALID_PARAMETER',
+ 'errorMessage' => 'INVALID_PARAMETER',
+ ],
+ [
+ 'errorCode' => 'FAILED',
+ 'errorMessage' => 'FAILED',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '206248',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnW2530F',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ 'in' => 'query',
+ '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' => [
+ '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' => '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2E5AD83F-BD7B-462E-8319-2E30E305519A\\",\\n \\"RefreshTaskId\\": \\"17772470184\\"\\n}","type":"json"}]',
+ 'title' => 'RefreshObjectCacheByCacheTag',
+ ],
+ 'DescribeRefreshQuota' => [
+ 'summary' => 'DescribeRefreshQuota',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111830',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnW2530F',
+ ],
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111882',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnKZKOWX',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ObjectPath',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Area',
+ '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',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'L2Preload',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'WithHeader',
+ '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"
+ .'}',
+ ],
+ ],
+ [
+ 'name' => 'QueryHashkey',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ConsistencyHash',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'TooManyRequests',
+ 'errorMessage' => 'System load fluctuates, please try again later.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111883',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnW2530F',
+ 'FEATUREcdnMNEAI4',
+ 'FEATUREcdnMZ37V7',
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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"
+ ."\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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRefreshTasks' => [
+ 'summary' => 'Queries the status of refresh or prefetch tasks that belong to an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111832',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnW2530F',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task that you want to query.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1234321',
+ ],
+ ],
+ [
+ 'name' => 'ObjectPath',
+ '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',
+ ],
+ ],
+ [
+ '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,
+ 'maximum' => '100000',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ObjectType',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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**',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'CDNTask' => [
+ 'description' => 'Details about tasks.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRefreshTaskById' => [
+ 'summary' => 'Queries the statuses of refresh or prefetch tasks by task ID.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111831',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnW2530F',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TaskId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '165361',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnKZKOWX',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TaskId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 429 => [
+ [
+ 'errorCode' => 'TooManyRequests',
+ 'errorMessage' => 'Too many requests, please try again later',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111751',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ 'title' => 'DescribeCdnUserQuota',
+ 'description' => '> You can call this operation up to 30 times per second per account.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111783',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ '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/.'."\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"
+ ."\n"
+ .'> You can specify only one domain name in each call.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'UsageData' => [
+ 'description' => 'A list of bandwidth values collected at each time interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'type' => 'string',
+ 'description' => 'The ID of the request.'."\n",
+ 'example' => '809A6F10-8238-4A49-BE00-4B2D6305686E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111786',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnL8FLP3',
+ ],
+ ],
+ '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 QPS data for all accelerated domain names that belong to your Alibaba Cloud account.'."\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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2019-11-30T05:33: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-30T05:40: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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'beijing',
+ ],
+ ],
+ ],
+ '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' => '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The list of QPS records at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111787',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnL8FLP3',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The number of queries per second at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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|',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDomainBpsData' => [
+ 'summary' => 'Queries bandwidth monitoring data for one or more accelerated domain names.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111764',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'BpsDataPerInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The list of bandwidth data entries returned at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainBpsDataByLayer' => [
+ 'summary' => 'Queries bandwidth data by protocol.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111765',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'BpsDataInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The data returned at each time interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvaildParameter',
+ 'errorMessage' => 'The parameter you provided is invalid.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainBpsDataByTimeStamp' => [
+ 'summary' => 'Queries the bandwidth data at a specified time for an accelerated domain.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111766',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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***',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'BpsDataList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BpsDataModel' => [
+ 'description' => 'A list of bandwidth values by ISP and region.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111814',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'IspNameEn',
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'beijing',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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|04:00 on the next day|',
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ '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 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',
+ ],
+ ],
+ [
+ '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' => '2021-06-29T05:30: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' => '2021-06-29T05:45: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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'beijing',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'UsageData' => [
+ 'description' => 'The proportions of HTTP status codes at each time interval.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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|',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDomainHttpCodeDataByLayer' => [
+ 'summary' => 'Queries HTTP status codes by protocol.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111776',
+ '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"
+ .'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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2020-07-05T22: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' => '2020-07-06T22: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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The statistics of HTTP status codes returned at each time interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainHitRateData' => [
+ 'summary' => 'Queries byte hit ratios that are measured in percentage.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111774',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainReqHitRateData' => [
+ 'summary' => 'Queries the request hit ratio in percentage.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The request hit ratio data at each time interval. The hit ratio is measured in percentage.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ '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' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111810',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'UsageByDay' => [
+ 'description' => 'The monitoring data collected at each time interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111771',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnTN0ZSC',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The number of queries per second.'."\n",
+ 'type' => 'string',
+ 'example' => 'BEA5625F-8FCF-48F4-851B-CA63946DA664',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The number of IPv6 requests per second.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRangeDataByLocateAndIspService' => [
+ 'summary' => 'Queries the bandwidth values by Internet service provider (ISP) and region.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111826',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnF7OM8K',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainNames',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The accelerated domain name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'IspNames',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'LocationNames',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The names of the regions. Separate multiple region names with commas (,).'."\n"
+ ."\n"
+ .'You can call the [DescribeCdnRegionAndIsp](~~91077~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'liaoning,guangxi',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'SrcBpsDataPerInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The origin bandwidth data at each time interval. Unit: bit/s.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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|',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111806',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnUQAZK1',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com,example.org',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'UsageData' => [
+ 'description' => 'The proportions of HTTP status codes at each time interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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|',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDomainSrcTrafficData' => [
+ 'summary' => 'Queries origin traffic for one or more specified accelerated domain names.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111809',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnE9OF3Y',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The amount of origin traffic returned at each time interval. Unit: bytes.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111807',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnE9OF3Y',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The back-to-origin bandwidth information at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeTrafficData' => [
+ 'summary' => 'Queries the monitoring data of network traffic for one or more accelerated domain names.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ '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 (,).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The network traffic returned at each time interval. Unit: bytes.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeBpsData' => [
+ 'summary' => 'Queries the bandwidth data about one or more accelerated domain names.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111788',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B49E6DDA-F413-422B-B58E-2FA23F286726',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BpsModel' => [
+ 'description' => 'The data returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidTime.Malformed',
+ 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
+ ],
+ [
+ 'errorCode' => 'InvalidDomainName.Malformed',
+ 'errorMessage' => 'The specified DomainName 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"
+ ."\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|',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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',
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com,example.org',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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-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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'UsageData' => [
+ 'description' => 'The proportions of HTTP status codes at each time interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeQpsData' => [
+ 'summary' => 'Queries the number of queries per second for one or more accelerated domain names.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111793',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnL8FLP3',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'telecom',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'beijing',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '32DC9806-E9F9-4490-BBDC-B3A9E32FCC1D',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'QpsModel' => [
+ 'description' => 'The data entries returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidTime.Malformed',
+ 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
+ ],
+ [
+ 'errorCode' => 'InvalidDomainName.Malformed',
+ 'errorMessage' => 'The specified DomainName is invalid.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeReqHitRateData' => [
+ 'summary' => 'Queries the request hit ratios for one or more accelerated domain names.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ReqHitRateDataModel' => [
+ 'description' => 'The data returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidTime.Malformed',
+ 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
+ ],
+ [
+ 'errorCode' => 'InvalidDomainName.Malformed',
+ 'errorMessage' => 'The specified DomainName 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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeByteHitRateData' => [
+ 'summary' => 'Queries the byte hit ratios of accelerated domain names.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111789',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn3CRD2L',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '70A26B11-3673-479C-AEA8-E03FC5D3496D',
+ ],
+ 'Data' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ByteHitRateDataModel' => [
+ 'description' => 'The data returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidTime.Malformed',
+ 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
+ ],
+ [
+ 'errorCode' => 'InvalidDomainName.Malformed',
+ 'errorMessage' => 'The specified DomainName 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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeSrcBpsData' => [
+ 'summary' => 'Queries origin bandwidth data for accelerated domain names.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111795',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'RealTimeSrcBpsDataPerInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The origin bandwidth data at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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-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"
+ ."\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' => ' ',
+ ],
+ 'DescribeDomainRealTimeSrcHttpCodeData' => [
+ 'summary' => 'Queries the total number and proportions of HTTP status codes returned during back-to-origin routing.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111797',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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',
+ ],
+ 'RealTimeSrcHttpCodeData' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'UsageData' => [
+ 'description' => 'The proportions of HTTP status codes at each time interval.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TimeStamp' => [
+ 'description' => 'The timestamp of the returned data.'."\n",
+ 'type' => 'string',
+ 'example' => '2015-11-30T05:40:00Z',
+ ],
+ 'Value' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RealTimeSrcCodeProportionData' => [
+ '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' => '0.62015503875969',
+ ],
+ 'Count' => [
+ 'description' => 'The count of each HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111798',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'RealTimeSrcTrafficDataPerInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The amount of back-to-origin traffic returned at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DescribeEsExecuteData' => [
+ 'summary' => 'Queries the execution status of scripts in EdgeScript (ES).',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111818',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnT7HAK0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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' => true,
+ 'example' => '2021-02-17T20: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' => true,
+ 'example' => '2021-02-18T20:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ '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**',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeEsExceptionData' => [
+ 'summary' => 'Queries the execution errors of a script in EdgeScript (ES).',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111817',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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' => '2021-02-17T20:00:00Z',
+ ],
+ ],
+ [
+ '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' => true,
+ 'example' => '2021-02-18T20:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'RuleId',
+ '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**',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnUserBillHistory' => [
+ 'summary' => 'Queries the billing history under your Alibaba Cloud account.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111746',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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 minimum data granularity is 5 minutes.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2018-09-30T16: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' => true,
+ 'example' => '2018-10-31T16:00:00Z',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ED61C6C3-8241-4187-AAA7-5157AE175CEC',
+ ],
+ 'BillHistoryData' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BillHistoryDataItem' => [
+ 'description' => 'The billing history returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111748',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnYC0IJ0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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 minimum data granularity is 5 minutes.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2018-09-30T16: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' => true,
+ 'example' => '2018-10-31T16:00:00Z',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E',
+ ],
+ 'BillTypeData' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BillTypeDataItem' => [
+ 'description' => 'Details about the metering methods returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnUserBillPrediction' => [
+ 'summary' => 'Estimates resource usage of the current month.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111747',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'StartTime',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Dimension',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billable item. A value of flow specifies bandwidth.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'flow',
+ ],
+ ],
+ [
+ 'name' => 'Area',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'BillPredictionDataItem' => [
+ 'description' => 'The estimated bill data.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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"
+ ."\n"
+ .'> You can call this operation only once per second per account.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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',
+ 'abilityTreeCode' => '111698',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2015-12-10T20:00:00Z',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2015-12-10T21:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'TaskName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Refresh'."\n",
+ ],
+ ],
+ [
+ '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"
+ .'* **en-us**: English'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zh-cn',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeUserUsageDataExportTask' => [
+ 'summary' => 'Queries usage export tasks that were created in the last three months.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111844',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Valid values: **1** to **100000**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ 'type' => 'object',
+ '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' => '10',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameterProduct',
+ 'errorMessage' => 'Invalid Parameter Product.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameterOperator',
+ 'errorMessage' => 'Invalid Parameter Operator.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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',
+ 'abilityTreeCode' => '111713',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the task to delete.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => 'none',
+ 'abilityTreeCode' => '111697',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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-12-10T20:00:00Z',
+ ],
+ ],
+ [
+ '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' => true,
+ 'example' => '2019-12-10T21:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'Group',
+ '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',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'TaskName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Refresh'."\n",
+ ],
+ ],
+ [
+ '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"
+ .'* **en-us**: English'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'en-us',
+ 'default' => 'zh-cn',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111845',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PageSize',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Valid values: **1** to **100000**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ 'type' => 'object',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameterProduct',
+ 'errorMessage' => 'Invalid Parameter Product.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameterOperator',
+ 'errorMessage' => 'Invalid Parameter Operator.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteUsageDetailDataExportTask' => [
+ 'summary' => 'Deletes a task that was used to export usage details.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111712',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'TaskId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => '111780',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn5DW324',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'TimePoint',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Cycle',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Max95Detail' => [
+ 'description' => 'Details of the 95th percentile bandwidth.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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"
+ ."\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"
+ .'* Minimum data granularity to query: 1 day '."\n"
+ .'* Historical data available: 90 days'."\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.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDomainUsageData' => [
+ 'summary' => 'Queries the resource usage data of specific domain names in a specified billable region.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111815',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ServiceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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',
+ ],
+ 'UsageDataPerInterval' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DataModule' => [
+ 'description' => 'The resource usage that was collected at each interval.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about resource usage that was collected at each interval.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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|',
+ '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|',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnUserResourcePackage' => [
+ 'summary' => 'Queries the resource plans that you have purchased for Alibaba Cloud CDN.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111752',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnG9C3XR',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Status',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '84839536-2B7E-457D-9D8C-82E6C7D4E1A3',
+ ],
+ 'ResourcePackageInfos' => [
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'CdnServiceNotFound',
+ 'errorMessage' => 'Your account does not open CDN service yet.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteRealTimeLogLogstore' => [
+ 'summary' => 'Deletes the Logstore that is used by a specified configuration record of real-time log delivery.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111709',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ '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 to which log entries are delivered.'."\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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '111696',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F32C57AA-7BF8-49AE-A2CC-9F42390F5A19',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111875',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Logstore where log entries are stored.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'TestLog',
+ ],
+ ],
+ [
+ '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' => 'ch-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Domain',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'LogstoreNotExist',
+ 'errorMessage' => 'Logstore does not exist.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteRealtimeLogDelivery' => [
+ 'summary' => 'Deletes the configurations of real-time log delivery for specific accelerated domain names.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111708',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Domain',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'DisableRealtimeLogDelivery' => [
+ 'summary' => 'Disables real-time log delivery for specific accelerated domain names.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111855',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Logstore',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The name of the Logstore where log entries are stored.',
+ 'example' => 'LogstoreName',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The ID of the region where the Log Service project is deployed.',
+ 'example' => 'cn-shanghai'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Unauthorized',
+ 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'Domain.NotFound',
+ 'errorMessage' => 'Domain not found',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'EnableRealtimeLogDelivery' => [
+ 'summary' => 'Enables real-time log delivery for an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111857',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ [
+ '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",
+ ],
+ ],
+ [
+ 'name' => 'Logstore',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The name of the Logstore where log entries are stored.',
+ 'example' => 'LogstoreName',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => 'The ID of the region where the Log Service project is deployed.',
+ 'example' => 'cn-shanghai'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Unauthorized',
+ 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'Domain.NotFound',
+ 'errorMessage' => 'Domain not found',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListRealtimeLogDelivery' => [
+ 'summary' => 'Queries all real-time log delivery tasks within your Alibaba Cloud account.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111862',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Unauthorized',
+ 'errorMessage' => 'RealtimeLogDelivery Service Not Authorized',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111792',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Unauthorized',
+ 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRealtimeDeliveryAcc' => [
+ 'summary' => 'Queries the number of real-time log deliveries.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111827',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111864',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Unauthorized',
+ 'errorMessage' => 'RealtimeLogDelivery Service is not authorized.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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",
+ 'extraInfo' => ' ',
+ ],
+ 'ListRealtimeLogDeliveryDomains' => [
+ 'summary' => 'Queries all domain names that are associated with a specific real-time log delivery configuration record.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111863',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnXDFG0Q',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Project',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Logstore',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Region',
+ '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',
+ ],
+ ],
+ ],
+ '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' => [
+ 'Domains' => [
+ 'description' => 'The information about the accelerated domain names.'."\n",
+ '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 ',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'LogstoreNotExist',
+ 'errorMessage' => 'Logstore does not exist.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'DescribeDomainCustomLogConfig' => [
+ 'summary' => 'Queries the custom log configuration of an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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\\',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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&quot;-&quot;&quot;GET http://www.aliyun.com/index.html&quot;2001912830MISS&quot;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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCustomLogConfig' => [
+ 'summary' => 'Queries the details about a custom logging configuration.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111761',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConfigId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the custom configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '123',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'InvalidConfigId',
+ 'errorMessage' => 'Illegal ConfigId',
+ ],
+ ],
+ [
+ [
+ 'errorCode' => 'Config.NotFound',
+ 'errorMessage' => 'Config does not exist or does not belong to the current user ',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111729',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnGZSOSW',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 \\"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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '111859',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnGZSOSW',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConfigId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the custom configuration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '123',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7',
+ ],
+ 'Domains' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Domain' => [
+ 'description' => 'The domain names.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The domain name.'."\n",
+ 'type' => 'string',
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'InvalidConfigId',
+ 'errorMessage' => 'Illegal ConfigId',
+ ],
+ ],
+ [
+ [
+ 'errorCode' => 'Domains.NotFound',
+ 'errorMessage' => 'No domain used in this log config',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListUserCustomLogConfig' => [
+ 'summary' => 'Queries all custom log configurations in your account.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '111866',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnGZSOSW',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '95D5B69F-8AEC-419B-8F3A-612B35032B0D',
+ ],
+ 'ConfigIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'ConfigId' => [
+ 'description' => 'The list of log configuration IDs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the log configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'c3bb2c78-2915-4d5a-b6a1-557789255555',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111877',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InternetChargeType',
+ 'in' => 'query',
+ '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',
+ 'required' => true,
+ 'example' => 'PayByTraffic',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The data structure of the response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '97C68796-EB7F-4D41-9D5B-12B909D76508',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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\\": \\"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ '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' => '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' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Isp' => [
+ 'description' => 'The list of ISPs.'."\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' => '',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnOrderCommodityCode' => [
+ 'summary' => 'Queries the code of a commodity by account UID.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '137446',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnYC0IJ0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CommodityCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The original commodity code.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'xxx',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111740',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnYC0IJ0',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'UnsupportedParameter',
+ 'errorMessage' => 'There is unsupported parameters',
+ ],
+ [
+ 'errorCode' => 'InternetChargeTypeInvalid',
+ 'errorMessage' => 'The specified InternetChargeType is invalid.',
+ ],
+ ],
+ ],
+ '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",
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnDomainByCertificate' => [
+ 'summary' => 'Queries accelerated domain names by SSL certificate.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111726',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ASAF2FDS-12SADSA-DDSAE3D-DSADCD4C-CDADS2D',
+ ],
+ 'CertInfos' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDomainCertificateInfo' => [
+ 'summary' => 'Queries the certificate information of an accelerated domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ '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 only one domain name in each request.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'InvaildParameter',
+ 'errorMessage' => 'The parameter you provided is invalid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'FlowControlError',
+ 'errorMessage' => 'The request was denied due to flow control.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'substitutions' => [
+ 'Cdn::2018-05-10::DescribeCdnSSLCertificateList',
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '168239',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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' => false,
+ 'example' => 'www.example.com'."\n",
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ 'type' => 'object',
+ 'properties' => [
+ 'Count' => [
+ 'description' => 'The number of certificates.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'NotFoundCertList',
+ 'errorMessage' => 'The certList is null.',
+ ],
+ [
+ 'errorCode' => 'InternalException',
+ 'errorMessage' => 'Internal occasional exception, please try again later.',
+ ],
+ ],
+ ],
+ '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\\": \\"证书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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111731',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnD4PEWG',
+ 'FEATUREcdn4R6KLH',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Keyword',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The keyword that is used to search for certificates.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'NoHttpsDomain',
+ 'errorMessage' => 'Your account doesn\'t have https domain.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCertificateInfoByID' => [
+ 'summary' => 'Queries the information about a specific certificate by certificate ID.',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111756',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnD4PEWG',
+ 'FEATUREcdn4R6KLH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '168240',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CertId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the certificate.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '12345',
+ 'pattern' => '^\\d+$',
+ ],
+ ],
+ [
+ 'name' => 'CertRegion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region of the certificate. Valid values:'."\n"
+ ."\n"
+ .'* **ap-southeast-1**: Singapore'."\n"
+ .'* **cn-hangzhou**: China (Hangzhou)'."\n"
+ ."\n"
+ .'Default value: **cn-hangzhou**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'ap-southeast-1' => 'ap-southeast-1',
+ 'cn-hangzhou' => 'cn-hangzhou',
+ ],
+ 'example' => 'cn-hangzhou'."\n",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidCertId.NotFound',
+ 'errorMessage' => 'The certId does not exist.',
+ ],
+ [
+ 'errorCode' => 'Abs.CertRegion.ValueNotSupported',
+ 'errorMessage' => 'CertRegion 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',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111840',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnD4PEWG',
+ 'FEATUREcdn4R6KLH',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateCdnCertificateSigningRequest' => [
+ 'summary' => 'Creates a certificate signing request (CSR).',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '111691',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'State',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The provincial district. Default value: Zhejiang.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Zhejiang',
+ 'default' => 'Zhejiang',
+ ],
+ ],
+ [
+ 'name' => 'City',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The city. Default value: Hangzhou.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Hangzhou',
+ 'default' => 'Hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Email',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The email address.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[email protected]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidValue.Malformed',
+ 'errorMessage' => 'Country must be 2 characters.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetCdnDomainCSRCertificate' => [
+ 'summary' => 'You can call this operation to configure an SSL certificate for a specific domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111887',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerCertificate',
+ '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-----',
+ ],
+ ],
+ [
+ 'name' => 'DomainName',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SetCdnDomainSMCertificate' => [
+ 'summary' => 'Enables or disables a ShangMi (SM) certificate for a domain name.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111888',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidCertIdentifier.ValueNotSupported',
+ 'errorMessage' => 'The specified value of parameter CertIdentifier is not valid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111742',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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",
+ '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' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111741',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CertIdentifier',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the certificate.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '648****-cn-hangzhou',
+ ],
+ ],
+ ],
+ '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--',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'SetCdnDomainSSLCertificate' => [
+ 'summary' => 'Enables or disables the certificate for a domain name and updates the certificate information.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '168241',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn4R6KLH',
+ ],
+ ],
+ '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',
+ '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",
+ ],
+ ],
+ [
+ 'name' => 'CertRegion',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A7C69682-7F88-40DD-A198-10D0309E439D'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'DomainInProtectedMode',
+ 'errorMessage' => 'The domain is in protection mode. To request permission, contact Customer Service.',
+ ],
+ ],
+ [
+ [
+ 'errorCode' => 'CertName.MissingParameter',
+ 'errorMessage' => 'You must specify CertName.',
+ ],
+ ],
+ ],
+ '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",
+ ],
+ 'TagResources' => [
+ 'summary' => 'Adds one or more tags to specific resources.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ '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,
+ ],
+ ],
+ ],
+ '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' => '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111837',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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 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,
+ ],
+ ],
+ [
+ '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' => '',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeUserTags' => [
+ 'summary' => 'Queries user tags.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111843',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UntagResources' => [
+ 'summary' => 'Removes tags from specified resources.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111919',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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',
+ ],
+ ],
+ ],
+ [
+ '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' => ' ',
+ ],
+ 'ListTagResources' => [
+ 'summary' => 'Queries the tags that are attached to a resource.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111865',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnFGPKCB',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'TagOwnerBid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The business ID of the tag owner.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '26842',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the resource. Set the value to **DOMAIN**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '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==',
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ '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',
+ ],
+ 'required' => false,
+ 'maxItems' => 51,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The key-value pair of a tag.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 21,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ 'TagResources' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'TagResource' => [
+ 'description' => 'The returned correspondence between the resource and tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111743',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Content' => [
+ 'description' => 'The information about the custom report task.'."\n",
+ '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",
+ 'properties' => [
+ 'data' => [
+ 'title' => '运营报表定制信息主体',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3250A51D-C11D-46BA-B6B3-95348EEDE652',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 \\"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",
+ '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**|',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateCdnSubTask' => [
+ 'summary' => 'Updates one or more operations reports.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111921',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ ],
+ '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' => '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' => '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' => '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":"<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' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteCdnSubTask' => [
+ 'summary' => 'The ID of the request.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111703',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":"<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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111737',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 \\"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.|',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnReportList' => [
+ 'summary' => 'Queries operations reports.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111738',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ReportId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '111692',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ ],
+ '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' => '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' => '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":\\["[email protected]","[email protected]"]}}'."\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' => 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",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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.|',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCdnDeliverList' => [
+ 'summary' => 'Queries one or more tracking tasks of operations reports.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '111724',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DeliverId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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": \\["[email protected]","[email protected]"]}}}]}'."\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' => '[email protected]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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 \\"[email protected]\\"\\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>[email protected]</to>\\n <to>[email protected]</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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111920',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ ],
+ '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\\\\":\\[\\\\"[email protected]\\\\",\\\\"[email protected]\\\\"]}}"'."\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",
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":"<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.|',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteCdnDeliverTask' => [
+ 'summary' => 'Deletes tracking tasks by task ID.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111701',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnEK7SNH',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":"<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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111823',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNSUDKT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address. You can specify only one IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '192.168.0.1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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' => '电信',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidIP.ValueNotSupported',
+ 'errorMessage' => 'The specified value of parameter IP is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111836',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnD8A1YM',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111825',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => 'none',
+ 'abilityTreeCode' => '111846',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Available',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111824',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNSUDKT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'AddFCTrigger' => [
+ 'summary' => 'Adds a Function Compute trigger.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '111678',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnCG0XWT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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.',
+ ],
+ [
+ '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.',
+ ],
+ ],
+ ],
+ '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",
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateFCTrigger' => [
+ 'summary' => 'Updates a specified Function Compute trigger.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111922',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnCG0XWT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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' => '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' => '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' => [
+ 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.',
+ ],
+ [
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionDeny',
+ 'errorMessage' => 'No permission to operate this FCTrigger.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111820',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnCG0XWT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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',
+ ],
+ '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.',
+ ],
+ ],
+ [
+ [
+ 'errorCode' => 'NotFound.FCTrigger',
+ 'errorMessage' => 'FCTrigger not found.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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' => ' ',
+ ],
+ 'DeleteFCTrigger' => [
+ 'summary' => 'Deletes a specified Function Compute trigger.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '111706',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnCG0XWT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'PermissionDeny',
+ 'errorMessage' => 'No permission to operate this FCTrigger.',
+ ],
+ ],
+ ],
+ '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"
+ ."\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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111861',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnCG0XWT',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'EventMetaName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the event. You can specify only one name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'LogFileCreated',
+ ],
+ ],
+ [
+ 'name' => 'EventMetaVersion',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'NotFound.EventMeta',
+ 'errorMessage' => 'EventMeta not found.',
+ ],
+ ],
+ ],
+ '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}...`.',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDomainCcActivityLog' => [
+ 'summary' => 'Queries log entries of rate limiting.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111767',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'TriggerObject',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Value',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'RuleName',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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",
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111785',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnF7OM8K',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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"
+ .'> * 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' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111816',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnF7OM8K',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ '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' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111813',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnB3I7MU',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The accelerated domain name that you want to query.'."\n",
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111811',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ '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-09-30T16:00:00Z',
+ ],
+ ],
+ [
+ '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-10-01T16:00:00Z',
+ ],
+ ],
+ [
+ 'name' => 'SortBy',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111812',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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' => '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' => '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' => '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ 'DescribeDomainSrcTopUrlVisit' => [
+ 'summary' => 'Queries frequently requested origin URLs of one or more accelerated domain names.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111808',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnE9OF3Y',
+ ],
+ ],
+ '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' => '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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\\": \\"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' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111838',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnGZSOSW',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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' => '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => ' ',
+ ],
+ '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' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111800',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111778',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111763',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => 'InvalidIspParameter',
+ 'errorMessage' => 'The specified Isp is invalid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111790',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNZNXYV',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The accelerated domain name that you want to query.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidTime.Malformed',
+ 'errorMessage' => 'Specified StartTime or EndTime is malformed.',
+ ],
+ [
+ 'errorCode' => 'InvalidDomainName.Malformed',
+ 'errorMessage' => 'The specified DomainName is invalid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111781',
+ '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 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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ [
+ 'errorCode' => 'InvalidEndTime.Mismatch',
+ 'errorMessage' => 'Specified EndTime does not match the specified StartTime.',
+ ],
+ [
+ 'errorCode' => 'InvalidTimeSpan',
+ 'errorMessage' => 'The time span exceeds the limit.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '111841',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '111909',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnJA88R2',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Key',
+ 'in' => 'query',
+ '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' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ [
+ 'errorCode' => 'InvalidValue.Malformed',
+ 'errorMessage' => 'The specified value of parameter Value is not malformed.',
+ ],
+ [
+ 'errorCode' => 'InvalidHeaderKey.ValueNotSupported',
+ 'errorMessage' => 'The specified value of parameter HeaderKey is not supported.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111871',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnBXNWCW',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'type' => 'string',
+ 'description' => 'The ID of the request.'."\n",
+ 'example' => '16A96B9A-F203-4EC5-8E43-CB92E68F4CD8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified value of parameter "InternetChargeType" is not valid.',
+ ],
+ [
+ 'errorCode' => 'InsufficientBalance',
+ 'errorMessage' => 'Your account does not have enough balance.',
+ ],
+ [
+ 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_INVALID_PAY_METHOD',
+ 'errorMessage' => 'INVALID_PAY_METHOD',
+ ],
+ [
+ 'errorCode' => 'FUWU_BIZ_COMMODITY_VERIFY_FAIL_HASORDER',
+ 'errorMessage' => 'You have an order not yet effective',
+ ],
+ [
+ 'errorCode' => 'CSS_CHECK_UPDOWNGRADE_ERROR',
+ 'errorMessage' => 'You have an order not yet effective',
+ ],
+ [
+ 'errorCode' => 'COMMODITY.INVALID_COMPONENT',
+ 'errorMessage' => 'The specified value of parameter "InternetChargeType" is not valid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '111839',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdn9UE6OO',
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '162664',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnRO9687',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'DomainName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The accelerated domain name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'example.com',
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '165633',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnORORBI',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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\\"}]"',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'DescribeCdnSecFuncInfo' => [
+ 'summary' => 'Queries information about security features of Alibaba Cloud CDN.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '167969',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnORORBI',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '172982',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnORORBI',
+ ],
+ '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' => [],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DomainExist.OtherUser',
+ 'errorMessage' => 'This domain is already added by another user.',
+ ],
+ [
+ 'errorCode' => 'DomainExist.OtherProduct',
+ 'errorMessage' => 'This domain is already existed in %s.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '174446',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnRLQ471',
+ ],
+ ],
+ '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' => [
+ '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.',
+ ],
+ [
+ 'errorCode' => 'CheckDomainICPFail',
+ 'errorMessage' => 'The domain query icp info error,check domain icp failed.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '156304',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnNSUDKT',
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvaildBatchIp.LengthTooLong',
+ 'errorMessage' => 'The batchIp parameter is too long',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvaildParameter',
+ 'errorMessage' => 'The parameter you provided is invalid.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '228025',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnHPRG9U',
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded',
+ 'errorMessage' => 'The quota is exceeded.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '227991',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnHPRG9U',
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'OperationType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The type of the operation.'."\n"
+ ."\n"
+ .'* block'."\n"
+ .'* unblock'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'block',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded',
+ 'errorMessage' => 'The quota is exceeded.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'OperationDenied',
+ 'errorMessage' => 'You do not have access to this operation.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '228031',
+ 'abilityTreeNodes' => [
+ 'FEATUREcdnHPRG9U',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded',
+ 'errorMessage' => 'The quota is exceeded.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalServerError',
+ 'errorMessage' => 'internal server error',
+ ],
+ ],
+ ],
+ '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.'."\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',
+ ],
+ ],
+];